diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts index 54b3f1434..dc44c9f1a 160000 --- a/lib/openzeppelin-contracts +++ b/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit 54b3f14346da01ba0d159114b399197fea8b7cda +Subproject commit dc44c9f1a4c3b10af99492eed84f83ed244203f6 diff --git a/lib/safe-smart-account b/lib/safe-smart-account index bf943f80f..8dd165a39 160000 --- a/lib/safe-smart-account +++ b/lib/safe-smart-account @@ -1 +1 @@ -Subproject commit bf943f80fec5ac647159d26161446ac5d716a294 +Subproject commit 8dd165a3939a18cf0df782661e69384c6aa803a6 diff --git a/pkg/contracts/out/Allo.sol/Allo.json b/pkg/contracts/out/Allo.sol/Allo.json index 65fcec1f8..e1eaf1a5f 100644 --- a/pkg/contracts/out/Allo.sol/Allo.json +++ b/pkg/contracts/out/Allo.sol/Allo.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"recipientIds","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"completeOwnershipHandover","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"createPool","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"FEE_DENOMINATOR","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"result","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownershipHandoverExpiresAt","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverCanceled","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverRequested","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NewOwnerIsZeroAddress","inputs":[]},{"type":"error","name":"NoHandoverRequest","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657612c4f908161001c8239f35b600080fdfe6080806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a7146116af57508163031e2fa114611645578163068bcd8d14611491578163075c0e9c146113fe57816315e812ad146113e05781631a20bd88146112185781631a5da6c8146111ee578163248a9ca3146111c157816324ae6a27146110b5578163256929621461106a57816329e40d4b146110435781632cf682b014610fe45781632ec3818814610fc95781632f2ff15d14610f8b57816336568abe14610efa5781633a5fbd9214610e0b5781633b19e84a14610de257816341bba0b414610d5b5781634edbaadc14610d3d57816354d1f13d14610cf75781635ab1bd5314610cce5781635acd6fac14610b1c5781635f9ca13814610964578163715018a61461093057816377da8caf1461080b5781637f51bb1f146107e65781637f5a70bd146107a85781638da5cb5b1461077b5781638e6901861461075657816391d148541461070b578163a0cf0aea146106e2578163a217fddf146106c6578163a6b63eb81461057d578163ab2ec5891461053e578163ab3febc6146104fe578163c6dff1cf14610438578163cfc0cc3414610403578163d547741f146103c5578163e1007d4a14610355578163f04e283e146102e7578163f2fde38b1461028c578163f4e1fc4114610269578163f54fc4a01461023d575063fee81cf41461020857600080fd5b3461023a57602036600319011261023a57610221611702565b9063389a75e1600c5252602080600c2054604051908152f35b80fd5b905034610265576020366003190112610265576102629061025c6126d4565b3561254b565b80f35b5080fd5b823461023a578060031936011261023a576020604051670de0b6b3a76400008152f35b90506020366003190112610265576102a2611702565b906102ab6126d4565b8160601b156102dc575060018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b637448fbae8352601cfd5b90506020366003190112610265576102fd611702565b906103066126d4565b63389a75e1600c528183526020600c20908154421161034a575082905560018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b636f5e88188452601cfd5b905061036036611a5d565b979096919592946001600160a01b031692919083156103b5576040818560ff935260d06020522054166103a657602061039e89898989898989611bf3565b604051908152f35b60405163eeffa72160e01b8152fd5b5060405163538ba4f960e01b8152fd5b9050346102655760403660031901126102655761026290356103e5611718565b9080845260656020526103fe6001604086200154612737565b612a9c565b905034610265576020366003190112610265579060209135815260cf825260016040818060a01b039220015416604051908152f35b823461023a57604036600319011261023a5781356001600160401b038082116104fa57366023830112156104fa5781840135918183116104f657602490600592368386861b840101116104f25782359081116104f25761049b90369088016118da565b956104a4612b12565b865185036104e35750845b8481106104bf5785600160975580f35b806104dd6104cf6001938a611b89565b518583881b860101356121c7565b016104af565b60405163636e39bb60e01b8152fd5b8580fd5b8380fd5b8280fd5b905034610265576040366003190112610265576105349060066040602094610524611718565b9335815260cf865220015461270f565b6040519015158152f35b823461023a57602036600319011261023a5760209060ff906040906001600160a01b03610569611702565b16815260d084522054166040519015158152f35b9050346102655760a036600319011261026557610598611702565b906105a1611718565b6044359290916001600160a01b03919082851685036106c15785549060ff8260081c1615806106b4575b15610659575061ffff191661010117855516638b78c6d81981905561060c92916106079185600080516020612bba8339815191528180a36124ad565b6124fc565b61061760643561254b565b61062260843561259d565b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60849060206040519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50600160ff8316106105cb565b600080fd5b823461023a578060031936011261023a57602090604051908152f35b823461023a578060031936011261023a576020604051600080516020612b9a8339815191528152f35b823461023a57604036600319011261023a57604090610728611718565b923581526065602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b90503461026557602036600319011261026557610262906107756126d4565b3561259d565b823461023a578060031936011261023a57638b78c6d819546040516001600160a01b039091168152602090f35b9050346102655760403660031901126102655761026290356107c8611718565b906107d281611bb3565b835260cf6020526005604084200154612a9c565b823461023a57602036600319011261023a57610262610803611702565b6106076126d4565b8261081536611a5d565b959094610823949294612b12565b60018060a01b0390818116895260209860d08a5260ff6040822054161561091f57600960379133815260ce8c526e5af43d82803e903d91602b57fd5bf36040822080549061087082611ae3565b90558d604051908101913360601b8352603482015260348152610892816117f5565b51902094763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c1617835260781b178c52f5169081156108e1576108d4979850611bf3565b6001609755604051908152f35b60405162461bcd60e51b8152808a018990526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b60405163126d324760e31b81528b90fd5b828060031936011261023a576109446126d4565b80638b78c6d819818154600080516020612bba8339815191528280a35580f35b823461023a57604036600319011261023a5781356001600160401b036024358181116104f6576109979036908601611a05565b906109a2338461246a565b15610b0b5782845260209060cf8252856040862084516003820155019082840151968751918211610af857506109d88254611b08565b601f8111610ab5575b5082601f8211600114610a435781908798600080516020612bda833981519152979892610a38575b50508160011b916000199060031b1c19161790555b610a32604051928284938452830190611776565b0390a280f35b015190508880610a09565b82875283872097601f198316885b818110610a9e575091600080516020612bda83398151915297989991846001959410610a85575b505050811b019055610a1e565b015160001960f88460031b161c19169055888080610a78565b838301518b556001909a0199928601928601610a51565b828752838720601f830160051c810191858410610aee575b601f0160051c01905b818110610ae357506109e1565b878155600101610ad6565b9091508190610acd565b634e487b7160e01b875260419052602486fd5b60405163075fd2b160e01b81528590fd5b82604036600319011261023a578135610b33612b12565b60243515610cbd5780825260cf6020526040822060405190610b5482611796565b8054825260018101546001600160a01b03908116602084015260028201541660408084019190915251610b86816117c7565b6003820154815260405186830180548791610ba082611b08565b8085529160018116908115610c965750600114610c4f575b505090610bcb8160069594930382611810565b6020820152606084015260058101546080840152015460a082015260408101516001600160a01b0316600080516020612b9a8339815191521480610c43575b610c325760200151610c2a916001600160a01b0390911690602435612249565b600160975580f35b6040516303e09bb960e31b81528490fd5b50346024351415610c0a565b885260208820949392915087905b808210610c78575092935090918101602001610bcb82610bb8565b91929394600181602092548385880101520191019094939291610c5d565b60ff191660208087019190915292151560051b85019092019250610bcb9150839050610bb8565b6040516303e09bb960e31b81528390fd5b823461023a578060031936011261023a5760cd546040516001600160a01b039091168152602090f35b828060031936011261023a5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b823461023a578060031936011261023a57602060c954604051908152f35b90503461026557602036600319011261026557610d76611702565b610d7e6126d4565b6001600160a01b0316908115610dd357506020817f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d192845260d0825260408420600160ff19825416179055604051908152a180f35b60405163538ba4f960e01b8152fd5b823461023a578060031936011261023a5760cc546040516001600160a01b039091168152602090f35b9050346102655781600319606036820112610265576001600160401b03906024358281116104f657610e409036908601611997565b916044359081116104f657610e589036908601611879565b610e60612b12565b8435845260cf60205260408420600101546001600160a01b031691823b15610ef657610eaf95610ebe8692606094604051998a9889978896630a6f0ee960e01b8852870152606486019061195a565b91848303016024850152611751565b33604483015203925af18015610eeb57610edc575b50600160975580f35b610ee5906117e2565b38610ed3565b6040513d84823e3d90fd5b8480fd5b823461023a57604036600319011261023a57610f14611718565b336001600160a01b03821603610f2f57610262919235612a9c565b60405162461bcd60e51b8152602081850152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b905034610265576040366003190112610265576102629035610fab611718565b908084526065602052610fc46001604086200154612737565b612a22565b82610c2a610fd636611894565b90610fdf612b12565b6121c7565b823461023a57604036600319011261023a578135611000611718565b9061100a81611bb3565b6001600160a01b03821615611032579061026291835260cf6020526005604084200154612a22565b60405163538ba4f960e01b81528490fd5b823461023a57604036600319011261023a57602061053483611063611718565b903561246a565b828060031936011261023a5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b905034610265576040366003190112610265576110d0611702565b6110d8611718565b6110e06126d4565b6001600160a01b038216600080516020612b9a83398151915281149285918415611153575047935b1561111957505061026292506126f1565b816010916020956044949560145260345263a9059cbb60601b82525af13d156001845114171615611148575080f35b6390b8ec188252601cfd5b6020602491604051928380926370a0823160e01b8252308b8301525afa9081156111b6578391611185575b5093611108565b90506020813d82116111ae575b8161119f60209383611810565b810103126104fa57513861117e565b3d9150611192565b6040513d85823e3d90fd5b90503461026557602036600319011261026557604060209260019235815260658452200154604051908152f35b823461023a57602036600319011261023a5761026261120b611702565b6112136126d4565b6124ad565b905034610265576040366003190112610265578035916001600160401b03918284116102655736602385011215610265578381013592611257846118c3565b946112656040519687611810565b84865260209460248688019160051b830101913683116104f2576024879101915b8383106113d057505050506024359081116104fa576112a890369083016118da565b916112b1612b12565b8451916112bd836118c3565b956112cb6040519788611810565b838752601f196112da856118c3565b013687890137845184036113c057825b84811061130d57600160975560405187815280611309818a018b61195a565b0390f35b6113178183611b89565b51845260cf875260018060a01b039061135f6001928986828660408b20015416611341868d611b89565b518a6040518097819582946315df065760e11b845233918401611b61565b03925af19182156113b5578792611386575b5061137c838c611b89565b91169052016112ea565b6113a79192508a3d8c116113ae575b61139f8183611810565b810190611b42565b9038611371565b503d611395565b6040513d89823e3d90fd5b5060405163636e39bb60e01b8152fd5b8235815291810191879101611286565b823461023a578060031936011261023a57602060ca54604051908152f35b61144d9150602061140e36611894565b9290611418612b12565b855260cf825260018060a01b039283600160408820015416906040518096819482936315df065760e11b845233918401611b61565b039134905af19182156111b65760209392611472575b50600160975560405191168152f35b61148a919250833d81116113ae5761139f8183611810565b9038611463565b823461023a5760209182600319360112610265578160a06040516114b481611796565b82815282868201528260408201526040516114ce816117c7565b838152606087820152606082015282608082015201528035825260cf835260408220604051916114fd83611796565b815483526001808301546001600160a01b0390811687860190815260028501548216604080880191825251919491939091611537856117c7565b60038701548552860189604051928a83549361155285611b08565b8087529483811690811561162057506001146115e4575b5050505050611580816115d3969798990382611810565b888401526060870192835281600660058801549760808a0198895201549560a08901968752604051998a99818b5251908a015251166040880152511660608601525160c0608086015260e0850190611776565b915160a08401525160c08301520390f35b908094939c50528a83205b82841061160d57505050810190970196611580896115d3838d611569565b80548585018d0152928b019281016115ef565b60ff1916858801525050505090151560051b8201019750611580896115d3838d611569565b823461023a57602036600319011261023a577f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea46020611682611702565b61168a6126d4565b6001600160a01b031680845260d082526040808520805460ff1916905551908152a180f35b9150346104fa5760203660031901126104fa573563ffffffff60e01b81168091036104fa5760209250637965db0b60e01b81149081156116f1575b5015158152f35b6301ffc9a760e01b149050386116ea565b600435906001600160a01b03821682036106c157565b602435906001600160a01b03821682036106c157565b60005b8381106117415750506000910152565b8181015183820152602001611731565b9060209161176a8151809281855285808601910161172e565b601f01601f1916010190565b906040602061179393805184520151918160208201520190611751565b90565b60c081019081106001600160401b038211176117b157604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176117b157604052565b6001600160401b0381116117b157604052565b606081019081106001600160401b038211176117b157604052565b601f909101601f19168101906001600160401b038211908210176117b157604052565b9192916001600160401b0382116117b1576040519161185c601f8201601f191660200184611810565b8294818452818301116106c1578281602093846000960137010152565b9080601f830112156106c15781602061179393359101611833565b9060406003198301126106c15760043591602435906001600160401b0382116106c15761179391600401611879565b6001600160401b0381116117b15760051b60200190565b9080601f830112156106c1578135906118f2826118c3565b926119006040519485611810565b828452602092838086019160051b830101928084116106c157848301915b84831061192e5750505050505090565b82356001600160401b0381116106c157869161194f84848094890101611879565b81520192019161191e565b90815180825260208080930193019160005b82811061197a575050505090565b83516001600160a01b03168552938101939281019260010161196c565b81601f820112156106c1578035916119ae836118c3565b926119bc6040519485611810565b808452602092838086019260051b8201019283116106c1578301905b8282106119e6575050505090565b81356001600160a01b03811681036106c15781529083019083016119d8565b91906040838203126106c15760405190611a1e826117c7565b8335825290928391906020810135906001600160401b0382116106c1570181601f820112156106c1576020918183611a5893359101611833565b910152565b60e06003198201126106c157600435916001600160a01b039060243582811681036106c157926001600160401b03906044358281116106c15781611aa391600401611879565b9360643590811681036106c157926084359260a4358181116106c15783611acc91600401611a05565b9260c4359182116106c15761179391600401611997565b6000198114611af25760010190565b634e487b7160e01b600052601160045260246000fd5b90600182811c92168015611b38575b6020831014611b2257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b17565b908160209103126106c157516001600160a01b03811681036106c15790565b90611b79602091949394604084526040840190611751565b6001600160a01b03909416910152565b8051821015611b9d5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b60005260cf602052611bcd3360066040600020015461270f565b15611bd457565b60405163075fd2b160e01b8152600490fd5b91908201809211611af257565b949695939291966000946044602060018060a01b0360cd541660405192838092635e8a791560e01b82528c60048301523360248301525afa9081156113b5578791612188575b5015611bd457611c4a60cb54611ae3565b958660cb55869960405160208101908982526430b236b4b760d91b604082015260258152611c77816117f5565b51902090604051611c8781611796565b8a8152602081019060018060a01b038816825260206040820160018060a01b038b16815260608301908982528d60808501528660a08501528d885260cf8352604088209484518655600186019060018060a01b039051169060018060a01b03199182825416179055600286019160018060a01b03905116908254161790555180516003850155015180519060018060401b03821161217457611d2c6004850154611b08565b601f8111612130575b50602090601f83116001146120be5791806006949260a0948a926120b3575b50508160011b916000199060031b1c19161760048501555b608081015160058501550151910155611d853383612a22565b888352606560205260016040842001918083549355604051928a7fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8680a46001600160a01b0386163b156104fa578180611dfb8593633b7451b360e21b83528c6004840152604060248401526044830190611751565b0381836001600160a01b038a165af18015610eeb576120a4575b5060405163038fff2d60e41b81529091906020816004816001600160a01b0389165afa9081156111b657908891849161206f575b5014801590611fed575b611fdb578051915b828110611f9c5750505060ca5480611ed1575b50611ebc9084600080516020612bfa83398151915295611ec1575b60405194859460018060a01b0316855260018060a01b031660208501526040840152608060608401526080830190611776565b0390a3565b611ecc848883612249565b611e89565b906001600160a01b038416600080516020612b9a833981519152148080611f87575b8115611f6e575b50611f5c57600080516020612bfa83398151915294611f26611ebc9360018060a01b0360cc54166126f1565b867f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72602060ca54604051908152a2945090611e6e565b6040516303e09bb960e31b8152600490fd5b90501580611f7d575b38611efa565b5034821415611f77565b9050611f938684611be6565b34141590611ef3565b6001600160a01b03611fae8284611b89565b5116908115611fc957611fc36001928a612a22565b01611e5b565b60405163538ba4f960e01b8152600490fd5b60405163636e39bb60e01b8152600490fd5b50604051630ae6240f60e11b81526020816004816001600160a01b0389165afa9081156111b657839161202d575b506001600160a01b0316301415611e53565b90506020813d602011612067575b8161204860209383611810565b810103126104fa57516001600160a01b03811681036104fa573861201b565b3d915061203b565b9150506020813d60201161209c575b8161208b60209383611810565b810103126106c15787905138611e49565b3d915061207e565b6120ad906117e2565b38611e15565b015190503880611d54565b906004850188526020882091885b601f19851681106121185750926006949260019260a09583601f198116106120ff575b505050811b016004850155611d6c565b015160001960f88460031b161c191690553880806120ef565b919260206001819286850151815501940192016120cc565b60048501885260208820601f840160051c81016020851061216d575b601f830160051c82018110612162575050611d35565b89815560010161214c565b508061214c565b634e487b7160e01b87526041600452602487fd5b90506020813d6020116121bf575b816121a360209383611810565b810103126121bb575180151581036121bb5738611c39565b8680fd5b3d9150612196565b600090815260cf60205260408120600101549091906001600160a01b0316803b156104fa57918091612210936040518080968194633bca483f60e21b8352339060048401611b61565b039134905af190811561223057506122255750565b61222e906117e2565b565b604051903d90823e3d90fd5b91908203918211611af257565b9291926000819083815260209560cf875260018060a01b03906040948260028786200154169060c9548061237b575b5050600080516020612b9a83398151915281036123315785516122b29161229e826117f5565b3382528484168b83015286888301526125ce565b505b1695863b156106c1576000809760248651809a819363f5b0dfb760e01b83528860048401525af1968715612326577fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851959697612317575b508351928352820152a2565b612320906117e2565b3861230b565b84513d6000823e3d90fd5b9361237082958461237594169061236a8c61234c8484612686565b95848c519261235a846117f5565b3384528301528b820152826125ce565b50612686565b61223c565b926122b4565b81819396929750029186830414861517156124565750670de0b6b3a76400009004926123a7848661223c565b946123b28686611be6565b0361244557600080516020612b9a83398151915281036123fb576123f28360cc54168751906123e0826117f5565b3382528b8201528588820152826125ce565b505b3880612278565b9261243f906124308460cc54166124128188612686565b9289519161241f836117f5565b3383528d83015289820152866125ce565b506123708460cc541686612686565b926123f4565b8551637fcce2a960e01b8152600490fd5b634e487b7160e01b81526011600452602490fd5b908160005260cf6020526124868160056040600020015461270f565b91821561249257505090565b611793925060005260cf60205260066040600020015461270f565b6001600160a01b03168015611fc95760cd80546001600160a01b031916821790556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602090a1565b6001600160a01b03168015611fc95760cc80546001600160a01b031916821790556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602090a1565b670de0b6b3a7640000811161258b576020817f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b0659260c955604051908152a1565b604051632fb15b8760e01b8152600490fd5b60207f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3918060ca55604051908152a1565b6040820151906001600160a01b0390818116600080516020612b9a83398151915203612621575081341061260f57602061260a930151166126f1565b600190565b6040516374c5672b60e01b8152600490fd5b601c6000606492868295602080989951920151166040519860605260405260018060601b03199060601b16602c526323b872dd60601b600c525af13d15600160005114171615612678576000606052604052600190565b637939f4246000526004601cfd5b6001600160a01b039190828116600080516020612b9a833981519152036126ad5750163190565b60209250601060249184936014526370a0823160601b6000525afa601f3d11166020510290565b638b78c6d8195433036126e357565b6382b429006000526004601cfd5b600080809381935af11561270157565b63b12d13eb6000526004601cfd5b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff8482205416156127615750505050565b3384519261276e846117f5565b602a84528484019086368337845115612a0e57603082538451926001938410156129fa576078602187015360295b848111612990575061296057865192608084016001600160401b0381118582101761294c57885260428452868401946060368737845115612938576030865384518210156129385790607860218601536041915b8183116128ca5750505061289a5761289693869361287a9361286b6048946128429a519a8b9576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c880152518092603788019061172e565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061172e565b01036028810187520185611810565b5192839262461bcd60e51b845260048401526024830190611751565b0390fd5b60648587519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b909192600f81166010811015612924576f181899199a1a9b1b9c1cb0b131b232b360811b901a6128fa8588612b68565b5360041c928015612910576000190191906127f0565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b86526041600452602486fd5b60648688519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b90600f811660108110156129e6576f181899199a1a9b1b9c1cb0b131b232b360811b901a6129be8389612b68565b5360041c9080156129d2576000190161279c565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541615612a5457505050565b80835260656020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416612acd57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b600260975414612b23576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908151811015611b9d57016020019056fe537472696e67733a20686578206c656e67746820696e73756666696369656e74000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e014f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf069bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1a26469706673582212204c39e56a34298a4d38036cfd3967b4a8ca76348a98acfea41be454a6be03d49864736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a7146116af57508163031e2fa114611645578163068bcd8d14611491578163075c0e9c146113fe57816315e812ad146113e05781631a20bd88146112185781631a5da6c8146111ee578163248a9ca3146111c157816324ae6a27146110b5578163256929621461106a57816329e40d4b146110435781632cf682b014610fe45781632ec3818814610fc95781632f2ff15d14610f8b57816336568abe14610efa5781633a5fbd9214610e0b5781633b19e84a14610de257816341bba0b414610d5b5781634edbaadc14610d3d57816354d1f13d14610cf75781635ab1bd5314610cce5781635acd6fac14610b1c5781635f9ca13814610964578163715018a61461093057816377da8caf1461080b5781637f51bb1f146107e65781637f5a70bd146107a85781638da5cb5b1461077b5781638e6901861461075657816391d148541461070b578163a0cf0aea146106e2578163a217fddf146106c6578163a6b63eb81461057d578163ab2ec5891461053e578163ab3febc6146104fe578163c6dff1cf14610438578163cfc0cc3414610403578163d547741f146103c5578163e1007d4a14610355578163f04e283e146102e7578163f2fde38b1461028c578163f4e1fc4114610269578163f54fc4a01461023d575063fee81cf41461020857600080fd5b3461023a57602036600319011261023a57610221611702565b9063389a75e1600c5252602080600c2054604051908152f35b80fd5b905034610265576020366003190112610265576102629061025c6126d4565b3561254b565b80f35b5080fd5b823461023a578060031936011261023a576020604051670de0b6b3a76400008152f35b90506020366003190112610265576102a2611702565b906102ab6126d4565b8160601b156102dc575060018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b637448fbae8352601cfd5b90506020366003190112610265576102fd611702565b906103066126d4565b63389a75e1600c528183526020600c20908154421161034a575082905560018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b636f5e88188452601cfd5b905061036036611a5d565b979096919592946001600160a01b031692919083156103b5576040818560ff935260d06020522054166103a657602061039e89898989898989611bf3565b604051908152f35b60405163eeffa72160e01b8152fd5b5060405163538ba4f960e01b8152fd5b9050346102655760403660031901126102655761026290356103e5611718565b9080845260656020526103fe6001604086200154612737565b612a9c565b905034610265576020366003190112610265579060209135815260cf825260016040818060a01b039220015416604051908152f35b823461023a57604036600319011261023a5781356001600160401b038082116104fa57366023830112156104fa5781840135918183116104f657602490600592368386861b840101116104f25782359081116104f25761049b90369088016118da565b956104a4612b12565b865185036104e35750845b8481106104bf5785600160975580f35b806104dd6104cf6001938a611b89565b518583881b860101356121c7565b016104af565b60405163636e39bb60e01b8152fd5b8580fd5b8380fd5b8280fd5b905034610265576040366003190112610265576105349060066040602094610524611718565b9335815260cf865220015461270f565b6040519015158152f35b823461023a57602036600319011261023a5760209060ff906040906001600160a01b03610569611702565b16815260d084522054166040519015158152f35b9050346102655760a036600319011261026557610598611702565b906105a1611718565b6044359290916001600160a01b03919082851685036106c15785549060ff8260081c1615806106b4575b15610659575061ffff191661010117855516638b78c6d81981905561060c92916106079185600080516020612bba8339815191528180a36124ad565b6124fc565b61061760643561254b565b61062260843561259d565b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60849060206040519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50600160ff8316106105cb565b600080fd5b823461023a578060031936011261023a57602090604051908152f35b823461023a578060031936011261023a576020604051600080516020612b9a8339815191528152f35b823461023a57604036600319011261023a57604090610728611718565b923581526065602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b90503461026557602036600319011261026557610262906107756126d4565b3561259d565b823461023a578060031936011261023a57638b78c6d819546040516001600160a01b039091168152602090f35b9050346102655760403660031901126102655761026290356107c8611718565b906107d281611bb3565b835260cf6020526005604084200154612a9c565b823461023a57602036600319011261023a57610262610803611702565b6106076126d4565b8261081536611a5d565b959094610823949294612b12565b60018060a01b0390818116895260209860d08a5260ff6040822054161561091f57600960379133815260ce8c526e5af43d82803e903d91602b57fd5bf36040822080549061087082611ae3565b90558d604051908101913360601b8352603482015260348152610892816117f5565b51902094763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c1617835260781b178c52f5169081156108e1576108d4979850611bf3565b6001609755604051908152f35b60405162461bcd60e51b8152808a018990526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b60405163126d324760e31b81528b90fd5b828060031936011261023a576109446126d4565b80638b78c6d819818154600080516020612bba8339815191528280a35580f35b823461023a57604036600319011261023a5781356001600160401b036024358181116104f6576109979036908601611a05565b906109a2338461246a565b15610b0b5782845260209060cf8252856040862084516003820155019082840151968751918211610af857506109d88254611b08565b601f8111610ab5575b5082601f8211600114610a435781908798600080516020612bda833981519152979892610a38575b50508160011b916000199060031b1c19161790555b610a32604051928284938452830190611776565b0390a280f35b015190508880610a09565b82875283872097601f198316885b818110610a9e575091600080516020612bda83398151915297989991846001959410610a85575b505050811b019055610a1e565b015160001960f88460031b161c19169055888080610a78565b838301518b556001909a0199928601928601610a51565b828752838720601f830160051c810191858410610aee575b601f0160051c01905b818110610ae357506109e1565b878155600101610ad6565b9091508190610acd565b634e487b7160e01b875260419052602486fd5b60405163075fd2b160e01b81528590fd5b82604036600319011261023a578135610b33612b12565b60243515610cbd5780825260cf6020526040822060405190610b5482611796565b8054825260018101546001600160a01b03908116602084015260028201541660408084019190915251610b86816117c7565b6003820154815260405186830180548791610ba082611b08565b8085529160018116908115610c965750600114610c4f575b505090610bcb8160069594930382611810565b6020820152606084015260058101546080840152015460a082015260408101516001600160a01b0316600080516020612b9a8339815191521480610c43575b610c325760200151610c2a916001600160a01b0390911690602435612249565b600160975580f35b6040516303e09bb960e31b81528490fd5b50346024351415610c0a565b885260208820949392915087905b808210610c78575092935090918101602001610bcb82610bb8565b91929394600181602092548385880101520191019094939291610c5d565b60ff191660208087019190915292151560051b85019092019250610bcb9150839050610bb8565b6040516303e09bb960e31b81528390fd5b823461023a578060031936011261023a5760cd546040516001600160a01b039091168152602090f35b828060031936011261023a5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b823461023a578060031936011261023a57602060c954604051908152f35b90503461026557602036600319011261026557610d76611702565b610d7e6126d4565b6001600160a01b0316908115610dd357506020817f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d192845260d0825260408420600160ff19825416179055604051908152a180f35b60405163538ba4f960e01b8152fd5b823461023a578060031936011261023a5760cc546040516001600160a01b039091168152602090f35b9050346102655781600319606036820112610265576001600160401b03906024358281116104f657610e409036908601611997565b916044359081116104f657610e589036908601611879565b610e60612b12565b8435845260cf60205260408420600101546001600160a01b031691823b15610ef657610eaf95610ebe8692606094604051998a9889978896630a6f0ee960e01b8852870152606486019061195a565b91848303016024850152611751565b33604483015203925af18015610eeb57610edc575b50600160975580f35b610ee5906117e2565b38610ed3565b6040513d84823e3d90fd5b8480fd5b823461023a57604036600319011261023a57610f14611718565b336001600160a01b03821603610f2f57610262919235612a9c565b60405162461bcd60e51b8152602081850152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b905034610265576040366003190112610265576102629035610fab611718565b908084526065602052610fc46001604086200154612737565b612a22565b82610c2a610fd636611894565b90610fdf612b12565b6121c7565b823461023a57604036600319011261023a578135611000611718565b9061100a81611bb3565b6001600160a01b03821615611032579061026291835260cf6020526005604084200154612a22565b60405163538ba4f960e01b81528490fd5b823461023a57604036600319011261023a57602061053483611063611718565b903561246a565b828060031936011261023a5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b905034610265576040366003190112610265576110d0611702565b6110d8611718565b6110e06126d4565b6001600160a01b038216600080516020612b9a83398151915281149285918415611153575047935b1561111957505061026292506126f1565b816010916020956044949560145260345263a9059cbb60601b82525af13d156001845114171615611148575080f35b6390b8ec188252601cfd5b6020602491604051928380926370a0823160e01b8252308b8301525afa9081156111b6578391611185575b5093611108565b90506020813d82116111ae575b8161119f60209383611810565b810103126104fa57513861117e565b3d9150611192565b6040513d85823e3d90fd5b90503461026557602036600319011261026557604060209260019235815260658452200154604051908152f35b823461023a57602036600319011261023a5761026261120b611702565b6112136126d4565b6124ad565b905034610265576040366003190112610265578035916001600160401b03918284116102655736602385011215610265578381013592611257846118c3565b946112656040519687611810565b84865260209460248688019160051b830101913683116104f2576024879101915b8383106113d057505050506024359081116104fa576112a890369083016118da565b916112b1612b12565b8451916112bd836118c3565b956112cb6040519788611810565b838752601f196112da856118c3565b013687890137845184036113c057825b84811061130d57600160975560405187815280611309818a018b61195a565b0390f35b6113178183611b89565b51845260cf875260018060a01b039061135f6001928986828660408b20015416611341868d611b89565b518a6040518097819582946315df065760e11b845233918401611b61565b03925af19182156113b5578792611386575b5061137c838c611b89565b91169052016112ea565b6113a79192508a3d8c116113ae575b61139f8183611810565b810190611b42565b9038611371565b503d611395565b6040513d89823e3d90fd5b5060405163636e39bb60e01b8152fd5b8235815291810191879101611286565b823461023a578060031936011261023a57602060ca54604051908152f35b61144d9150602061140e36611894565b9290611418612b12565b855260cf825260018060a01b039283600160408820015416906040518096819482936315df065760e11b845233918401611b61565b039134905af19182156111b65760209392611472575b50600160975560405191168152f35b61148a919250833d81116113ae5761139f8183611810565b9038611463565b823461023a5760209182600319360112610265578160a06040516114b481611796565b82815282868201528260408201526040516114ce816117c7565b838152606087820152606082015282608082015201528035825260cf835260408220604051916114fd83611796565b815483526001808301546001600160a01b0390811687860190815260028501548216604080880191825251919491939091611537856117c7565b60038701548552860189604051928a83549361155285611b08565b8087529483811690811561162057506001146115e4575b5050505050611580816115d3969798990382611810565b888401526060870192835281600660058801549760808a0198895201549560a08901968752604051998a99818b5251908a015251166040880152511660608601525160c0608086015260e0850190611776565b915160a08401525160c08301520390f35b908094939c50528a83205b82841061160d57505050810190970196611580896115d3838d611569565b80548585018d0152928b019281016115ef565b60ff1916858801525050505090151560051b8201019750611580896115d3838d611569565b823461023a57602036600319011261023a577f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea46020611682611702565b61168a6126d4565b6001600160a01b031680845260d082526040808520805460ff1916905551908152a180f35b9150346104fa5760203660031901126104fa573563ffffffff60e01b81168091036104fa5760209250637965db0b60e01b81149081156116f1575b5015158152f35b6301ffc9a760e01b149050386116ea565b600435906001600160a01b03821682036106c157565b602435906001600160a01b03821682036106c157565b60005b8381106117415750506000910152565b8181015183820152602001611731565b9060209161176a8151809281855285808601910161172e565b601f01601f1916010190565b906040602061179393805184520151918160208201520190611751565b90565b60c081019081106001600160401b038211176117b157604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176117b157604052565b6001600160401b0381116117b157604052565b606081019081106001600160401b038211176117b157604052565b601f909101601f19168101906001600160401b038211908210176117b157604052565b9192916001600160401b0382116117b1576040519161185c601f8201601f191660200184611810565b8294818452818301116106c1578281602093846000960137010152565b9080601f830112156106c15781602061179393359101611833565b9060406003198301126106c15760043591602435906001600160401b0382116106c15761179391600401611879565b6001600160401b0381116117b15760051b60200190565b9080601f830112156106c1578135906118f2826118c3565b926119006040519485611810565b828452602092838086019160051b830101928084116106c157848301915b84831061192e5750505050505090565b82356001600160401b0381116106c157869161194f84848094890101611879565b81520192019161191e565b90815180825260208080930193019160005b82811061197a575050505090565b83516001600160a01b03168552938101939281019260010161196c565b81601f820112156106c1578035916119ae836118c3565b926119bc6040519485611810565b808452602092838086019260051b8201019283116106c1578301905b8282106119e6575050505090565b81356001600160a01b03811681036106c15781529083019083016119d8565b91906040838203126106c15760405190611a1e826117c7565b8335825290928391906020810135906001600160401b0382116106c1570181601f820112156106c1576020918183611a5893359101611833565b910152565b60e06003198201126106c157600435916001600160a01b039060243582811681036106c157926001600160401b03906044358281116106c15781611aa391600401611879565b9360643590811681036106c157926084359260a4358181116106c15783611acc91600401611a05565b9260c4359182116106c15761179391600401611997565b6000198114611af25760010190565b634e487b7160e01b600052601160045260246000fd5b90600182811c92168015611b38575b6020831014611b2257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b17565b908160209103126106c157516001600160a01b03811681036106c15790565b90611b79602091949394604084526040840190611751565b6001600160a01b03909416910152565b8051821015611b9d5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b60005260cf602052611bcd3360066040600020015461270f565b15611bd457565b60405163075fd2b160e01b8152600490fd5b91908201809211611af257565b949695939291966000946044602060018060a01b0360cd541660405192838092635e8a791560e01b82528c60048301523360248301525afa9081156113b5578791612188575b5015611bd457611c4a60cb54611ae3565b958660cb55869960405160208101908982526430b236b4b760d91b604082015260258152611c77816117f5565b51902090604051611c8781611796565b8a8152602081019060018060a01b038816825260206040820160018060a01b038b16815260608301908982528d60808501528660a08501528d885260cf8352604088209484518655600186019060018060a01b039051169060018060a01b03199182825416179055600286019160018060a01b03905116908254161790555180516003850155015180519060018060401b03821161217457611d2c6004850154611b08565b601f8111612130575b50602090601f83116001146120be5791806006949260a0948a926120b3575b50508160011b916000199060031b1c19161760048501555b608081015160058501550151910155611d853383612a22565b888352606560205260016040842001918083549355604051928a7fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8680a46001600160a01b0386163b156104fa578180611dfb8593633b7451b360e21b83528c6004840152604060248401526044830190611751565b0381836001600160a01b038a165af18015610eeb576120a4575b5060405163038fff2d60e41b81529091906020816004816001600160a01b0389165afa9081156111b657908891849161206f575b5014801590611fed575b611fdb578051915b828110611f9c5750505060ca5480611ed1575b50611ebc9084600080516020612bfa83398151915295611ec1575b60405194859460018060a01b0316855260018060a01b031660208501526040840152608060608401526080830190611776565b0390a3565b611ecc848883612249565b611e89565b906001600160a01b038416600080516020612b9a833981519152148080611f87575b8115611f6e575b50611f5c57600080516020612bfa83398151915294611f26611ebc9360018060a01b0360cc54166126f1565b867f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72602060ca54604051908152a2945090611e6e565b6040516303e09bb960e31b8152600490fd5b90501580611f7d575b38611efa565b5034821415611f77565b9050611f938684611be6565b34141590611ef3565b6001600160a01b03611fae8284611b89565b5116908115611fc957611fc36001928a612a22565b01611e5b565b60405163538ba4f960e01b8152600490fd5b60405163636e39bb60e01b8152600490fd5b50604051630ae6240f60e11b81526020816004816001600160a01b0389165afa9081156111b657839161202d575b506001600160a01b0316301415611e53565b90506020813d602011612067575b8161204860209383611810565b810103126104fa57516001600160a01b03811681036104fa573861201b565b3d915061203b565b9150506020813d60201161209c575b8161208b60209383611810565b810103126106c15787905138611e49565b3d915061207e565b6120ad906117e2565b38611e15565b015190503880611d54565b906004850188526020882091885b601f19851681106121185750926006949260019260a09583601f198116106120ff575b505050811b016004850155611d6c565b015160001960f88460031b161c191690553880806120ef565b919260206001819286850151815501940192016120cc565b60048501885260208820601f840160051c81016020851061216d575b601f830160051c82018110612162575050611d35565b89815560010161214c565b508061214c565b634e487b7160e01b87526041600452602487fd5b90506020813d6020116121bf575b816121a360209383611810565b810103126121bb575180151581036121bb5738611c39565b8680fd5b3d9150612196565b600090815260cf60205260408120600101549091906001600160a01b0316803b156104fa57918091612210936040518080968194633bca483f60e21b8352339060048401611b61565b039134905af190811561223057506122255750565b61222e906117e2565b565b604051903d90823e3d90fd5b91908203918211611af257565b9291926000819083815260209560cf875260018060a01b03906040948260028786200154169060c9548061237b575b5050600080516020612b9a83398151915281036123315785516122b29161229e826117f5565b3382528484168b83015286888301526125ce565b505b1695863b156106c1576000809760248651809a819363f5b0dfb760e01b83528860048401525af1968715612326577fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851959697612317575b508351928352820152a2565b612320906117e2565b3861230b565b84513d6000823e3d90fd5b9361237082958461237594169061236a8c61234c8484612686565b95848c519261235a846117f5565b3384528301528b820152826125ce565b50612686565b61223c565b926122b4565b81819396929750029186830414861517156124565750670de0b6b3a76400009004926123a7848661223c565b946123b28686611be6565b0361244557600080516020612b9a83398151915281036123fb576123f28360cc54168751906123e0826117f5565b3382528b8201528588820152826125ce565b505b3880612278565b9261243f906124308460cc54166124128188612686565b9289519161241f836117f5565b3383528d83015289820152866125ce565b506123708460cc541686612686565b926123f4565b8551637fcce2a960e01b8152600490fd5b634e487b7160e01b81526011600452602490fd5b908160005260cf6020526124868160056040600020015461270f565b91821561249257505090565b611793925060005260cf60205260066040600020015461270f565b6001600160a01b03168015611fc95760cd80546001600160a01b031916821790556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602090a1565b6001600160a01b03168015611fc95760cc80546001600160a01b031916821790556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602090a1565b670de0b6b3a7640000811161258b576020817f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b0659260c955604051908152a1565b604051632fb15b8760e01b8152600490fd5b60207f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3918060ca55604051908152a1565b6040820151906001600160a01b0390818116600080516020612b9a83398151915203612621575081341061260f57602061260a930151166126f1565b600190565b6040516374c5672b60e01b8152600490fd5b601c6000606492868295602080989951920151166040519860605260405260018060601b03199060601b16602c526323b872dd60601b600c525af13d15600160005114171615612678576000606052604052600190565b637939f4246000526004601cfd5b6001600160a01b039190828116600080516020612b9a833981519152036126ad5750163190565b60209250601060249184936014526370a0823160601b6000525afa601f3d11166020510290565b638b78c6d8195433036126e357565b6382b429006000526004601cfd5b600080809381935af11561270157565b63b12d13eb6000526004601cfd5b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff8482205416156127615750505050565b3384519261276e846117f5565b602a84528484019086368337845115612a0e57603082538451926001938410156129fa576078602187015360295b848111612990575061296057865192608084016001600160401b0381118582101761294c57885260428452868401946060368737845115612938576030865384518210156129385790607860218601536041915b8183116128ca5750505061289a5761289693869361287a9361286b6048946128429a519a8b9576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c880152518092603788019061172e565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061172e565b01036028810187520185611810565b5192839262461bcd60e51b845260048401526024830190611751565b0390fd5b60648587519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b909192600f81166010811015612924576f181899199a1a9b1b9c1cb0b131b232b360811b901a6128fa8588612b68565b5360041c928015612910576000190191906127f0565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b86526041600452602486fd5b60648688519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b90600f811660108110156129e6576f181899199a1a9b1b9c1cb0b131b232b360811b901a6129be8389612b68565b5360041c9080156129d2576000190161279c565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541615612a5457505050565b80835260656020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416612acd57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b600260975414612b23576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908151811015611b9d57016020019056fe537472696e67733a20686578206c656e67746820696e73756666696369656e74000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e014f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf069bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1a26469706673582212204c39e56a34298a4d38036cfd3967b4a8ca76348a98acfea41be454a6be03d49864736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10204:237:12;;;;;5076:29047:0;10204:237:12;;;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;14005:11;10797:70:12;;;:::i;:::-;5076:29047:0;14005:11;:::i;:::-;5076:29047;;;;;;;;;;;;;;;;;;;;;;31880:4;5076:29047;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:12;;;:::i;:::-;6789:183;;;;;;5076:29047:0;;;;;;5147:382:12;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:12;;;;5076:29047:0;;6789:183:12;;;;;;5076:29047:0;;-1:-1:-1;5076:29047:0;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:12;;;:::i;:::-;8816:526;;;;;;5076:29047:0;8816:526:12;;;;;;;;;;;;;5076:29047:0;;;;;5147:382:12;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:12;;;;5076:29047:0;;8816:526:12;;;;;;5076:29047:0;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;10687:23;;10683:50;;5076:29047;;;;;;28993:19;5076:29047;;;;;10894:66;;5076:29047;11055:103;;;;;;;;;:::i;:::-;5076:29047;;;;;;10894:66;5076:29047;;-1:-1:-1;;;10938:22:0;;;10683:50;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;10719:14:0;;;5076:29047;;;;;;;;-1:-1:-1;;5076:29047:0;;;;5837:7:40;5076:29047:0;;;;:::i;:::-;;;;;4955:6:40;5076:29047:0;;2809:4:40;5076:29047:0;;;;4955:22:40;5076:29047:0;2809:4:40;:::i;:::-;5837:7;:::i;5076:29047:0:-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;32848:5;5076:29047;;;;;;;;;;;32848:23;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:103:45;;;:::i;:::-;5076:29047:0;;20772:25;;20768:48;;20921:9;;20932:12;;;;;;5076:29047;;3074:22:45;5076:29047:0;;;20921:9;20984;;;5076:29047;20984:9;;;:::i;:::-;;5076:29047;;;;;;;;20984:9;:::i;:::-;5076:29047;20921:9;;20768:48;5076:29047;;-1:-1:-1;;;20806:10:0;;;5076:29047;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;29449:43;5076:29047;29457:24;5076:29047;;;;;:::i;:::-;;;;;29457:5;5076:29047;;;29457:24;5076:29047;29449:43;:::i;:::-;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;:::i;:::-;;;;28993:19;5076:29047;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;4881:14:44;:40;;;5076:29047:0;;;;-1:-1:-1;;;5076:29047:0;;;;;4634:328:12;-1:-1:-1;;4634:328:12;;;8064:9:0;;5076:29047;7984:9;;5076:29047;-1:-1:-1;;;;;;;;;;;5076:29047:0;;4634:328:12;7984:9:0;:::i;:::-;8064;:::i;:::-;8137:11;5076:29047;;8137:11;:::i;:::-;8203:8;5076:29047;;8203:8;:::i;:::-;5076:29047;;;;;;;5091:20:44;5076:29047:0;;;;;;5091:20:44;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;4881:40:44;5076:29047:0;;;;;4899:22:44;4881:40;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;:::i;:::-;;;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;14273:8;10797:70:12;;;:::i;:::-;5076:29047:0;14273:8;:::i;5076:29047::-;;;;;;;;;;;;;-1:-1:-1;;9833:70:12;5076:29047:0;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;16094:8;5076:29047;;;;:::i;:::-;8857:7;;;;:::i;:::-;5076:29047;;16066:5;5076:29047;;16066:26;5076:29047;;;16066:26;5076:29047;16094:8;:::i;5076:29047::-;;;;;;;-1:-1:-1;;5076:29047:0;;;;13720:9;5076:29047;;:::i;:::-;10797:70:12;;:::i;5076:29047:0:-;;;;;:::i;:::-;2492:103:45;;;;;;;;:::i;:::-;5076:29047:0;;;;;;;;;;;;;28993:19;5076:29047;;;;;;;;12281:32;12277:93;;2273:565:43;;12522:10:0;;5076:29047;;12514:7;5076:29047;;2273:565:43;5076:29047:0;;;;;12514:21;;;;:::i;:::-;5076:29047;;;;;4867:36:6;;;12522:10:0;;5076:29047;;;;;;;;;4867:36:6;;;;;:::i;:::-;5076:29047:0;4857:47:6;;2273:565:43;;;;;;;;;;;;;;;;5076:29047:0;2855:22:43;;;5076:29047:0;;12426:239;;;;;:::i;:::-;5076:29047;3074:22:45;5076:29047:0;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;12277:93;5076:29047;;-1:-1:-1;;;12336:23:0;;5076:29047;;12336:23;5076:29047;;;;;;;;;;10797:70:12;;:::i;:::-;5147:382;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:12;;;;5076:29047:0;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;:::i;:::-;22011:10;21987:35;22011:10;21987:35;;:::i;:::-;21986:36;21982:63;;5076:29047;;;;;13030:5;5076:29047;;;;;;;;;13054:13;;5076:29047;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13095:39;;;5076:29047;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;21982:63;5076:29047;;-1:-1:-1;;;22031:14:0;;5076:29047;;22031:14;5076:29047;;;;-1:-1:-1;;5076:29047:0;;;;;;2492:103:45;;:::i;:::-;5076:29047:0;;19318:12;19314:43;;5076:29047;;;19387:5;5076:29047;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;19415:20:0;;:44;;5076:29047;19411:75;;5076:29047;;;19574:13;;-1:-1:-1;;;;;5076:29047:0;;;;;;19574:13;:::i;:::-;5076:29047;3074:22:45;5076:29047:0;;;19411:75;5076:29047;;-1:-1:-1;;;19468:18:0;;5076:29047;;19468:18;19415:44;19450:9;;5076:29047;;19439:20;;19415:44;;5076:29047;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;19314:43;5076:29047;;-1:-1:-1;;;19339:18:0;;5076:29047;;19339:18;5076:29047;;;;;;;;;;;;;33562:8;5076:29047;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;8141:339:12;;;;;;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;33051:10;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:12;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;14567:23;;14563:50;;5076:29047;;;14676:27;5076:29047;;;14624:19;5076:29047;;;;;;;;;;;;;;;;;;;14676:27;5076:29047;;14563:50;5076:29047;;-1:-1:-1;;;14599:14:0;;;5076:29047;;;;;;;;;;;;;33393:8;5076:29047;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;2492:103:45;;:::i;:::-;5076:29047:0;;;;21589:5;5076:29047;;;;;;21589:23;5076:29047;-1:-1:-1;;;;;5076:29047:0;;21589:68;;;;;5076:29047;;;;;;;;;;;;;;;;;;;21589:68;;;;5076:29047;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;21646:10;5076:29047;;;;21589:68;;;;;;;;;;5076:29047;;;3074:22:45;5076:29047:0;;;21589:68;;;;:::i;:::-;;;;;5076:29047;;;;;;;;;21589:68;5076:29047;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;965:10:48;-1:-1:-1;;;;;5076:29047:0;;6484:23:40;5076:29047:0;;6588:7:40;5076:29047:0;;;6588:7:40;:::i;5076:29047:0:-;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;5410:7:40;5076:29047:0;;;;:::i;:::-;;;;;4955:6:40;5076:29047:0;;2809:4:40;5076:29047:0;;;;4955:22:40;5076:29047:0;2809:4:40;:::i;:::-;5410:7;:::i;5076:29047:0:-;;20035:5;5076:29047;;;:::i;:::-;2492:103:45;;;:::i;:::-;20035:5:0;:::i;5076:29047::-;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;:::i;:::-;8857:7;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;15568:22;15564:49;;5076:29047;15729:8;5076:29047;;;15701:5;5076:29047;;15701:26;5076:29047;;;15701:26;5076:29047;15729:8;:::i;15564:49::-;5076:29047;;-1:-1:-1;;;15599:14:0;;5076:29047;;15599:14;5076:29047;;;;;;;-1:-1:-1;;5076:29047:0;;;;;32580:33;5076:29047;;;:::i;:::-;;;32580:33;:::i;5076:29047::-;;;;;;;;;;7549:383:12;;;;;;6282:9;7442:15;5076:29047:0;7549:383:12;;;;;;;;;5076:29047:0;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;;;:::i;:::-;10797:70:12;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;-1:-1:-1;;;;;;;;;;;16523:16:0;;;5076:29047;;16523:93;;;;16542:21;;16523:93;;6815:16:10;;;6884:7;;;;;;:::i;6811:173::-;11581:1056:14;;;;;;;;;;;;;;;;;;;;;5076:29047:0;11581:1056:14;;;;;;;;6811:173:10;5076:29047:0;;11581:1056:14;;;;;;16523:93:0;5076:29047;;;;;;;;;;;;16566:50;;16610:4;16566:50;;;5076:29047;16566:50;;;;;;;;;;;16523:93;;;;;16566:50;;;5076:29047;16566:50;;;;;;;;;5076:29047;16566:50;;;:::i;:::-;;;5076:29047;;;;;16566:50;;;;;;-1:-1:-1;16566:50:0;;;5076:29047;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;4955:6:40;5076:29047:0;;;4955:22:40;5076:29047:0;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;13418:9;5076:29047;;:::i;:::-;10797:70:12;;:::i;:::-;13418:9:0;:::i;5076:29047::-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:103:45;;;:::i;:::-;5076:29047:0;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5076:29047:0;;;:::i;:::-;;;;;;;;;18498:28;;18494:51;;18663:9;18674:16;;;;;;5076:29047;3074:22:45;5076:29047:0;;;;;;;;;;;;;:::i;:::-;;;;18663:9;18731:11;;;;:::i;:::-;5076:29047;;;18725:5;5076:29047;;;;;;;;18725:67;5076:29047;;;;;;;;;18725:27;5076:29047;;18771:8;;;;:::i;:::-;;5076:29047;;;;;;;;;;;;18725:67;;18781:10;18725:67;;;;:::i;:::-;;;;;;;;;;;;;;18663:9;18707:85;;;;;:::i;:::-;5076:29047;;;;;18663:9;;18725:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;5076:29047;;;;;;;;;18494:51;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;18535:10:0;;;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;33211:7;5076:29047;;;;;;;;17489:78;5076:29047;;;;;;:::i;:::-;2492:103:45;;;;:::i;:::-;5076:29047:0;;17489:5;5076:29047;;;;;;;;;;;;;17489:23;5076:29047;;;;;;;;;;;;;;17489:78;;17556:10;17489:78;;;;:::i;:::-;;17538:9;;17489:78;;;;;;;;5076:29047;17489:78;;;;5076:29047;;;3074:22:45;5076:29047:0;;;;;;;;17489:78;;;;;;;;;;;;;;;:::i;:::-;;;;;5076:29047;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;34100:5;5076:29047;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;-1:-1:-1;;;;5076:29047:0;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;15155:26;5076:29047;;;:::i;:::-;10797:70:12;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;15059:19;5076:29047;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;15155:26;5076:29047;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3158:58:40;;;:98;;;;5076:29047:0;;;;;;;3158:98:40;-1:-1:-1;;;1189:51:50;;-1:-1:-1;3158:98:40;;;5076:29047:0;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;5076:29047:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;-1:-1:-1;;5076:29047:0;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;-1:-1:-1;;5076:29047:0;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;22160:138;-1:-1:-1;5076:29047:0;29457:5;5076:29047;;29449:43;22257:10;29457:24;5076:29047;-1:-1:-1;5076:29047:0;29457:24;5076:29047;29449:43;:::i;:::-;22234:34;22230:61;;22160:138::o;22230:61::-;5076:29047;;-1:-1:-1;;;22277:14:0;;;;;5076:29047;;;;;;;;;;:::o;23131:2681::-;;;;;;;;5076:29047;;;23424:57;5076:29047;;;;;23424:8;5076:29047;;;;;;;;;;;23424:57;;;;;;5076:29047;23470:10;5076:29047;;;;23424:57;;;;;;;;;;;23131:2681;23423:58;;23419:85;;23524:12;;5076:29047;23524:12;:::i;:::-;5076:29047;;23524:12;5076:29047;23515:21;5076:29047;;;23424:57;23764:33;;5076:29047;;;;-1:-1:-1;;;5076:29047:0;;;;23764:33;;;;;;:::i;:::-;5076:29047;23754:44;;5076:29047;;;;;;:::i;:::-;;;;23424:57;23864:228;;5076:29047;;;;;;;;;;23424:57;5076:29047;23864:228;;5076:29047;;;;;;;;;23864:228;;;5076:29047;;;;23864:228;;;;5076:29047;23864:228;5076:29047;23864:228;;5076:29047;;;;24159:5;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;:::i;:::-;;;;;;23131:2681;5076:29047;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;23864:228;;;5076:29047;;;;;23864:228;5076:29047;;;;24267:10;23470;24267;;:::i;:::-;5076:29047;;;4955:6:40;23424:57:0;5076:29047;;;;;4955:22:40;5076:29047:0;;;;;;;;7711:52:40;;;;;;-1:-1:-1;;;;;5076:29047:0;;24541:47;;;;5076:29047;;;;;;;;24541:47;;;23424:57;24541:47;;5076:29047;;;;;;;;;;;:::i;:::-;24541:47;5076:29047;;-1:-1:-1;;;;;5076:29047:0;;24541:47;;;;;;;;5076:29047;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;24603:21:0;;5076:29047;;;23424:57;5076:29047;23424:57;5076:29047;-1:-1:-1;;;;;5076:29047:0;;24603:21;;;;;;;;;;;;;;5076:29047;24603:31;;;;:80;;;5076:29047;24599:103;;5076:29047;;24806:9;24817:18;;;;;;5076:29047;;;25081:7;5076:29047;25081:11;25077:554;;24801:266;25645:11;5076:29047;25645:11;;-1:-1:-1;;;;;;;;;;;25645:11:0;25641:79;;24801:266;5076:29047;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;23864:228;;5076:29047;;;23864:228;5076:29047;;;;:::i;:::-;25735:70;;;23131:2681::o;25641:79::-;25699:9;;;;;:::i;:::-;25641:79;;25077:554;5076:29047;-1:-1:-1;;;;;5076:29047:0;;-1:-1:-1;;;;;;;;;;;25359:16:0;;;:52;;25077:554;25358:100;;;;25077:554;25354:164;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;6884:7:10;5076:29047:0;;;;;;;25555:8;5076:29047;;6884:7:10;:::i;:::-;5076:29047:0;25592:28;23424:57;25081:7;5076:29047;;;;;;25592:28;25077:554;;;;;25354:164;5076:29047;;-1:-1:-1;;;25485:18:0;;23424:57;;25485:18;25358:100;25417:16;;;:40;;;25358:100;;;;25417:40;25448:9;;25437:20;;;25417:40;;25359:52;25380:17;;;;;;:::i;:::-;25401:9;25380:30;;25359:52;;;24806:9;-1:-1:-1;;;;;24870:12:0;;;;:::i;:::-;5076:29047;;24900:21;;;24896:48;;24989:7;5076:29047;24989:7;;;:::i;:::-;5076:29047;24806:9;;24896:48;5076:29047;;-1:-1:-1;;;24930:14:0;;23424:57;;24930:14;24599:103;5076:29047;;-1:-1:-1;;;24692:10:0;;23424:57;;24692:10;24603:80;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;24646:19:0;;23424:57;5076:29047;23424:57;5076:29047;-1:-1:-1;;;;;5076:29047:0;;24646:19;;;;;;;;;;;24603:80;-1:-1:-1;;;;;;5076:29047:0;24678:4;24638:45;;24603:80;;24646:19;;;23424:57;24646:19;;23424:57;24646:19;;;;;;23424:57;24646:19;;;:::i;:::-;;;5076:29047;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;24646:19;;;;;;-1:-1:-1;24646:19:0;;24603:21;;;;23424:57;24603:21;;23424:57;24603:21;;;;;;23424:57;24603:21;;;:::i;:::-;;;5076:29047;;;;;;;24603:21;;;;;;-1:-1:-1;24603:21:0;;24541:47;;;;:::i;:::-;;;;5076:29047;;;;-1:-1:-1;5076:29047:0;;;;;;23424:57;5076:29047;;;;23424:57;5076:29047;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;23424:57;5076:29047;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;-1:-1:-1;;;5076:29047:0;;;23424:57;5076:29047;;;;23424:57;;;;;;;;;;;;;;;;;:::i;:::-;;;5076:29047;;;;;;;;;;;;23424:57;;;5076:29047;;;;23424:57;;;-1:-1:-1;23424:57:0;;26159:151;-1:-1:-1;5076:29047:0;;;26234:5;5076:29047;;;;;;26234:23;5076:29047;-1:-1:-1;;26159:151:0;-1:-1:-1;;;;;5076:29047:0;26234:69;;;;;5076:29047;;;26234:69;5076:29047;;;;;;;;;;;26234:69;;26292:10;26234:69;;;;;:::i;:::-;;26274:9;;26234:69;;;;;;;;;;;26159:151;:::o;26234:69::-;;;;:::i;:::-;26159:151::o;26234:69::-;5076:29047;;;;;;;;;;;;;;;;;;;;:::o;26634:1879::-;;;;-1:-1:-1;26754:32:0;5076:29047;;;;;;26817:5;5076:29047;;;;;;;;;;;26858:10;5076:29047;;;26858:10;5076:29047;;;26883:10;5076:29047;26883:14;26879:808;;26634:1879;-1:-1:-1;;;;;;;;;;;;;27701:16:0;;4445:42:9;;5076:29047:0;;27733:139;;5076:29047;;;:::i;:::-;27798:10;5076:29047;;;;;27778:80;;;5076:29047;27778:80;;;;5076:29047;27733:139;:::i;:::-;;27697:693;5076:29047;28400:44;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;28400:44;;;;;;5076:29047;28400:44;;;;;;;28460:46;28400:44;;;;;27697:693;5076:29047;;;;;;;;;28460:46;26634:1879::o;28400:44::-;;;;:::i;:::-;;;;;5076:29047;;;-1:-1:-1;5076:29047:0;;;;;27697:693;5076:29047;28178:39;5076:29047;;;28329:50;5076:29047;;27938:39;27991:139;27938:39;;;;;:::i;:::-;5076:29047;;;;;;;;:::i;:::-;28056:10;5076:29047;;28036:80;;5076:29047;28036:80;;;5076:29047;27991:139;;:::i;:::-;;28178:39;:::i;:::-;28329:50;:::i;:::-;27697:693;;;26879:808;5076:29047;;;;;;;;;;;;;;;;;;;;31880:4;5076:29047;;26983:27;;;;;:::i;:::-;27029:26;;;;;:::i;:::-;:37;27025:59;;-1:-1:-1;;;;;;;;;;;27103:16:0;;4445:42:9;;27139:94:0;5076:29047;27203:8;5076:29047;;;;;;;;:::i;:::-;27187:10;5076:29047;;27167:65;;;5076:29047;27167:65;;;;5076:29047;27139:94;;:::i;:::-;;27099:578;26879:808;;;;27099:578;5076:29047;27628:34;5076:29047;27346:94;5076:29047;27319:8;5076:29047;;27299:29;;;;:::i;:::-;5076:29047;;;;;;;:::i;:::-;27394:10;5076:29047;;27374:65;;;5076:29047;27374:65;;;5076:29047;27346:94;;:::i;:::-;;27484:29;5076:29047;27319:8;5076:29047;;27484:29;;:::i;27628:34::-;27099:578;;;27025:59;5076:29047;;-1:-1:-1;;;27075:9:0;;;;;5076:29047;-1:-1:-1;;;5076:29047:0;;;;;;;;29821:192;;5076:29047;-1:-1:-1;5076:29047:0;29934:5;5076:29047;;29926:45;5076:29047;29934:26;5076:29047;-1:-1:-1;5076:29047:0;29934:26;5076:29047;29926:45;:::i;:::-;:80;;;;;29919:87;;29821:192;:::o;29926:80::-;29449:43;5076:29047;;-1:-1:-1;5076:29047:0;29934:5;5076:29047;;29457:24;5076:29047;-1:-1:-1;5076:29047:0;29457:24;5076:29047;29449:43;:::i;30226:203::-;-1:-1:-1;;;;;5076:29047:0;30293:23;;30289:50;;30350:31;5076:29047;;-1:-1:-1;;;;;;5076:29047:0;;;;;;;;;;30396:26;;5076:29047;;30396:26;30226:203::o;30642:199::-;-1:-1:-1;;;;;5076:29047:0;30717:23;;30713:50;;30774:20;5076:29047;;-1:-1:-1;;;;;;5076:29047:0;;;;;;;;;;30809:25;;5076:29047;;30809:25;30642:199::o;31041:198::-;31126:4;31112:18;;31108:44;;5076:29047;;31203:29;5076:29047;31163:24;5076:29047;;;;;;31203:29;31041:198::o;31108:44::-;5076:29047;;-1:-1:-1;;;31139:13:0;;;;;31426:125;5076:29047;31521:23;31426:125;5076:29047;31487:18;5076:29047;;;;;;31521:23;31426:125::o;6019:500:10:-;6150:20;;;5076:29047:0;;-1:-1:-1;;;;;5076:29047:0;;;;-1:-1:-1;;;;;;;;;;;6184:16:10;4445:42:9;;6248:9:10;;;:18;6244:48;;6339:16;6357:6;6339:16;;5076:29047:0;;6357:6:10;:::i;:::-;5076:29047:0;6019:500:10;:::o;6244:48::-;6150:20;5076:29047:0;-1:-1:-1;;;6275:17:10;;;;;6180:312;7816:1228:14;-1:-1:-1;7816:1228:14;5076:29047:0;;;;6456:16:10;5076:29047:0;;;;6456:16:10;;5076:29047:0;;6150:20:10;7816:1228:14;;;;6150:20:10;7816:1228:14;5076:29047:0;;;;;7816:1228:14;;;;;;;;;;;;;;;;5076:29047:0;-1:-1:-1;7816:1228:14;;;;;;;-1:-1:-1;7816:1228:14;;6150:20:10;7816:1228:14;5076:29047:0;6019:500:10;:::o;7816:1228:14:-;;-1:-1:-1;7816:1228:14;;;;7224:263:10;-1:-1:-1;;;;;5076:29047:0;7224:263:10;5076:29047:0;;;-1:-1:-1;;;;;;;;;;;7325:16:10;4445:42:9;;5076:29047:0;;7364:25:10;7357:32;:::o;7321:160::-;18442:573:14;;;;;;;;;;5076:29047:0;18442:573:14;;-1:-1:-1;18442:573:14;;;;;;;;;;7420:50:10;:::o;5593:364:12:-;-1:-1:-1;;5691:260:12;;;;;5593:364::o;5691:260::-;;;;;;;2455:490:14;2570:369;2455:490;;;;;2570:369;;;;;2455:490::o;2570:369::-;;;;;;;3350:145:40;-1:-1:-1;5076:29047:0;3459:6:40;5076:29047:0;;;-1:-1:-1;5076:29047:0;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;5076:29047:0;;;3350:145:40;:::o;3789:103::-;-1:-1:-1;5076:29047:0;;;;;;3459:6:40;5076:29047:0;;;;;;;965:10:48;5076:29047:0;;;;;;;;;;4260:23:40;4256:412;;3789:103;;;;:::o;4256:412::-;965:10:48;5076:29047:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:49;;;5076:29047:0;;;;;;;;;;2066:15:49;5076:29047:0;;;2066:15:49;5076:29047:0;2124:5:49;;;;;;2236:10;311:18;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:49;;;5076:29047:0;;;;;;;;2066:15:49;5076:29047:0;;;2066:15:49;5076:29047:0;2091:128:49;2124:5;;;;;;2236:10;;;311:18;;5076:29047:0;;;;4351:274:40;5076:29047:0;;;;;;;4351:274:40;;;-1:-1:-1;;;4351:274:40;;;5076:29047:0;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;:::i;:::-;;4351:274:40;;;;;;;;;:::i;:::-;5076:29047:0;;;;;;;4299:358:40;;2207:1:49;4299:358:40;;5076:29047:0;;;;;;:::i;:::-;4299:358:40;;;311:18:49;;5076:29047:0;;;;;;;311:18:49;;;2207:1;311:18;;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;311:18:49;;2131:3;2171:11;;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;2207:1;5076:29047:0;2131:3:49;5076:29047:0;;;;-1:-1:-1;;5076:29047:0;;2096:26:49;;;5076:29047:0;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;2162:21:49;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;311:18:49;;5076:29047:0;;;;;;;311:18:49;;;2207:1;311:18;;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;311:18:49;;2131:3;2171:11;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;2207:1;5076:29047:0;2131:3:49;5076:29047:0;;;;-1:-1:-1;;5076:29047:0;2096:26:49;;5076:29047:0;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;2162:21:49;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;7938:233:40;;-1:-1:-1;5076:29047:0;;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;8020:23:40;8016:149;;7938:233;;;:::o;8016:149::-;5076:29047:0;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;8114:40:40;965:10:48;8114:40:40;;;7938:233::o;8342:234::-;;-1:-1:-1;5076:29047:0;;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;8421:149:40;;8342:234;;;:::o;8421:149::-;5076:29047:0;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;8519:40:40;965:10:48;8519:40:40;;;8342:234::o;2601:287:45:-;1851:1;2733:7;5076:29047:0;2733:19:45;1851:1;;;2733:7;5076:29047:0;2601:287:45:o;1851:1::-;5076:29047:0;;-1:-1:-1;;;1851:1:45;;;;;;;;;;;5076:29047:0;1851:1:45;5076:29047:0;;;1851:1:45;;;;5076:29047:0;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","cancelOwnershipHandover()":"54d1f13d","completeOwnershipHandover(address)":"f04e283e","createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"77da8caf","createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getRoleAdmin(bytes32)":"248a9ca3","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","owner()":"8da5cb5b","ownershipHandoverExpiresAt(address)":"fee81cf4","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","requestOwnershipHandover()":"25692962","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewOwnerIsZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoHandoverRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"recipientIds\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"completeOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"FEE_DENOMINATOR\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"result\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ownershipHandoverExpiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The contract must be initialized with the 'initialize()' function.\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}],\"NewOwnerIsZeroAddress()\":[{\"details\":\"The `newOwner` cannot be the zero address.\"}],\"NoHandoverRequest()\":[{\"details\":\"The `pendingOwner` does not have a valid handover request.\"}],\"Unauthorized()\":[{\"details\":\"The caller is not authorized to call the function.\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OwnershipHandoverCanceled(address)\":{\"details\":\"The ownership handover to `pendingOwner` has been canceled.\"},\"OwnershipHandoverRequested(address)\":{\"details\":\"An ownership handover to `pendingOwner` has been requested.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"The ownership is transferred from `oldOwner` to `newOwner`. This event is intentionally kept the same as OpenZeppelin's Ownable to be compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), despite it not being as lightweight as a single argument event.\"},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to add\",\"_poolId\":\"ID of the pool\"}},\"addToCloneableStrategies(address)\":{\"details\":\"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"allocate(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().\",\"params\":{\"_data\":\"Encoded data unique to the strategy for that pool\",\"_poolId\":\"ID of the pool\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.\",\"params\":{\"_datas\":\"encoded data unique to the strategy for that pool\",\"_poolIds\":\"IDs of the pools\"}},\"batchRegisterRecipient(uint256[],bytes[])\":{\"details\":\"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\",\"params\":{\"_data\":\"An array of encoded data unique to a strategy that registerRecipient() requires.\",\"_poolIds\":\"ID's of the pools\"},\"returns\":{\"recipientIds\":\"The recipient IDs that have been registered\"}},\"cancelOwnershipHandover()\":{\"details\":\"Cancels the two-step ownership handover to the caller, if any.\"},\"completeOwnershipHandover(address)\":{\"details\":\"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"custom:initstrategydata\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'\",\"details\":\"'msg.sender' must be owner or member of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool\",\"_metadata\":\"The metadata of the pool\",\"_profileId\":\"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the strategy contract the pool will use.\",\"_token\":\"The address of the token\"}},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"details\":\"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token you want to deposit into the pool on initialization\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool, and can be added/removed later by the pool admin\",\"_metadata\":\"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\",\"_profileId\":\"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the deployed custom strategy\",\"_token\":\"The address of the token you want to use in your pool\"},\"returns\":{\"poolId\":\"The ID of the pool\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.\",\"params\":{\"_data\":\"Encoded data unique to the strategy\",\"_poolId\":\"ID of the pool\",\"_recipientIds\":\"Ids of the recipients of the distribution\"}},\"fundPool(uint256,uint256)\":{\"details\":\"Anyone can fund a pool and call this function.\",\"params\":{\"_amount\":\"The amount to be deposited into the pool\",\"_poolId\":\"ID of the pool\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"The base fee\"}},\"getFeeDenominator()\":{\"returns\":{\"FEE_DENOMINATOR\":\"The fee denominator is (1e18) which represents 100%\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"The fee percentage (1e18 = 100%)\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The 'Pool' struct\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"The registry address\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The address of the strategy\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"The treasury address\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address,address,address,uint256,uint256)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer\",\"params\":{\"_baseFee\":\"The base fee\",\"_owner\":\"The owner of allo\",\"_percentFee\":\"The percentage fee\",\"_registry\":\"The address of the registry\",\"_treasury\":\"The address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy\"},\"returns\":{\"_0\":\"'true' if the strategy is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool manager, otherwise 'false'\"}},\"owner()\":{\"details\":\"Returns the owner of the contract.\"},\"ownershipHandoverExpiresAt(address)\":{\"details\":\"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.\"},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be Allo owner\",\"params\":{\"_recipient\":\"The recipient\",\"_token\":\"The token to transfer\"}},\"registerRecipient(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().\",\"params\":{\"_data\":\"Encoded data unique to a strategy that registerRecipient() requires\",\"_poolId\":\"ID of the pool\"},\"returns\":{\"_0\":\"recipientId The recipient ID that has been registered\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"removePoolManager(uint256,address)\":{\"details\":\"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to remove\",\"_poolId\":\"ID of the pool\"}},\"renounceOwnership()\":{\"details\":\"Allows the owner to renounce their ownership.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"requestOwnershipHandover()\":{\"details\":\"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the owner to transfer the ownership to `newOwner`.\"},\"updateBaseFee(uint256)\":{\"details\":\"Use this to update the base fee. 'msg.sender' must be Allo owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"Use this to update the fee percentage. 'msg.sender' must be Allo owner.\",\"params\":{\"_percentFee\":\"The new fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\",\"params\":{\"_metadata\":\"The new metadata of the pool\",\"_poolId\":\"ID of the pool\"}},\"updateRegistry(address)\":{\"details\":\"Use this to update the registry address. 'msg.sender' must be Allo owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"Use this to update the treasury address. 'msg.sender' must be Allo owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"stateVariables\":{\"_nonces\":{\"details\":\"'msg.sender' -> 'nonce' for cloning strategies\"},\"baseFee\":{\"details\":\"This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address.\"},\"cloneableStrategies\":{\"details\":\"Strategy.address -> bool\"},\"percentFee\":{\"details\":\"How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%\"},\"pools\":{\"details\":\"'Pool.id' -> 'Pool'\"}},\"title\":\"Allo\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"addPoolManager(uint256,address)\":{\"notice\":\"Add a pool manager\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Add a strategy to the allowlist.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocate to a recipient or multiple recipients.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocate to multiple pools\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Register multiple recipients to multiple pools.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (by cloning a cloneable strategies).\"},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (with a custom strategy)\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distribute to a recipient or multiple recipients.\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Fund a pool.\"},\"getBaseFee()\":{\"notice\":\"Getter for base fee.\"},\"getFeeDenominator()\":{\"notice\":\"Getter for the fee denominator\"},\"getPercentFee()\":{\"notice\":\"Getter for fee percentage.\"},\"getPool(uint256)\":{\"notice\":\"Getter for the 'Pool'.\"},\"getRegistry()\":{\"notice\":\"Getter for registry.\"},\"getStrategy(uint256)\":{\"notice\":\"Getter for the strategy.\"},\"getTreasury()\":{\"notice\":\"Getter for treasury address.\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isCloneableStrategy(address)\":{\"notice\":\"Getter for if strategy is cloneable.\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if the address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if the address is a pool manager\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfer the funds recovered to the recipient\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Passes _data through to the strategy for that pool.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Remove a strategy from the allowlist\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Remove a pool manager\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the fee percentage.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Update pool metadata\"},\"updateRegistry(address)\":{\"notice\":\"Updates the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"This contract is used to create & manage pools as well as manage the protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Allo.sol\":\"Allo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"NewOwnerIsZeroAddress"},{"inputs":[],"type":"error","name":"NoHandoverRequest"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverCanceled","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverRequested","anonymous":false},{"inputs":[{"internalType":"address","name":"oldOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"recipientIds","type":"address[]"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"cancelOwnershipHandover"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"completeOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"FEE_DENOMINATOR","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}]},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"view","type":"function","name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[],"stateMutability":"payable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[],"stateMutability":"payable","type":"function","name":"requestOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to add","_poolId":"ID of the pool"}},"addToCloneableStrategies(address)":{"details":"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"allocate(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().","params":{"_data":"Encoded data unique to the strategy for that pool","_poolId":"ID of the pool"}},"batchAllocate(uint256[],bytes[])":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.","params":{"_datas":"encoded data unique to the strategy for that pool","_poolIds":"IDs of the pools"}},"batchRegisterRecipient(uint256[],bytes[])":{"details":"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.","params":{"_data":"An array of encoded data unique to a strategy that registerRecipient() requires.","_poolIds":"ID's of the pools"},"returns":{"recipientIds":"The recipient IDs that have been registered"}},"cancelOwnershipHandover()":{"details":"Cancels the two-step ownership handover to the caller, if any."},"completeOwnershipHandover(address)":{"details":"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"custom:initstrategydata":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'","details":"'msg.sender' must be owner or member of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool","_metadata":"The metadata of the pool","_profileId":"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the strategy contract the pool will use.","_token":"The address of the token"}},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"details":"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token you want to deposit into the pool on initialization","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool, and can be added/removed later by the pool admin","_metadata":"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)","_profileId":"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the deployed custom strategy","_token":"The address of the token you want to use in your pool"},"returns":{"poolId":"The ID of the pool"}},"distribute(uint256,address[],bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.","params":{"_data":"Encoded data unique to the strategy","_poolId":"ID of the pool","_recipientIds":"Ids of the recipients of the distribution"}},"fundPool(uint256,uint256)":{"details":"Anyone can fund a pool and call this function.","params":{"_amount":"The amount to be deposited into the pool","_poolId":"ID of the pool"}},"getBaseFee()":{"returns":{"_0":"The base fee"}},"getFeeDenominator()":{"returns":{"FEE_DENOMINATOR":"The fee denominator is (1e18) which represents 100%"}},"getPercentFee()":{"returns":{"_0":"The fee percentage (1e18 = 100%)"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The 'Pool' struct"}},"getRegistry()":{"returns":{"_0":"The registry address"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The address of the strategy"}},"getTreasury()":{"returns":{"_0":"The treasury address"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address,address,address,uint256,uint256)":{"details":"During upgrade -> a higher version should be passed to reinitializer","params":{"_baseFee":"The base fee","_owner":"The owner of allo","_percentFee":"The percentage fee","_registry":"The address of the registry","_treasury":"The address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy"},"returns":{"_0":"'true' if the strategy is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool manager, otherwise 'false'"}},"owner()":{"details":"Returns the owner of the contract."},"ownershipHandoverExpiresAt(address)":{"details":"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`."},"recoverFunds(address,address)":{"details":"'msg.sender' must be Allo owner","params":{"_recipient":"The recipient","_token":"The token to transfer"}},"registerRecipient(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().","params":{"_data":"Encoded data unique to a strategy that registerRecipient() requires","_poolId":"ID of the pool"},"returns":{"_0":"recipientId The recipient ID that has been registered"}},"removeFromCloneableStrategies(address)":{"details":"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"removePoolManager(uint256,address)":{"details":"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to remove","_poolId":"ID of the pool"}},"renounceOwnership()":{"details":"Allows the owner to renounce their ownership."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"requestOwnershipHandover()":{"details":"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Allows the owner to transfer the ownership to `newOwner`."},"updateBaseFee(uint256)":{"details":"Use this to update the base fee. 'msg.sender' must be Allo owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"Use this to update the fee percentage. 'msg.sender' must be Allo owner.","params":{"_percentFee":"The new fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.","params":{"_metadata":"The new metadata of the pool","_poolId":"ID of the pool"}},"updateRegistry(address)":{"details":"Use this to update the registry address. 'msg.sender' must be Allo owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"Use this to update the treasury address. 'msg.sender' must be Allo owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"addPoolManager(uint256,address)":{"notice":"Add a pool manager"},"addToCloneableStrategies(address)":{"notice":"Add a strategy to the allowlist."},"allocate(uint256,bytes)":{"notice":"Allocate to a recipient or multiple recipients."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocate to multiple pools"},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Register multiple recipients to multiple pools."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (by cloning a cloneable strategies)."},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (with a custom strategy)"},"distribute(uint256,address[],bytes)":{"notice":"Distribute to a recipient or multiple recipients."},"fundPool(uint256,uint256)":{"notice":"Fund a pool."},"getBaseFee()":{"notice":"Getter for base fee."},"getFeeDenominator()":{"notice":"Getter for the fee denominator"},"getPercentFee()":{"notice":"Getter for fee percentage."},"getPool(uint256)":{"notice":"Getter for the 'Pool'."},"getRegistry()":{"notice":"Getter for registry."},"getStrategy(uint256)":{"notice":"Getter for the strategy."},"getTreasury()":{"notice":"Getter for treasury address."},"initialize(address,address,address,uint256,uint256)":{"notice":"Initializes the contract after an upgrade"},"isCloneableStrategy(address)":{"notice":"Getter for if strategy is cloneable."},"isPoolAdmin(uint256,address)":{"notice":"Checks if the address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if the address is a pool manager"},"recoverFunds(address,address)":{"notice":"Transfer the funds recovered to the recipient"},"registerRecipient(uint256,bytes)":{"notice":"Passes _data through to the strategy for that pool."},"removeFromCloneableStrategies(address)":{"notice":"Remove a strategy from the allowlist"},"removePoolManager(uint256,address)":{"notice":"Remove a pool manager"},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the fee percentage."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Update pool metadata"},"updateRegistry(address)":{"notice":"Updates the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Allo.sol":"Allo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":53266,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":51686,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)"},{"astId":51993,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":52464,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_status","offset":0,"slot":"151","type":"t_uint256"},{"astId":52533,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"152","type":"t_array(t_uint256)49_storage"},{"astId":34,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"percentFee","offset":0,"slot":"201","type":"t_uint256"},{"astId":37,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"baseFee","offset":0,"slot":"202","type":"t_uint256"},{"astId":40,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_poolIndex","offset":0,"slot":"203","type":"t_uint256"},{"astId":43,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"treasury","offset":0,"slot":"204","type":"t_address_payable"},{"astId":47,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"registry","offset":0,"slot":"205","type":"t_contract(IRegistry)2802"},{"astId":52,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_nonces","offset":0,"slot":"206","type":"t_mapping(t_address,t_uint256)"},{"astId":58,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pools","offset":0,"slot":"207","type":"t_mapping(t_uint256,t_struct(Pool)2319_storage)"},{"astId":63,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"cloneableStrategies","offset":0,"slot":"208","type":"t_mapping(t_address,t_bool)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(IStrategy)2969":{"encoding":"inplace","label":"contract IStrategy","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)51681_storage"},"t_mapping(t_uint256,t_struct(Pool)2319_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct IAllo.Pool)","numberOfBytes":"32","value":"t_struct(Pool)2319_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Pool)2319_storage":{"encoding":"inplace","label":"struct IAllo.Pool","numberOfBytes":"224","members":[{"astId":2306,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"profileId","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2309,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"strategy","offset":0,"slot":"1","type":"t_contract(IStrategy)2969"},{"astId":2311,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"token","offset":0,"slot":"2","type":"t_address"},{"astId":2314,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2316,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"managerRole","offset":0,"slot":"5","type":"t_bytes32"},{"astId":2318,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"6","type":"t_bytes32"}]},"t_struct(RoleData)51681_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":51678,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":51680,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","id":1391,"exportedSymbols":{"AccessControlUpgradeable":[51994],"AddressUpgradeable":[52942],"Allo":[1390],"Clone":[3002],"ContextUpgradeable":[52993],"ERC165Upgradeable":[53267],"Errors":[3089],"IAccessControlUpgradeable":[52067],"IAllo":[2610],"IERC165Upgradeable":[53279],"IERC20Upgradeable":[52612],"IRegistry":[2802],"IStrategy":[2969],"Initializable":[52449],"MathUpgradeable":[54145],"Metadata":[3098],"Native":[3106],"Ownable":[4095],"ReentrancyGuardUpgradeable":[52534],"SignedMathUpgradeable":[54250],"StringsUpgradeable":[53222],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:34082:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"42:23:0","nodes":[],"literals":["solidity","0.8",".19"]},{"id":2,"nodeType":"ImportDirective","src":"89:37:0","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/auth/Ownable.sol","file":"solady/src/auth/Ownable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":4096,"symbolAliases":[],"unitAlias":""},{"id":3,"nodeType":"ImportDirective","src":"127:84:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52450,"symbolAliases":[],"unitAlias":""},{"id":4,"nodeType":"ImportDirective","src":"212:88:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52613,"symbolAliases":[],"unitAlias":""},{"id":5,"nodeType":"ImportDirective","src":"301:90:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":51995,"symbolAliases":[],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"392:94:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52535,"symbolAliases":[],"unitAlias":""},{"id":7,"nodeType":"ImportDirective","src":"501:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"./interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":2611,"symbolAliases":[],"unitAlias":""},{"id":9,"nodeType":"ImportDirective","src":"557:44:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"./libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":8,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"565:5:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11,"nodeType":"ImportDirective","src":"602:46:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":10,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"610:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12,"nodeType":"ImportDirective","src":"649:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":14,"nodeType":"ImportDirective","src":"682:50:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3318,"symbolAliases":[{"foreign":{"id":13,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"690:8:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1390,"nodeType":"ContractDefinition","src":"5076:29047:0","nodes":[{"id":34,"nodeType":"VariableDeclaration","src":"5862:26:0","nodes":[],"constant":false,"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"5344:513:0","text":"@notice Percentage that is used to calculate the fee Allo takes from each pool when funded\n and is deducted when a pool is funded. So if you want to fund a round with 1000 DAI and the fee\n percentage is 1e17 (10%), then 100 DAI will be deducted from the 1000 DAI and the pool will be\n funded with 900 DAI. The fee is then sent to the treasury address.\n @dev How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%"},"mutability":"mutable","name":"percentFee","nameLocation":"5878:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33,"name":"uint256","nodeType":"ElementaryTypeName","src":"5862:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":37,"nodeType":"VariableDeclaration","src":"6339:24:0","nodes":[],"constant":false,"documentation":{"id":35,"nodeType":"StructuredDocumentation","src":"5895:439:0","text":"@notice Fee Allo charges for all pools on creation\n @dev This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool\n with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created\n with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address."},"mutability":"mutable","name":"baseFee","nameLocation":"6356:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"6339:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"6431:26:0","nodes":[],"constant":false,"documentation":{"id":38,"nodeType":"StructuredDocumentation","src":"6370:56:0","text":"@notice Incremental index to track the pools created"},"mutability":"mutable","name":"_poolIndex","nameLocation":"6447:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39,"name":"uint256","nodeType":"ElementaryTypeName","src":"6431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":43,"nodeType":"VariableDeclaration","src":"6494:32:0","nodes":[],"constant":false,"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"6464:25:0","text":"@notice Allo treasury"},"mutability":"mutable","name":"treasury","nameLocation":"6518:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":42,"name":"address","nodeType":"ElementaryTypeName","src":"6494:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"private"},{"id":47,"nodeType":"VariableDeclaration","src":"6567:26:0","nodes":[],"constant":false,"documentation":{"id":44,"nodeType":"StructuredDocumentation","src":"6533:29:0","text":"@notice Registry contract"},"mutability":"mutable","name":"registry","nameLocation":"6585:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":46,"nodeType":"UserDefinedTypeName","pathNode":{"id":45,"name":"IRegistry","nameLocations":["6567:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6567:9:0"},"referencedDeclaration":2802,"src":"6567:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"private"},{"id":52,"nodeType":"VariableDeclaration","src":"6733:43:0","nodes":[],"constant":false,"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"6600:128:0","text":"@notice Maps the `msg.sender` to a `nonce` to prevent duplicates\n @dev 'msg.sender' -> 'nonce' for cloning strategies"},"mutability":"mutable","name":"_nonces","nameLocation":"6769:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":51,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6733:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":58,"nodeType":"VariableDeclaration","src":"6869:38:0","nodes":[],"constant":false,"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"6783:81:0","text":"@notice Maps the pool ID to the pool details\n @dev 'Pool.id' -> 'Pool'"},"mutability":"mutable","name":"pools","nameLocation":"6902:5:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"typeName":{"id":57,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6869:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"Pool","nameLocations":["6888:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"6888:4:0"},"referencedDeclaration":2319,"src":"6888:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}}},"visibility":"private"},{"id":63,"nodeType":"VariableDeclaration","src":"7064:52:0","nodes":[],"constant":false,"documentation":{"id":59,"nodeType":"StructuredDocumentation","src":"6914:145:0","text":"@notice Returns a bool for whether a strategy is cloneable or not using the strategy address as the key\n @dev Strategy.address -> bool"},"mutability":"mutable","name":"cloneableStrategies","nameLocation":"7097:19:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":62,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"7072:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7064:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61,"name":"bool","nodeType":"ElementaryTypeName","src":"7083:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"id":101,"nodeType":"FunctionDefinition","src":"7626:593:0","nodes":[],"body":{"id":100,"nodeType":"Block","src":"7819:400:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":81,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66,"src":"7907:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80,"name":"_initializeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"7890:16:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83,"nodeType":"ExpressionStatement","src":"7890:24:0"},{"expression":{"arguments":[{"id":85,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"7984:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"7968:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87,"nodeType":"ExpressionStatement","src":"7968:26:0"},{"expression":{"arguments":[{"id":89,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"8064:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":88,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"8048:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8048:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91,"nodeType":"ExpressionStatement","src":"8048:26:0"},{"expression":{"arguments":[{"id":93,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"8137:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"8119:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95,"nodeType":"ExpressionStatement","src":"8119:30:0"},{"expression":{"arguments":[{"id":97,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"8203:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"8188:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"8188:24:0"}]},"baseFunctions":[2404],"documentation":{"id":64,"nodeType":"StructuredDocumentation","src":"7257:364:0","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer\n @param _owner The owner of allo\n @param _registry The address of the registry\n @param _treasury The address of the treasury\n @param _percentFee The percentage fee\n @param _baseFee The base fee"},"functionSelector":"a6b63eb8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":77,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":78,"kind":"modifierInvocation","modifierName":{"id":76,"name":"reinitializer","nameLocations":["7802:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":52384,"src":"7802:13:0"},"nodeType":"ModifierInvocation","src":"7802:16:0"}],"name":"initialize","nameLocation":"7635:10:0","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66,"mutability":"mutable","name":"_owner","nameLocation":"7663:6:0","nodeType":"VariableDeclaration","scope":101,"src":"7655:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"7655:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"_registry","nameLocation":"7687:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7679:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67,"name":"address","nodeType":"ElementaryTypeName","src":"7679:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"_treasury","nameLocation":"7722:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7706:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"7706:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"_percentFee","nameLocation":"7749:11:0","nodeType":"VariableDeclaration","scope":101,"src":"7741:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"7741:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74,"mutability":"mutable","name":"_baseFee","nameLocation":"7778:8:0","nodeType":"VariableDeclaration","scope":101,"src":"7770:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73,"name":"uint256","nodeType":"ElementaryTypeName","src":"7770:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7645:147:0"},"returnParameters":{"id":79,"nodeType":"ParameterList","parameters":[],"src":"7819:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":112,"nodeType":"ModifierDefinition","src":"8573:100:0","nodes":[],"body":{"id":111,"nodeType":"Block","src":"8615:58:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":107,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"8647:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":106,"name":"_checkOnlyPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"8625:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8625:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"ExpressionStatement","src":"8625:30:0"},{"id":110,"nodeType":"PlaceholderStatement","src":"8665:1:0"}]},"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"8463:105:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool manager\n @param _poolId The pool id"},"name":"onlyPoolManager","nameLocation":"8582:15:0","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"_poolId","nameLocation":"8606:7:0","nodeType":"VariableDeclaration","scope":112,"src":"8598:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint256","nodeType":"ElementaryTypeName","src":"8598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8597:17:0"},"virtual":false,"visibility":"internal"},{"id":123,"nodeType":"ModifierDefinition","src":"8787:96:0","nodes":[],"body":{"id":122,"nodeType":"Block","src":"8827:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":118,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"8857:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":117,"name":"_checkOnlyPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8837:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8837:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":120,"nodeType":"ExpressionStatement","src":"8837:28:0"},{"id":121,"nodeType":"PlaceholderStatement","src":"8875:1:0"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"8679:103:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool admin\n @param _poolId The pool id"},"name":"onlyPoolAdmin","nameLocation":"8796:13:0","parameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"mutability":"mutable","name":"_poolId","nameLocation":"8818:7:0","nodeType":"VariableDeclaration","scope":123,"src":"8810:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":114,"name":"uint256","nodeType":"ElementaryTypeName","src":"8810:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8809:17:0"},"virtual":false,"visibility":"internal"},{"id":175,"nodeType":"FunctionDefinition","src":"10281:884:0","nodes":[],"body":{"id":174,"nodeType":"Block","src":"10582:583:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":145,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10687:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10708:1:0","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":147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10700:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":146,"name":"address","nodeType":"ElementaryTypeName","src":"10700:7:0","typeDescriptions":{}}},"id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10700:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10687:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":154,"nodeType":"IfStatement","src":"10683:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":151,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10719:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"RevertStatement","src":"10712:21:0"}},{"condition":{"arguments":[{"id":156,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10919:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":155,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10898:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10898:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":161,"nodeType":"IfStatement","src":"10894:66:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":158,"name":"IS_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3038,"src":"10938:20:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10938:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":160,"nodeType":"RevertStatement","src":"10931:29:0"}},{"expression":{"arguments":[{"id":163,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"11067:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":165,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"11089:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":164,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"11079:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":167,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"11101:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":168,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"11120:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":169,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"11128:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":170,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"11137:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":171,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"11148:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":162,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"11055:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11055:103:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":144,"id":173,"nodeType":"Return","src":"11048:110:0"}]},"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"9025:1251:0","text":"@notice Creates a new pool (with a custom strategy)\n @dev 'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data\n will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy\n address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must\n be a member or owner of the profile id passed as '_profileId'.\n @param _profileId The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the deployed custom strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token you want to use in your pool\n @param _amount The amount of the token you want to deposit into the pool on initialization\n @param _metadata The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\n @param _managers The managers of the pool, and can be added/removed later by the pool admin\n @return poolId The ID of the pool"},"functionSelector":"e1007d4a","implemented":true,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"10290:28:0","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"_profileId","nameLocation":"10336:10:0","nodeType":"VariableDeclaration","scope":175,"src":"10328:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10328:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"_strategy","nameLocation":"10364:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10356:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"10356:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"_initStrategyData","nameLocation":"10396:17:0","nodeType":"VariableDeclaration","scope":175,"src":"10383:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":129,"name":"bytes","nodeType":"ElementaryTypeName","src":"10383:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":132,"mutability":"mutable","name":"_token","nameLocation":"10431:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10423:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"10423:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"_amount","nameLocation":"10455:7:0","nodeType":"VariableDeclaration","scope":175,"src":"10447:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"10447:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"_metadata","nameLocation":"10488:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10472:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":136,"nodeType":"UserDefinedTypeName","pathNode":{"id":135,"name":"Metadata","nameLocations":["10472:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10472:8:0"},"referencedDeclaration":3098,"src":"10472:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"_managers","nameLocation":"10524:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10507:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"10507:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":139,"nodeType":"ArrayTypeName","src":"10507:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10318:221:0"},"returnParameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"mutability":"mutable","name":"poolId","nameLocation":"10574:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10566:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint256","nodeType":"ElementaryTypeName","src":"10566:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10565:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":229,"nodeType":"FunctionDefinition","src":"11971:701:0","nodes":[],"body":{"id":228,"nodeType":"Block","src":"12267:405:0","nodes":[],"statements":[{"condition":{"id":202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12281:32:0","subExpression":{"arguments":[{"id":200,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12303:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":199,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"12282:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":207,"nodeType":"IfStatement","src":"12277:93:0","trueBody":{"id":206,"nodeType":"Block","src":"12315:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":203,"name":"NOT_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3035,"src":"12336:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":205,"nodeType":"RevertStatement","src":"12329:30:0"}]}},{"expression":{"arguments":[{"id":209,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"12451:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":213,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12503:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12514:21:0","subExpression":{"baseExpression":{"id":214,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"12514:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":217,"indexExpression":{"expression":{"id":215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12522:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12526:6:0","memberName":"sender","nodeType":"MemberAccess","src":"12522:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12514:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":211,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"12485:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12491:11:0","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"12485:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":210,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"12475:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12475:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":221,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"12551:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":222,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"12582:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":223,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"12602:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":224,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"12623:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":225,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"12646:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":208,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"12426:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12426:239:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":198,"id":227,"nodeType":"Return","src":"12419:246:0"}]},"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"11171:795:0","text":"@notice Creates a new pool (by cloning a cloneable strategies).\n @dev 'msg.sender' must be owner or member of the profile id passed as '_profileId'.\n @param _profileId The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the strategy contract the pool will use.\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token\n @param _amount The amount of the token\n @param _metadata The metadata of the pool\n @param _managers The managers of the pool\n @custom:initstrategydata The encoded data will be specific to a given strategy requirements,\n reference the strategy implementation of 'initialize()'"},"functionSelector":"77da8caf","implemented":true,"kind":"function","modifiers":[{"id":195,"kind":"modifierInvocation","modifierName":{"id":194,"name":"nonReentrant","nameLocations":["12229:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"12229:12:0"},"nodeType":"ModifierInvocation","src":"12229:12:0"}],"name":"createPool","nameLocation":"11980:10:0","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"_profileId","nameLocation":"12008:10:0","nodeType":"VariableDeclaration","scope":229,"src":"12000:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12000:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"_strategy","nameLocation":"12036:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12028:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"12028:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":182,"mutability":"mutable","name":"_initStrategyData","nameLocation":"12068:17:0","nodeType":"VariableDeclaration","scope":229,"src":"12055:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":181,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":184,"mutability":"mutable","name":"_token","nameLocation":"12103:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12095:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"_amount","nameLocation":"12127:7:0","nodeType":"VariableDeclaration","scope":229,"src":"12119:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"12119:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":189,"mutability":"mutable","name":"_metadata","nameLocation":"12160:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12144:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":188,"nodeType":"UserDefinedTypeName","pathNode":{"id":187,"name":"Metadata","nameLocations":["12144:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12144:8:0"},"referencedDeclaration":3098,"src":"12144:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":192,"mutability":"mutable","name":"_managers","nameLocation":"12196:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12179:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":190,"name":"address","nodeType":"ElementaryTypeName","src":"12179:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":191,"nodeType":"ArrayTypeName","src":"12179:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11990:221:0"},"returnParameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"mutability":"mutable","name":"poolId","nameLocation":"12259:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12251:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":196,"name":"uint256","nodeType":"ElementaryTypeName","src":"12251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12250:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":260,"nodeType":"FunctionDefinition","src":"12894:247:0","nodes":[],"body":{"id":259,"nodeType":"Block","src":"13000:141:0","nodes":[],"statements":[{"assignments":[243],"declarations":[{"constant":false,"id":243,"mutability":"mutable","name":"pool","nameLocation":"13023:4:0","nodeType":"VariableDeclaration","scope":259,"src":"13010:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":242,"nodeType":"UserDefinedTypeName","pathNode":{"id":241,"name":"Pool","nameLocations":["13010:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13010:4:0"},"referencedDeclaration":2319,"src":"13010:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":247,"initialValue":{"baseExpression":{"id":244,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"13030:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":246,"indexExpression":{"id":245,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13036:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13030:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13010:34:0"},{"expression":{"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":248,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"13054:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13059:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2314,"src":"13054:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":251,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13070:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"13054:25:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":253,"nodeType":"ExpressionStatement","src":"13054:25:0"},{"eventCall":{"arguments":[{"id":255,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13115:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":256,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13124:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":254,"name":"PoolMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"13095:19:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,struct Metadata memory)"}},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13095:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":258,"nodeType":"EmitStatement","src":"13090:44:0"}]},"baseFunctions":[2413],"documentation":{"id":230,"nodeType":"StructuredDocumentation","src":"12678:211:0","text":"@notice Update pool metadata\n @dev 'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\n @param _poolId ID of the pool\n @param _metadata The new metadata of the pool"},"functionSelector":"5f9ca138","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":238,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"12991:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":239,"kind":"modifierInvocation","modifierName":{"id":237,"name":"onlyPoolManager","nameLocations":["12975:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"12975:15:0"},"nodeType":"ModifierInvocation","src":"12975:24:0"}],"name":"updatePoolMetadata","nameLocation":"12903:18:0","parameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"mutability":"mutable","name":"_poolId","nameLocation":"12930:7:0","nodeType":"VariableDeclaration","scope":260,"src":"12922:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":231,"name":"uint256","nodeType":"ElementaryTypeName","src":"12922:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"_metadata","nameLocation":"12955:9:0","nodeType":"VariableDeclaration","scope":260,"src":"12939:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":234,"nodeType":"UserDefinedTypeName","pathNode":{"id":233,"name":"Metadata","nameLocations":["12939:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12939:8:0"},"referencedDeclaration":3098,"src":"12939:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12921:44:0"},"returnParameters":{"id":240,"nodeType":"ParameterList","parameters":[],"src":"13000:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":273,"nodeType":"FunctionDefinition","src":"13330:105:0","nodes":[],"body":{"id":272,"nodeType":"Block","src":"13392:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":269,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":263,"src":"13418:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":268,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"13402:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13402:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":271,"nodeType":"ExpressionStatement","src":"13402:26:0"}]},"baseFunctions":[2419],"documentation":{"id":261,"nodeType":"StructuredDocumentation","src":"13147:178:0","text":"@notice Updates the registry address.\n @dev Use this to update the registry address. 'msg.sender' must be Allo owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":true,"kind":"function","modifiers":[{"id":266,"kind":"modifierInvocation","modifierName":{"id":265,"name":"onlyOwner","nameLocations":["13382:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13382:9:0"},"nodeType":"ModifierInvocation","src":"13382:9:0"}],"name":"updateRegistry","nameLocation":"13339:14:0","parameters":{"id":264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":263,"mutability":"mutable","name":"_registry","nameLocation":"13362:9:0","nodeType":"VariableDeclaration","scope":273,"src":"13354:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":262,"name":"address","nodeType":"ElementaryTypeName","src":"13354:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13353:19:0"},"returnParameters":{"id":267,"nodeType":"ParameterList","parameters":[],"src":"13392:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":286,"nodeType":"FunctionDefinition","src":"13624:113:0","nodes":[],"body":{"id":285,"nodeType":"Block","src":"13694:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":282,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"13720:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":281,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"13704:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13704:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":284,"nodeType":"ExpressionStatement","src":"13704:26:0"}]},"baseFunctions":[2425],"documentation":{"id":274,"nodeType":"StructuredDocumentation","src":"13441:178:0","text":"@notice Updates the treasury address.\n @dev Use this to update the treasury address. 'msg.sender' must be Allo owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":true,"kind":"function","modifiers":[{"id":279,"kind":"modifierInvocation","modifierName":{"id":278,"name":"onlyOwner","nameLocations":["13684:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13684:9:0"},"nodeType":"ModifierInvocation","src":"13684:9:0"}],"name":"updateTreasury","nameLocation":"13633:14:0","parameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"_treasury","nameLocation":"13664:9:0","nodeType":"VariableDeclaration","scope":286,"src":"13648:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"13648:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"13647:27:0"},"returnParameters":{"id":280,"nodeType":"ParameterList","parameters":[],"src":"13694:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":299,"nodeType":"FunctionDefinition","src":"13911:113:0","nodes":[],"body":{"id":298,"nodeType":"Block","src":"13977:47:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":295,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"14005:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":294,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"13987:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13987:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":297,"nodeType":"ExpressionStatement","src":"13987:30:0"}]},"baseFunctions":[2431],"documentation":{"id":287,"nodeType":"StructuredDocumentation","src":"13743:163:0","text":"@notice Updates the fee percentage.\n @dev Use this to update the fee percentage. 'msg.sender' must be Allo owner.\n @param _percentFee The new fee"},"functionSelector":"f54fc4a0","implemented":true,"kind":"function","modifiers":[{"id":292,"kind":"modifierInvocation","modifierName":{"id":291,"name":"onlyOwner","nameLocations":["13967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13967:9:0"},"nodeType":"ModifierInvocation","src":"13967:9:0"}],"name":"updatePercentFee","nameLocation":"13920:16:0","parameters":{"id":290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":289,"mutability":"mutable","name":"_percentFee","nameLocation":"13945:11:0","nodeType":"VariableDeclaration","scope":299,"src":"13937:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":288,"name":"uint256","nodeType":"ElementaryTypeName","src":"13937:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13936:21:0"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"13977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":312,"nodeType":"FunctionDefinition","src":"14188:101:0","nodes":[],"body":{"id":311,"nodeType":"Block","src":"14248:41:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":308,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"14273:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":307,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"14258:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14258:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"14258:24:0"}]},"baseFunctions":[2437],"documentation":{"id":300,"nodeType":"StructuredDocumentation","src":"14030:153:0","text":"@notice Updates the base fee.\n @dev Use this to update the base fee. 'msg.sender' must be Allo owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":true,"kind":"function","modifiers":[{"id":305,"kind":"modifierInvocation","modifierName":{"id":304,"name":"onlyOwner","nameLocations":["14238:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14238:9:0"},"nodeType":"ModifierInvocation","src":"14238:9:0"}],"name":"updateBaseFee","nameLocation":"14197:13:0","parameters":{"id":303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"_baseFee","nameLocation":"14219:8:0","nodeType":"VariableDeclaration","scope":312,"src":"14211:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":301,"name":"uint256","nodeType":"ElementaryTypeName","src":"14211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14210:18:0"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"14248:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":341,"nodeType":"FunctionDefinition","src":"14481:229:0","nodes":[],"body":{"id":340,"nodeType":"Block","src":"14553:157:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14567:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:0","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":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"14580:7:0","typeDescriptions":{}}},"id":324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14567:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":329,"nodeType":"IfStatement","src":"14563:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":326,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"14599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":328,"nodeType":"RevertStatement","src":"14592:21:0"}},{"expression":{"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":330,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"14624:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":332,"indexExpression":{"id":331,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14644:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14624:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14657:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14624:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":335,"nodeType":"ExpressionStatement","src":"14624:37:0"},{"eventCall":{"arguments":[{"id":337,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14693:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":336,"name":"StrategyApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"14676:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14676:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"EmitStatement","src":"14671:32:0"}]},"baseFunctions":[2443],"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"14295:181:0","text":"@notice Add a strategy to the allowlist.\n @dev Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"41bba0b4","implemented":true,"kind":"function","modifiers":[{"id":318,"kind":"modifierInvocation","modifierName":{"id":317,"name":"onlyOwner","nameLocations":["14543:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14543:9:0"},"nodeType":"ModifierInvocation","src":"14543:9:0"}],"name":"addToCloneableStrategies","nameLocation":"14490:24:0","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"_strategy","nameLocation":"14523:9:0","nodeType":"VariableDeclaration","scope":341,"src":"14515:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"14515:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14514:19:0"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"14553:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":360,"nodeType":"FunctionDefinition","src":"14900:288:0","nodes":[],"body":{"id":359,"nodeType":"Block","src":"14977:211:0","nodes":[],"statements":[{"expression":{"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":349,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"15059:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":351,"indexExpression":{"id":350,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15079:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15059:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15092:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15059:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":354,"nodeType":"ExpressionStatement","src":"15059:38:0"},{"eventCall":{"arguments":[{"id":356,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15171:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":355,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"15155:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"15150:31:0"}]},"baseFunctions":[2449],"documentation":{"id":342,"nodeType":"StructuredDocumentation","src":"14716:179:0","text":"@notice Remove a strategy from the allowlist\n @dev Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"031e2fa1","implemented":true,"kind":"function","modifiers":[{"id":347,"kind":"modifierInvocation","modifierName":{"id":346,"name":"onlyOwner","nameLocations":["14967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14967:9:0"},"nodeType":"ModifierInvocation","src":"14967:9:0"}],"name":"removeFromCloneableStrategies","nameLocation":"14909:29:0","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"mutability":"mutable","name":"_strategy","nameLocation":"14947:9:0","nodeType":"VariableDeclaration","scope":360,"src":"14939:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":343,"name":"address","nodeType":"ElementaryTypeName","src":"14939:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14938:19:0"},"returnParameters":{"id":348,"nodeType":"ParameterList","parameters":[],"src":"14977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":390,"nodeType":"FunctionDefinition","src":"15387:358:0","nodes":[],"body":{"id":389,"nodeType":"Block","src":"15478:267:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":371,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15568:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15588:1:0","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":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"15580:7:0","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15568:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":380,"nodeType":"IfStatement","src":"15564:49:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":377,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"15599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"RevertStatement","src":"15592:21:0"}},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":382,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"15701:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":384,"indexExpression":{"id":383,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15707:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15701:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15716:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"15701:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":386,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":381,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"15690:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15690:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":388,"nodeType":"ExpressionStatement","src":"15690:48:0"}]},"baseFunctions":[2457],"documentation":{"id":361,"nodeType":"StructuredDocumentation","src":"15194:188:0","text":"@notice Add a pool manager\n @dev Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to add"},"functionSelector":"2cf682b0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":368,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15469:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":369,"kind":"modifierInvocation","modifierName":{"id":367,"name":"onlyPoolAdmin","nameLocations":["15455:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"15455:13:0"},"nodeType":"ModifierInvocation","src":"15455:22:0"}],"name":"addPoolManager","nameLocation":"15396:14:0","parameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"mutability":"mutable","name":"_poolId","nameLocation":"15419:7:0","nodeType":"VariableDeclaration","scope":390,"src":"15411:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":362,"name":"uint256","nodeType":"ElementaryTypeName","src":"15411:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":365,"mutability":"mutable","name":"_manager","nameLocation":"15436:8:0","nodeType":"VariableDeclaration","scope":390,"src":"15428:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"15428:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15410:35:0"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[],"src":"15478:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":410,"nodeType":"FunctionDefinition","src":"15950:160:0","nodes":[],"body":{"id":409,"nodeType":"Block","src":"16044:66:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":402,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"16066:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":404,"indexExpression":{"id":403,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16072:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16081:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"16066:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":406,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":395,"src":"16094:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":401,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51988,"src":"16054:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":408,"nodeType":"ExpressionStatement","src":"16054:49:0"}]},"baseFunctions":[2465],"documentation":{"id":391,"nodeType":"StructuredDocumentation","src":"15751:194:0","text":"@notice Remove a pool manager\n @dev Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to remove"},"functionSelector":"7f5a70bd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":398,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16035:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":399,"kind":"modifierInvocation","modifierName":{"id":397,"name":"onlyPoolAdmin","nameLocations":["16021:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"16021:13:0"},"nodeType":"ModifierInvocation","src":"16021:22:0"}],"name":"removePoolManager","nameLocation":"15959:17:0","parameters":{"id":396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":393,"mutability":"mutable","name":"_poolId","nameLocation":"15985:7:0","nodeType":"VariableDeclaration","scope":410,"src":"15977:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"15977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":395,"mutability":"mutable","name":"_manager","nameLocation":"16002:8:0","nodeType":"VariableDeclaration","scope":410,"src":"15994:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":394,"name":"address","nodeType":"ElementaryTypeName","src":"15994:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15976:35:0"},"returnParameters":{"id":400,"nodeType":"ParameterList","parameters":[],"src":"16044:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":448,"nodeType":"FunctionDefinition","src":"16308:430:0","nodes":[],"body":{"id":447,"nodeType":"Block","src":"16385:353:0","nodes":[],"statements":[{"assignments":[421],"declarations":[{"constant":false,"id":421,"mutability":"mutable","name":"amount","nameLocation":"16514:6:0","nodeType":"VariableDeclaration","scope":447,"src":"16506:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":420,"name":"uint256","nodeType":"ElementaryTypeName","src":"16506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":440,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16523:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":423,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16533:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16523:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":436,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16610:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16602:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"16602:7:0","typeDescriptions":{}}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":431,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16584:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":430,"name":"IERC20Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52612,"src":"16566:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Upgradeable_$52612_$","typeString":"type(contract IERC20Upgradeable)"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Upgradeable_$52612","typeString":"contract IERC20Upgradeable"}},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16592:9:0","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":52569,"src":"16566:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16523:93:0","trueExpression":{"expression":{"arguments":[{"id":427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16550:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16542:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":425,"name":"address","nodeType":"ElementaryTypeName","src":"16542:7:0","typeDescriptions":{}}},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16542:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16556:7:0","memberName":"balance","nodeType":"MemberAccess","src":"16542:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16506:110:0"},{"expression":{"arguments":[{"id":442,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16704:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":443,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"16712:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"16724:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"16688:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16688:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"ExpressionStatement","src":"16688:43:0"}]},"baseFunctions":[2473],"documentation":{"id":411,"nodeType":"StructuredDocumentation","src":"16116:187:0","text":"@notice Transfer the funds recovered to the recipient\n @dev 'msg.sender' must be Allo owner\n @param _token The token to transfer\n @param _recipient The recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"id":418,"kind":"modifierInvocation","modifierName":{"id":417,"name":"onlyOwner","nameLocations":["16375:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"16375:9:0"},"nodeType":"ModifierInvocation","src":"16375:9:0"}],"name":"recoverFunds","nameLocation":"16317:12:0","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"mutability":"mutable","name":"_token","nameLocation":"16338:6:0","nodeType":"VariableDeclaration","scope":448,"src":"16330:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":412,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":415,"mutability":"mutable","name":"_recipient","nameLocation":"16354:10:0","nodeType":"VariableDeclaration","scope":448,"src":"16346:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":414,"name":"address","nodeType":"ElementaryTypeName","src":"16346:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16329:36:0"},"returnParameters":{"id":419,"nodeType":"ParameterList","parameters":[],"src":"16385:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":474,"nodeType":"FunctionDefinition","src":"17298:276:0","nodes":[],"body":{"id":473,"nodeType":"Block","src":"17410:164:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":468,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"17549:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":469,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17556:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17560:6:0","memberName":"sender","nodeType":"MemberAccess","src":"17556:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":460,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"17489:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":462,"indexExpression":{"id":461,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"17495:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17489:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17504:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17489:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17513:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"17489:41:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17538:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17542:5:0","memberName":"value","nodeType":"MemberAccess","src":"17538:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"17489:59:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$value","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":459,"id":472,"nodeType":"Return","src":"17482:85:0"}]},"baseFunctions":[2483],"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"16877:416:0","text":"@notice Passes _data through to the strategy for that pool.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of registerRecipient().\n @param _poolId ID of the pool\n @param _data Encoded data unique to a strategy that registerRecipient() requires\n @return recipientId The recipient ID that has been registered"},"functionSelector":"075c0e9c","implemented":true,"kind":"function","modifiers":[{"id":456,"kind":"modifierInvocation","modifierName":{"id":455,"name":"nonReentrant","nameLocations":["17379:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"17379:12:0"},"nodeType":"ModifierInvocation","src":"17379:12:0"}],"name":"registerRecipient","nameLocation":"17307:17:0","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"_poolId","nameLocation":"17333:7:0","nodeType":"VariableDeclaration","scope":474,"src":"17325:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17325:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"_data","nameLocation":"17355:5:0","nodeType":"VariableDeclaration","scope":474,"src":"17342:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":452,"name":"bytes","nodeType":"ElementaryTypeName","src":"17342:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17324:37:0"},"returnParameters":{"id":459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":474,"src":"17401:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":457,"name":"address","nodeType":"ElementaryTypeName","src":"17401:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17400:9:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":543,"nodeType":"FunctionDefinition","src":"18212:747:0","nodes":[],"body":{"id":542,"nodeType":"Block","src":"18383:576:0","nodes":[],"statements":[{"assignments":[490],"declarations":[{"constant":false,"id":490,"mutability":"mutable","name":"poolIdLength","nameLocation":"18401:12:0","nodeType":"VariableDeclaration","scope":542,"src":"18393:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":489,"name":"uint256","nodeType":"ElementaryTypeName","src":"18393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":493,"initialValue":{"expression":{"id":491,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18416:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18425:6:0","memberName":"length","nodeType":"MemberAccess","src":"18416:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18393:38:0"},{"expression":{"id":500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":494,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18441:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":498,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18470:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18456:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"18460:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":496,"nodeType":"ArrayTypeName","src":"18460:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18456:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"18441:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":501,"nodeType":"ExpressionStatement","src":"18441:42:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":502,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18498:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":503,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18514:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18520:6:0","memberName":"length","nodeType":"MemberAccess","src":"18514:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18498:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":509,"nodeType":"IfStatement","src":"18494:51:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":506,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"18535:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18535:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"RevertStatement","src":"18528:17:0"}},{"body":{"id":538,"nodeType":"Block","src":"18693:169:0","statements":[{"expression":{"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":516,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18707:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":518,"indexExpression":{"id":517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18720:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18707:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":526,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18771:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":528,"indexExpression":{"id":527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18777:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18771:8:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18781:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18785:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18781:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":519,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"18725:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":523,"indexExpression":{"baseExpression":{"id":520,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18731:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":522,"indexExpression":{"id":521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18740:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18731:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18725:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18744:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18725:27:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18753:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"18725:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18725:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18707:85:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":533,"nodeType":"ExpressionStatement","src":"18707:85:0"},{"id":537,"nodeType":"UncheckedBlock","src":"18806:46:0","statements":[{"expression":{"id":535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18834:3:0","subExpression":{"id":534,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18836:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":536,"nodeType":"ExpressionStatement","src":"18834:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":513,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18674:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":514,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18678:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18674:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":539,"initializationExpression":{"assignments":[511],"declarations":[{"constant":false,"id":511,"mutability":"mutable","name":"i","nameLocation":"18671:1:0","nodeType":"VariableDeclaration","scope":539,"src":"18663:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18663:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":512,"nodeType":"VariableDeclarationStatement","src":"18663:9:0"},"nodeType":"ForStatement","src":"18658:204:0"},{"expression":{"id":540,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18940:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":488,"id":541,"nodeType":"Return","src":"18933:19:0"}]},"baseFunctions":[2496],"documentation":{"id":475,"nodeType":"StructuredDocumentation","src":"17580:627:0","text":"@notice Register multiple recipients to multiple pools.\n @dev Returns the 'recipientIds' from the strategy that have been registered from calling this function.\n Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match\n '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\n @param _poolIds ID's of the pools\n @param _data An array of encoded data unique to a strategy that registerRecipient() requires.\n @return recipientIds The recipient IDs that have been registered"},"functionSelector":"1a20bd88","implemented":true,"kind":"function","modifiers":[{"id":484,"kind":"modifierInvocation","modifierName":{"id":483,"name":"nonReentrant","nameLocations":["18318:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"18318:12:0"},"nodeType":"ModifierInvocation","src":"18318:12:0"}],"name":"batchRegisterRecipient","nameLocation":"18221:22:0","parameters":{"id":482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"_poolIds","nameLocation":"18261:8:0","nodeType":"VariableDeclaration","scope":543,"src":"18244:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":476,"name":"uint256","nodeType":"ElementaryTypeName","src":"18244:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":477,"nodeType":"ArrayTypeName","src":"18244:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"_data","nameLocation":"18286:5:0","nodeType":"VariableDeclaration","scope":543,"src":"18271:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":479,"name":"bytes","nodeType":"ElementaryTypeName","src":"18271:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":480,"nodeType":"ArrayTypeName","src":"18271:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18243:49:0"},"returnParameters":{"id":488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":487,"mutability":"mutable","name":"recipientIds","nameLocation":"18365:12:0","nodeType":"VariableDeclaration","scope":543,"src":"18348:29:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":485,"name":"address","nodeType":"ElementaryTypeName","src":"18348:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":486,"nodeType":"ArrayTypeName","src":"18348:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18347:31:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":588,"nodeType":"FunctionDefinition","src":"19156:439:0","nodes":[],"body":{"id":587,"nodeType":"Block","src":"19238:357:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":553,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19318:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19318:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":559,"nodeType":"IfStatement","src":"19314:43:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":556,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19339:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19339:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"RevertStatement","src":"19332:25:0"}},{"assignments":[562],"declarations":[{"constant":false,"id":562,"mutability":"mutable","name":"pool","nameLocation":"19380:4:0","nodeType":"VariableDeclaration","scope":587,"src":"19368:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":561,"nodeType":"UserDefinedTypeName","pathNode":{"id":560,"name":"Pool","nameLocations":["19368:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"19368:4:0"},"referencedDeclaration":2319,"src":"19368:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":566,"initialValue":{"baseExpression":{"id":563,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"19387:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":565,"indexExpression":{"id":564,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19387:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19368:33:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":567,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19415:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19420:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"19415:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":569,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"19429:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19415:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":571,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19439:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":572,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19450:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19454:5:0","memberName":"value","nodeType":"MemberAccess","src":"19450:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19439:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19415:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":579,"nodeType":"IfStatement","src":"19411:75:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":576,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19468:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19468:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":578,"nodeType":"RevertStatement","src":"19461:25:0"}},{"expression":{"arguments":[{"id":581,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19556:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":582,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":583,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19574:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19579:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19574:13:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":580,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"19546:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19546:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"19546:42:0"}]},"baseFunctions":[2504],"documentation":{"id":544,"nodeType":"StructuredDocumentation","src":"18965:186:0","text":"@notice Fund a pool.\n @dev Anyone can fund a pool and call this function.\n @param _poolId ID of the pool\n @param _amount The amount to be deposited into the pool"},"functionSelector":"5acd6fac","implemented":true,"kind":"function","modifiers":[{"id":551,"kind":"modifierInvocation","modifierName":{"id":550,"name":"nonReentrant","nameLocations":["19225:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"19225:12:0"},"nodeType":"ModifierInvocation","src":"19225:12:0"}],"name":"fundPool","nameLocation":"19165:8:0","parameters":{"id":549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":546,"mutability":"mutable","name":"_poolId","nameLocation":"19182:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19174:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"19174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"_amount","nameLocation":"19199:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19191:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"19191:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19173:34:0"},"returnParameters":{"id":552,"nodeType":"ParameterList","parameters":[],"src":"19238:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":604,"nodeType":"FunctionDefinition","src":"19921:127:0","nodes":[],"body":{"id":603,"nodeType":"Block","src":"20006:42:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":599,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"src":"20026:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"20035:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":598,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20016:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20016:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"20016:25:0"}]},"baseFunctions":[2512],"documentation":{"id":589,"nodeType":"StructuredDocumentation","src":"19601:315:0","text":"@notice Allocate to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate().\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"functionSelector":"2ec38188","implemented":true,"kind":"function","modifiers":[{"id":596,"kind":"modifierInvocation","modifierName":{"id":595,"name":"nonReentrant","nameLocations":["19993:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"19993:12:0"},"nodeType":"ModifierInvocation","src":"19993:12:0"}],"name":"allocate","nameLocation":"19930:8:0","parameters":{"id":594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":591,"mutability":"mutable","name":"_poolId","nameLocation":"19947:7:0","nodeType":"VariableDeclaration","scope":604,"src":"19939:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":590,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":593,"mutability":"mutable","name":"_data","nameLocation":"19969:5:0","nodeType":"VariableDeclaration","scope":604,"src":"19956:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":592,"name":"bytes","nodeType":"ElementaryTypeName","src":"19956:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19938:37:0"},"returnParameters":{"id":597,"nodeType":"ParameterList","parameters":[],"src":"20006:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":651,"nodeType":"FunctionDefinition","src":"20511:559:0","nodes":[],"body":{"id":650,"nodeType":"Block","src":"20608:462:0","nodes":[],"statements":[{"assignments":[617],"declarations":[{"constant":false,"id":617,"mutability":"mutable","name":"numPools","nameLocation":"20626:8:0","nodeType":"VariableDeclaration","scope":650,"src":"20618:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":616,"name":"uint256","nodeType":"ElementaryTypeName","src":"20618:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":620,"initialValue":{"expression":{"id":618,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20637:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20646:6:0","memberName":"length","nodeType":"MemberAccess","src":"20637:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20618:34:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":621,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20772:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":622,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20784:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20791:6:0","memberName":"length","nodeType":"MemberAccess","src":"20784:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20772:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":628,"nodeType":"IfStatement","src":"20768:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"20806:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20806:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"20799:17:0"}},{"body":{"id":648,"nodeType":"Block","src":"20947:117:0","statements":[{"expression":{"arguments":[{"baseExpression":{"id":636,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20971:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":638,"indexExpression":{"id":637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20980:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20971:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":639,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20984:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":641,"indexExpression":{"id":640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20991:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20984:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":635,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20961:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20961:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":643,"nodeType":"ExpressionStatement","src":"20961:33:0"},{"id":647,"nodeType":"UncheckedBlock","src":"21008:46:0","statements":[{"expression":{"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"21036:3:0","subExpression":{"id":644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"21038:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":646,"nodeType":"ExpressionStatement","src":"21036:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":632,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20932:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":633,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20932:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":649,"initializationExpression":{"assignments":[630],"declarations":[{"constant":false,"id":630,"mutability":"mutable","name":"i","nameLocation":"20929:1:0","nodeType":"VariableDeclaration","scope":649,"src":"20921:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":629,"name":"uint256","nodeType":"ElementaryTypeName","src":"20921:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":631,"nodeType":"VariableDeclarationStatement","src":"20921:9:0"},"nodeType":"ForStatement","src":"20916:148:0"}]},"baseFunctions":[2522],"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"20054:452:0","text":"@notice Allocate to multiple pools\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate(). Please note that this is not a 'payable' function, so if you\n want to send funds to the strategy, you must send the funds using 'fundPool()'.\n @param _poolIds IDs of the pools\n @param _datas encoded data unique to the strategy for that pool"},"functionSelector":"c6dff1cf","implemented":true,"kind":"function","modifiers":[{"id":614,"kind":"modifierInvocation","modifierName":{"id":613,"name":"nonReentrant","nameLocations":["20595:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"20595:12:0"},"nodeType":"ModifierInvocation","src":"20595:12:0"}],"name":"batchAllocate","nameLocation":"20520:13:0","parameters":{"id":612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":608,"mutability":"mutable","name":"_poolIds","nameLocation":"20553:8:0","nodeType":"VariableDeclaration","scope":651,"src":"20534:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":606,"name":"uint256","nodeType":"ElementaryTypeName","src":"20534:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":607,"nodeType":"ArrayTypeName","src":"20534:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"_datas","nameLocation":"20578:6:0","nodeType":"VariableDeclaration","scope":651,"src":"20563:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":609,"name":"bytes","nodeType":"ElementaryTypeName","src":"20563:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":610,"nodeType":"ArrayTypeName","src":"20563:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20533:52:0"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"20608:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":676,"nodeType":"FunctionDefinition","src":"21468:196:0","nodes":[],"body":{"id":675,"nodeType":"Block","src":"21579:85:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":669,"name":"_recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":657,"src":"21624:13:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":670,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"21639:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":671,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21646:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21650:6:0","memberName":"sender","nodeType":"MemberAccess","src":"21646:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":664,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"21589:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":666,"indexExpression":{"id":665,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":654,"src":"21595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21589:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21604:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"21589:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21613:10:0","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":2968,"src":"21589:34:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address[] memory,bytes memory,address) external"}},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21589:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":674,"nodeType":"ExpressionStatement","src":"21589:68:0"}]},"baseFunctions":[2533],"documentation":{"id":652,"nodeType":"StructuredDocumentation","src":"21076:387:0","text":"@notice Distribute to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of 'strategy.distribute()'.\n @param _poolId ID of the pool\n @param _recipientIds Ids of the recipients of the distribution\n @param _data Encoded data unique to the strategy"},"functionSelector":"3a5fbd92","implemented":true,"kind":"function","modifiers":[{"id":662,"kind":"modifierInvocation","modifierName":{"id":661,"name":"nonReentrant","nameLocations":["21566:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"21566:12:0"},"nodeType":"ModifierInvocation","src":"21566:12:0"}],"name":"distribute","nameLocation":"21477:10:0","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":654,"mutability":"mutable","name":"_poolId","nameLocation":"21496:7:0","nodeType":"VariableDeclaration","scope":676,"src":"21488:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":653,"name":"uint256","nodeType":"ElementaryTypeName","src":"21488:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":657,"mutability":"mutable","name":"_recipientIds","nameLocation":"21522:13:0","nodeType":"VariableDeclaration","scope":676,"src":"21505:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":655,"name":"address","nodeType":"ElementaryTypeName","src":"21505:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":656,"nodeType":"ArrayTypeName","src":"21505:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":659,"mutability":"mutable","name":"_data","nameLocation":"21550:5:0","nodeType":"VariableDeclaration","scope":676,"src":"21537:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":658,"name":"bytes","nodeType":"ElementaryTypeName","src":"21537:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21487:69:0"},"returnParameters":{"id":663,"nodeType":"ParameterList","parameters":[],"src":"21579:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":693,"nodeType":"FunctionDefinition","src":"21910:142:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"21972:80:0","nodes":[],"statements":[{"condition":{"id":687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21986:36:0","subExpression":{"arguments":[{"id":683,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"22002:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22011:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22015:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22011:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":682,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"21987:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"21982:63:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":688,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22031:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22031:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":690,"nodeType":"RevertStatement","src":"22024:21:0"}}]},"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"21806:99:0","text":"@notice Internal function to check is caller is pool manager\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolManager","nameLocation":"21919:21:0","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":679,"mutability":"mutable","name":"_poolId","nameLocation":"21949:7:0","nodeType":"VariableDeclaration","scope":693,"src":"21941:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":678,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21940:17:0"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[],"src":"21972:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":710,"nodeType":"FunctionDefinition","src":"22160:138:0","nodes":[],"body":{"id":709,"nodeType":"Block","src":"22220:78:0","nodes":[],"statements":[{"condition":{"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22234:34:0","subExpression":{"arguments":[{"id":700,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"22248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22257:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22261:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22257:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":699,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"22235:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22235:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":708,"nodeType":"IfStatement","src":"22230:61:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":705,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22277:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22277:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":707,"nodeType":"RevertStatement","src":"22270:21:0"}}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"22058:97:0","text":"@notice Internal function to check is caller is pool admin\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolAdmin","nameLocation":"22169:19:0","parameters":{"id":697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":696,"mutability":"mutable","name":"_poolId","nameLocation":"22197:7:0","nodeType":"VariableDeclaration","scope":710,"src":"22189:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":695,"name":"uint256","nodeType":"ElementaryTypeName","src":"22189:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22188:17:0"},"returnParameters":{"id":698,"nodeType":"ParameterList","parameters":[],"src":"22220:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":925,"nodeType":"FunctionDefinition","src":"23131:2681:0","nodes":[],"body":{"id":924,"nodeType":"Block","src":"23409:2403:0","nodes":[],"statements":[{"condition":{"id":739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23423:58:0","subExpression":{"arguments":[{"id":735,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23458:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23470:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23474:6:0","memberName":"sender","nodeType":"MemberAccess","src":"23470:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":733,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"23424:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23433:24:0","memberName":"isOwnerOrMemberOfProfile","nodeType":"MemberAccess","referencedDeclaration":2704,"src":"23424:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23424:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":743,"nodeType":"IfStatement","src":"23419:85:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":740,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"23490:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":742,"nodeType":"RevertStatement","src":"23483:21:0"}},{"expression":{"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":744,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23515:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23524:12:0","subExpression":{"id":745,"name":"_poolIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"23526:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23515:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":748,"nodeType":"ExpressionStatement","src":"23515:21:0"},{"assignments":[750],"declarations":[{"constant":false,"id":750,"mutability":"mutable","name":"POOL_MANAGER_ROLE","nameLocation":"23683:17:0","nodeType":"VariableDeclaration","scope":924,"src":"23675:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23675:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":755,"initialValue":{"arguments":[{"id":753,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23711:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23703:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23703:7:0","typeDescriptions":{}}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23703:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23675:43:0"},{"assignments":[757],"declarations":[{"constant":false,"id":757,"mutability":"mutable","name":"POOL_ADMIN_ROLE","nameLocation":"23736:15:0","nodeType":"VariableDeclaration","scope":924,"src":"23728:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23728:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":765,"initialValue":{"arguments":[{"arguments":[{"id":761,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23781:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"61646d696e","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23789:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""},"value":"admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""}],"expression":{"id":759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23764:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23768:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"23764:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23764:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":758,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23754:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23754:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23728:70:0"},{"assignments":[768],"declarations":[{"constant":false,"id":768,"mutability":"mutable","name":"pool","nameLocation":"23857:4:0","nodeType":"VariableDeclaration","scope":924,"src":"23845:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":767,"nodeType":"UserDefinedTypeName","pathNode":{"id":766,"name":"Pool","nameLocations":["23845:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"23845:4:0"},"referencedDeclaration":2319,"src":"23845:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":777,"initialValue":{"arguments":[{"id":770,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23894:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"23928:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":772,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"23961:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":773,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"23991:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24024:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":775,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24066:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":769,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"23864:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pool_$2319_storage_ptr_$","typeString":"type(struct IAllo.Pool storage pointer)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23883:9:0","23918:8:0","23951:8:0","23984:5:0","24011:11:0","24055:9:0"],"names":["profileId","strategy","metadata","token","managerRole","adminRole"],"nodeType":"FunctionCall","src":"23864:228:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"23845:247:0"},{"expression":{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":778,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"24159:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":780,"indexExpression":{"id":779,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24165:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24159:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":781,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"24175:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"24159:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":783,"nodeType":"ExpressionStatement","src":"24159:20:0"},{"expression":{"arguments":[{"id":785,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24250:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":786,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24267:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24271:6:0","memberName":"sender","nodeType":"MemberAccess","src":"24267:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":784,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"24239:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24239:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":789,"nodeType":"ExpressionStatement","src":"24239:39:0"},{"expression":{"arguments":[{"id":791,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24351:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":792,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24370:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":790,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51925,"src":"24337:13:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24337:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"ExpressionStatement","src":"24337:49:0"},{"expression":{"arguments":[{"id":798,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24562:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":799,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"24570:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":795,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24541:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24551:10:0","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":2939,"src":"24541:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) external"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24541:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":801,"nodeType":"ExpressionStatement","src":"24541:47:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":802,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24603:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24613:9:0","memberName":"getPoolId","nodeType":"MemberAccess","referencedDeclaration":2876,"src":"24603:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24603:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":805,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24628:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24603:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24646:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24656:7:0","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":2870,"src":"24646:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24646:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}],"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24638:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":807,"name":"address","nodeType":"ElementaryTypeName","src":"24638:7:0","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24638:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":815,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24678:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24670:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":813,"name":"address","nodeType":"ElementaryTypeName","src":"24670:7:0","typeDescriptions":{}}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24670:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24638:45:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24603:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":822,"nodeType":"IfStatement","src":"24599:103:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":819,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"24692:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24692:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":821,"nodeType":"RevertStatement","src":"24685:17:0"}},{"assignments":[824],"declarations":[{"constant":false,"id":824,"mutability":"mutable","name":"managersLength","nameLocation":"24758:14:0","nodeType":"VariableDeclaration","scope":924,"src":"24750:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":823,"name":"uint256","nodeType":"ElementaryTypeName","src":"24750:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":827,"initialValue":{"expression":{"id":825,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24775:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24785:6:0","memberName":"length","nodeType":"MemberAccess","src":"24775:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24750:41:0"},{"body":{"id":859,"nodeType":"Block","src":"24838:229:0","statements":[{"assignments":[835],"declarations":[{"constant":false,"id":835,"mutability":"mutable","name":"manager","nameLocation":"24860:7:0","nodeType":"VariableDeclaration","scope":859,"src":"24852:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"24852:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":839,"initialValue":{"baseExpression":{"id":836,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24870:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":838,"indexExpression":{"id":837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24880:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24870:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24852:30:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":840,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24900:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24919:1:0","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":842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24911:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"24911:7:0","typeDescriptions":{}}},"id":844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24911:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24900:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":849,"nodeType":"IfStatement","src":"24896:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":846,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"24930:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24930:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":848,"nodeType":"RevertStatement","src":"24923:21:0"}},{"expression":{"arguments":[{"id":851,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24970:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":852,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24989:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":850,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"24959:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":854,"nodeType":"ExpressionStatement","src":"24959:38:0"},{"id":858,"nodeType":"UncheckedBlock","src":"25011:46:0","statements":[{"expression":{"id":856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"25039:3:0","subExpression":{"id":855,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"25041:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":857,"nodeType":"ExpressionStatement","src":"25039:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24817:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":832,"name":"managersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":824,"src":"24821:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24817:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":860,"initializationExpression":{"assignments":[829],"declarations":[{"constant":false,"id":829,"mutability":"mutable","name":"i","nameLocation":"24814:1:0","nodeType":"VariableDeclaration","scope":860,"src":"24806:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":828,"name":"uint256","nodeType":"ElementaryTypeName","src":"24806:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":830,"nodeType":"VariableDeclarationStatement","src":"24806:9:0"},"nodeType":"ForStatement","src":"24801:266:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":861,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25081:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25091:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25081:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":903,"nodeType":"IfStatement","src":"25077:554:0","trueBody":{"id":902,"nodeType":"Block","src":"25094:537:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":864,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25359:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":865,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25369:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25359:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":867,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":868,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25390:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":870,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25401:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25405:5:0","memberName":"value","nodeType":"MemberAccess","src":"25401:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":873,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25379:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25359:52:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":875,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25358:54:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":876,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25417:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":877,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25427:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25417:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":879,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25437:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":880,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25448:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25452:5:0","memberName":"value","nodeType":"MemberAccess","src":"25448:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25437:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25417:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25416:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25358:100:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":890,"nodeType":"IfStatement","src":"25354:164:0","trueBody":{"id":889,"nodeType":"Block","src":"25460:58:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":886,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"25485:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25485:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":888,"nodeType":"RevertStatement","src":"25478:25:0"}]}},{"expression":{"arguments":[{"id":892,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25547:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":893,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25555:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":894,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":891,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25531:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"ExpressionStatement","src":"25531:42:0"},{"eventCall":{"arguments":[{"id":898,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25604:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":899,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25612:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":897,"name":"BaseFeePaid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2360,"src":"25592:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25592:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":901,"nodeType":"EmitStatement","src":"25587:33:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25645:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25655:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25645:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":914,"nodeType":"IfStatement","src":"25641:79:0","trueBody":{"id":913,"nodeType":"Block","src":"25658:62:0","statements":[{"expression":{"arguments":[{"id":908,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25682:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":909,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25691:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":910,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25699:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":907,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"25672:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25672:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":912,"nodeType":"ExpressionStatement","src":"25672:37:0"}]}},{"eventCall":{"arguments":[{"id":916,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25747:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":917,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"25755:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":918,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25767:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25778:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":920,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25786:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":921,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"25795:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":915,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2336,"src":"25735:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,bytes32,contract IStrategy,address,uint256,struct Metadata memory)"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25735:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"EmitStatement","src":"25730:75:0"}]},"documentation":{"id":711,"nodeType":"StructuredDocumentation","src":"22304:822:0","text":"@notice Creates a new pool.\n @dev This is an internal function that is called by the 'createPool()' & 'createPoolWithCustomStrategy()' functions\n It is used to create a new pool and is called by both functions. The 'msg.sender' must be a member or owner of\n a profile to create a pool.\n @param _profileId The ID of the profile of for pool creator in the registry\n @param _strategy The address of strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token that the pool is denominated in\n @param _amount The amount of the token to be deposited into the pool\n @param _metadata The 'Metadata' of the pool\n @param _managers The managers of the pool\n @return poolId The ID of the pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_createPool","nameLocation":"23140:11:0","parameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"_profileId","nameLocation":"23169:10:0","nodeType":"VariableDeclaration","scope":925,"src":"23161:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23161:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":716,"mutability":"mutable","name":"_strategy","nameLocation":"23199:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23189:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":715,"nodeType":"UserDefinedTypeName","pathNode":{"id":714,"name":"IStrategy","nameLocations":["23189:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"23189:9:0"},"referencedDeclaration":2969,"src":"23189:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"_initStrategyData","nameLocation":"23231:17:0","nodeType":"VariableDeclaration","scope":925,"src":"23218:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":717,"name":"bytes","nodeType":"ElementaryTypeName","src":"23218:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"_token","nameLocation":"23266:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23258:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":719,"name":"address","nodeType":"ElementaryTypeName","src":"23258:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"_amount","nameLocation":"23290:7:0","nodeType":"VariableDeclaration","scope":925,"src":"23282:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":721,"name":"uint256","nodeType":"ElementaryTypeName","src":"23282:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":725,"mutability":"mutable","name":"_metadata","nameLocation":"23323:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23307:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":724,"nodeType":"UserDefinedTypeName","pathNode":{"id":723,"name":"Metadata","nameLocations":["23307:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"23307:8:0"},"referencedDeclaration":3098,"src":"23307:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"_managers","nameLocation":"23359:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23342:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":726,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":727,"nodeType":"ArrayTypeName","src":"23342:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23151:223:0"},"returnParameters":{"id":732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":731,"mutability":"mutable","name":"poolId","nameLocation":"23401:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23393:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":730,"name":"uint256","nodeType":"ElementaryTypeName","src":"23393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23392:16:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":947,"nodeType":"FunctionDefinition","src":"26159:151:0","nodes":[],"body":{"id":946,"nodeType":"Block","src":"26224:86:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":941,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":930,"src":"26285:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26292:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26296:6:0","memberName":"sender","nodeType":"MemberAccess","src":"26292:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":933,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26234:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":935,"indexExpression":{"id":934,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"26240:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26234:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26249:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"26234:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26258:8:0","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":2957,"src":"26234:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes memory,address) payable external"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":938,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26274:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26278:5:0","memberName":"value","nodeType":"MemberAccess","src":"26274:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"26234:50:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$value","typeString":"function (bytes memory,address) payable external"}},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26234:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":945,"nodeType":"ExpressionStatement","src":"26234:69:0"}]},"documentation":{"id":926,"nodeType":"StructuredDocumentation","src":"25818:336:0","text":"@notice Allocate to recipient(s).\n @dev Passes '_data' & 'msg.sender' through to the strategy for that pool.\n This is an internal function that is called by the 'allocate()' & 'batchAllocate()' functions.\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"26168:9:0","parameters":{"id":931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"mutability":"mutable","name":"_poolId","nameLocation":"26186:7:0","nodeType":"VariableDeclaration","scope":947,"src":"26178:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":927,"name":"uint256","nodeType":"ElementaryTypeName","src":"26178:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"_data","nameLocation":"26208:5:0","nodeType":"VariableDeclaration","scope":947,"src":"26195:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"26195:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26177:37:0"},"returnParameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"26224:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1122,"nodeType":"FunctionDefinition","src":"26634:1879:0","nodes":[],"body":{"id":1121,"nodeType":"Block","src":"26717:1796:0","nodes":[],"statements":[{"assignments":[959],"declarations":[{"constant":false,"id":959,"mutability":"mutable","name":"feeAmount","nameLocation":"26735:9:0","nodeType":"VariableDeclaration","scope":1121,"src":"26727:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":958,"name":"uint256","nodeType":"ElementaryTypeName","src":"26727:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":960,"nodeType":"VariableDeclarationStatement","src":"26727:17:0"},{"assignments":[962],"declarations":[{"constant":false,"id":962,"mutability":"mutable","name":"amountAfterFee","nameLocation":"26762:14:0","nodeType":"VariableDeclaration","scope":1121,"src":"26754:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":961,"name":"uint256","nodeType":"ElementaryTypeName","src":"26754:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":964,"initialValue":{"id":963,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26779:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26754:32:0"},{"assignments":[967],"declarations":[{"constant":false,"id":967,"mutability":"mutable","name":"pool","nameLocation":"26810:4:0","nodeType":"VariableDeclaration","scope":1121,"src":"26797:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":966,"nodeType":"UserDefinedTypeName","pathNode":{"id":965,"name":"Pool","nameLocations":["26797:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"26797:4:0"},"referencedDeclaration":2319,"src":"26797:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":971,"initialValue":{"baseExpression":{"id":968,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26817:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":970,"indexExpression":{"id":969,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"26823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26817:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26797:34:0"},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_token","nameLocation":"26849:6:0","nodeType":"VariableDeclaration","scope":1121,"src":"26841:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":972,"name":"address","nodeType":"ElementaryTypeName","src":"26841:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":976,"initialValue":{"expression":{"id":974,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"26858:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26863:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26858:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26841:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":977,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26883:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26896:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26883:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1050,"nodeType":"IfStatement","src":"26879:808:0","trueBody":{"id":1049,"nodeType":"Block","src":"26899:788:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":980,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"26913:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":981,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26926:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":982,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26936:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26926:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26925:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":985,"name":"getFeeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1276,"src":"26950:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26950:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26925:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26913:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":989,"nodeType":"ExpressionStatement","src":"26913:56:0"},{"expression":{"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":990,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"26983:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":991,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27001:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26983:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":993,"nodeType":"ExpressionStatement","src":"26983:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":994,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27029:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":995,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27041:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":997,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"27059:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1002,"nodeType":"IfStatement","src":"27025:59:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":999,"name":"INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"27075:7:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27075:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1001,"nodeType":"RevertStatement","src":"27068:16:0"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1003,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27103:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1004,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27113:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27103:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1047,"nodeType":"Block","src":"27254:423:0","statements":[{"assignments":[1018],"declarations":[{"constant":false,"id":1018,"mutability":"mutable","name":"balanceBeforeFee","nameLocation":"27280:16:0","nodeType":"VariableDeclaration","scope":1047,"src":"27272:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1017,"name":"uint256","nodeType":"ElementaryTypeName","src":"27272:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1023,"initialValue":{"arguments":[{"id":1020,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27311:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1021,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27319:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1019,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27299:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27299:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27272:56:0"},{"expression":{"arguments":[{"id":1025,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27366:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1027,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27394:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27398:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27394:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1029,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27410:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1030,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27428:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1026,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27374:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27388:4:0","27406:2:0","27420:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27374:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1024,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27346:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27346:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1033,"nodeType":"ExpressionStatement","src":"27346:94:0"},{"assignments":[1035],"declarations":[{"constant":false,"id":1035,"mutability":"mutable","name":"balanceAfterFee","nameLocation":"27466:15:0","nodeType":"VariableDeclaration","scope":1047,"src":"27458:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"27458:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1040,"initialValue":{"arguments":[{"id":1037,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27496:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1038,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27504:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1036,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27484:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27458:55:0"},{"expression":{"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1041,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27616:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1042,"name":"balanceAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1035,"src":"27628:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1043,"name":"balanceBeforeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1018,"src":"27646:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27628:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27616:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1046,"nodeType":"ExpressionStatement","src":"27616:46:0"}]},"id":1048,"nodeType":"IfStatement","src":"27099:578:0","trueBody":{"id":1016,"nodeType":"Block","src":"27121:127:0","statements":[{"expression":{"arguments":[{"id":1007,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27159:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27187:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27191:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27187:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1011,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27203:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1012,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27221:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1008,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27167:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27181:4:0","27199:2:0","27213:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27167:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1006,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27139:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27139:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1015,"nodeType":"ExpressionStatement","src":"27139:94:0"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1051,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27701:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1052,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27711:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27701:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1107,"nodeType":"Block","src":"27889:501:0","statements":[{"assignments":[1069],"declarations":[{"constant":false,"id":1069,"mutability":"mutable","name":"balanceBeforeFundingPool","nameLocation":"27911:24:0","nodeType":"VariableDeclaration","scope":1107,"src":"27903:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"27903:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1077,"initialValue":{"arguments":[{"id":1071,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27950:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1074,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27966:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27958:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1072,"name":"address","nodeType":"ElementaryTypeName","src":"27958:7:0","typeDescriptions":{}}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27958:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1070,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27938:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27938:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27903:74:0"},{"expression":{"arguments":[{"id":1079,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28028:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1081,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28056:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28060:6:0","memberName":"sender","nodeType":"MemberAccess","src":"28056:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1085,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28080:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28072:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1083,"name":"address","nodeType":"ElementaryTypeName","src":"28072:7:0","typeDescriptions":{}}},"id":1086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28072:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1087,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28100:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1080,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"28036:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28050:4:0","28068:2:0","28092:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"28036:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1078,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27991:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27991:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1090,"nodeType":"ExpressionStatement","src":"27991:139:0"},{"assignments":[1092],"declarations":[{"constant":false,"id":1092,"mutability":"mutable","name":"balanceAfterFundingPool","nameLocation":"28152:23:0","nodeType":"VariableDeclaration","scope":1107,"src":"28144:31:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1091,"name":"uint256","nodeType":"ElementaryTypeName","src":"28144:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1100,"initialValue":{"arguments":[{"id":1094,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28190:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1097,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28206:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28198:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"28198:7:0","typeDescriptions":{}}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1093,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"28178:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28178:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28144:73:0"},{"expression":{"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1101,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28312:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1102,"name":"balanceAfterFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1092,"src":"28329:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1103,"name":"balanceBeforeFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"28355:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28329:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28312:67:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1106,"nodeType":"ExpressionStatement","src":"28312:67:0"}]},"id":1108,"nodeType":"IfStatement","src":"27697:693:0","trueBody":{"id":1067,"nodeType":"Block","src":"27719:164:0","statements":[{"expression":{"arguments":[{"id":1055,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27770:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27798:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27802:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27798:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1061,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27822:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27814:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1059,"name":"address","nodeType":"ElementaryTypeName","src":"27814:7:0","typeDescriptions":{}}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27814:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1063,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27842:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1056,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27778:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27792:4:0","27810:2:0","27834:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27778:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1054,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27733:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1066,"nodeType":"ExpressionStatement","src":"27733:139:0"}]}},{"expression":{"arguments":[{"id":1112,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28429:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1109,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28400:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":1111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28410:18:0","memberName":"increasePoolAmount","nodeType":"MemberAccess","referencedDeclaration":2908,"src":"28400:28:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28400:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1114,"nodeType":"ExpressionStatement","src":"28400:44:0"},{"eventCall":{"arguments":[{"id":1116,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"28471:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1117,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28480:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1118,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"28496:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1115,"name":"PoolFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"28460:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28460:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1120,"nodeType":"EmitStatement","src":"28455:51:0"}]},"documentation":{"id":948,"nodeType":"StructuredDocumentation","src":"26316:313:0","text":"@notice Fund a pool.\n @dev Deducts the fee and transfers the amount to the distribution strategy.\n Emits a 'PoolFunded' event.\n @param _amount The amount to transfer\n @param _poolId The 'poolId' for the pool you are funding\n @param _strategy The address of the strategy"},"implemented":true,"kind":"function","modifiers":[],"name":"_fundPool","nameLocation":"26643:9:0","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"_amount","nameLocation":"26661:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26653:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":949,"name":"uint256","nodeType":"ElementaryTypeName","src":"26653:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":952,"mutability":"mutable","name":"_poolId","nameLocation":"26678:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":951,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_strategy","nameLocation":"26697:9:0","nodeType":"VariableDeclaration","scope":1122,"src":"26687:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":954,"nodeType":"UserDefinedTypeName","pathNode":{"id":953,"name":"IStrategy","nameLocations":["26687:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"26687:9:0"},"referencedDeclaration":2969,"src":"26687:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"}],"src":"26652:55:0"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"26717:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1135,"nodeType":"FunctionDefinition","src":"28898:132:0","nodes":[],"body":{"id":1134,"nodeType":"Block","src":"28976:54:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1130,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"28993:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1132,"indexExpression":{"id":1131,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"29013:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28993:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1129,"id":1133,"nodeType":"Return","src":"28986:37:0"}]},"documentation":{"id":1123,"nodeType":"StructuredDocumentation","src":"28519:374:0","text":"@notice Checks if the strategy is an approved cloneable strategy.\n @dev Internal function used by createPoolwithCustomStrategy and createPool to\n determine if a strategy is in the cloneable strategy allow list.\n @param _strategy The address of the strategy\n @return This will return 'true' if the strategy is cloneable, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isCloneableStrategy","nameLocation":"28907:20:0","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"mutability":"mutable","name":"_strategy","nameLocation":"28936:9:0","nodeType":"VariableDeclaration","scope":1135,"src":"28928:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1124,"name":"address","nodeType":"ElementaryTypeName","src":"28928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28927:19:0"},"returnParameters":{"id":1129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1135,"src":"28970:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1127,"name":"bool","nodeType":"ElementaryTypeName","src":"28970:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28969:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1154,"nodeType":"FunctionDefinition","src":"29346:153:0","nodes":[],"body":{"id":1153,"nodeType":"Block","src":"29432:67:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1146,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29457:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1148,"indexExpression":{"id":1147,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1138,"src":"29463:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29457:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29472:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":2318,"src":"29457:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1150,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1140,"src":"29483:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1145,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"29449:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29449:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1144,"id":1152,"nodeType":"Return","src":"29442:50:0"}]},"documentation":{"id":1136,"nodeType":"StructuredDocumentation","src":"29036:305:0","text":"@notice Checks if the address is a pool admin\n @dev Internal function used to determine if an address is a pool admin\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool admin, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolAdmin","nameLocation":"29355:12:0","parameters":{"id":1141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1138,"mutability":"mutable","name":"_poolId","nameLocation":"29376:7:0","nodeType":"VariableDeclaration","scope":1154,"src":"29368:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1137,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1140,"mutability":"mutable","name":"_address","nameLocation":"29393:8:0","nodeType":"VariableDeclaration","scope":1154,"src":"29385:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1139,"name":"address","nodeType":"ElementaryTypeName","src":"29385:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29367:35:0"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"29426:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1142,"name":"bool","nodeType":"ElementaryTypeName","src":"29426:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29425:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1178,"nodeType":"FunctionDefinition","src":"29821:192:0","nodes":[],"body":{"id":1177,"nodeType":"Block","src":"29909:104:0","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":1165,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29934:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1167,"indexExpression":{"id":1166,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29940:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29934:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29949:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"29934:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1169,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29962:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1164,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"29926:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29926:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1172,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29988:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1173,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29997:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1171,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"29975:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29926:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1163,"id":1176,"nodeType":"Return","src":"29919:87:0"}]},"documentation":{"id":1155,"nodeType":"StructuredDocumentation","src":"29505:311:0","text":"@notice Checks if the address is a pool manager\n @dev Internal function used to determine if an address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool manager, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolManager","nameLocation":"29830:14:0","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"_poolId","nameLocation":"29853:7:0","nodeType":"VariableDeclaration","scope":1178,"src":"29845:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"29845:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"_address","nameLocation":"29870:8:0","nodeType":"VariableDeclaration","scope":1178,"src":"29862:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"29862:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29844:35:0"},"returnParameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1178,"src":"29903:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1161,"name":"bool","nodeType":"ElementaryTypeName","src":"29903:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29902:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1205,"nodeType":"FunctionDefinition","src":"30226:203:0","nodes":[],"body":{"id":1204,"nodeType":"Block","src":"30279:150:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1184,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30293:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30314:1:0","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":1186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30306:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1185,"name":"address","nodeType":"ElementaryTypeName","src":"30306:7:0","typeDescriptions":{}}},"id":1188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30306:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30293:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1193,"nodeType":"IfStatement","src":"30289:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1190,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30325:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30325:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1192,"nodeType":"RevertStatement","src":"30318:21:0"}},{"expression":{"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1194,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"30350:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1196,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30371:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1195,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"30361:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30361:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"30350:31:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":1199,"nodeType":"ExpressionStatement","src":"30350:31:0"},{"eventCall":{"arguments":[{"id":1201,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30412:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1200,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"30396:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30396:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1203,"nodeType":"EmitStatement","src":"30391:31:0"}]},"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"30019:202:0","text":"@notice Updates the registry address\n @dev Internal function used to update the registry address.\n Emits a RegistryUpdated event.\n @param _registry The new registry address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateRegistry","nameLocation":"30235:15:0","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"_registry","nameLocation":"30259:9:0","nodeType":"VariableDeclaration","scope":1205,"src":"30251:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"30251:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:19:0"},"returnParameters":{"id":1183,"nodeType":"ParameterList","parameters":[],"src":"30279:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1230,"nodeType":"FunctionDefinition","src":"30642:199:0","nodes":[],"body":{"id":1229,"nodeType":"Block","src":"30703:138:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1211,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30717:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30738:1:0","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":1213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1212,"name":"address","nodeType":"ElementaryTypeName","src":"30730:7:0","typeDescriptions":{}}},"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30730:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30717:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1220,"nodeType":"IfStatement","src":"30713:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1217,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30749:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30749:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"RevertStatement","src":"30742:21:0"}},{"expression":{"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1221,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30774:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1222,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30785:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"30774:20:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1224,"nodeType":"ExpressionStatement","src":"30774:20:0"},{"eventCall":{"arguments":[{"id":1226,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30825:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1225,"name":"TreasuryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2365,"src":"30809:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30809:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1228,"nodeType":"EmitStatement","src":"30804:30:0"}]},"documentation":{"id":1206,"nodeType":"StructuredDocumentation","src":"30435:202:0","text":"@notice Updates the treasury address\n @dev Internal function used to update the treasury address.\n Emits a TreasuryUpdated event.\n @param _treasury The new treasury address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateTreasury","nameLocation":"30651:15:0","parameters":{"id":1209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1208,"mutability":"mutable","name":"_treasury","nameLocation":"30683:9:0","nodeType":"VariableDeclaration","scope":1230,"src":"30667:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1207,"name":"address","nodeType":"ElementaryTypeName","src":"30667:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"30666:27:0"},"returnParameters":{"id":1210,"nodeType":"ParameterList","parameters":[],"src":"30703:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1252,"nodeType":"FunctionDefinition","src":"31041:198:0","nodes":[],"body":{"id":1251,"nodeType":"Block","src":"31098:141:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1236,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31112:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31126:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"31112:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1242,"nodeType":"IfStatement","src":"31108:44:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1239,"name":"INVALID_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"31139:11:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31139:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"RevertStatement","src":"31132:20:0"}},{"expression":{"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1243,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31163:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1244,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31176:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31163:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1246,"nodeType":"ExpressionStatement","src":"31163:24:0"},{"eventCall":{"arguments":[{"id":1248,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31221:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1247,"name":"PercentFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"31203:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31203:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"EmitStatement","src":"31198:34:0"}]},"documentation":{"id":1231,"nodeType":"StructuredDocumentation","src":"30847:189:0","text":"@notice Updates the fee percentage\n @dev Internal function used to update the percentage fee.\n Emits a PercentFeeUpdated event.\n @param _percentFee The new fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updatePercentFee","nameLocation":"31050:17:0","parameters":{"id":1234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1233,"mutability":"mutable","name":"_percentFee","nameLocation":"31076:11:0","nodeType":"VariableDeclaration","scope":1252,"src":"31068:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1232,"name":"uint256","nodeType":"ElementaryTypeName","src":"31068:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31067:21:0"},"returnParameters":{"id":1235,"nodeType":"ParameterList","parameters":[],"src":"31098:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1267,"nodeType":"FunctionDefinition","src":"31426:125:0","nodes":[],"body":{"id":1266,"nodeType":"Block","src":"31477:74:0","nodes":[],"statements":[{"expression":{"id":1260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1258,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31487:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1259,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1255,"src":"31497:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31487:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1261,"nodeType":"ExpressionStatement","src":"31487:18:0"},{"eventCall":{"arguments":[{"id":1263,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31536:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1262,"name":"BaseFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"31521:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31521:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1265,"nodeType":"EmitStatement","src":"31516:28:0"}]},"documentation":{"id":1253,"nodeType":"StructuredDocumentation","src":"31245:176:0","text":"@notice Updates the base fee\n @dev Internal function used to update the base fee.\n Emits a BaseFeeUpdated event.\n @param _baseFee The new base fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateBaseFee","nameLocation":"31435:14:0","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1255,"mutability":"mutable","name":"_baseFee","nameLocation":"31458:8:0","nodeType":"VariableDeclaration","scope":1267,"src":"31450:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1254,"name":"uint256","nodeType":"ElementaryTypeName","src":"31450:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31449:18:0"},"returnParameters":{"id":1257,"nodeType":"ParameterList","parameters":[],"src":"31477:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1276,"nodeType":"FunctionDefinition","src":"31788:103:0","nodes":[],"body":{"id":1275,"nodeType":"Block","src":"31863:28:0","nodes":[],"statements":[{"expression":{"hexValue":"31653138","id":1273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31880:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"functionReturnParameters":1272,"id":1274,"nodeType":"Return","src":"31873:11:0"}]},"baseFunctions":[2609],"documentation":{"id":1268,"nodeType":"StructuredDocumentation","src":"31657:126:0","text":"@notice Getter for the fee denominator\n @return FEE_DENOMINATOR The fee denominator is (1e18) which represents 100%"},"functionSelector":"f4e1fc41","implemented":true,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"31797:17:0","parameters":{"id":1269,"nodeType":"ParameterList","parameters":[],"src":"31814:2:0"},"returnParameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1271,"mutability":"mutable","name":"FEE_DENOMINATOR","nameLocation":"31846:15:0","nodeType":"VariableDeclaration","scope":1276,"src":"31838:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"31838:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31837:25:0"},"scope":1390,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1292,"nodeType":"FunctionDefinition","src":"32112:140:0","nodes":[],"body":{"id":1291,"nodeType":"Block","src":"32197:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1287,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"32227:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1288,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"32236:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1286,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"32214:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32214:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1285,"id":1290,"nodeType":"Return","src":"32207:38:0"}]},"baseFunctions":[2543],"documentation":{"id":1277,"nodeType":"StructuredDocumentation","src":"31897:210:0","text":"@notice Checks if the address is a pool admin.\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":true,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"32121:11:0","parameters":{"id":1282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1279,"mutability":"mutable","name":"_poolId","nameLocation":"32141:7:0","nodeType":"VariableDeclaration","scope":1292,"src":"32133:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1278,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"_address","nameLocation":"32158:8:0","nodeType":"VariableDeclaration","scope":1292,"src":"32150:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1280,"name":"address","nodeType":"ElementaryTypeName","src":"32150:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32132:35:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1292,"src":"32191:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1283,"name":"bool","nodeType":"ElementaryTypeName","src":"32191:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32190:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1308,"nodeType":"FunctionDefinition","src":"32476:144:0","nodes":[],"body":{"id":1307,"nodeType":"Block","src":"32563:57:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1303,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"32595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1304,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1297,"src":"32604:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1302,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"32580:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32580:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1301,"id":1306,"nodeType":"Return","src":"32573:40:0"}]},"baseFunctions":[2553],"documentation":{"id":1293,"nodeType":"StructuredDocumentation","src":"32258:213:0","text":"@notice Checks if the address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":true,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"32485:13:0","parameters":{"id":1298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1295,"mutability":"mutable","name":"_poolId","nameLocation":"32507:7:0","nodeType":"VariableDeclaration","scope":1308,"src":"32499:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1294,"name":"uint256","nodeType":"ElementaryTypeName","src":"32499:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1297,"mutability":"mutable","name":"_address","nameLocation":"32524:8:0","nodeType":"VariableDeclaration","scope":1308,"src":"32516:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1296,"name":"address","nodeType":"ElementaryTypeName","src":"32516:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32498:35:0"},"returnParameters":{"id":1301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1308,"src":"32557:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1299,"name":"bool","nodeType":"ElementaryTypeName","src":"32557:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32556:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1325,"nodeType":"FunctionDefinition","src":"32753:126:0","nodes":[],"body":{"id":1324,"nodeType":"Block","src":"32823:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1318,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"32848:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1320,"indexExpression":{"id":1319,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1311,"src":"32854:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32848:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32863:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"32848:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32840:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1316,"name":"address","nodeType":"ElementaryTypeName","src":"32840:7:0","typeDescriptions":{}}},"id":1322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32840:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1315,"id":1323,"nodeType":"Return","src":"32833:39:0"}]},"baseFunctions":[2569],"documentation":{"id":1309,"nodeType":"StructuredDocumentation","src":"32626:122:0","text":"@notice Getter for the strategy.\n @param _poolId The ID of the pool\n @return The address of the strategy"},"functionSelector":"cfc0cc34","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"32762:11:0","parameters":{"id":1312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1311,"mutability":"mutable","name":"_poolId","nameLocation":"32782:7:0","nodeType":"VariableDeclaration","scope":1325,"src":"32774:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1310,"name":"uint256","nodeType":"ElementaryTypeName","src":"32774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32773:17:0"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1325,"src":"32814:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"32814:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32813:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1334,"nodeType":"FunctionDefinition","src":"32977:91:0","nodes":[],"body":{"id":1333,"nodeType":"Block","src":"33034:34:0","nodes":[],"statements":[{"expression":{"id":1331,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"33051:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1330,"id":1332,"nodeType":"Return","src":"33044:17:0"}]},"baseFunctions":[2575],"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"32885:87:0","text":"@notice Getter for fee percentage.\n @return The fee percentage (1e18 = 100%)"},"functionSelector":"4edbaadc","implemented":true,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"32986:13:0","parameters":{"id":1327,"nodeType":"ParameterList","parameters":[],"src":"32999:2:0"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1334,"src":"33025:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"33025:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33024:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1343,"nodeType":"FunctionDefinition","src":"33140:85:0","nodes":[],"body":{"id":1342,"nodeType":"Block","src":"33194:31:0","nodes":[],"statements":[{"expression":{"id":1340,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"33211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1339,"id":1341,"nodeType":"Return","src":"33204:14:0"}]},"baseFunctions":[2581],"documentation":{"id":1335,"nodeType":"StructuredDocumentation","src":"33074:61:0","text":"@notice Getter for base fee.\n @return The base fee"},"functionSelector":"15e812ad","implemented":true,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"33149:10:0","parameters":{"id":1336,"nodeType":"ParameterList","parameters":[],"src":"33159:2:0"},"returnParameters":{"id":1339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1343,"src":"33185:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1337,"name":"uint256","nodeType":"ElementaryTypeName","src":"33185:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33184:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1352,"nodeType":"FunctionDefinition","src":"33313:95:0","nodes":[],"body":{"id":1351,"nodeType":"Block","src":"33376:32:0","nodes":[],"statements":[{"expression":{"id":1349,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"33393:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":1348,"id":1350,"nodeType":"Return","src":"33386:15:0"}]},"baseFunctions":[2587],"documentation":{"id":1344,"nodeType":"StructuredDocumentation","src":"33231:77:0","text":"@notice Getter for treasury address.\n @return The treasury address"},"functionSelector":"3b19e84a","implemented":true,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"33322:11:0","parameters":{"id":1345,"nodeType":"ParameterList","parameters":[],"src":"33333:2:0"},"returnParameters":{"id":1348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1352,"src":"33359:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1346,"name":"address","nodeType":"ElementaryTypeName","src":"33359:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"33358:17:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1362,"nodeType":"FunctionDefinition","src":"33488:89:0","nodes":[],"body":{"id":1361,"nodeType":"Block","src":"33545:32:0","nodes":[],"statements":[{"expression":{"id":1359,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"33562:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"functionReturnParameters":1358,"id":1360,"nodeType":"Return","src":"33555:15:0"}]},"baseFunctions":[2594],"documentation":{"id":1353,"nodeType":"StructuredDocumentation","src":"33414:69:0","text":"@notice Getter for registry.\n @return The registry address"},"functionSelector":"5ab1bd53","implemented":true,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"33497:11:0","parameters":{"id":1354,"nodeType":"ParameterList","parameters":[],"src":"33508:2:0"},"returnParameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"33534:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":1356,"nodeType":"UserDefinedTypeName","pathNode":{"id":1355,"name":"IRegistry","nameLocations":["33534:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"33534:9:0"},"referencedDeclaration":2802,"src":"33534:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"33533:11:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1375,"nodeType":"FunctionDefinition","src":"33760:132:0","nodes":[],"body":{"id":1374,"nodeType":"Block","src":"33837:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"33875:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1370,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"33854:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33854:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1369,"id":1373,"nodeType":"Return","src":"33847:38:0"}]},"baseFunctions":[2561],"documentation":{"id":1363,"nodeType":"StructuredDocumentation","src":"33583:172:0","text":"@notice Getter for if strategy is cloneable.\n @param _strategy The address of the strategy\n @return 'true' if the strategy is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":true,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"33769:19:0","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1365,"mutability":"mutable","name":"_strategy","nameLocation":"33797:9:0","nodeType":"VariableDeclaration","scope":1375,"src":"33789:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"33789:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33788:19:0"},"returnParameters":{"id":1369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1375,"src":"33831:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1367,"name":"bool","nodeType":"ElementaryTypeName","src":"33831:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33830:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1389,"nodeType":"FunctionDefinition","src":"34013:108:0","nodes":[],"body":{"id":1388,"nodeType":"Block","src":"34083:38:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1384,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"34100:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1386,"indexExpression":{"id":1385,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1378,"src":"34106:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34100:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"functionReturnParameters":1383,"id":1387,"nodeType":"Return","src":"34093:21:0"}]},"baseFunctions":[2603],"documentation":{"id":1376,"nodeType":"StructuredDocumentation","src":"33898:110:0","text":"@notice Getter for the 'Pool'.\n @param _poolId The ID of the pool\n @return The 'Pool' struct"},"functionSelector":"068bcd8d","implemented":true,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"34022:7:0","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1378,"mutability":"mutable","name":"_poolId","nameLocation":"34038:7:0","nodeType":"VariableDeclaration","scope":1389,"src":"34030:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1377,"name":"uint256","nodeType":"ElementaryTypeName","src":"34030:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34029:17:0"},"returnParameters":{"id":1383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1389,"src":"34070:11:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":1381,"nodeType":"UserDefinedTypeName","pathNode":{"id":1380,"name":"Pool","nameLocations":["34070:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"34070:4:0"},"referencedDeclaration":2319,"src":"34070:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"34069:13:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":16,"name":"IAllo","nameLocations":["5097:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"5097:5:0"},"id":17,"nodeType":"InheritanceSpecifier","src":"5097:5:0"},{"baseName":{"id":18,"name":"Native","nameLocations":["5108:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5108:6:0"},"id":19,"nodeType":"InheritanceSpecifier","src":"5108:6:0"},{"baseName":{"id":20,"name":"Transfer","nameLocations":["5120:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5120:8:0"},"id":21,"nodeType":"InheritanceSpecifier","src":"5120:8:0"},{"baseName":{"id":22,"name":"Initializable","nameLocations":["5134:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":52449,"src":"5134:13:0"},"id":23,"nodeType":"InheritanceSpecifier","src":"5134:13:0"},{"baseName":{"id":24,"name":"Ownable","nameLocations":["5153:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":4095,"src":"5153:7:0"},"id":25,"nodeType":"InheritanceSpecifier","src":"5153:7:0"},{"baseName":{"id":26,"name":"AccessControlUpgradeable","nameLocations":["5166:24:0"],"nodeType":"IdentifierPath","referencedDeclaration":51994,"src":"5166:24:0"},"id":27,"nodeType":"InheritanceSpecifier","src":"5166:24:0"},{"baseName":{"id":28,"name":"ReentrancyGuardUpgradeable","nameLocations":["5196:26:0"],"nodeType":"IdentifierPath","referencedDeclaration":52534,"src":"5196:26:0"},"id":29,"nodeType":"InheritanceSpecifier","src":"5196:26:0"},{"baseName":{"id":30,"name":"Errors","nameLocations":["5228:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5228:6:0"},"id":31,"nodeType":"InheritanceSpecifier","src":"5228:6:0"}],"canonicalName":"Allo","contractDependencies":[],"contractKind":"contract","documentation":{"id":15,"nodeType":"StructuredDocumentation","src":"4725:351:0","text":"@title Allo\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice This contract is used to create & manage pools as well as manage the protocol.\n @dev The contract must be initialized with the 'initialize()' function."},"fullyImplemented":true,"linearizedBaseContracts":[1390,3089,52534,51994,53267,53279,52067,52993,4095,52449,3317,3106,2610],"name":"Allo","nameLocation":"5085:4:0","scope":1391,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,3929,3932,3935]}],"license":"AGPL-3.0-only"},"id":0} \ No newline at end of file +{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"recipientIds","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"completeOwnershipHandover","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"createPool","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"FEE_DENOMINATOR","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"result","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownershipHandoverExpiresAt","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverCanceled","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverRequested","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NewOwnerIsZeroAddress","inputs":[]},{"type":"error","name":"NoHandoverRequest","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657612c4f908161001c8239f35b600080fdfe6080806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a7146116af57508163031e2fa114611645578163068bcd8d14611491578163075c0e9c146113fe57816315e812ad146113e05781631a20bd88146112185781631a5da6c8146111ee578163248a9ca3146111c157816324ae6a27146110b5578163256929621461106a57816329e40d4b146110435781632cf682b014610fe45781632ec3818814610fc95781632f2ff15d14610f8b57816336568abe14610efa5781633a5fbd9214610e0b5781633b19e84a14610de257816341bba0b414610d5b5781634edbaadc14610d3d57816354d1f13d14610cf75781635ab1bd5314610cce5781635acd6fac14610b1c5781635f9ca13814610964578163715018a61461093057816377da8caf1461080b5781637f51bb1f146107e65781637f5a70bd146107a85781638da5cb5b1461077b5781638e6901861461075657816391d148541461070b578163a0cf0aea146106e2578163a217fddf146106c6578163a6b63eb81461057d578163ab2ec5891461053e578163ab3febc6146104fe578163c6dff1cf14610438578163cfc0cc3414610403578163d547741f146103c5578163e1007d4a14610355578163f04e283e146102e7578163f2fde38b1461028c578163f4e1fc4114610269578163f54fc4a01461023d575063fee81cf41461020857600080fd5b3461023a57602036600319011261023a57610221611702565b9063389a75e1600c5252602080600c2054604051908152f35b80fd5b905034610265576020366003190112610265576102629061025c6126d4565b3561254b565b80f35b5080fd5b823461023a578060031936011261023a576020604051670de0b6b3a76400008152f35b90506020366003190112610265576102a2611702565b906102ab6126d4565b8160601b156102dc575060018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b637448fbae8352601cfd5b90506020366003190112610265576102fd611702565b906103066126d4565b63389a75e1600c528183526020600c20908154421161034a575082905560018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b636f5e88188452601cfd5b905061036036611a5d565b979096919592946001600160a01b031692919083156103b5576040818560ff935260d06020522054166103a657602061039e89898989898989611bf3565b604051908152f35b60405163eeffa72160e01b8152fd5b5060405163538ba4f960e01b8152fd5b9050346102655760403660031901126102655761026290356103e5611718565b9080845260656020526103fe6001604086200154612737565b612a9c565b905034610265576020366003190112610265579060209135815260cf825260016040818060a01b039220015416604051908152f35b823461023a57604036600319011261023a5781356001600160401b038082116104fa57366023830112156104fa5781840135918183116104f657602490600592368386861b840101116104f25782359081116104f25761049b90369088016118da565b956104a4612b12565b865185036104e35750845b8481106104bf5785600160975580f35b806104dd6104cf6001938a611b89565b518583881b860101356121c7565b016104af565b60405163636e39bb60e01b8152fd5b8580fd5b8380fd5b8280fd5b905034610265576040366003190112610265576105349060066040602094610524611718565b9335815260cf865220015461270f565b6040519015158152f35b823461023a57602036600319011261023a5760209060ff906040906001600160a01b03610569611702565b16815260d084522054166040519015158152f35b9050346102655760a036600319011261026557610598611702565b906105a1611718565b6044359290916001600160a01b03919082851685036106c15785549060ff8260081c1615806106b4575b15610659575061ffff191661010117855516638b78c6d81981905561060c92916106079185600080516020612bba8339815191528180a36124ad565b6124fc565b61061760643561254b565b61062260843561259d565b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60849060206040519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50600160ff8316106105cb565b600080fd5b823461023a578060031936011261023a57602090604051908152f35b823461023a578060031936011261023a576020604051600080516020612b9a8339815191528152f35b823461023a57604036600319011261023a57604090610728611718565b923581526065602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b90503461026557602036600319011261026557610262906107756126d4565b3561259d565b823461023a578060031936011261023a57638b78c6d819546040516001600160a01b039091168152602090f35b9050346102655760403660031901126102655761026290356107c8611718565b906107d281611bb3565b835260cf6020526005604084200154612a9c565b823461023a57602036600319011261023a57610262610803611702565b6106076126d4565b8261081536611a5d565b959094610823949294612b12565b60018060a01b0390818116895260209860d08a5260ff6040822054161561091f57600960379133815260ce8c526e5af43d82803e903d91602b57fd5bf36040822080549061087082611ae3565b90558d604051908101913360601b8352603482015260348152610892816117f5565b51902094763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c1617835260781b178c52f5169081156108e1576108d4979850611bf3565b6001609755604051908152f35b60405162461bcd60e51b8152808a018990526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b60405163126d324760e31b81528b90fd5b828060031936011261023a576109446126d4565b80638b78c6d819818154600080516020612bba8339815191528280a35580f35b823461023a57604036600319011261023a5781356001600160401b036024358181116104f6576109979036908601611a05565b906109a2338461246a565b15610b0b5782845260209060cf8252856040862084516003820155019082840151968751918211610af857506109d88254611b08565b601f8111610ab5575b5082601f8211600114610a435781908798600080516020612bda833981519152979892610a38575b50508160011b916000199060031b1c19161790555b610a32604051928284938452830190611776565b0390a280f35b015190508880610a09565b82875283872097601f198316885b818110610a9e575091600080516020612bda83398151915297989991846001959410610a85575b505050811b019055610a1e565b015160001960f88460031b161c19169055888080610a78565b838301518b556001909a0199928601928601610a51565b828752838720601f830160051c810191858410610aee575b601f0160051c01905b818110610ae357506109e1565b878155600101610ad6565b9091508190610acd565b634e487b7160e01b875260419052602486fd5b60405163075fd2b160e01b81528590fd5b82604036600319011261023a578135610b33612b12565b60243515610cbd5780825260cf6020526040822060405190610b5482611796565b8054825260018101546001600160a01b03908116602084015260028201541660408084019190915251610b86816117c7565b6003820154815260405186830180548791610ba082611b08565b8085529160018116908115610c965750600114610c4f575b505090610bcb8160069594930382611810565b6020820152606084015260058101546080840152015460a082015260408101516001600160a01b0316600080516020612b9a8339815191521480610c43575b610c325760200151610c2a916001600160a01b0390911690602435612249565b600160975580f35b6040516303e09bb960e31b81528490fd5b50346024351415610c0a565b885260208820949392915087905b808210610c78575092935090918101602001610bcb82610bb8565b91929394600181602092548385880101520191019094939291610c5d565b60ff191660208087019190915292151560051b85019092019250610bcb9150839050610bb8565b6040516303e09bb960e31b81528390fd5b823461023a578060031936011261023a5760cd546040516001600160a01b039091168152602090f35b828060031936011261023a5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b823461023a578060031936011261023a57602060c954604051908152f35b90503461026557602036600319011261026557610d76611702565b610d7e6126d4565b6001600160a01b0316908115610dd357506020817f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d192845260d0825260408420600160ff19825416179055604051908152a180f35b60405163538ba4f960e01b8152fd5b823461023a578060031936011261023a5760cc546040516001600160a01b039091168152602090f35b9050346102655781600319606036820112610265576001600160401b03906024358281116104f657610e409036908601611997565b916044359081116104f657610e589036908601611879565b610e60612b12565b8435845260cf60205260408420600101546001600160a01b031691823b15610ef657610eaf95610ebe8692606094604051998a9889978896630a6f0ee960e01b8852870152606486019061195a565b91848303016024850152611751565b33604483015203925af18015610eeb57610edc575b50600160975580f35b610ee5906117e2565b38610ed3565b6040513d84823e3d90fd5b8480fd5b823461023a57604036600319011261023a57610f14611718565b336001600160a01b03821603610f2f57610262919235612a9c565b60405162461bcd60e51b8152602081850152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b905034610265576040366003190112610265576102629035610fab611718565b908084526065602052610fc46001604086200154612737565b612a22565b82610c2a610fd636611894565b90610fdf612b12565b6121c7565b823461023a57604036600319011261023a578135611000611718565b9061100a81611bb3565b6001600160a01b03821615611032579061026291835260cf6020526005604084200154612a22565b60405163538ba4f960e01b81528490fd5b823461023a57604036600319011261023a57602061053483611063611718565b903561246a565b828060031936011261023a5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b905034610265576040366003190112610265576110d0611702565b6110d8611718565b6110e06126d4565b6001600160a01b038216600080516020612b9a83398151915281149285918415611153575047935b1561111957505061026292506126f1565b816010916020956044949560145260345263a9059cbb60601b82525af13d156001845114171615611148575080f35b6390b8ec188252601cfd5b6020602491604051928380926370a0823160e01b8252308b8301525afa9081156111b6578391611185575b5093611108565b90506020813d82116111ae575b8161119f60209383611810565b810103126104fa57513861117e565b3d9150611192565b6040513d85823e3d90fd5b90503461026557602036600319011261026557604060209260019235815260658452200154604051908152f35b823461023a57602036600319011261023a5761026261120b611702565b6112136126d4565b6124ad565b905034610265576040366003190112610265578035916001600160401b03918284116102655736602385011215610265578381013592611257846118c3565b946112656040519687611810565b84865260209460248688019160051b830101913683116104f2576024879101915b8383106113d057505050506024359081116104fa576112a890369083016118da565b916112b1612b12565b8451916112bd836118c3565b956112cb6040519788611810565b838752601f196112da856118c3565b013687890137845184036113c057825b84811061130d57600160975560405187815280611309818a018b61195a565b0390f35b6113178183611b89565b51845260cf875260018060a01b039061135f6001928986828660408b20015416611341868d611b89565b518a6040518097819582946315df065760e11b845233918401611b61565b03925af19182156113b5578792611386575b5061137c838c611b89565b91169052016112ea565b6113a79192508a3d8c116113ae575b61139f8183611810565b810190611b42565b9038611371565b503d611395565b6040513d89823e3d90fd5b5060405163636e39bb60e01b8152fd5b8235815291810191879101611286565b823461023a578060031936011261023a57602060ca54604051908152f35b61144d9150602061140e36611894565b9290611418612b12565b855260cf825260018060a01b039283600160408820015416906040518096819482936315df065760e11b845233918401611b61565b039134905af19182156111b65760209392611472575b50600160975560405191168152f35b61148a919250833d81116113ae5761139f8183611810565b9038611463565b823461023a5760209182600319360112610265578160a06040516114b481611796565b82815282868201528260408201526040516114ce816117c7565b838152606087820152606082015282608082015201528035825260cf835260408220604051916114fd83611796565b815483526001808301546001600160a01b0390811687860190815260028501548216604080880191825251919491939091611537856117c7565b60038701548552860189604051928a83549361155285611b08565b8087529483811690811561162057506001146115e4575b5050505050611580816115d3969798990382611810565b888401526060870192835281600660058801549760808a0198895201549560a08901968752604051998a99818b5251908a015251166040880152511660608601525160c0608086015260e0850190611776565b915160a08401525160c08301520390f35b908094939c50528a83205b82841061160d57505050810190970196611580896115d3838d611569565b80548585018d0152928b019281016115ef565b60ff1916858801525050505090151560051b8201019750611580896115d3838d611569565b823461023a57602036600319011261023a577f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea46020611682611702565b61168a6126d4565b6001600160a01b031680845260d082526040808520805460ff1916905551908152a180f35b9150346104fa5760203660031901126104fa573563ffffffff60e01b81168091036104fa5760209250637965db0b60e01b81149081156116f1575b5015158152f35b6301ffc9a760e01b149050386116ea565b600435906001600160a01b03821682036106c157565b602435906001600160a01b03821682036106c157565b60005b8381106117415750506000910152565b8181015183820152602001611731565b9060209161176a8151809281855285808601910161172e565b601f01601f1916010190565b906040602061179393805184520151918160208201520190611751565b90565b60c081019081106001600160401b038211176117b157604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176117b157604052565b6001600160401b0381116117b157604052565b606081019081106001600160401b038211176117b157604052565b601f909101601f19168101906001600160401b038211908210176117b157604052565b9192916001600160401b0382116117b1576040519161185c601f8201601f191660200184611810565b8294818452818301116106c1578281602093846000960137010152565b9080601f830112156106c15781602061179393359101611833565b9060406003198301126106c15760043591602435906001600160401b0382116106c15761179391600401611879565b6001600160401b0381116117b15760051b60200190565b9080601f830112156106c1578135906118f2826118c3565b926119006040519485611810565b828452602092838086019160051b830101928084116106c157848301915b84831061192e5750505050505090565b82356001600160401b0381116106c157869161194f84848094890101611879565b81520192019161191e565b90815180825260208080930193019160005b82811061197a575050505090565b83516001600160a01b03168552938101939281019260010161196c565b81601f820112156106c1578035916119ae836118c3565b926119bc6040519485611810565b808452602092838086019260051b8201019283116106c1578301905b8282106119e6575050505090565b81356001600160a01b03811681036106c15781529083019083016119d8565b91906040838203126106c15760405190611a1e826117c7565b8335825290928391906020810135906001600160401b0382116106c1570181601f820112156106c1576020918183611a5893359101611833565b910152565b60e06003198201126106c157600435916001600160a01b039060243582811681036106c157926001600160401b03906044358281116106c15781611aa391600401611879565b9360643590811681036106c157926084359260a4358181116106c15783611acc91600401611a05565b9260c4359182116106c15761179391600401611997565b6000198114611af25760010190565b634e487b7160e01b600052601160045260246000fd5b90600182811c92168015611b38575b6020831014611b2257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b17565b908160209103126106c157516001600160a01b03811681036106c15790565b90611b79602091949394604084526040840190611751565b6001600160a01b03909416910152565b8051821015611b9d5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b60005260cf602052611bcd3360066040600020015461270f565b15611bd457565b60405163075fd2b160e01b8152600490fd5b91908201809211611af257565b949695939291966000946044602060018060a01b0360cd541660405192838092635e8a791560e01b82528c60048301523360248301525afa9081156113b5578791612188575b5015611bd457611c4a60cb54611ae3565b958660cb55869960405160208101908982526430b236b4b760d91b604082015260258152611c77816117f5565b51902090604051611c8781611796565b8a8152602081019060018060a01b038816825260206040820160018060a01b038b16815260608301908982528d60808501528660a08501528d885260cf8352604088209484518655600186019060018060a01b039051169060018060a01b03199182825416179055600286019160018060a01b03905116908254161790555180516003850155015180519060018060401b03821161217457611d2c6004850154611b08565b601f8111612130575b50602090601f83116001146120be5791806006949260a0948a926120b3575b50508160011b916000199060031b1c19161760048501555b608081015160058501550151910155611d853383612a22565b888352606560205260016040842001918083549355604051928a7fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8680a46001600160a01b0386163b156104fa578180611dfb8593633b7451b360e21b83528c6004840152604060248401526044830190611751565b0381836001600160a01b038a165af18015610eeb576120a4575b5060405163038fff2d60e41b81529091906020816004816001600160a01b0389165afa9081156111b657908891849161206f575b5014801590611fed575b611fdb578051915b828110611f9c5750505060ca5480611ed1575b50611ebc9084600080516020612bfa83398151915295611ec1575b60405194859460018060a01b0316855260018060a01b031660208501526040840152608060608401526080830190611776565b0390a3565b611ecc848883612249565b611e89565b906001600160a01b038416600080516020612b9a833981519152148080611f87575b8115611f6e575b50611f5c57600080516020612bfa83398151915294611f26611ebc9360018060a01b0360cc54166126f1565b867f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72602060ca54604051908152a2945090611e6e565b6040516303e09bb960e31b8152600490fd5b90501580611f7d575b38611efa565b5034821415611f77565b9050611f938684611be6565b34141590611ef3565b6001600160a01b03611fae8284611b89565b5116908115611fc957611fc36001928a612a22565b01611e5b565b60405163538ba4f960e01b8152600490fd5b60405163636e39bb60e01b8152600490fd5b50604051630ae6240f60e11b81526020816004816001600160a01b0389165afa9081156111b657839161202d575b506001600160a01b0316301415611e53565b90506020813d602011612067575b8161204860209383611810565b810103126104fa57516001600160a01b03811681036104fa573861201b565b3d915061203b565b9150506020813d60201161209c575b8161208b60209383611810565b810103126106c15787905138611e49565b3d915061207e565b6120ad906117e2565b38611e15565b015190503880611d54565b906004850188526020882091885b601f19851681106121185750926006949260019260a09583601f198116106120ff575b505050811b016004850155611d6c565b015160001960f88460031b161c191690553880806120ef565b919260206001819286850151815501940192016120cc565b60048501885260208820601f840160051c81016020851061216d575b601f830160051c82018110612162575050611d35565b89815560010161214c565b508061214c565b634e487b7160e01b87526041600452602487fd5b90506020813d6020116121bf575b816121a360209383611810565b810103126121bb575180151581036121bb5738611c39565b8680fd5b3d9150612196565b600090815260cf60205260408120600101549091906001600160a01b0316803b156104fa57918091612210936040518080968194633bca483f60e21b8352339060048401611b61565b039134905af190811561223057506122255750565b61222e906117e2565b565b604051903d90823e3d90fd5b91908203918211611af257565b9291926000819083815260209560cf875260018060a01b03906040948260028786200154169060c9548061237b575b5050600080516020612b9a83398151915281036123315785516122b29161229e826117f5565b3382528484168b83015286888301526125ce565b505b1695863b156106c1576000809760248651809a819363f5b0dfb760e01b83528860048401525af1968715612326577fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851959697612317575b508351928352820152a2565b612320906117e2565b3861230b565b84513d6000823e3d90fd5b9361237082958461237594169061236a8c61234c8484612686565b95848c519261235a846117f5565b3384528301528b820152826125ce565b50612686565b61223c565b926122b4565b81819396929750029186830414861517156124565750670de0b6b3a76400009004926123a7848661223c565b946123b28686611be6565b0361244557600080516020612b9a83398151915281036123fb576123f28360cc54168751906123e0826117f5565b3382528b8201528588820152826125ce565b505b3880612278565b9261243f906124308460cc54166124128188612686565b9289519161241f836117f5565b3383528d83015289820152866125ce565b506123708460cc541686612686565b926123f4565b8551637fcce2a960e01b8152600490fd5b634e487b7160e01b81526011600452602490fd5b908160005260cf6020526124868160056040600020015461270f565b91821561249257505090565b611793925060005260cf60205260066040600020015461270f565b6001600160a01b03168015611fc95760cd80546001600160a01b031916821790556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602090a1565b6001600160a01b03168015611fc95760cc80546001600160a01b031916821790556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602090a1565b670de0b6b3a7640000811161258b576020817f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b0659260c955604051908152a1565b604051632fb15b8760e01b8152600490fd5b60207f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3918060ca55604051908152a1565b6040820151906001600160a01b0390818116600080516020612b9a83398151915203612621575081341061260f57602061260a930151166126f1565b600190565b6040516374c5672b60e01b8152600490fd5b601c6000606492868295602080989951920151166040519860605260405260018060601b03199060601b16602c526323b872dd60601b600c525af13d15600160005114171615612678576000606052604052600190565b637939f4246000526004601cfd5b6001600160a01b039190828116600080516020612b9a833981519152036126ad5750163190565b60209250601060249184936014526370a0823160601b6000525afa601f3d11166020510290565b638b78c6d8195433036126e357565b6382b429006000526004601cfd5b600080809381935af11561270157565b63b12d13eb6000526004601cfd5b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff8482205416156127615750505050565b3384519261276e846117f5565b602a84528484019086368337845115612a0e57603082538451926001938410156129fa576078602187015360295b848111612990575061296057865192608084016001600160401b0381118582101761294c57885260428452868401946060368737845115612938576030865384518210156129385790607860218601536041915b8183116128ca5750505061289a5761289693869361287a9361286b6048946128429a519a8b9576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c880152518092603788019061172e565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061172e565b01036028810187520185611810565b5192839262461bcd60e51b845260048401526024830190611751565b0390fd5b60648587519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b909192600f81166010811015612924576f181899199a1a9b1b9c1cb0b131b232b360811b901a6128fa8588612b68565b5360041c928015612910576000190191906127f0565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b86526041600452602486fd5b60648688519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b90600f811660108110156129e6576f181899199a1a9b1b9c1cb0b131b232b360811b901a6129be8389612b68565b5360041c9080156129d2576000190161279c565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541615612a5457505050565b80835260656020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416612acd57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b600260975414612b23576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908151811015611b9d57016020019056fe537472696e67733a20686578206c656e67746820696e73756666696369656e74000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e014f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf069bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1a26469706673582212207a3445bd0df9215795f77646a04c1e469b016e08c3c49eab6ff1ec1d9354971d64736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a7146116af57508163031e2fa114611645578163068bcd8d14611491578163075c0e9c146113fe57816315e812ad146113e05781631a20bd88146112185781631a5da6c8146111ee578163248a9ca3146111c157816324ae6a27146110b5578163256929621461106a57816329e40d4b146110435781632cf682b014610fe45781632ec3818814610fc95781632f2ff15d14610f8b57816336568abe14610efa5781633a5fbd9214610e0b5781633b19e84a14610de257816341bba0b414610d5b5781634edbaadc14610d3d57816354d1f13d14610cf75781635ab1bd5314610cce5781635acd6fac14610b1c5781635f9ca13814610964578163715018a61461093057816377da8caf1461080b5781637f51bb1f146107e65781637f5a70bd146107a85781638da5cb5b1461077b5781638e6901861461075657816391d148541461070b578163a0cf0aea146106e2578163a217fddf146106c6578163a6b63eb81461057d578163ab2ec5891461053e578163ab3febc6146104fe578163c6dff1cf14610438578163cfc0cc3414610403578163d547741f146103c5578163e1007d4a14610355578163f04e283e146102e7578163f2fde38b1461028c578163f4e1fc4114610269578163f54fc4a01461023d575063fee81cf41461020857600080fd5b3461023a57602036600319011261023a57610221611702565b9063389a75e1600c5252602080600c2054604051908152f35b80fd5b905034610265576020366003190112610265576102629061025c6126d4565b3561254b565b80f35b5080fd5b823461023a578060031936011261023a576020604051670de0b6b3a76400008152f35b90506020366003190112610265576102a2611702565b906102ab6126d4565b8160601b156102dc575060018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b637448fbae8352601cfd5b90506020366003190112610265576102fd611702565b906103066126d4565b63389a75e1600c528183526020600c20908154421161034a575082905560018060a01b0316638b78c6d819818154600080516020612bba8339815191528580a35580f35b636f5e88188452601cfd5b905061036036611a5d565b979096919592946001600160a01b031692919083156103b5576040818560ff935260d06020522054166103a657602061039e89898989898989611bf3565b604051908152f35b60405163eeffa72160e01b8152fd5b5060405163538ba4f960e01b8152fd5b9050346102655760403660031901126102655761026290356103e5611718565b9080845260656020526103fe6001604086200154612737565b612a9c565b905034610265576020366003190112610265579060209135815260cf825260016040818060a01b039220015416604051908152f35b823461023a57604036600319011261023a5781356001600160401b038082116104fa57366023830112156104fa5781840135918183116104f657602490600592368386861b840101116104f25782359081116104f25761049b90369088016118da565b956104a4612b12565b865185036104e35750845b8481106104bf5785600160975580f35b806104dd6104cf6001938a611b89565b518583881b860101356121c7565b016104af565b60405163636e39bb60e01b8152fd5b8580fd5b8380fd5b8280fd5b905034610265576040366003190112610265576105349060066040602094610524611718565b9335815260cf865220015461270f565b6040519015158152f35b823461023a57602036600319011261023a5760209060ff906040906001600160a01b03610569611702565b16815260d084522054166040519015158152f35b9050346102655760a036600319011261026557610598611702565b906105a1611718565b6044359290916001600160a01b03919082851685036106c15785549060ff8260081c1615806106b4575b15610659575061ffff191661010117855516638b78c6d81981905561060c92916106079185600080516020612bba8339815191528180a36124ad565b6124fc565b61061760643561254b565b61062260843561259d565b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60849060206040519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50600160ff8316106105cb565b600080fd5b823461023a578060031936011261023a57602090604051908152f35b823461023a578060031936011261023a576020604051600080516020612b9a8339815191528152f35b823461023a57604036600319011261023a57604090610728611718565b923581526065602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b90503461026557602036600319011261026557610262906107756126d4565b3561259d565b823461023a578060031936011261023a57638b78c6d819546040516001600160a01b039091168152602090f35b9050346102655760403660031901126102655761026290356107c8611718565b906107d281611bb3565b835260cf6020526005604084200154612a9c565b823461023a57602036600319011261023a57610262610803611702565b6106076126d4565b8261081536611a5d565b959094610823949294612b12565b60018060a01b0390818116895260209860d08a5260ff6040822054161561091f57600960379133815260ce8c526e5af43d82803e903d91602b57fd5bf36040822080549061087082611ae3565b90558d604051908101913360601b8352603482015260348152610892816117f5565b51902094763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c1617835260781b178c52f5169081156108e1576108d4979850611bf3565b6001609755604051908152f35b60405162461bcd60e51b8152808a018990526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b60405163126d324760e31b81528b90fd5b828060031936011261023a576109446126d4565b80638b78c6d819818154600080516020612bba8339815191528280a35580f35b823461023a57604036600319011261023a5781356001600160401b036024358181116104f6576109979036908601611a05565b906109a2338461246a565b15610b0b5782845260209060cf8252856040862084516003820155019082840151968751918211610af857506109d88254611b08565b601f8111610ab5575b5082601f8211600114610a435781908798600080516020612bda833981519152979892610a38575b50508160011b916000199060031b1c19161790555b610a32604051928284938452830190611776565b0390a280f35b015190508880610a09565b82875283872097601f198316885b818110610a9e575091600080516020612bda83398151915297989991846001959410610a85575b505050811b019055610a1e565b015160001960f88460031b161c19169055888080610a78565b838301518b556001909a0199928601928601610a51565b828752838720601f830160051c810191858410610aee575b601f0160051c01905b818110610ae357506109e1565b878155600101610ad6565b9091508190610acd565b634e487b7160e01b875260419052602486fd5b60405163075fd2b160e01b81528590fd5b82604036600319011261023a578135610b33612b12565b60243515610cbd5780825260cf6020526040822060405190610b5482611796565b8054825260018101546001600160a01b03908116602084015260028201541660408084019190915251610b86816117c7565b6003820154815260405186830180548791610ba082611b08565b8085529160018116908115610c965750600114610c4f575b505090610bcb8160069594930382611810565b6020820152606084015260058101546080840152015460a082015260408101516001600160a01b0316600080516020612b9a8339815191521480610c43575b610c325760200151610c2a916001600160a01b0390911690602435612249565b600160975580f35b6040516303e09bb960e31b81528490fd5b50346024351415610c0a565b885260208820949392915087905b808210610c78575092935090918101602001610bcb82610bb8565b91929394600181602092548385880101520191019094939291610c5d565b60ff191660208087019190915292151560051b85019092019250610bcb9150839050610bb8565b6040516303e09bb960e31b81528390fd5b823461023a578060031936011261023a5760cd546040516001600160a01b039091168152602090f35b828060031936011261023a5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b823461023a578060031936011261023a57602060c954604051908152f35b90503461026557602036600319011261026557610d76611702565b610d7e6126d4565b6001600160a01b0316908115610dd357506020817f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d192845260d0825260408420600160ff19825416179055604051908152a180f35b60405163538ba4f960e01b8152fd5b823461023a578060031936011261023a5760cc546040516001600160a01b039091168152602090f35b9050346102655781600319606036820112610265576001600160401b03906024358281116104f657610e409036908601611997565b916044359081116104f657610e589036908601611879565b610e60612b12565b8435845260cf60205260408420600101546001600160a01b031691823b15610ef657610eaf95610ebe8692606094604051998a9889978896630a6f0ee960e01b8852870152606486019061195a565b91848303016024850152611751565b33604483015203925af18015610eeb57610edc575b50600160975580f35b610ee5906117e2565b38610ed3565b6040513d84823e3d90fd5b8480fd5b823461023a57604036600319011261023a57610f14611718565b336001600160a01b03821603610f2f57610262919235612a9c565b60405162461bcd60e51b8152602081850152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b905034610265576040366003190112610265576102629035610fab611718565b908084526065602052610fc46001604086200154612737565b612a22565b82610c2a610fd636611894565b90610fdf612b12565b6121c7565b823461023a57604036600319011261023a578135611000611718565b9061100a81611bb3565b6001600160a01b03821615611032579061026291835260cf6020526005604084200154612a22565b60405163538ba4f960e01b81528490fd5b823461023a57604036600319011261023a57602061053483611063611718565b903561246a565b828060031936011261023a5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b905034610265576040366003190112610265576110d0611702565b6110d8611718565b6110e06126d4565b6001600160a01b038216600080516020612b9a83398151915281149285918415611153575047935b1561111957505061026292506126f1565b816010916020956044949560145260345263a9059cbb60601b82525af13d156001845114171615611148575080f35b6390b8ec188252601cfd5b6020602491604051928380926370a0823160e01b8252308b8301525afa9081156111b6578391611185575b5093611108565b90506020813d82116111ae575b8161119f60209383611810565b810103126104fa57513861117e565b3d9150611192565b6040513d85823e3d90fd5b90503461026557602036600319011261026557604060209260019235815260658452200154604051908152f35b823461023a57602036600319011261023a5761026261120b611702565b6112136126d4565b6124ad565b905034610265576040366003190112610265578035916001600160401b03918284116102655736602385011215610265578381013592611257846118c3565b946112656040519687611810565b84865260209460248688019160051b830101913683116104f2576024879101915b8383106113d057505050506024359081116104fa576112a890369083016118da565b916112b1612b12565b8451916112bd836118c3565b956112cb6040519788611810565b838752601f196112da856118c3565b013687890137845184036113c057825b84811061130d57600160975560405187815280611309818a018b61195a565b0390f35b6113178183611b89565b51845260cf875260018060a01b039061135f6001928986828660408b20015416611341868d611b89565b518a6040518097819582946315df065760e11b845233918401611b61565b03925af19182156113b5578792611386575b5061137c838c611b89565b91169052016112ea565b6113a79192508a3d8c116113ae575b61139f8183611810565b810190611b42565b9038611371565b503d611395565b6040513d89823e3d90fd5b5060405163636e39bb60e01b8152fd5b8235815291810191879101611286565b823461023a578060031936011261023a57602060ca54604051908152f35b61144d9150602061140e36611894565b9290611418612b12565b855260cf825260018060a01b039283600160408820015416906040518096819482936315df065760e11b845233918401611b61565b039134905af19182156111b65760209392611472575b50600160975560405191168152f35b61148a919250833d81116113ae5761139f8183611810565b9038611463565b823461023a5760209182600319360112610265578160a06040516114b481611796565b82815282868201528260408201526040516114ce816117c7565b838152606087820152606082015282608082015201528035825260cf835260408220604051916114fd83611796565b815483526001808301546001600160a01b0390811687860190815260028501548216604080880191825251919491939091611537856117c7565b60038701548552860189604051928a83549361155285611b08565b8087529483811690811561162057506001146115e4575b5050505050611580816115d3969798990382611810565b888401526060870192835281600660058801549760808a0198895201549560a08901968752604051998a99818b5251908a015251166040880152511660608601525160c0608086015260e0850190611776565b915160a08401525160c08301520390f35b908094939c50528a83205b82841061160d57505050810190970196611580896115d3838d611569565b80548585018d0152928b019281016115ef565b60ff1916858801525050505090151560051b8201019750611580896115d3838d611569565b823461023a57602036600319011261023a577f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea46020611682611702565b61168a6126d4565b6001600160a01b031680845260d082526040808520805460ff1916905551908152a180f35b9150346104fa5760203660031901126104fa573563ffffffff60e01b81168091036104fa5760209250637965db0b60e01b81149081156116f1575b5015158152f35b6301ffc9a760e01b149050386116ea565b600435906001600160a01b03821682036106c157565b602435906001600160a01b03821682036106c157565b60005b8381106117415750506000910152565b8181015183820152602001611731565b9060209161176a8151809281855285808601910161172e565b601f01601f1916010190565b906040602061179393805184520151918160208201520190611751565b90565b60c081019081106001600160401b038211176117b157604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176117b157604052565b6001600160401b0381116117b157604052565b606081019081106001600160401b038211176117b157604052565b601f909101601f19168101906001600160401b038211908210176117b157604052565b9192916001600160401b0382116117b1576040519161185c601f8201601f191660200184611810565b8294818452818301116106c1578281602093846000960137010152565b9080601f830112156106c15781602061179393359101611833565b9060406003198301126106c15760043591602435906001600160401b0382116106c15761179391600401611879565b6001600160401b0381116117b15760051b60200190565b9080601f830112156106c1578135906118f2826118c3565b926119006040519485611810565b828452602092838086019160051b830101928084116106c157848301915b84831061192e5750505050505090565b82356001600160401b0381116106c157869161194f84848094890101611879565b81520192019161191e565b90815180825260208080930193019160005b82811061197a575050505090565b83516001600160a01b03168552938101939281019260010161196c565b81601f820112156106c1578035916119ae836118c3565b926119bc6040519485611810565b808452602092838086019260051b8201019283116106c1578301905b8282106119e6575050505090565b81356001600160a01b03811681036106c15781529083019083016119d8565b91906040838203126106c15760405190611a1e826117c7565b8335825290928391906020810135906001600160401b0382116106c1570181601f820112156106c1576020918183611a5893359101611833565b910152565b60e06003198201126106c157600435916001600160a01b039060243582811681036106c157926001600160401b03906044358281116106c15781611aa391600401611879565b9360643590811681036106c157926084359260a4358181116106c15783611acc91600401611a05565b9260c4359182116106c15761179391600401611997565b6000198114611af25760010190565b634e487b7160e01b600052601160045260246000fd5b90600182811c92168015611b38575b6020831014611b2257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b17565b908160209103126106c157516001600160a01b03811681036106c15790565b90611b79602091949394604084526040840190611751565b6001600160a01b03909416910152565b8051821015611b9d5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b60005260cf602052611bcd3360066040600020015461270f565b15611bd457565b60405163075fd2b160e01b8152600490fd5b91908201809211611af257565b949695939291966000946044602060018060a01b0360cd541660405192838092635e8a791560e01b82528c60048301523360248301525afa9081156113b5578791612188575b5015611bd457611c4a60cb54611ae3565b958660cb55869960405160208101908982526430b236b4b760d91b604082015260258152611c77816117f5565b51902090604051611c8781611796565b8a8152602081019060018060a01b038816825260206040820160018060a01b038b16815260608301908982528d60808501528660a08501528d885260cf8352604088209484518655600186019060018060a01b039051169060018060a01b03199182825416179055600286019160018060a01b03905116908254161790555180516003850155015180519060018060401b03821161217457611d2c6004850154611b08565b601f8111612130575b50602090601f83116001146120be5791806006949260a0948a926120b3575b50508160011b916000199060031b1c19161760048501555b608081015160058501550151910155611d853383612a22565b888352606560205260016040842001918083549355604051928a7fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8680a46001600160a01b0386163b156104fa578180611dfb8593633b7451b360e21b83528c6004840152604060248401526044830190611751565b0381836001600160a01b038a165af18015610eeb576120a4575b5060405163038fff2d60e41b81529091906020816004816001600160a01b0389165afa9081156111b657908891849161206f575b5014801590611fed575b611fdb578051915b828110611f9c5750505060ca5480611ed1575b50611ebc9084600080516020612bfa83398151915295611ec1575b60405194859460018060a01b0316855260018060a01b031660208501526040840152608060608401526080830190611776565b0390a3565b611ecc848883612249565b611e89565b906001600160a01b038416600080516020612b9a833981519152148080611f87575b8115611f6e575b50611f5c57600080516020612bfa83398151915294611f26611ebc9360018060a01b0360cc54166126f1565b867f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72602060ca54604051908152a2945090611e6e565b6040516303e09bb960e31b8152600490fd5b90501580611f7d575b38611efa565b5034821415611f77565b9050611f938684611be6565b34141590611ef3565b6001600160a01b03611fae8284611b89565b5116908115611fc957611fc36001928a612a22565b01611e5b565b60405163538ba4f960e01b8152600490fd5b60405163636e39bb60e01b8152600490fd5b50604051630ae6240f60e11b81526020816004816001600160a01b0389165afa9081156111b657839161202d575b506001600160a01b0316301415611e53565b90506020813d602011612067575b8161204860209383611810565b810103126104fa57516001600160a01b03811681036104fa573861201b565b3d915061203b565b9150506020813d60201161209c575b8161208b60209383611810565b810103126106c15787905138611e49565b3d915061207e565b6120ad906117e2565b38611e15565b015190503880611d54565b906004850188526020882091885b601f19851681106121185750926006949260019260a09583601f198116106120ff575b505050811b016004850155611d6c565b015160001960f88460031b161c191690553880806120ef565b919260206001819286850151815501940192016120cc565b60048501885260208820601f840160051c81016020851061216d575b601f830160051c82018110612162575050611d35565b89815560010161214c565b508061214c565b634e487b7160e01b87526041600452602487fd5b90506020813d6020116121bf575b816121a360209383611810565b810103126121bb575180151581036121bb5738611c39565b8680fd5b3d9150612196565b600090815260cf60205260408120600101549091906001600160a01b0316803b156104fa57918091612210936040518080968194633bca483f60e21b8352339060048401611b61565b039134905af190811561223057506122255750565b61222e906117e2565b565b604051903d90823e3d90fd5b91908203918211611af257565b9291926000819083815260209560cf875260018060a01b03906040948260028786200154169060c9548061237b575b5050600080516020612b9a83398151915281036123315785516122b29161229e826117f5565b3382528484168b83015286888301526125ce565b505b1695863b156106c1576000809760248651809a819363f5b0dfb760e01b83528860048401525af1968715612326577fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851959697612317575b508351928352820152a2565b612320906117e2565b3861230b565b84513d6000823e3d90fd5b9361237082958461237594169061236a8c61234c8484612686565b95848c519261235a846117f5565b3384528301528b820152826125ce565b50612686565b61223c565b926122b4565b81819396929750029186830414861517156124565750670de0b6b3a76400009004926123a7848661223c565b946123b28686611be6565b0361244557600080516020612b9a83398151915281036123fb576123f28360cc54168751906123e0826117f5565b3382528b8201528588820152826125ce565b505b3880612278565b9261243f906124308460cc54166124128188612686565b9289519161241f836117f5565b3383528d83015289820152866125ce565b506123708460cc541686612686565b926123f4565b8551637fcce2a960e01b8152600490fd5b634e487b7160e01b81526011600452602490fd5b908160005260cf6020526124868160056040600020015461270f565b91821561249257505090565b611793925060005260cf60205260066040600020015461270f565b6001600160a01b03168015611fc95760cd80546001600160a01b031916821790556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602090a1565b6001600160a01b03168015611fc95760cc80546001600160a01b031916821790556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602090a1565b670de0b6b3a7640000811161258b576020817f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b0659260c955604051908152a1565b604051632fb15b8760e01b8152600490fd5b60207f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3918060ca55604051908152a1565b6040820151906001600160a01b0390818116600080516020612b9a83398151915203612621575081341061260f57602061260a930151166126f1565b600190565b6040516374c5672b60e01b8152600490fd5b601c6000606492868295602080989951920151166040519860605260405260018060601b03199060601b16602c526323b872dd60601b600c525af13d15600160005114171615612678576000606052604052600190565b637939f4246000526004601cfd5b6001600160a01b039190828116600080516020612b9a833981519152036126ad5750163190565b60209250601060249184936014526370a0823160601b6000525afa601f3d11166020510290565b638b78c6d8195433036126e357565b6382b429006000526004601cfd5b600080809381935af11561270157565b63b12d13eb6000526004601cfd5b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff8482205416156127615750505050565b3384519261276e846117f5565b602a84528484019086368337845115612a0e57603082538451926001938410156129fa576078602187015360295b848111612990575061296057865192608084016001600160401b0381118582101761294c57885260428452868401946060368737845115612938576030865384518210156129385790607860218601536041915b8183116128ca5750505061289a5761289693869361287a9361286b6048946128429a519a8b9576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c880152518092603788019061172e565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061172e565b01036028810187520185611810565b5192839262461bcd60e51b845260048401526024830190611751565b0390fd5b60648587519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b909192600f81166010811015612924576f181899199a1a9b1b9c1cb0b131b232b360811b901a6128fa8588612b68565b5360041c928015612910576000190191906127f0565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b86526041600452602486fd5b60648688519062461bcd60e51b82528060048301526024820152600080516020612b7a8339815191526044820152fd5b90600f811660108110156129e6576f181899199a1a9b1b9c1cb0b131b232b360811b901a6129be8389612b68565b5360041c9080156129d2576000190161279c565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541615612a5457505050565b80835260656020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416612acd57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b600260975414612b23576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908151811015611b9d57016020019056fe537472696e67733a20686578206c656e67746820696e73756666696369656e74000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e014f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf069bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1a26469706673582212207a3445bd0df9215795f77646a04c1e469b016e08c3c49eab6ff1ec1d9354971d64736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10204:237:12;;;;;5076:29047:0;10204:237:12;;;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;14005:11;10797:70:12;;;:::i;:::-;5076:29047:0;14005:11;:::i;:::-;5076:29047;;;;;;;;;;;;;;;;;;;;;;31880:4;5076:29047;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:12;;;:::i;:::-;6789:183;;;;;;5076:29047:0;;;;;;5147:382:12;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:12;;;;5076:29047:0;;6789:183:12;;;;;;5076:29047:0;;-1:-1:-1;5076:29047:0;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:12;;;:::i;:::-;8816:526;;;;;;5076:29047:0;8816:526:12;;;;;;;;;;;;;5076:29047:0;;;;;5147:382:12;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:12;;;;5076:29047:0;;8816:526:12;;;;;;5076:29047:0;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;10687:23;;10683:50;;5076:29047;;;;;;28993:19;5076:29047;;;;;10894:66;;5076:29047;11055:103;;;;;;;;;:::i;:::-;5076:29047;;;;;;10894:66;5076:29047;;-1:-1:-1;;;10938:22:0;;;10683:50;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;10719:14:0;;;5076:29047;;;;;;;;-1:-1:-1;;5076:29047:0;;;;5837:7:40;5076:29047:0;;;;:::i;:::-;;;;;4955:6:40;5076:29047:0;;2809:4:40;5076:29047:0;;;;4955:22:40;5076:29047:0;2809:4:40;:::i;:::-;5837:7;:::i;5076:29047:0:-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;32848:5;5076:29047;;;;;;;;;;;32848:23;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:103:45;;;:::i;:::-;5076:29047:0;;20772:25;;20768:48;;20921:9;;20932:12;;;;;;5076:29047;;3074:22:45;5076:29047:0;;;20921:9;20984;;;5076:29047;20984:9;;;:::i;:::-;;5076:29047;;;;;;;;20984:9;:::i;:::-;5076:29047;20921:9;;20768:48;5076:29047;;-1:-1:-1;;;20806:10:0;;;5076:29047;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;29449:43;5076:29047;29457:24;5076:29047;;;;;:::i;:::-;;;;;29457:5;5076:29047;;;29457:24;5076:29047;29449:43;:::i;:::-;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;:::i;:::-;;;;28993:19;5076:29047;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;4881:14:44;:40;;;5076:29047:0;;;;-1:-1:-1;;;5076:29047:0;;;;;4634:328:12;-1:-1:-1;;4634:328:12;;;8064:9:0;;5076:29047;7984:9;;5076:29047;-1:-1:-1;;;;;;;;;;;5076:29047:0;;4634:328:12;7984:9:0;:::i;:::-;8064;:::i;:::-;8137:11;5076:29047;;8137:11;:::i;:::-;8203:8;5076:29047;;8203:8;:::i;:::-;5076:29047;;;;;;;5091:20:44;5076:29047:0;;;;;;5091:20:44;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;4881:40:44;5076:29047:0;;;;;4899:22:44;4881:40;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;:::i;:::-;;;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;14273:8;10797:70:12;;;:::i;:::-;5076:29047:0;14273:8;:::i;5076:29047::-;;;;;;;;;;;;;-1:-1:-1;;9833:70:12;5076:29047:0;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;16094:8;5076:29047;;;;:::i;:::-;8857:7;;;;:::i;:::-;5076:29047;;16066:5;5076:29047;;16066:26;5076:29047;;;16066:26;5076:29047;16094:8;:::i;5076:29047::-;;;;;;;-1:-1:-1;;5076:29047:0;;;;13720:9;5076:29047;;:::i;:::-;10797:70:12;;:::i;5076:29047:0:-;;;;;:::i;:::-;2492:103:45;;;;;;;;:::i;:::-;5076:29047:0;;;;;;;;;;;;;28993:19;5076:29047;;;;;;;;12281:32;12277:93;;2273:565:43;;12522:10:0;;5076:29047;;12514:7;5076:29047;;2273:565:43;5076:29047:0;;;;;12514:21;;;;:::i;:::-;5076:29047;;;;;4867:36:6;;;12522:10:0;;5076:29047;;;;;;;;;4867:36:6;;;;;:::i;:::-;5076:29047:0;4857:47:6;;2273:565:43;;;;;;;;;;;;;;;;5076:29047:0;2855:22:43;;;5076:29047:0;;12426:239;;;;;:::i;:::-;5076:29047;3074:22:45;5076:29047:0;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;12277:93;5076:29047;;-1:-1:-1;;;12336:23:0;;5076:29047;;12336:23;5076:29047;;;;;;;;;;10797:70:12;;:::i;:::-;5147:382;;;;;;-1:-1:-1;;;;;;;;;;;5147:382:12;;;;5076:29047:0;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;:::i;:::-;22011:10;21987:35;22011:10;21987:35;;:::i;:::-;21986:36;21982:63;;5076:29047;;;;;13030:5;5076:29047;;;;;;;;;13054:13;;5076:29047;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13095:39;;;5076:29047;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;21982:63;5076:29047;;-1:-1:-1;;;22031:14:0;;5076:29047;;22031:14;5076:29047;;;;-1:-1:-1;;5076:29047:0;;;;;;2492:103:45;;:::i;:::-;5076:29047:0;;19318:12;19314:43;;5076:29047;;;19387:5;5076:29047;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;19415:20:0;;:44;;5076:29047;19411:75;;5076:29047;;;19574:13;;-1:-1:-1;;;;;5076:29047:0;;;;;;19574:13;:::i;:::-;5076:29047;3074:22:45;5076:29047:0;;;19411:75;5076:29047;;-1:-1:-1;;;19468:18:0;;5076:29047;;19468:18;19415:44;19450:9;;5076:29047;;19439:20;;19415:44;;5076:29047;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;-1:-1:-1;5076:29047:0;;19314:43;5076:29047;;-1:-1:-1;;;19339:18:0;;5076:29047;;19339:18;5076:29047;;;;;;;;;;;;;33562:8;5076:29047;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;8141:339:12;;;;;;;;;;;;;;;;5076:29047:0;;;;;;;;;;;;;;;;33051:10;5076:29047;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;10797:70:12;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;14567:23;;14563:50;;5076:29047;;;14676:27;5076:29047;;;14624:19;5076:29047;;;;;;;;;;;;;;;;;;;14676:27;5076:29047;;14563:50;5076:29047;;-1:-1:-1;;;14599:14:0;;;5076:29047;;;;;;;;;;;;;33393:8;5076:29047;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;2492:103:45;;:::i;:::-;5076:29047:0;;;;21589:5;5076:29047;;;;;;21589:23;5076:29047;-1:-1:-1;;;;;5076:29047:0;;21589:68;;;;;5076:29047;;;;;;;;;;;;;;;;;;;21589:68;;;;5076:29047;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;21646:10;5076:29047;;;;21589:68;;;;;;;;;;5076:29047;;;3074:22:45;5076:29047:0;;;21589:68;;;;:::i;:::-;;;;;5076:29047;;;;;;;;;21589:68;5076:29047;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;965:10:48;-1:-1:-1;;;;;5076:29047:0;;6484:23:40;5076:29047:0;;6588:7:40;5076:29047:0;;;6588:7:40;:::i;5076:29047:0:-;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;5410:7:40;5076:29047:0;;;;:::i;:::-;;;;;4955:6:40;5076:29047:0;;2809:4:40;5076:29047:0;;;;4955:22:40;5076:29047:0;2809:4:40;:::i;:::-;5410:7;:::i;5076:29047:0:-;;20035:5;5076:29047;;;:::i;:::-;2492:103:45;;;:::i;:::-;20035:5:0;:::i;5076:29047::-;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;:::i;:::-;8857:7;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;15568:22;15564:49;;5076:29047;15729:8;5076:29047;;;15701:5;5076:29047;;15701:26;5076:29047;;;15701:26;5076:29047;15729:8;:::i;15564:49::-;5076:29047;;-1:-1:-1;;;15599:14:0;;5076:29047;;15599:14;5076:29047;;;;;;;-1:-1:-1;;5076:29047:0;;;;;32580:33;5076:29047;;;:::i;:::-;;;32580:33;:::i;5076:29047::-;;;;;;;;;;7549:383:12;;;;;;6282:9;7442:15;5076:29047:0;7549:383:12;;;;;;;;;5076:29047:0;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;:::i;:::-;;;:::i;:::-;10797:70:12;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;-1:-1:-1;;;;;;;;;;;16523:16:0;;;5076:29047;;16523:93;;;;16542:21;;16523:93;;6815:16:10;;;6884:7;;;;;;:::i;6811:173::-;11581:1056:14;;;;;;;;;;;;;;;;;;;;;5076:29047:0;11581:1056:14;;;;;;;;6811:173:10;5076:29047:0;;11581:1056:14;;;;;;16523:93:0;5076:29047;;;;;;;;;;;;16566:50;;16610:4;16566:50;;;5076:29047;16566:50;;;;;;;;;;;16523:93;;;;;16566:50;;;5076:29047;16566:50;;;;;;;;;5076:29047;16566:50;;;:::i;:::-;;;5076:29047;;;;;16566:50;;;;;;-1:-1:-1;16566:50:0;;;5076:29047;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;4955:6:40;5076:29047:0;;;4955:22:40;5076:29047:0;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;13418:9;5076:29047;;:::i;:::-;10797:70:12;;:::i;:::-;13418:9:0;:::i;5076:29047::-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:103:45;;;:::i;:::-;5076:29047:0;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5076:29047:0;;;:::i;:::-;;;;;;;;;18498:28;;18494:51;;18663:9;18674:16;;;;;;5076:29047;3074:22:45;5076:29047:0;;;;;;;;;;;;;:::i;:::-;;;;18663:9;18731:11;;;;:::i;:::-;5076:29047;;;18725:5;5076:29047;;;;;;;;18725:67;5076:29047;;;;;;;;;18725:27;5076:29047;;18771:8;;;;:::i;:::-;;5076:29047;;;;;;;;;;;;18725:67;;18781:10;18725:67;;;;:::i;:::-;;;;;;;;;;;;;;18663:9;18707:85;;;;;:::i;:::-;5076:29047;;;;;18663:9;;18725:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;5076:29047;;;;;;;;;18494:51;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;18535:10:0;;;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;33211:7;5076:29047;;;;;;;;17489:78;5076:29047;;;;;;:::i;:::-;2492:103:45;;;;:::i;:::-;5076:29047:0;;17489:5;5076:29047;;;;;;;;;;;;;17489:23;5076:29047;;;;;;;;;;;;;;17489:78;;17556:10;17489:78;;;;:::i;:::-;;17538:9;;17489:78;;;;;;;;5076:29047;17489:78;;;;5076:29047;;;3074:22:45;5076:29047:0;;;;;;;;17489:78;;;;;;;;;;;;;;;:::i;:::-;;;;;5076:29047;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;34100:5;5076:29047;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;-1:-1:-1;;;;5076:29047:0;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;15155:26;5076:29047;;;:::i;:::-;10797:70:12;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;15059:19;5076:29047;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;15155:26;5076:29047;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3158:58:40;;;:98;;;;5076:29047:0;;;;;;;3158:98:40;-1:-1:-1;;;1189:51:50;;-1:-1:-1;3158:98:40;;;5076:29047:0;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;5076:29047:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;5076:29047:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;-1:-1:-1;;5076:29047:0;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;5076:29047:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;-1:-1:-1;;5076:29047:0;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5076:29047:0;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;22160:138;-1:-1:-1;5076:29047:0;29457:5;5076:29047;;29449:43;22257:10;29457:24;5076:29047;-1:-1:-1;5076:29047:0;29457:24;5076:29047;29449:43;:::i;:::-;22234:34;22230:61;;22160:138::o;22230:61::-;5076:29047;;-1:-1:-1;;;22277:14:0;;;;;5076:29047;;;;;;;;;;:::o;23131:2681::-;;;;;;;;5076:29047;;;23424:57;5076:29047;;;;;23424:8;5076:29047;;;;;;;;;;;23424:57;;;;;;5076:29047;23470:10;5076:29047;;;;23424:57;;;;;;;;;;;23131:2681;23423:58;;23419:85;;23524:12;;5076:29047;23524:12;:::i;:::-;5076:29047;;23524:12;5076:29047;23515:21;5076:29047;;;23424:57;23764:33;;5076:29047;;;;-1:-1:-1;;;5076:29047:0;;;;23764:33;;;;;;:::i;:::-;5076:29047;23754:44;;5076:29047;;;;;;:::i;:::-;;;;23424:57;23864:228;;5076:29047;;;;;;;;;;23424:57;5076:29047;23864:228;;5076:29047;;;;;;;;;23864:228;;;5076:29047;;;;23864:228;;;;5076:29047;23864:228;5076:29047;23864:228;;5076:29047;;;;24159:5;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;:::i;:::-;;;;;;23131:2681;5076:29047;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;23864:228;;;5076:29047;;;;;23864:228;5076:29047;;;;24267:10;23470;24267;;:::i;:::-;5076:29047;;;4955:6:40;23424:57:0;5076:29047;;;;;4955:22:40;5076:29047:0;;;;;;;;7711:52:40;;;;;;-1:-1:-1;;;;;5076:29047:0;;24541:47;;;;5076:29047;;;;;;;;24541:47;;;23424:57;24541:47;;5076:29047;;;;;;;;;;;:::i;:::-;24541:47;5076:29047;;-1:-1:-1;;;;;5076:29047:0;;24541:47;;;;;;;;5076:29047;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;24603:21:0;;5076:29047;;;23424:57;5076:29047;23424:57;5076:29047;-1:-1:-1;;;;;5076:29047:0;;24603:21;;;;;;;;;;;;;;5076:29047;24603:31;;;;:80;;;5076:29047;24599:103;;5076:29047;;24806:9;24817:18;;;;;;5076:29047;;;25081:7;5076:29047;25081:11;25077:554;;24801:266;25645:11;5076:29047;25645:11;;-1:-1:-1;;;;;;;;;;;25645:11:0;25641:79;;24801:266;5076:29047;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;23864:228;;5076:29047;;;23864:228;5076:29047;;;;:::i;:::-;25735:70;;;23131:2681::o;25641:79::-;25699:9;;;;;:::i;:::-;25641:79;;25077:554;5076:29047;-1:-1:-1;;;;;5076:29047:0;;-1:-1:-1;;;;;;;;;;;25359:16:0;;;:52;;25077:554;25358:100;;;;25077:554;25354:164;;;-1:-1:-1;;;;;;;;;;;5076:29047:0;6884:7:10;5076:29047:0;;;;;;;25555:8;5076:29047;;6884:7:10;:::i;:::-;5076:29047:0;25592:28;23424:57;25081:7;5076:29047;;;;;;25592:28;25077:554;;;;;25354:164;5076:29047;;-1:-1:-1;;;25485:18:0;;23424:57;;25485:18;25358:100;25417:16;;;:40;;;25358:100;;;;25417:40;25448:9;;25437:20;;;25417:40;;25359:52;25380:17;;;;;;:::i;:::-;25401:9;25380:30;;25359:52;;;24806:9;-1:-1:-1;;;;;24870:12:0;;;;:::i;:::-;5076:29047;;24900:21;;;24896:48;;24989:7;5076:29047;24989:7;;;:::i;:::-;5076:29047;24806:9;;24896:48;5076:29047;;-1:-1:-1;;;24930:14:0;;23424:57;;24930:14;24599:103;5076:29047;;-1:-1:-1;;;24692:10:0;;23424:57;;24692:10;24603:80;-1:-1:-1;5076:29047:0;;-1:-1:-1;;;24646:19:0;;23424:57;5076:29047;23424:57;5076:29047;-1:-1:-1;;;;;5076:29047:0;;24646:19;;;;;;;;;;;24603:80;-1:-1:-1;;;;;;5076:29047:0;24678:4;24638:45;;24603:80;;24646:19;;;23424:57;24646:19;;23424:57;24646:19;;;;;;23424:57;24646:19;;;:::i;:::-;;;5076:29047;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;24646:19;;;;;;-1:-1:-1;24646:19:0;;24603:21;;;;23424:57;24603:21;;23424:57;24603:21;;;;;;23424:57;24603:21;;;:::i;:::-;;;5076:29047;;;;;;;24603:21;;;;;;-1:-1:-1;24603:21:0;;24541:47;;;;:::i;:::-;;;;5076:29047;;;;-1:-1:-1;5076:29047:0;;;;;;23424:57;5076:29047;;;;23424:57;5076:29047;;;;;-1:-1:-1;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;23424:57;5076:29047;;;;23424:57;5076:29047;;;;;;;;;23424:57;5076:29047;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5076:29047:0;;;;-1:-1:-1;;;5076:29047:0;;;23424:57;5076:29047;;;;23424:57;;;;;;;;;;;;;;;;;:::i;:::-;;;5076:29047;;;;;;;;;;;;23424:57;;;5076:29047;;;;23424:57;;;-1:-1:-1;23424:57:0;;26159:151;-1:-1:-1;5076:29047:0;;;26234:5;5076:29047;;;;;;26234:23;5076:29047;-1:-1:-1;;26159:151:0;-1:-1:-1;;;;;5076:29047:0;26234:69;;;;;5076:29047;;;26234:69;5076:29047;;;;;;;;;;;26234:69;;26292:10;26234:69;;;;;:::i;:::-;;26274:9;;26234:69;;;;;;;;;;;26159:151;:::o;26234:69::-;;;;:::i;:::-;26159:151::o;26234:69::-;5076:29047;;;;;;;;;;;;;;;;;;;;:::o;26634:1879::-;;;;-1:-1:-1;26754:32:0;5076:29047;;;;;;26817:5;5076:29047;;;;;;;;;;;26858:10;5076:29047;;;26858:10;5076:29047;;;26883:10;5076:29047;26883:14;26879:808;;26634:1879;-1:-1:-1;;;;;;;;;;;;;27701:16:0;;4445:42:9;;5076:29047:0;;27733:139;;5076:29047;;;:::i;:::-;27798:10;5076:29047;;;;;27778:80;;;5076:29047;27778:80;;;;5076:29047;27733:139;:::i;:::-;;27697:693;5076:29047;28400:44;;;;;;-1:-1:-1;5076:29047:0;;;;;;;;;;;;28400:44;;;;;;5076:29047;28400:44;;;;;;;28460:46;28400:44;;;;;27697:693;5076:29047;;;;;;;;;28460:46;26634:1879::o;28400:44::-;;;;:::i;:::-;;;;;5076:29047;;;-1:-1:-1;5076:29047:0;;;;;27697:693;5076:29047;28178:39;5076:29047;;;28329:50;5076:29047;;27938:39;27991:139;27938:39;;;;;:::i;:::-;5076:29047;;;;;;;;:::i;:::-;28056:10;5076:29047;;28036:80;;5076:29047;28036:80;;;5076:29047;27991:139;;:::i;:::-;;28178:39;:::i;:::-;28329:50;:::i;:::-;27697:693;;;26879:808;5076:29047;;;;;;;;;;;;;;;;;;;;31880:4;5076:29047;;26983:27;;;;;:::i;:::-;27029:26;;;;;:::i;:::-;:37;27025:59;;-1:-1:-1;;;;;;;;;;;27103:16:0;;4445:42:9;;27139:94:0;5076:29047;27203:8;5076:29047;;;;;;;;:::i;:::-;27187:10;5076:29047;;27167:65;;;5076:29047;27167:65;;;;5076:29047;27139:94;;:::i;:::-;;27099:578;26879:808;;;;27099:578;5076:29047;27628:34;5076:29047;27346:94;5076:29047;27319:8;5076:29047;;27299:29;;;;:::i;:::-;5076:29047;;;;;;;:::i;:::-;27394:10;5076:29047;;27374:65;;;5076:29047;27374:65;;;5076:29047;27346:94;;:::i;:::-;;27484:29;5076:29047;27319:8;5076:29047;;27484:29;;:::i;27628:34::-;27099:578;;;27025:59;5076:29047;;-1:-1:-1;;;27075:9:0;;;;;5076:29047;-1:-1:-1;;;5076:29047:0;;;;;;;;29821:192;;5076:29047;-1:-1:-1;5076:29047:0;29934:5;5076:29047;;29926:45;5076:29047;29934:26;5076:29047;-1:-1:-1;5076:29047:0;29934:26;5076:29047;29926:45;:::i;:::-;:80;;;;;29919:87;;29821:192;:::o;29926:80::-;29449:43;5076:29047;;-1:-1:-1;5076:29047:0;29934:5;5076:29047;;29457:24;5076:29047;-1:-1:-1;5076:29047:0;29457:24;5076:29047;29449:43;:::i;30226:203::-;-1:-1:-1;;;;;5076:29047:0;30293:23;;30289:50;;30350:31;5076:29047;;-1:-1:-1;;;;;;5076:29047:0;;;;;;;;;;30396:26;;5076:29047;;30396:26;30226:203::o;30642:199::-;-1:-1:-1;;;;;5076:29047:0;30717:23;;30713:50;;30774:20;5076:29047;;-1:-1:-1;;;;;;5076:29047:0;;;;;;;;;;30809:25;;5076:29047;;30809:25;30642:199::o;31041:198::-;31126:4;31112:18;;31108:44;;5076:29047;;31203:29;5076:29047;31163:24;5076:29047;;;;;;31203:29;31041:198::o;31108:44::-;5076:29047;;-1:-1:-1;;;31139:13:0;;;;;31426:125;5076:29047;31521:23;31426:125;5076:29047;31487:18;5076:29047;;;;;;31521:23;31426:125::o;6019:500:10:-;6150:20;;;5076:29047:0;;-1:-1:-1;;;;;5076:29047:0;;;;-1:-1:-1;;;;;;;;;;;6184:16:10;4445:42:9;;6248:9:10;;;:18;6244:48;;6339:16;6357:6;6339:16;;5076:29047:0;;6357:6:10;:::i;:::-;5076:29047:0;6019:500:10;:::o;6244:48::-;6150:20;5076:29047:0;-1:-1:-1;;;6275:17:10;;;;;6180:312;7816:1228:14;-1:-1:-1;7816:1228:14;5076:29047:0;;;;6456:16:10;5076:29047:0;;;;6456:16:10;;5076:29047:0;;6150:20:10;7816:1228:14;;;;6150:20:10;7816:1228:14;5076:29047:0;;;;;7816:1228:14;;;;;;;;;;;;;;;;5076:29047:0;-1:-1:-1;7816:1228:14;;;;;;;-1:-1:-1;7816:1228:14;;6150:20:10;7816:1228:14;5076:29047:0;6019:500:10;:::o;7816:1228:14:-;;-1:-1:-1;7816:1228:14;;;;7224:263:10;-1:-1:-1;;;;;5076:29047:0;7224:263:10;5076:29047:0;;;-1:-1:-1;;;;;;;;;;;7325:16:10;4445:42:9;;5076:29047:0;;7364:25:10;7357:32;:::o;7321:160::-;18442:573:14;;;;;;;;;;5076:29047:0;18442:573:14;;-1:-1:-1;18442:573:14;;;;;;;;;;7420:50:10;:::o;5593:364:12:-;-1:-1:-1;;5691:260:12;;;;;5593:364::o;5691:260::-;;;;;;;2455:490:14;2570:369;2455:490;;;;;2570:369;;;;;2455:490::o;2570:369::-;;;;;;;3350:145:40;-1:-1:-1;5076:29047:0;3459:6:40;5076:29047:0;;;-1:-1:-1;5076:29047:0;;;;;;;;-1:-1:-1;5076:29047:0;;;;;-1:-1:-1;5076:29047:0;;;3350:145:40;:::o;3789:103::-;-1:-1:-1;5076:29047:0;;;;;;3459:6:40;5076:29047:0;;;;;;;965:10:48;5076:29047:0;;;;;;;;;;4260:23:40;4256:412;;3789:103;;;;:::o;4256:412::-;965:10:48;5076:29047:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:49;;;5076:29047:0;;;;;;;;;;2066:15:49;5076:29047:0;;;2066:15:49;5076:29047:0;2124:5:49;;;;;;2236:10;311:18;;5076:29047:0;;;;;;-1:-1:-1;;;;;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:49;;;5076:29047:0;;;;;;;;2066:15:49;5076:29047:0;;;2066:15:49;5076:29047:0;2091:128:49;2124:5;;;;;;2236:10;;;311:18;;5076:29047:0;;;;4351:274:40;5076:29047:0;;;;;;;4351:274:40;;;-1:-1:-1;;;4351:274:40;;;5076:29047:0;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;;;;:::i;:::-;;4351:274:40;;;;;;;;;:::i;:::-;5076:29047:0;;;;;;;4299:358:40;;2207:1:49;4299:358:40;;5076:29047:0;;;;;;:::i;:::-;4299:358:40;;;311:18:49;;5076:29047:0;;;;;;;311:18:49;;;2207:1;311:18;;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;311:18:49;;2131:3;2171:11;;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;2207:1;5076:29047:0;2131:3:49;5076:29047:0;;;;-1:-1:-1;;5076:29047:0;;2096:26:49;;;5076:29047:0;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;2162:21:49;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;311:18:49;;5076:29047:0;;;;;;;311:18:49;;;2207:1;311:18;;;;;;5076:29047:0;-1:-1:-1;;;;;;;;;;;5076:29047:0;;;311:18:49;;2131:3;2171:11;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;2207:1;5076:29047:0;2131:3:49;5076:29047:0;;;;-1:-1:-1;;5076:29047:0;2096:26:49;;5076:29047:0;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;2162:21:49;-1:-1:-1;;;5076:29047:0;;;2207:1:49;5076:29047:0;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;;-1:-1:-1;;;5076:29047:0;;;;;;;;7938:233:40;;-1:-1:-1;5076:29047:0;;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;8020:23:40;8016:149;;7938:233;;;:::o;8016:149::-;5076:29047:0;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;8114:40:40;965:10:48;8114:40:40;;;7938:233::o;8342:234::-;;-1:-1:-1;5076:29047:0;;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;;;;;8421:149:40;;8342:234;;;:::o;8421:149::-;5076:29047:0;;;3459:6:40;5076:29047:0;;;;;;;;;;;;;;;;;;;;8519:40:40;965:10:48;8519:40:40;;;8342:234::o;2601:287:45:-;1851:1;2733:7;5076:29047:0;2733:19:45;1851:1;;;2733:7;5076:29047:0;2601:287:45:o;1851:1::-;5076:29047:0;;-1:-1:-1;;;1851:1:45;;;;;;;;;;;5076:29047:0;1851:1:45;5076:29047:0;;;1851:1:45;;;;5076:29047:0;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","cancelOwnershipHandover()":"54d1f13d","completeOwnershipHandover(address)":"f04e283e","createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"77da8caf","createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getRoleAdmin(bytes32)":"248a9ca3","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","owner()":"8da5cb5b","ownershipHandoverExpiresAt(address)":"fee81cf4","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","requestOwnershipHandover()":"25692962","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewOwnerIsZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoHandoverRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"recipientIds\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"completeOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"FEE_DENOMINATOR\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"result\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ownershipHandoverExpiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The contract must be initialized with the 'initialize()' function.\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}],\"NewOwnerIsZeroAddress()\":[{\"details\":\"The `newOwner` cannot be the zero address.\"}],\"NoHandoverRequest()\":[{\"details\":\"The `pendingOwner` does not have a valid handover request.\"}],\"Unauthorized()\":[{\"details\":\"The caller is not authorized to call the function.\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OwnershipHandoverCanceled(address)\":{\"details\":\"The ownership handover to `pendingOwner` has been canceled.\"},\"OwnershipHandoverRequested(address)\":{\"details\":\"An ownership handover to `pendingOwner` has been requested.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"The ownership is transferred from `oldOwner` to `newOwner`. This event is intentionally kept the same as OpenZeppelin's Ownable to be compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), despite it not being as lightweight as a single argument event.\"},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to add\",\"_poolId\":\"ID of the pool\"}},\"addToCloneableStrategies(address)\":{\"details\":\"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"allocate(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().\",\"params\":{\"_data\":\"Encoded data unique to the strategy for that pool\",\"_poolId\":\"ID of the pool\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.\",\"params\":{\"_datas\":\"encoded data unique to the strategy for that pool\",\"_poolIds\":\"IDs of the pools\"}},\"batchRegisterRecipient(uint256[],bytes[])\":{\"details\":\"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\",\"params\":{\"_data\":\"An array of encoded data unique to a strategy that registerRecipient() requires.\",\"_poolIds\":\"ID's of the pools\"},\"returns\":{\"recipientIds\":\"The recipient IDs that have been registered\"}},\"cancelOwnershipHandover()\":{\"details\":\"Cancels the two-step ownership handover to the caller, if any.\"},\"completeOwnershipHandover(address)\":{\"details\":\"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"custom:initstrategydata\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'\",\"details\":\"'msg.sender' must be owner or member of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool\",\"_metadata\":\"The metadata of the pool\",\"_profileId\":\"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the strategy contract the pool will use.\",\"_token\":\"The address of the token\"}},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"details\":\"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token you want to deposit into the pool on initialization\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool, and can be added/removed later by the pool admin\",\"_metadata\":\"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\",\"_profileId\":\"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the deployed custom strategy\",\"_token\":\"The address of the token you want to use in your pool\"},\"returns\":{\"poolId\":\"The ID of the pool\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.\",\"params\":{\"_data\":\"Encoded data unique to the strategy\",\"_poolId\":\"ID of the pool\",\"_recipientIds\":\"Ids of the recipients of the distribution\"}},\"fundPool(uint256,uint256)\":{\"details\":\"Anyone can fund a pool and call this function.\",\"params\":{\"_amount\":\"The amount to be deposited into the pool\",\"_poolId\":\"ID of the pool\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"The base fee\"}},\"getFeeDenominator()\":{\"returns\":{\"FEE_DENOMINATOR\":\"The fee denominator is (1e18) which represents 100%\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"The fee percentage (1e18 = 100%)\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The 'Pool' struct\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"The registry address\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The address of the strategy\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"The treasury address\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address,address,address,uint256,uint256)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer\",\"params\":{\"_baseFee\":\"The base fee\",\"_owner\":\"The owner of allo\",\"_percentFee\":\"The percentage fee\",\"_registry\":\"The address of the registry\",\"_treasury\":\"The address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy\"},\"returns\":{\"_0\":\"'true' if the strategy is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool manager, otherwise 'false'\"}},\"owner()\":{\"details\":\"Returns the owner of the contract.\"},\"ownershipHandoverExpiresAt(address)\":{\"details\":\"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.\"},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be Allo owner\",\"params\":{\"_recipient\":\"The recipient\",\"_token\":\"The token to transfer\"}},\"registerRecipient(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().\",\"params\":{\"_data\":\"Encoded data unique to a strategy that registerRecipient() requires\",\"_poolId\":\"ID of the pool\"},\"returns\":{\"_0\":\"recipientId The recipient ID that has been registered\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"removePoolManager(uint256,address)\":{\"details\":\"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to remove\",\"_poolId\":\"ID of the pool\"}},\"renounceOwnership()\":{\"details\":\"Allows the owner to renounce their ownership.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"requestOwnershipHandover()\":{\"details\":\"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the owner to transfer the ownership to `newOwner`.\"},\"updateBaseFee(uint256)\":{\"details\":\"Use this to update the base fee. 'msg.sender' must be Allo owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"Use this to update the fee percentage. 'msg.sender' must be Allo owner.\",\"params\":{\"_percentFee\":\"The new fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\",\"params\":{\"_metadata\":\"The new metadata of the pool\",\"_poolId\":\"ID of the pool\"}},\"updateRegistry(address)\":{\"details\":\"Use this to update the registry address. 'msg.sender' must be Allo owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"Use this to update the treasury address. 'msg.sender' must be Allo owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"stateVariables\":{\"_nonces\":{\"details\":\"'msg.sender' -> 'nonce' for cloning strategies\"},\"baseFee\":{\"details\":\"This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address.\"},\"cloneableStrategies\":{\"details\":\"Strategy.address -> bool\"},\"percentFee\":{\"details\":\"How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%\"},\"pools\":{\"details\":\"'Pool.id' -> 'Pool'\"}},\"title\":\"Allo\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"addPoolManager(uint256,address)\":{\"notice\":\"Add a pool manager\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Add a strategy to the allowlist.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocate to a recipient or multiple recipients.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocate to multiple pools\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Register multiple recipients to multiple pools.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (by cloning a cloneable strategies).\"},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (with a custom strategy)\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distribute to a recipient or multiple recipients.\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Fund a pool.\"},\"getBaseFee()\":{\"notice\":\"Getter for base fee.\"},\"getFeeDenominator()\":{\"notice\":\"Getter for the fee denominator\"},\"getPercentFee()\":{\"notice\":\"Getter for fee percentage.\"},\"getPool(uint256)\":{\"notice\":\"Getter for the 'Pool'.\"},\"getRegistry()\":{\"notice\":\"Getter for registry.\"},\"getStrategy(uint256)\":{\"notice\":\"Getter for the strategy.\"},\"getTreasury()\":{\"notice\":\"Getter for treasury address.\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isCloneableStrategy(address)\":{\"notice\":\"Getter for if strategy is cloneable.\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if the address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if the address is a pool manager\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfer the funds recovered to the recipient\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Passes _data through to the strategy for that pool.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Remove a strategy from the allowlist\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Remove a pool manager\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the fee percentage.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Update pool metadata\"},\"updateRegistry(address)\":{\"notice\":\"Updates the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"This contract is used to create & manage pools as well as manage the protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Allo.sol\":\"Allo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"NewOwnerIsZeroAddress"},{"inputs":[],"type":"error","name":"NoHandoverRequest"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverCanceled","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverRequested","anonymous":false},{"inputs":[{"internalType":"address","name":"oldOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"recipientIds","type":"address[]"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"cancelOwnershipHandover"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"completeOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"FEE_DENOMINATOR","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}]},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"view","type":"function","name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[],"stateMutability":"payable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[],"stateMutability":"payable","type":"function","name":"requestOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to add","_poolId":"ID of the pool"}},"addToCloneableStrategies(address)":{"details":"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"allocate(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().","params":{"_data":"Encoded data unique to the strategy for that pool","_poolId":"ID of the pool"}},"batchAllocate(uint256[],bytes[])":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.","params":{"_datas":"encoded data unique to the strategy for that pool","_poolIds":"IDs of the pools"}},"batchRegisterRecipient(uint256[],bytes[])":{"details":"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.","params":{"_data":"An array of encoded data unique to a strategy that registerRecipient() requires.","_poolIds":"ID's of the pools"},"returns":{"recipientIds":"The recipient IDs that have been registered"}},"cancelOwnershipHandover()":{"details":"Cancels the two-step ownership handover to the caller, if any."},"completeOwnershipHandover(address)":{"details":"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"custom:initstrategydata":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'","details":"'msg.sender' must be owner or member of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool","_metadata":"The metadata of the pool","_profileId":"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the strategy contract the pool will use.","_token":"The address of the token"}},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"details":"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token you want to deposit into the pool on initialization","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool, and can be added/removed later by the pool admin","_metadata":"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)","_profileId":"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the deployed custom strategy","_token":"The address of the token you want to use in your pool"},"returns":{"poolId":"The ID of the pool"}},"distribute(uint256,address[],bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.","params":{"_data":"Encoded data unique to the strategy","_poolId":"ID of the pool","_recipientIds":"Ids of the recipients of the distribution"}},"fundPool(uint256,uint256)":{"details":"Anyone can fund a pool and call this function.","params":{"_amount":"The amount to be deposited into the pool","_poolId":"ID of the pool"}},"getBaseFee()":{"returns":{"_0":"The base fee"}},"getFeeDenominator()":{"returns":{"FEE_DENOMINATOR":"The fee denominator is (1e18) which represents 100%"}},"getPercentFee()":{"returns":{"_0":"The fee percentage (1e18 = 100%)"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The 'Pool' struct"}},"getRegistry()":{"returns":{"_0":"The registry address"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The address of the strategy"}},"getTreasury()":{"returns":{"_0":"The treasury address"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address,address,address,uint256,uint256)":{"details":"During upgrade -> a higher version should be passed to reinitializer","params":{"_baseFee":"The base fee","_owner":"The owner of allo","_percentFee":"The percentage fee","_registry":"The address of the registry","_treasury":"The address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy"},"returns":{"_0":"'true' if the strategy is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool manager, otherwise 'false'"}},"owner()":{"details":"Returns the owner of the contract."},"ownershipHandoverExpiresAt(address)":{"details":"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`."},"recoverFunds(address,address)":{"details":"'msg.sender' must be Allo owner","params":{"_recipient":"The recipient","_token":"The token to transfer"}},"registerRecipient(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().","params":{"_data":"Encoded data unique to a strategy that registerRecipient() requires","_poolId":"ID of the pool"},"returns":{"_0":"recipientId The recipient ID that has been registered"}},"removeFromCloneableStrategies(address)":{"details":"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"removePoolManager(uint256,address)":{"details":"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to remove","_poolId":"ID of the pool"}},"renounceOwnership()":{"details":"Allows the owner to renounce their ownership."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"requestOwnershipHandover()":{"details":"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Allows the owner to transfer the ownership to `newOwner`."},"updateBaseFee(uint256)":{"details":"Use this to update the base fee. 'msg.sender' must be Allo owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"Use this to update the fee percentage. 'msg.sender' must be Allo owner.","params":{"_percentFee":"The new fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.","params":{"_metadata":"The new metadata of the pool","_poolId":"ID of the pool"}},"updateRegistry(address)":{"details":"Use this to update the registry address. 'msg.sender' must be Allo owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"Use this to update the treasury address. 'msg.sender' must be Allo owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"addPoolManager(uint256,address)":{"notice":"Add a pool manager"},"addToCloneableStrategies(address)":{"notice":"Add a strategy to the allowlist."},"allocate(uint256,bytes)":{"notice":"Allocate to a recipient or multiple recipients."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocate to multiple pools"},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Register multiple recipients to multiple pools."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (by cloning a cloneable strategies)."},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (with a custom strategy)"},"distribute(uint256,address[],bytes)":{"notice":"Distribute to a recipient or multiple recipients."},"fundPool(uint256,uint256)":{"notice":"Fund a pool."},"getBaseFee()":{"notice":"Getter for base fee."},"getFeeDenominator()":{"notice":"Getter for the fee denominator"},"getPercentFee()":{"notice":"Getter for fee percentage."},"getPool(uint256)":{"notice":"Getter for the 'Pool'."},"getRegistry()":{"notice":"Getter for registry."},"getStrategy(uint256)":{"notice":"Getter for the strategy."},"getTreasury()":{"notice":"Getter for treasury address."},"initialize(address,address,address,uint256,uint256)":{"notice":"Initializes the contract after an upgrade"},"isCloneableStrategy(address)":{"notice":"Getter for if strategy is cloneable."},"isPoolAdmin(uint256,address)":{"notice":"Checks if the address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if the address is a pool manager"},"recoverFunds(address,address)":{"notice":"Transfer the funds recovered to the recipient"},"registerRecipient(uint256,bytes)":{"notice":"Passes _data through to the strategy for that pool."},"removeFromCloneableStrategies(address)":{"notice":"Remove a strategy from the allowlist"},"removePoolManager(uint256,address)":{"notice":"Remove a pool manager"},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the fee percentage."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Update pool metadata"},"updateRegistry(address)":{"notice":"Updates the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Allo.sol":"Allo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":53266,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":51686,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)"},{"astId":51993,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":52464,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_status","offset":0,"slot":"151","type":"t_uint256"},{"astId":52533,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"152","type":"t_array(t_uint256)49_storage"},{"astId":34,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"percentFee","offset":0,"slot":"201","type":"t_uint256"},{"astId":37,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"baseFee","offset":0,"slot":"202","type":"t_uint256"},{"astId":40,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_poolIndex","offset":0,"slot":"203","type":"t_uint256"},{"astId":43,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"treasury","offset":0,"slot":"204","type":"t_address_payable"},{"astId":47,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"registry","offset":0,"slot":"205","type":"t_contract(IRegistry)2802"},{"astId":52,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_nonces","offset":0,"slot":"206","type":"t_mapping(t_address,t_uint256)"},{"astId":58,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pools","offset":0,"slot":"207","type":"t_mapping(t_uint256,t_struct(Pool)2319_storage)"},{"astId":63,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"cloneableStrategies","offset":0,"slot":"208","type":"t_mapping(t_address,t_bool)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(IStrategy)2969":{"encoding":"inplace","label":"contract IStrategy","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)51681_storage"},"t_mapping(t_uint256,t_struct(Pool)2319_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct IAllo.Pool)","numberOfBytes":"32","value":"t_struct(Pool)2319_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Pool)2319_storage":{"encoding":"inplace","label":"struct IAllo.Pool","numberOfBytes":"224","members":[{"astId":2306,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"profileId","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2309,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"strategy","offset":0,"slot":"1","type":"t_contract(IStrategy)2969"},{"astId":2311,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"token","offset":0,"slot":"2","type":"t_address"},{"astId":2314,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2316,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"managerRole","offset":0,"slot":"5","type":"t_bytes32"},{"astId":2318,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"6","type":"t_bytes32"}]},"t_struct(RoleData)51681_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":51678,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":51680,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","id":1391,"exportedSymbols":{"AccessControlUpgradeable":[51994],"AddressUpgradeable":[52942],"Allo":[1390],"Clone":[3002],"ContextUpgradeable":[52993],"ERC165Upgradeable":[53267],"Errors":[3089],"IAccessControlUpgradeable":[52067],"IAllo":[2610],"IERC165Upgradeable":[53279],"IERC20Upgradeable":[52612],"IRegistry":[2802],"IStrategy":[2969],"Initializable":[52449],"MathUpgradeable":[54145],"Metadata":[3098],"Native":[3106],"Ownable":[4095],"ReentrancyGuardUpgradeable":[52534],"SignedMathUpgradeable":[54250],"StringsUpgradeable":[53222],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:34082:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"42:23:0","nodes":[],"literals":["solidity","0.8",".19"]},{"id":2,"nodeType":"ImportDirective","src":"89:37:0","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/auth/Ownable.sol","file":"solady/src/auth/Ownable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":4096,"symbolAliases":[],"unitAlias":""},{"id":3,"nodeType":"ImportDirective","src":"127:84:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52450,"symbolAliases":[],"unitAlias":""},{"id":4,"nodeType":"ImportDirective","src":"212:88:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52613,"symbolAliases":[],"unitAlias":""},{"id":5,"nodeType":"ImportDirective","src":"301:90:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":51995,"symbolAliases":[],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"392:94:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52535,"symbolAliases":[],"unitAlias":""},{"id":7,"nodeType":"ImportDirective","src":"501:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"./interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":2611,"symbolAliases":[],"unitAlias":""},{"id":9,"nodeType":"ImportDirective","src":"557:44:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"./libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":8,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"565:5:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11,"nodeType":"ImportDirective","src":"602:46:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":10,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"610:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12,"nodeType":"ImportDirective","src":"649:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":14,"nodeType":"ImportDirective","src":"682:50:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3318,"symbolAliases":[{"foreign":{"id":13,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"690:8:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1390,"nodeType":"ContractDefinition","src":"5076:29047:0","nodes":[{"id":34,"nodeType":"VariableDeclaration","src":"5862:26:0","nodes":[],"constant":false,"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"5344:513:0","text":"@notice Percentage that is used to calculate the fee Allo takes from each pool when funded\n and is deducted when a pool is funded. So if you want to fund a round with 1000 DAI and the fee\n percentage is 1e17 (10%), then 100 DAI will be deducted from the 1000 DAI and the pool will be\n funded with 900 DAI. The fee is then sent to the treasury address.\n @dev How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%"},"mutability":"mutable","name":"percentFee","nameLocation":"5878:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33,"name":"uint256","nodeType":"ElementaryTypeName","src":"5862:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":37,"nodeType":"VariableDeclaration","src":"6339:24:0","nodes":[],"constant":false,"documentation":{"id":35,"nodeType":"StructuredDocumentation","src":"5895:439:0","text":"@notice Fee Allo charges for all pools on creation\n @dev This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool\n with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created\n with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address."},"mutability":"mutable","name":"baseFee","nameLocation":"6356:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"6339:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"6431:26:0","nodes":[],"constant":false,"documentation":{"id":38,"nodeType":"StructuredDocumentation","src":"6370:56:0","text":"@notice Incremental index to track the pools created"},"mutability":"mutable","name":"_poolIndex","nameLocation":"6447:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39,"name":"uint256","nodeType":"ElementaryTypeName","src":"6431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":43,"nodeType":"VariableDeclaration","src":"6494:32:0","nodes":[],"constant":false,"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"6464:25:0","text":"@notice Allo treasury"},"mutability":"mutable","name":"treasury","nameLocation":"6518:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":42,"name":"address","nodeType":"ElementaryTypeName","src":"6494:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"private"},{"id":47,"nodeType":"VariableDeclaration","src":"6567:26:0","nodes":[],"constant":false,"documentation":{"id":44,"nodeType":"StructuredDocumentation","src":"6533:29:0","text":"@notice Registry contract"},"mutability":"mutable","name":"registry","nameLocation":"6585:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":46,"nodeType":"UserDefinedTypeName","pathNode":{"id":45,"name":"IRegistry","nameLocations":["6567:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6567:9:0"},"referencedDeclaration":2802,"src":"6567:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"private"},{"id":52,"nodeType":"VariableDeclaration","src":"6733:43:0","nodes":[],"constant":false,"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"6600:128:0","text":"@notice Maps the `msg.sender` to a `nonce` to prevent duplicates\n @dev 'msg.sender' -> 'nonce' for cloning strategies"},"mutability":"mutable","name":"_nonces","nameLocation":"6769:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":51,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6733:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":58,"nodeType":"VariableDeclaration","src":"6869:38:0","nodes":[],"constant":false,"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"6783:81:0","text":"@notice Maps the pool ID to the pool details\n @dev 'Pool.id' -> 'Pool'"},"mutability":"mutable","name":"pools","nameLocation":"6902:5:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"typeName":{"id":57,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6869:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"Pool","nameLocations":["6888:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"6888:4:0"},"referencedDeclaration":2319,"src":"6888:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}}},"visibility":"private"},{"id":63,"nodeType":"VariableDeclaration","src":"7064:52:0","nodes":[],"constant":false,"documentation":{"id":59,"nodeType":"StructuredDocumentation","src":"6914:145:0","text":"@notice Returns a bool for whether a strategy is cloneable or not using the strategy address as the key\n @dev Strategy.address -> bool"},"mutability":"mutable","name":"cloneableStrategies","nameLocation":"7097:19:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":62,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"7072:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7064:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61,"name":"bool","nodeType":"ElementaryTypeName","src":"7083:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"id":101,"nodeType":"FunctionDefinition","src":"7626:593:0","nodes":[],"body":{"id":100,"nodeType":"Block","src":"7819:400:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":81,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66,"src":"7907:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80,"name":"_initializeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"7890:16:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83,"nodeType":"ExpressionStatement","src":"7890:24:0"},{"expression":{"arguments":[{"id":85,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"7984:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"7968:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87,"nodeType":"ExpressionStatement","src":"7968:26:0"},{"expression":{"arguments":[{"id":89,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"8064:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":88,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"8048:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8048:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91,"nodeType":"ExpressionStatement","src":"8048:26:0"},{"expression":{"arguments":[{"id":93,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"8137:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"8119:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95,"nodeType":"ExpressionStatement","src":"8119:30:0"},{"expression":{"arguments":[{"id":97,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"8203:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"8188:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"8188:24:0"}]},"baseFunctions":[2404],"documentation":{"id":64,"nodeType":"StructuredDocumentation","src":"7257:364:0","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer\n @param _owner The owner of allo\n @param _registry The address of the registry\n @param _treasury The address of the treasury\n @param _percentFee The percentage fee\n @param _baseFee The base fee"},"functionSelector":"a6b63eb8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":77,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":78,"kind":"modifierInvocation","modifierName":{"id":76,"name":"reinitializer","nameLocations":["7802:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":52384,"src":"7802:13:0"},"nodeType":"ModifierInvocation","src":"7802:16:0"}],"name":"initialize","nameLocation":"7635:10:0","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66,"mutability":"mutable","name":"_owner","nameLocation":"7663:6:0","nodeType":"VariableDeclaration","scope":101,"src":"7655:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"7655:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"_registry","nameLocation":"7687:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7679:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67,"name":"address","nodeType":"ElementaryTypeName","src":"7679:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"_treasury","nameLocation":"7722:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7706:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"7706:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"_percentFee","nameLocation":"7749:11:0","nodeType":"VariableDeclaration","scope":101,"src":"7741:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"7741:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74,"mutability":"mutable","name":"_baseFee","nameLocation":"7778:8:0","nodeType":"VariableDeclaration","scope":101,"src":"7770:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73,"name":"uint256","nodeType":"ElementaryTypeName","src":"7770:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7645:147:0"},"returnParameters":{"id":79,"nodeType":"ParameterList","parameters":[],"src":"7819:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":112,"nodeType":"ModifierDefinition","src":"8573:100:0","nodes":[],"body":{"id":111,"nodeType":"Block","src":"8615:58:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":107,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"8647:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":106,"name":"_checkOnlyPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"8625:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8625:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"ExpressionStatement","src":"8625:30:0"},{"id":110,"nodeType":"PlaceholderStatement","src":"8665:1:0"}]},"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"8463:105:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool manager\n @param _poolId The pool id"},"name":"onlyPoolManager","nameLocation":"8582:15:0","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"_poolId","nameLocation":"8606:7:0","nodeType":"VariableDeclaration","scope":112,"src":"8598:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint256","nodeType":"ElementaryTypeName","src":"8598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8597:17:0"},"virtual":false,"visibility":"internal"},{"id":123,"nodeType":"ModifierDefinition","src":"8787:96:0","nodes":[],"body":{"id":122,"nodeType":"Block","src":"8827:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":118,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"8857:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":117,"name":"_checkOnlyPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8837:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8837:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":120,"nodeType":"ExpressionStatement","src":"8837:28:0"},{"id":121,"nodeType":"PlaceholderStatement","src":"8875:1:0"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"8679:103:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool admin\n @param _poolId The pool id"},"name":"onlyPoolAdmin","nameLocation":"8796:13:0","parameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"mutability":"mutable","name":"_poolId","nameLocation":"8818:7:0","nodeType":"VariableDeclaration","scope":123,"src":"8810:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":114,"name":"uint256","nodeType":"ElementaryTypeName","src":"8810:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8809:17:0"},"virtual":false,"visibility":"internal"},{"id":175,"nodeType":"FunctionDefinition","src":"10281:884:0","nodes":[],"body":{"id":174,"nodeType":"Block","src":"10582:583:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":145,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10687:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10708:1:0","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":147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10700:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":146,"name":"address","nodeType":"ElementaryTypeName","src":"10700:7:0","typeDescriptions":{}}},"id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10700:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10687:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":154,"nodeType":"IfStatement","src":"10683:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":151,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10719:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"RevertStatement","src":"10712:21:0"}},{"condition":{"arguments":[{"id":156,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10919:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":155,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10898:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10898:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":161,"nodeType":"IfStatement","src":"10894:66:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":158,"name":"IS_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3038,"src":"10938:20:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10938:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":160,"nodeType":"RevertStatement","src":"10931:29:0"}},{"expression":{"arguments":[{"id":163,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"11067:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":165,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"11089:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":164,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"11079:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":167,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"11101:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":168,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"11120:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":169,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"11128:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":170,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"11137:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":171,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"11148:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":162,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"11055:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11055:103:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":144,"id":173,"nodeType":"Return","src":"11048:110:0"}]},"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"9025:1251:0","text":"@notice Creates a new pool (with a custom strategy)\n @dev 'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data\n will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy\n address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must\n be a member or owner of the profile id passed as '_profileId'.\n @param _profileId The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the deployed custom strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token you want to use in your pool\n @param _amount The amount of the token you want to deposit into the pool on initialization\n @param _metadata The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\n @param _managers The managers of the pool, and can be added/removed later by the pool admin\n @return poolId The ID of the pool"},"functionSelector":"e1007d4a","implemented":true,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"10290:28:0","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"_profileId","nameLocation":"10336:10:0","nodeType":"VariableDeclaration","scope":175,"src":"10328:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10328:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"_strategy","nameLocation":"10364:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10356:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"10356:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"_initStrategyData","nameLocation":"10396:17:0","nodeType":"VariableDeclaration","scope":175,"src":"10383:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":129,"name":"bytes","nodeType":"ElementaryTypeName","src":"10383:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":132,"mutability":"mutable","name":"_token","nameLocation":"10431:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10423:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"10423:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"_amount","nameLocation":"10455:7:0","nodeType":"VariableDeclaration","scope":175,"src":"10447:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"10447:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"_metadata","nameLocation":"10488:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10472:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":136,"nodeType":"UserDefinedTypeName","pathNode":{"id":135,"name":"Metadata","nameLocations":["10472:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10472:8:0"},"referencedDeclaration":3098,"src":"10472:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"_managers","nameLocation":"10524:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10507:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"10507:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":139,"nodeType":"ArrayTypeName","src":"10507:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10318:221:0"},"returnParameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"mutability":"mutable","name":"poolId","nameLocation":"10574:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10566:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint256","nodeType":"ElementaryTypeName","src":"10566:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10565:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":229,"nodeType":"FunctionDefinition","src":"11971:701:0","nodes":[],"body":{"id":228,"nodeType":"Block","src":"12267:405:0","nodes":[],"statements":[{"condition":{"id":202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12281:32:0","subExpression":{"arguments":[{"id":200,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12303:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":199,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"12282:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":207,"nodeType":"IfStatement","src":"12277:93:0","trueBody":{"id":206,"nodeType":"Block","src":"12315:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":203,"name":"NOT_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3035,"src":"12336:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":205,"nodeType":"RevertStatement","src":"12329:30:0"}]}},{"expression":{"arguments":[{"id":209,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"12451:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":213,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12503:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12514:21:0","subExpression":{"baseExpression":{"id":214,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"12514:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":217,"indexExpression":{"expression":{"id":215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12522:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12526:6:0","memberName":"sender","nodeType":"MemberAccess","src":"12522:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12514:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":211,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"12485:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12491:11:0","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"12485:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":210,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"12475:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12475:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":221,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"12551:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":222,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"12582:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":223,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"12602:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":224,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"12623:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":225,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"12646:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":208,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"12426:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12426:239:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":198,"id":227,"nodeType":"Return","src":"12419:246:0"}]},"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"11171:795:0","text":"@notice Creates a new pool (by cloning a cloneable strategies).\n @dev 'msg.sender' must be owner or member of the profile id passed as '_profileId'.\n @param _profileId The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the strategy contract the pool will use.\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token\n @param _amount The amount of the token\n @param _metadata The metadata of the pool\n @param _managers The managers of the pool\n @custom:initstrategydata The encoded data will be specific to a given strategy requirements,\n reference the strategy implementation of 'initialize()'"},"functionSelector":"77da8caf","implemented":true,"kind":"function","modifiers":[{"id":195,"kind":"modifierInvocation","modifierName":{"id":194,"name":"nonReentrant","nameLocations":["12229:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"12229:12:0"},"nodeType":"ModifierInvocation","src":"12229:12:0"}],"name":"createPool","nameLocation":"11980:10:0","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"_profileId","nameLocation":"12008:10:0","nodeType":"VariableDeclaration","scope":229,"src":"12000:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12000:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"_strategy","nameLocation":"12036:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12028:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"12028:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":182,"mutability":"mutable","name":"_initStrategyData","nameLocation":"12068:17:0","nodeType":"VariableDeclaration","scope":229,"src":"12055:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":181,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":184,"mutability":"mutable","name":"_token","nameLocation":"12103:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12095:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"_amount","nameLocation":"12127:7:0","nodeType":"VariableDeclaration","scope":229,"src":"12119:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"12119:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":189,"mutability":"mutable","name":"_metadata","nameLocation":"12160:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12144:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":188,"nodeType":"UserDefinedTypeName","pathNode":{"id":187,"name":"Metadata","nameLocations":["12144:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12144:8:0"},"referencedDeclaration":3098,"src":"12144:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":192,"mutability":"mutable","name":"_managers","nameLocation":"12196:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12179:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":190,"name":"address","nodeType":"ElementaryTypeName","src":"12179:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":191,"nodeType":"ArrayTypeName","src":"12179:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11990:221:0"},"returnParameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"mutability":"mutable","name":"poolId","nameLocation":"12259:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12251:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":196,"name":"uint256","nodeType":"ElementaryTypeName","src":"12251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12250:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":260,"nodeType":"FunctionDefinition","src":"12894:247:0","nodes":[],"body":{"id":259,"nodeType":"Block","src":"13000:141:0","nodes":[],"statements":[{"assignments":[243],"declarations":[{"constant":false,"id":243,"mutability":"mutable","name":"pool","nameLocation":"13023:4:0","nodeType":"VariableDeclaration","scope":259,"src":"13010:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":242,"nodeType":"UserDefinedTypeName","pathNode":{"id":241,"name":"Pool","nameLocations":["13010:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13010:4:0"},"referencedDeclaration":2319,"src":"13010:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":247,"initialValue":{"baseExpression":{"id":244,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"13030:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":246,"indexExpression":{"id":245,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13036:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13030:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13010:34:0"},{"expression":{"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":248,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"13054:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13059:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2314,"src":"13054:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":251,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13070:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"13054:25:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":253,"nodeType":"ExpressionStatement","src":"13054:25:0"},{"eventCall":{"arguments":[{"id":255,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13115:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":256,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13124:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":254,"name":"PoolMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"13095:19:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,struct Metadata memory)"}},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13095:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":258,"nodeType":"EmitStatement","src":"13090:44:0"}]},"baseFunctions":[2413],"documentation":{"id":230,"nodeType":"StructuredDocumentation","src":"12678:211:0","text":"@notice Update pool metadata\n @dev 'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\n @param _poolId ID of the pool\n @param _metadata The new metadata of the pool"},"functionSelector":"5f9ca138","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":238,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"12991:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":239,"kind":"modifierInvocation","modifierName":{"id":237,"name":"onlyPoolManager","nameLocations":["12975:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"12975:15:0"},"nodeType":"ModifierInvocation","src":"12975:24:0"}],"name":"updatePoolMetadata","nameLocation":"12903:18:0","parameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"mutability":"mutable","name":"_poolId","nameLocation":"12930:7:0","nodeType":"VariableDeclaration","scope":260,"src":"12922:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":231,"name":"uint256","nodeType":"ElementaryTypeName","src":"12922:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"_metadata","nameLocation":"12955:9:0","nodeType":"VariableDeclaration","scope":260,"src":"12939:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":234,"nodeType":"UserDefinedTypeName","pathNode":{"id":233,"name":"Metadata","nameLocations":["12939:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12939:8:0"},"referencedDeclaration":3098,"src":"12939:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12921:44:0"},"returnParameters":{"id":240,"nodeType":"ParameterList","parameters":[],"src":"13000:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":273,"nodeType":"FunctionDefinition","src":"13330:105:0","nodes":[],"body":{"id":272,"nodeType":"Block","src":"13392:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":269,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":263,"src":"13418:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":268,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"13402:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13402:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":271,"nodeType":"ExpressionStatement","src":"13402:26:0"}]},"baseFunctions":[2419],"documentation":{"id":261,"nodeType":"StructuredDocumentation","src":"13147:178:0","text":"@notice Updates the registry address.\n @dev Use this to update the registry address. 'msg.sender' must be Allo owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":true,"kind":"function","modifiers":[{"id":266,"kind":"modifierInvocation","modifierName":{"id":265,"name":"onlyOwner","nameLocations":["13382:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13382:9:0"},"nodeType":"ModifierInvocation","src":"13382:9:0"}],"name":"updateRegistry","nameLocation":"13339:14:0","parameters":{"id":264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":263,"mutability":"mutable","name":"_registry","nameLocation":"13362:9:0","nodeType":"VariableDeclaration","scope":273,"src":"13354:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":262,"name":"address","nodeType":"ElementaryTypeName","src":"13354:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13353:19:0"},"returnParameters":{"id":267,"nodeType":"ParameterList","parameters":[],"src":"13392:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":286,"nodeType":"FunctionDefinition","src":"13624:113:0","nodes":[],"body":{"id":285,"nodeType":"Block","src":"13694:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":282,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"13720:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":281,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"13704:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13704:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":284,"nodeType":"ExpressionStatement","src":"13704:26:0"}]},"baseFunctions":[2425],"documentation":{"id":274,"nodeType":"StructuredDocumentation","src":"13441:178:0","text":"@notice Updates the treasury address.\n @dev Use this to update the treasury address. 'msg.sender' must be Allo owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":true,"kind":"function","modifiers":[{"id":279,"kind":"modifierInvocation","modifierName":{"id":278,"name":"onlyOwner","nameLocations":["13684:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13684:9:0"},"nodeType":"ModifierInvocation","src":"13684:9:0"}],"name":"updateTreasury","nameLocation":"13633:14:0","parameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"_treasury","nameLocation":"13664:9:0","nodeType":"VariableDeclaration","scope":286,"src":"13648:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"13648:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"13647:27:0"},"returnParameters":{"id":280,"nodeType":"ParameterList","parameters":[],"src":"13694:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":299,"nodeType":"FunctionDefinition","src":"13911:113:0","nodes":[],"body":{"id":298,"nodeType":"Block","src":"13977:47:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":295,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"14005:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":294,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"13987:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13987:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":297,"nodeType":"ExpressionStatement","src":"13987:30:0"}]},"baseFunctions":[2431],"documentation":{"id":287,"nodeType":"StructuredDocumentation","src":"13743:163:0","text":"@notice Updates the fee percentage.\n @dev Use this to update the fee percentage. 'msg.sender' must be Allo owner.\n @param _percentFee The new fee"},"functionSelector":"f54fc4a0","implemented":true,"kind":"function","modifiers":[{"id":292,"kind":"modifierInvocation","modifierName":{"id":291,"name":"onlyOwner","nameLocations":["13967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13967:9:0"},"nodeType":"ModifierInvocation","src":"13967:9:0"}],"name":"updatePercentFee","nameLocation":"13920:16:0","parameters":{"id":290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":289,"mutability":"mutable","name":"_percentFee","nameLocation":"13945:11:0","nodeType":"VariableDeclaration","scope":299,"src":"13937:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":288,"name":"uint256","nodeType":"ElementaryTypeName","src":"13937:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13936:21:0"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"13977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":312,"nodeType":"FunctionDefinition","src":"14188:101:0","nodes":[],"body":{"id":311,"nodeType":"Block","src":"14248:41:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":308,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"14273:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":307,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"14258:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14258:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"14258:24:0"}]},"baseFunctions":[2437],"documentation":{"id":300,"nodeType":"StructuredDocumentation","src":"14030:153:0","text":"@notice Updates the base fee.\n @dev Use this to update the base fee. 'msg.sender' must be Allo owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":true,"kind":"function","modifiers":[{"id":305,"kind":"modifierInvocation","modifierName":{"id":304,"name":"onlyOwner","nameLocations":["14238:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14238:9:0"},"nodeType":"ModifierInvocation","src":"14238:9:0"}],"name":"updateBaseFee","nameLocation":"14197:13:0","parameters":{"id":303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"_baseFee","nameLocation":"14219:8:0","nodeType":"VariableDeclaration","scope":312,"src":"14211:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":301,"name":"uint256","nodeType":"ElementaryTypeName","src":"14211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14210:18:0"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"14248:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":341,"nodeType":"FunctionDefinition","src":"14481:229:0","nodes":[],"body":{"id":340,"nodeType":"Block","src":"14553:157:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14567:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:0","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":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"14580:7:0","typeDescriptions":{}}},"id":324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14567:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":329,"nodeType":"IfStatement","src":"14563:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":326,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"14599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":328,"nodeType":"RevertStatement","src":"14592:21:0"}},{"expression":{"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":330,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"14624:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":332,"indexExpression":{"id":331,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14644:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14624:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14657:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14624:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":335,"nodeType":"ExpressionStatement","src":"14624:37:0"},{"eventCall":{"arguments":[{"id":337,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14693:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":336,"name":"StrategyApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"14676:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14676:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"EmitStatement","src":"14671:32:0"}]},"baseFunctions":[2443],"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"14295:181:0","text":"@notice Add a strategy to the allowlist.\n @dev Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"41bba0b4","implemented":true,"kind":"function","modifiers":[{"id":318,"kind":"modifierInvocation","modifierName":{"id":317,"name":"onlyOwner","nameLocations":["14543:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14543:9:0"},"nodeType":"ModifierInvocation","src":"14543:9:0"}],"name":"addToCloneableStrategies","nameLocation":"14490:24:0","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"_strategy","nameLocation":"14523:9:0","nodeType":"VariableDeclaration","scope":341,"src":"14515:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"14515:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14514:19:0"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"14553:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":360,"nodeType":"FunctionDefinition","src":"14900:288:0","nodes":[],"body":{"id":359,"nodeType":"Block","src":"14977:211:0","nodes":[],"statements":[{"expression":{"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":349,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"15059:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":351,"indexExpression":{"id":350,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15079:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15059:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15092:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15059:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":354,"nodeType":"ExpressionStatement","src":"15059:38:0"},{"eventCall":{"arguments":[{"id":356,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15171:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":355,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"15155:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"15150:31:0"}]},"baseFunctions":[2449],"documentation":{"id":342,"nodeType":"StructuredDocumentation","src":"14716:179:0","text":"@notice Remove a strategy from the allowlist\n @dev Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"031e2fa1","implemented":true,"kind":"function","modifiers":[{"id":347,"kind":"modifierInvocation","modifierName":{"id":346,"name":"onlyOwner","nameLocations":["14967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14967:9:0"},"nodeType":"ModifierInvocation","src":"14967:9:0"}],"name":"removeFromCloneableStrategies","nameLocation":"14909:29:0","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"mutability":"mutable","name":"_strategy","nameLocation":"14947:9:0","nodeType":"VariableDeclaration","scope":360,"src":"14939:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":343,"name":"address","nodeType":"ElementaryTypeName","src":"14939:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14938:19:0"},"returnParameters":{"id":348,"nodeType":"ParameterList","parameters":[],"src":"14977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":390,"nodeType":"FunctionDefinition","src":"15387:358:0","nodes":[],"body":{"id":389,"nodeType":"Block","src":"15478:267:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":371,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15568:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15588:1:0","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":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"15580:7:0","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15568:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":380,"nodeType":"IfStatement","src":"15564:49:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":377,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"15599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"RevertStatement","src":"15592:21:0"}},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":382,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"15701:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":384,"indexExpression":{"id":383,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15707:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15701:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15716:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"15701:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":386,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":381,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"15690:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15690:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":388,"nodeType":"ExpressionStatement","src":"15690:48:0"}]},"baseFunctions":[2457],"documentation":{"id":361,"nodeType":"StructuredDocumentation","src":"15194:188:0","text":"@notice Add a pool manager\n @dev Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to add"},"functionSelector":"2cf682b0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":368,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15469:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":369,"kind":"modifierInvocation","modifierName":{"id":367,"name":"onlyPoolAdmin","nameLocations":["15455:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"15455:13:0"},"nodeType":"ModifierInvocation","src":"15455:22:0"}],"name":"addPoolManager","nameLocation":"15396:14:0","parameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"mutability":"mutable","name":"_poolId","nameLocation":"15419:7:0","nodeType":"VariableDeclaration","scope":390,"src":"15411:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":362,"name":"uint256","nodeType":"ElementaryTypeName","src":"15411:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":365,"mutability":"mutable","name":"_manager","nameLocation":"15436:8:0","nodeType":"VariableDeclaration","scope":390,"src":"15428:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"15428:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15410:35:0"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[],"src":"15478:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":410,"nodeType":"FunctionDefinition","src":"15950:160:0","nodes":[],"body":{"id":409,"nodeType":"Block","src":"16044:66:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":402,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"16066:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":404,"indexExpression":{"id":403,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16072:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16081:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"16066:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":406,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":395,"src":"16094:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":401,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51988,"src":"16054:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":408,"nodeType":"ExpressionStatement","src":"16054:49:0"}]},"baseFunctions":[2465],"documentation":{"id":391,"nodeType":"StructuredDocumentation","src":"15751:194:0","text":"@notice Remove a pool manager\n @dev Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to remove"},"functionSelector":"7f5a70bd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":398,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16035:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":399,"kind":"modifierInvocation","modifierName":{"id":397,"name":"onlyPoolAdmin","nameLocations":["16021:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"16021:13:0"},"nodeType":"ModifierInvocation","src":"16021:22:0"}],"name":"removePoolManager","nameLocation":"15959:17:0","parameters":{"id":396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":393,"mutability":"mutable","name":"_poolId","nameLocation":"15985:7:0","nodeType":"VariableDeclaration","scope":410,"src":"15977:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"15977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":395,"mutability":"mutable","name":"_manager","nameLocation":"16002:8:0","nodeType":"VariableDeclaration","scope":410,"src":"15994:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":394,"name":"address","nodeType":"ElementaryTypeName","src":"15994:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15976:35:0"},"returnParameters":{"id":400,"nodeType":"ParameterList","parameters":[],"src":"16044:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":448,"nodeType":"FunctionDefinition","src":"16308:430:0","nodes":[],"body":{"id":447,"nodeType":"Block","src":"16385:353:0","nodes":[],"statements":[{"assignments":[421],"declarations":[{"constant":false,"id":421,"mutability":"mutable","name":"amount","nameLocation":"16514:6:0","nodeType":"VariableDeclaration","scope":447,"src":"16506:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":420,"name":"uint256","nodeType":"ElementaryTypeName","src":"16506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":440,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16523:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":423,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16533:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16523:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":436,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16610:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16602:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"16602:7:0","typeDescriptions":{}}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":431,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16584:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":430,"name":"IERC20Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52612,"src":"16566:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Upgradeable_$52612_$","typeString":"type(contract IERC20Upgradeable)"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Upgradeable_$52612","typeString":"contract IERC20Upgradeable"}},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16592:9:0","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":52569,"src":"16566:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16523:93:0","trueExpression":{"expression":{"arguments":[{"id":427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16550:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16542:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":425,"name":"address","nodeType":"ElementaryTypeName","src":"16542:7:0","typeDescriptions":{}}},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16542:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16556:7:0","memberName":"balance","nodeType":"MemberAccess","src":"16542:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16506:110:0"},{"expression":{"arguments":[{"id":442,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16704:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":443,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"16712:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"16724:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"16688:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16688:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"ExpressionStatement","src":"16688:43:0"}]},"baseFunctions":[2473],"documentation":{"id":411,"nodeType":"StructuredDocumentation","src":"16116:187:0","text":"@notice Transfer the funds recovered to the recipient\n @dev 'msg.sender' must be Allo owner\n @param _token The token to transfer\n @param _recipient The recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"id":418,"kind":"modifierInvocation","modifierName":{"id":417,"name":"onlyOwner","nameLocations":["16375:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"16375:9:0"},"nodeType":"ModifierInvocation","src":"16375:9:0"}],"name":"recoverFunds","nameLocation":"16317:12:0","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"mutability":"mutable","name":"_token","nameLocation":"16338:6:0","nodeType":"VariableDeclaration","scope":448,"src":"16330:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":412,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":415,"mutability":"mutable","name":"_recipient","nameLocation":"16354:10:0","nodeType":"VariableDeclaration","scope":448,"src":"16346:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":414,"name":"address","nodeType":"ElementaryTypeName","src":"16346:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16329:36:0"},"returnParameters":{"id":419,"nodeType":"ParameterList","parameters":[],"src":"16385:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":474,"nodeType":"FunctionDefinition","src":"17298:276:0","nodes":[],"body":{"id":473,"nodeType":"Block","src":"17410:164:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":468,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"17549:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":469,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17556:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17560:6:0","memberName":"sender","nodeType":"MemberAccess","src":"17556:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":460,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"17489:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":462,"indexExpression":{"id":461,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"17495:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17489:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17504:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17489:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17513:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"17489:41:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17538:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17542:5:0","memberName":"value","nodeType":"MemberAccess","src":"17538:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"17489:59:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$value","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":459,"id":472,"nodeType":"Return","src":"17482:85:0"}]},"baseFunctions":[2483],"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"16877:416:0","text":"@notice Passes _data through to the strategy for that pool.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of registerRecipient().\n @param _poolId ID of the pool\n @param _data Encoded data unique to a strategy that registerRecipient() requires\n @return recipientId The recipient ID that has been registered"},"functionSelector":"075c0e9c","implemented":true,"kind":"function","modifiers":[{"id":456,"kind":"modifierInvocation","modifierName":{"id":455,"name":"nonReentrant","nameLocations":["17379:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"17379:12:0"},"nodeType":"ModifierInvocation","src":"17379:12:0"}],"name":"registerRecipient","nameLocation":"17307:17:0","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"_poolId","nameLocation":"17333:7:0","nodeType":"VariableDeclaration","scope":474,"src":"17325:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17325:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"_data","nameLocation":"17355:5:0","nodeType":"VariableDeclaration","scope":474,"src":"17342:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":452,"name":"bytes","nodeType":"ElementaryTypeName","src":"17342:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17324:37:0"},"returnParameters":{"id":459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":474,"src":"17401:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":457,"name":"address","nodeType":"ElementaryTypeName","src":"17401:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17400:9:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":543,"nodeType":"FunctionDefinition","src":"18212:747:0","nodes":[],"body":{"id":542,"nodeType":"Block","src":"18383:576:0","nodes":[],"statements":[{"assignments":[490],"declarations":[{"constant":false,"id":490,"mutability":"mutable","name":"poolIdLength","nameLocation":"18401:12:0","nodeType":"VariableDeclaration","scope":542,"src":"18393:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":489,"name":"uint256","nodeType":"ElementaryTypeName","src":"18393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":493,"initialValue":{"expression":{"id":491,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18416:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18425:6:0","memberName":"length","nodeType":"MemberAccess","src":"18416:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18393:38:0"},{"expression":{"id":500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":494,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18441:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":498,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18470:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18456:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"18460:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":496,"nodeType":"ArrayTypeName","src":"18460:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18456:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"18441:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":501,"nodeType":"ExpressionStatement","src":"18441:42:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":502,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18498:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":503,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18514:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18520:6:0","memberName":"length","nodeType":"MemberAccess","src":"18514:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18498:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":509,"nodeType":"IfStatement","src":"18494:51:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":506,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"18535:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18535:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"RevertStatement","src":"18528:17:0"}},{"body":{"id":538,"nodeType":"Block","src":"18693:169:0","statements":[{"expression":{"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":516,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18707:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":518,"indexExpression":{"id":517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18720:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18707:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":526,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18771:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":528,"indexExpression":{"id":527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18777:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18771:8:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18781:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18785:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18781:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":519,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"18725:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":523,"indexExpression":{"baseExpression":{"id":520,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18731:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":522,"indexExpression":{"id":521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18740:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18731:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18725:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18744:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18725:27:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18753:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"18725:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18725:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18707:85:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":533,"nodeType":"ExpressionStatement","src":"18707:85:0"},{"id":537,"nodeType":"UncheckedBlock","src":"18806:46:0","statements":[{"expression":{"id":535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18834:3:0","subExpression":{"id":534,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18836:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":536,"nodeType":"ExpressionStatement","src":"18834:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":513,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18674:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":514,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18678:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18674:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":539,"initializationExpression":{"assignments":[511],"declarations":[{"constant":false,"id":511,"mutability":"mutable","name":"i","nameLocation":"18671:1:0","nodeType":"VariableDeclaration","scope":539,"src":"18663:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18663:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":512,"nodeType":"VariableDeclarationStatement","src":"18663:9:0"},"nodeType":"ForStatement","src":"18658:204:0"},{"expression":{"id":540,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18940:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":488,"id":541,"nodeType":"Return","src":"18933:19:0"}]},"baseFunctions":[2496],"documentation":{"id":475,"nodeType":"StructuredDocumentation","src":"17580:627:0","text":"@notice Register multiple recipients to multiple pools.\n @dev Returns the 'recipientIds' from the strategy that have been registered from calling this function.\n Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match\n '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\n @param _poolIds ID's of the pools\n @param _data An array of encoded data unique to a strategy that registerRecipient() requires.\n @return recipientIds The recipient IDs that have been registered"},"functionSelector":"1a20bd88","implemented":true,"kind":"function","modifiers":[{"id":484,"kind":"modifierInvocation","modifierName":{"id":483,"name":"nonReentrant","nameLocations":["18318:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"18318:12:0"},"nodeType":"ModifierInvocation","src":"18318:12:0"}],"name":"batchRegisterRecipient","nameLocation":"18221:22:0","parameters":{"id":482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"_poolIds","nameLocation":"18261:8:0","nodeType":"VariableDeclaration","scope":543,"src":"18244:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":476,"name":"uint256","nodeType":"ElementaryTypeName","src":"18244:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":477,"nodeType":"ArrayTypeName","src":"18244:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"_data","nameLocation":"18286:5:0","nodeType":"VariableDeclaration","scope":543,"src":"18271:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":479,"name":"bytes","nodeType":"ElementaryTypeName","src":"18271:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":480,"nodeType":"ArrayTypeName","src":"18271:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18243:49:0"},"returnParameters":{"id":488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":487,"mutability":"mutable","name":"recipientIds","nameLocation":"18365:12:0","nodeType":"VariableDeclaration","scope":543,"src":"18348:29:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":485,"name":"address","nodeType":"ElementaryTypeName","src":"18348:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":486,"nodeType":"ArrayTypeName","src":"18348:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18347:31:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":588,"nodeType":"FunctionDefinition","src":"19156:439:0","nodes":[],"body":{"id":587,"nodeType":"Block","src":"19238:357:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":553,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19318:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19318:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":559,"nodeType":"IfStatement","src":"19314:43:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":556,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19339:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19339:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"RevertStatement","src":"19332:25:0"}},{"assignments":[562],"declarations":[{"constant":false,"id":562,"mutability":"mutable","name":"pool","nameLocation":"19380:4:0","nodeType":"VariableDeclaration","scope":587,"src":"19368:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":561,"nodeType":"UserDefinedTypeName","pathNode":{"id":560,"name":"Pool","nameLocations":["19368:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"19368:4:0"},"referencedDeclaration":2319,"src":"19368:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":566,"initialValue":{"baseExpression":{"id":563,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"19387:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":565,"indexExpression":{"id":564,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19387:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19368:33:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":567,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19415:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19420:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"19415:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":569,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"19429:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19415:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":571,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19439:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":572,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19450:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19454:5:0","memberName":"value","nodeType":"MemberAccess","src":"19450:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19439:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19415:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":579,"nodeType":"IfStatement","src":"19411:75:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":576,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19468:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19468:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":578,"nodeType":"RevertStatement","src":"19461:25:0"}},{"expression":{"arguments":[{"id":581,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19556:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":582,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":583,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19574:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19579:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19574:13:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":580,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"19546:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19546:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"19546:42:0"}]},"baseFunctions":[2504],"documentation":{"id":544,"nodeType":"StructuredDocumentation","src":"18965:186:0","text":"@notice Fund a pool.\n @dev Anyone can fund a pool and call this function.\n @param _poolId ID of the pool\n @param _amount The amount to be deposited into the pool"},"functionSelector":"5acd6fac","implemented":true,"kind":"function","modifiers":[{"id":551,"kind":"modifierInvocation","modifierName":{"id":550,"name":"nonReentrant","nameLocations":["19225:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"19225:12:0"},"nodeType":"ModifierInvocation","src":"19225:12:0"}],"name":"fundPool","nameLocation":"19165:8:0","parameters":{"id":549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":546,"mutability":"mutable","name":"_poolId","nameLocation":"19182:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19174:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"19174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"_amount","nameLocation":"19199:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19191:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"19191:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19173:34:0"},"returnParameters":{"id":552,"nodeType":"ParameterList","parameters":[],"src":"19238:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":604,"nodeType":"FunctionDefinition","src":"19921:127:0","nodes":[],"body":{"id":603,"nodeType":"Block","src":"20006:42:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":599,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"src":"20026:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"20035:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":598,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20016:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20016:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"20016:25:0"}]},"baseFunctions":[2512],"documentation":{"id":589,"nodeType":"StructuredDocumentation","src":"19601:315:0","text":"@notice Allocate to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate().\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"functionSelector":"2ec38188","implemented":true,"kind":"function","modifiers":[{"id":596,"kind":"modifierInvocation","modifierName":{"id":595,"name":"nonReentrant","nameLocations":["19993:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"19993:12:0"},"nodeType":"ModifierInvocation","src":"19993:12:0"}],"name":"allocate","nameLocation":"19930:8:0","parameters":{"id":594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":591,"mutability":"mutable","name":"_poolId","nameLocation":"19947:7:0","nodeType":"VariableDeclaration","scope":604,"src":"19939:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":590,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":593,"mutability":"mutable","name":"_data","nameLocation":"19969:5:0","nodeType":"VariableDeclaration","scope":604,"src":"19956:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":592,"name":"bytes","nodeType":"ElementaryTypeName","src":"19956:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19938:37:0"},"returnParameters":{"id":597,"nodeType":"ParameterList","parameters":[],"src":"20006:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":651,"nodeType":"FunctionDefinition","src":"20511:559:0","nodes":[],"body":{"id":650,"nodeType":"Block","src":"20608:462:0","nodes":[],"statements":[{"assignments":[617],"declarations":[{"constant":false,"id":617,"mutability":"mutable","name":"numPools","nameLocation":"20626:8:0","nodeType":"VariableDeclaration","scope":650,"src":"20618:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":616,"name":"uint256","nodeType":"ElementaryTypeName","src":"20618:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":620,"initialValue":{"expression":{"id":618,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20637:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20646:6:0","memberName":"length","nodeType":"MemberAccess","src":"20637:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20618:34:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":621,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20772:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":622,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20784:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20791:6:0","memberName":"length","nodeType":"MemberAccess","src":"20784:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20772:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":628,"nodeType":"IfStatement","src":"20768:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"20806:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20806:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"20799:17:0"}},{"body":{"id":648,"nodeType":"Block","src":"20947:117:0","statements":[{"expression":{"arguments":[{"baseExpression":{"id":636,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20971:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":638,"indexExpression":{"id":637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20980:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20971:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":639,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20984:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":641,"indexExpression":{"id":640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20991:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20984:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":635,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20961:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20961:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":643,"nodeType":"ExpressionStatement","src":"20961:33:0"},{"id":647,"nodeType":"UncheckedBlock","src":"21008:46:0","statements":[{"expression":{"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"21036:3:0","subExpression":{"id":644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"21038:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":646,"nodeType":"ExpressionStatement","src":"21036:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":632,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20932:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":633,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20932:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":649,"initializationExpression":{"assignments":[630],"declarations":[{"constant":false,"id":630,"mutability":"mutable","name":"i","nameLocation":"20929:1:0","nodeType":"VariableDeclaration","scope":649,"src":"20921:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":629,"name":"uint256","nodeType":"ElementaryTypeName","src":"20921:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":631,"nodeType":"VariableDeclarationStatement","src":"20921:9:0"},"nodeType":"ForStatement","src":"20916:148:0"}]},"baseFunctions":[2522],"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"20054:452:0","text":"@notice Allocate to multiple pools\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate(). Please note that this is not a 'payable' function, so if you\n want to send funds to the strategy, you must send the funds using 'fundPool()'.\n @param _poolIds IDs of the pools\n @param _datas encoded data unique to the strategy for that pool"},"functionSelector":"c6dff1cf","implemented":true,"kind":"function","modifiers":[{"id":614,"kind":"modifierInvocation","modifierName":{"id":613,"name":"nonReentrant","nameLocations":["20595:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"20595:12:0"},"nodeType":"ModifierInvocation","src":"20595:12:0"}],"name":"batchAllocate","nameLocation":"20520:13:0","parameters":{"id":612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":608,"mutability":"mutable","name":"_poolIds","nameLocation":"20553:8:0","nodeType":"VariableDeclaration","scope":651,"src":"20534:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":606,"name":"uint256","nodeType":"ElementaryTypeName","src":"20534:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":607,"nodeType":"ArrayTypeName","src":"20534:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"_datas","nameLocation":"20578:6:0","nodeType":"VariableDeclaration","scope":651,"src":"20563:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":609,"name":"bytes","nodeType":"ElementaryTypeName","src":"20563:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":610,"nodeType":"ArrayTypeName","src":"20563:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20533:52:0"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"20608:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":676,"nodeType":"FunctionDefinition","src":"21468:196:0","nodes":[],"body":{"id":675,"nodeType":"Block","src":"21579:85:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":669,"name":"_recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":657,"src":"21624:13:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":670,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"21639:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":671,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21646:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21650:6:0","memberName":"sender","nodeType":"MemberAccess","src":"21646:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":664,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"21589:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":666,"indexExpression":{"id":665,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":654,"src":"21595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21589:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21604:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"21589:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21613:10:0","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":2968,"src":"21589:34:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address[] memory,bytes memory,address) external"}},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21589:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":674,"nodeType":"ExpressionStatement","src":"21589:68:0"}]},"baseFunctions":[2533],"documentation":{"id":652,"nodeType":"StructuredDocumentation","src":"21076:387:0","text":"@notice Distribute to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of 'strategy.distribute()'.\n @param _poolId ID of the pool\n @param _recipientIds Ids of the recipients of the distribution\n @param _data Encoded data unique to the strategy"},"functionSelector":"3a5fbd92","implemented":true,"kind":"function","modifiers":[{"id":662,"kind":"modifierInvocation","modifierName":{"id":661,"name":"nonReentrant","nameLocations":["21566:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"21566:12:0"},"nodeType":"ModifierInvocation","src":"21566:12:0"}],"name":"distribute","nameLocation":"21477:10:0","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":654,"mutability":"mutable","name":"_poolId","nameLocation":"21496:7:0","nodeType":"VariableDeclaration","scope":676,"src":"21488:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":653,"name":"uint256","nodeType":"ElementaryTypeName","src":"21488:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":657,"mutability":"mutable","name":"_recipientIds","nameLocation":"21522:13:0","nodeType":"VariableDeclaration","scope":676,"src":"21505:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":655,"name":"address","nodeType":"ElementaryTypeName","src":"21505:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":656,"nodeType":"ArrayTypeName","src":"21505:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":659,"mutability":"mutable","name":"_data","nameLocation":"21550:5:0","nodeType":"VariableDeclaration","scope":676,"src":"21537:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":658,"name":"bytes","nodeType":"ElementaryTypeName","src":"21537:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21487:69:0"},"returnParameters":{"id":663,"nodeType":"ParameterList","parameters":[],"src":"21579:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":693,"nodeType":"FunctionDefinition","src":"21910:142:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"21972:80:0","nodes":[],"statements":[{"condition":{"id":687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21986:36:0","subExpression":{"arguments":[{"id":683,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"22002:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22011:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22015:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22011:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":682,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"21987:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"21982:63:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":688,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22031:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22031:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":690,"nodeType":"RevertStatement","src":"22024:21:0"}}]},"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"21806:99:0","text":"@notice Internal function to check is caller is pool manager\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolManager","nameLocation":"21919:21:0","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":679,"mutability":"mutable","name":"_poolId","nameLocation":"21949:7:0","nodeType":"VariableDeclaration","scope":693,"src":"21941:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":678,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21940:17:0"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[],"src":"21972:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":710,"nodeType":"FunctionDefinition","src":"22160:138:0","nodes":[],"body":{"id":709,"nodeType":"Block","src":"22220:78:0","nodes":[],"statements":[{"condition":{"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22234:34:0","subExpression":{"arguments":[{"id":700,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"22248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22257:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22261:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22257:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":699,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"22235:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22235:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":708,"nodeType":"IfStatement","src":"22230:61:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":705,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22277:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22277:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":707,"nodeType":"RevertStatement","src":"22270:21:0"}}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"22058:97:0","text":"@notice Internal function to check is caller is pool admin\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolAdmin","nameLocation":"22169:19:0","parameters":{"id":697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":696,"mutability":"mutable","name":"_poolId","nameLocation":"22197:7:0","nodeType":"VariableDeclaration","scope":710,"src":"22189:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":695,"name":"uint256","nodeType":"ElementaryTypeName","src":"22189:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22188:17:0"},"returnParameters":{"id":698,"nodeType":"ParameterList","parameters":[],"src":"22220:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":925,"nodeType":"FunctionDefinition","src":"23131:2681:0","nodes":[],"body":{"id":924,"nodeType":"Block","src":"23409:2403:0","nodes":[],"statements":[{"condition":{"id":739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23423:58:0","subExpression":{"arguments":[{"id":735,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23458:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23470:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23474:6:0","memberName":"sender","nodeType":"MemberAccess","src":"23470:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":733,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"23424:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23433:24:0","memberName":"isOwnerOrMemberOfProfile","nodeType":"MemberAccess","referencedDeclaration":2704,"src":"23424:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23424:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":743,"nodeType":"IfStatement","src":"23419:85:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":740,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"23490:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":742,"nodeType":"RevertStatement","src":"23483:21:0"}},{"expression":{"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":744,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23515:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23524:12:0","subExpression":{"id":745,"name":"_poolIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"23526:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23515:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":748,"nodeType":"ExpressionStatement","src":"23515:21:0"},{"assignments":[750],"declarations":[{"constant":false,"id":750,"mutability":"mutable","name":"POOL_MANAGER_ROLE","nameLocation":"23683:17:0","nodeType":"VariableDeclaration","scope":924,"src":"23675:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23675:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":755,"initialValue":{"arguments":[{"id":753,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23711:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23703:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23703:7:0","typeDescriptions":{}}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23703:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23675:43:0"},{"assignments":[757],"declarations":[{"constant":false,"id":757,"mutability":"mutable","name":"POOL_ADMIN_ROLE","nameLocation":"23736:15:0","nodeType":"VariableDeclaration","scope":924,"src":"23728:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23728:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":765,"initialValue":{"arguments":[{"arguments":[{"id":761,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23781:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"61646d696e","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23789:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""},"value":"admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""}],"expression":{"id":759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23764:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23768:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"23764:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23764:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":758,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23754:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23754:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23728:70:0"},{"assignments":[768],"declarations":[{"constant":false,"id":768,"mutability":"mutable","name":"pool","nameLocation":"23857:4:0","nodeType":"VariableDeclaration","scope":924,"src":"23845:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":767,"nodeType":"UserDefinedTypeName","pathNode":{"id":766,"name":"Pool","nameLocations":["23845:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"23845:4:0"},"referencedDeclaration":2319,"src":"23845:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":777,"initialValue":{"arguments":[{"id":770,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23894:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"23928:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":772,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"23961:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":773,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"23991:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24024:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":775,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24066:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":769,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"23864:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pool_$2319_storage_ptr_$","typeString":"type(struct IAllo.Pool storage pointer)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23883:9:0","23918:8:0","23951:8:0","23984:5:0","24011:11:0","24055:9:0"],"names":["profileId","strategy","metadata","token","managerRole","adminRole"],"nodeType":"FunctionCall","src":"23864:228:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"23845:247:0"},{"expression":{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":778,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"24159:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":780,"indexExpression":{"id":779,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24165:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24159:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":781,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"24175:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"24159:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":783,"nodeType":"ExpressionStatement","src":"24159:20:0"},{"expression":{"arguments":[{"id":785,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24250:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":786,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24267:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24271:6:0","memberName":"sender","nodeType":"MemberAccess","src":"24267:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":784,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"24239:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24239:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":789,"nodeType":"ExpressionStatement","src":"24239:39:0"},{"expression":{"arguments":[{"id":791,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24351:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":792,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24370:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":790,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51925,"src":"24337:13:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24337:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"ExpressionStatement","src":"24337:49:0"},{"expression":{"arguments":[{"id":798,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24562:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":799,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"24570:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":795,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24541:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24551:10:0","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":2939,"src":"24541:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) external"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24541:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":801,"nodeType":"ExpressionStatement","src":"24541:47:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":802,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24603:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24613:9:0","memberName":"getPoolId","nodeType":"MemberAccess","referencedDeclaration":2876,"src":"24603:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24603:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":805,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24628:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24603:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24646:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24656:7:0","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":2870,"src":"24646:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24646:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}],"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24638:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":807,"name":"address","nodeType":"ElementaryTypeName","src":"24638:7:0","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24638:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":815,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24678:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24670:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":813,"name":"address","nodeType":"ElementaryTypeName","src":"24670:7:0","typeDescriptions":{}}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24670:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24638:45:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24603:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":822,"nodeType":"IfStatement","src":"24599:103:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":819,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"24692:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24692:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":821,"nodeType":"RevertStatement","src":"24685:17:0"}},{"assignments":[824],"declarations":[{"constant":false,"id":824,"mutability":"mutable","name":"managersLength","nameLocation":"24758:14:0","nodeType":"VariableDeclaration","scope":924,"src":"24750:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":823,"name":"uint256","nodeType":"ElementaryTypeName","src":"24750:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":827,"initialValue":{"expression":{"id":825,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24775:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24785:6:0","memberName":"length","nodeType":"MemberAccess","src":"24775:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24750:41:0"},{"body":{"id":859,"nodeType":"Block","src":"24838:229:0","statements":[{"assignments":[835],"declarations":[{"constant":false,"id":835,"mutability":"mutable","name":"manager","nameLocation":"24860:7:0","nodeType":"VariableDeclaration","scope":859,"src":"24852:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"24852:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":839,"initialValue":{"baseExpression":{"id":836,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24870:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":838,"indexExpression":{"id":837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24880:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24870:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24852:30:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":840,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24900:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24919:1:0","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":842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24911:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"24911:7:0","typeDescriptions":{}}},"id":844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24911:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24900:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":849,"nodeType":"IfStatement","src":"24896:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":846,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"24930:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24930:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":848,"nodeType":"RevertStatement","src":"24923:21:0"}},{"expression":{"arguments":[{"id":851,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24970:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":852,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24989:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":850,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"24959:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":854,"nodeType":"ExpressionStatement","src":"24959:38:0"},{"id":858,"nodeType":"UncheckedBlock","src":"25011:46:0","statements":[{"expression":{"id":856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"25039:3:0","subExpression":{"id":855,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"25041:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":857,"nodeType":"ExpressionStatement","src":"25039:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24817:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":832,"name":"managersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":824,"src":"24821:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24817:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":860,"initializationExpression":{"assignments":[829],"declarations":[{"constant":false,"id":829,"mutability":"mutable","name":"i","nameLocation":"24814:1:0","nodeType":"VariableDeclaration","scope":860,"src":"24806:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":828,"name":"uint256","nodeType":"ElementaryTypeName","src":"24806:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":830,"nodeType":"VariableDeclarationStatement","src":"24806:9:0"},"nodeType":"ForStatement","src":"24801:266:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":861,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25081:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25091:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25081:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":903,"nodeType":"IfStatement","src":"25077:554:0","trueBody":{"id":902,"nodeType":"Block","src":"25094:537:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":864,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25359:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":865,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25369:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25359:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":867,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":868,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25390:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":870,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25401:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25405:5:0","memberName":"value","nodeType":"MemberAccess","src":"25401:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":873,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25379:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25359:52:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":875,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25358:54:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":876,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25417:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":877,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25427:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25417:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":879,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25437:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":880,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25448:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25452:5:0","memberName":"value","nodeType":"MemberAccess","src":"25448:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25437:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25417:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25416:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25358:100:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":890,"nodeType":"IfStatement","src":"25354:164:0","trueBody":{"id":889,"nodeType":"Block","src":"25460:58:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":886,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"25485:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25485:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":888,"nodeType":"RevertStatement","src":"25478:25:0"}]}},{"expression":{"arguments":[{"id":892,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25547:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":893,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25555:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":894,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":891,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25531:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"ExpressionStatement","src":"25531:42:0"},{"eventCall":{"arguments":[{"id":898,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25604:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":899,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25612:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":897,"name":"BaseFeePaid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2360,"src":"25592:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25592:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":901,"nodeType":"EmitStatement","src":"25587:33:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25645:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25655:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25645:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":914,"nodeType":"IfStatement","src":"25641:79:0","trueBody":{"id":913,"nodeType":"Block","src":"25658:62:0","statements":[{"expression":{"arguments":[{"id":908,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25682:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":909,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25691:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":910,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25699:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":907,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"25672:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25672:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":912,"nodeType":"ExpressionStatement","src":"25672:37:0"}]}},{"eventCall":{"arguments":[{"id":916,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25747:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":917,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"25755:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":918,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25767:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25778:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":920,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25786:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":921,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"25795:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":915,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2336,"src":"25735:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,bytes32,contract IStrategy,address,uint256,struct Metadata memory)"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25735:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"EmitStatement","src":"25730:75:0"}]},"documentation":{"id":711,"nodeType":"StructuredDocumentation","src":"22304:822:0","text":"@notice Creates a new pool.\n @dev This is an internal function that is called by the 'createPool()' & 'createPoolWithCustomStrategy()' functions\n It is used to create a new pool and is called by both functions. The 'msg.sender' must be a member or owner of\n a profile to create a pool.\n @param _profileId The ID of the profile of for pool creator in the registry\n @param _strategy The address of strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token that the pool is denominated in\n @param _amount The amount of the token to be deposited into the pool\n @param _metadata The 'Metadata' of the pool\n @param _managers The managers of the pool\n @return poolId The ID of the pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_createPool","nameLocation":"23140:11:0","parameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"_profileId","nameLocation":"23169:10:0","nodeType":"VariableDeclaration","scope":925,"src":"23161:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23161:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":716,"mutability":"mutable","name":"_strategy","nameLocation":"23199:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23189:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":715,"nodeType":"UserDefinedTypeName","pathNode":{"id":714,"name":"IStrategy","nameLocations":["23189:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"23189:9:0"},"referencedDeclaration":2969,"src":"23189:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"_initStrategyData","nameLocation":"23231:17:0","nodeType":"VariableDeclaration","scope":925,"src":"23218:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":717,"name":"bytes","nodeType":"ElementaryTypeName","src":"23218:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"_token","nameLocation":"23266:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23258:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":719,"name":"address","nodeType":"ElementaryTypeName","src":"23258:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"_amount","nameLocation":"23290:7:0","nodeType":"VariableDeclaration","scope":925,"src":"23282:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":721,"name":"uint256","nodeType":"ElementaryTypeName","src":"23282:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":725,"mutability":"mutable","name":"_metadata","nameLocation":"23323:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23307:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":724,"nodeType":"UserDefinedTypeName","pathNode":{"id":723,"name":"Metadata","nameLocations":["23307:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"23307:8:0"},"referencedDeclaration":3098,"src":"23307:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"_managers","nameLocation":"23359:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23342:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":726,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":727,"nodeType":"ArrayTypeName","src":"23342:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23151:223:0"},"returnParameters":{"id":732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":731,"mutability":"mutable","name":"poolId","nameLocation":"23401:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23393:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":730,"name":"uint256","nodeType":"ElementaryTypeName","src":"23393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23392:16:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":947,"nodeType":"FunctionDefinition","src":"26159:151:0","nodes":[],"body":{"id":946,"nodeType":"Block","src":"26224:86:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":941,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":930,"src":"26285:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26292:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26296:6:0","memberName":"sender","nodeType":"MemberAccess","src":"26292:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":933,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26234:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":935,"indexExpression":{"id":934,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"26240:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26234:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26249:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"26234:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26258:8:0","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":2957,"src":"26234:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes memory,address) payable external"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":938,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26274:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26278:5:0","memberName":"value","nodeType":"MemberAccess","src":"26274:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"26234:50:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$value","typeString":"function (bytes memory,address) payable external"}},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26234:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":945,"nodeType":"ExpressionStatement","src":"26234:69:0"}]},"documentation":{"id":926,"nodeType":"StructuredDocumentation","src":"25818:336:0","text":"@notice Allocate to recipient(s).\n @dev Passes '_data' & 'msg.sender' through to the strategy for that pool.\n This is an internal function that is called by the 'allocate()' & 'batchAllocate()' functions.\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"26168:9:0","parameters":{"id":931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"mutability":"mutable","name":"_poolId","nameLocation":"26186:7:0","nodeType":"VariableDeclaration","scope":947,"src":"26178:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":927,"name":"uint256","nodeType":"ElementaryTypeName","src":"26178:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"_data","nameLocation":"26208:5:0","nodeType":"VariableDeclaration","scope":947,"src":"26195:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"26195:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26177:37:0"},"returnParameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"26224:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1122,"nodeType":"FunctionDefinition","src":"26634:1879:0","nodes":[],"body":{"id":1121,"nodeType":"Block","src":"26717:1796:0","nodes":[],"statements":[{"assignments":[959],"declarations":[{"constant":false,"id":959,"mutability":"mutable","name":"feeAmount","nameLocation":"26735:9:0","nodeType":"VariableDeclaration","scope":1121,"src":"26727:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":958,"name":"uint256","nodeType":"ElementaryTypeName","src":"26727:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":960,"nodeType":"VariableDeclarationStatement","src":"26727:17:0"},{"assignments":[962],"declarations":[{"constant":false,"id":962,"mutability":"mutable","name":"amountAfterFee","nameLocation":"26762:14:0","nodeType":"VariableDeclaration","scope":1121,"src":"26754:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":961,"name":"uint256","nodeType":"ElementaryTypeName","src":"26754:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":964,"initialValue":{"id":963,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26779:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26754:32:0"},{"assignments":[967],"declarations":[{"constant":false,"id":967,"mutability":"mutable","name":"pool","nameLocation":"26810:4:0","nodeType":"VariableDeclaration","scope":1121,"src":"26797:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":966,"nodeType":"UserDefinedTypeName","pathNode":{"id":965,"name":"Pool","nameLocations":["26797:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"26797:4:0"},"referencedDeclaration":2319,"src":"26797:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":971,"initialValue":{"baseExpression":{"id":968,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26817:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":970,"indexExpression":{"id":969,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"26823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26817:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26797:34:0"},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_token","nameLocation":"26849:6:0","nodeType":"VariableDeclaration","scope":1121,"src":"26841:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":972,"name":"address","nodeType":"ElementaryTypeName","src":"26841:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":976,"initialValue":{"expression":{"id":974,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"26858:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26863:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26858:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26841:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":977,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26883:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26896:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26883:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1050,"nodeType":"IfStatement","src":"26879:808:0","trueBody":{"id":1049,"nodeType":"Block","src":"26899:788:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":980,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"26913:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":981,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26926:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":982,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26936:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26926:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26925:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":985,"name":"getFeeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1276,"src":"26950:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26950:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26925:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26913:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":989,"nodeType":"ExpressionStatement","src":"26913:56:0"},{"expression":{"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":990,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"26983:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":991,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27001:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26983:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":993,"nodeType":"ExpressionStatement","src":"26983:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":994,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27029:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":995,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27041:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":997,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"27059:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1002,"nodeType":"IfStatement","src":"27025:59:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":999,"name":"INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"27075:7:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27075:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1001,"nodeType":"RevertStatement","src":"27068:16:0"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1003,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27103:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1004,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27113:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27103:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1047,"nodeType":"Block","src":"27254:423:0","statements":[{"assignments":[1018],"declarations":[{"constant":false,"id":1018,"mutability":"mutable","name":"balanceBeforeFee","nameLocation":"27280:16:0","nodeType":"VariableDeclaration","scope":1047,"src":"27272:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1017,"name":"uint256","nodeType":"ElementaryTypeName","src":"27272:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1023,"initialValue":{"arguments":[{"id":1020,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27311:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1021,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27319:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1019,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27299:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27299:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27272:56:0"},{"expression":{"arguments":[{"id":1025,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27366:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1027,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27394:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27398:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27394:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1029,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27410:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1030,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27428:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1026,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27374:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27388:4:0","27406:2:0","27420:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27374:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1024,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27346:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27346:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1033,"nodeType":"ExpressionStatement","src":"27346:94:0"},{"assignments":[1035],"declarations":[{"constant":false,"id":1035,"mutability":"mutable","name":"balanceAfterFee","nameLocation":"27466:15:0","nodeType":"VariableDeclaration","scope":1047,"src":"27458:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"27458:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1040,"initialValue":{"arguments":[{"id":1037,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27496:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1038,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27504:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1036,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27484:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27458:55:0"},{"expression":{"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1041,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27616:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1042,"name":"balanceAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1035,"src":"27628:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1043,"name":"balanceBeforeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1018,"src":"27646:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27628:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27616:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1046,"nodeType":"ExpressionStatement","src":"27616:46:0"}]},"id":1048,"nodeType":"IfStatement","src":"27099:578:0","trueBody":{"id":1016,"nodeType":"Block","src":"27121:127:0","statements":[{"expression":{"arguments":[{"id":1007,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27159:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27187:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27191:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27187:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1011,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27203:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1012,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27221:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1008,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27167:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27181:4:0","27199:2:0","27213:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27167:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1006,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27139:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27139:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1015,"nodeType":"ExpressionStatement","src":"27139:94:0"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1051,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27701:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1052,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27711:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27701:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1107,"nodeType":"Block","src":"27889:501:0","statements":[{"assignments":[1069],"declarations":[{"constant":false,"id":1069,"mutability":"mutable","name":"balanceBeforeFundingPool","nameLocation":"27911:24:0","nodeType":"VariableDeclaration","scope":1107,"src":"27903:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"27903:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1077,"initialValue":{"arguments":[{"id":1071,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27950:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1074,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27966:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27958:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1072,"name":"address","nodeType":"ElementaryTypeName","src":"27958:7:0","typeDescriptions":{}}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27958:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1070,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27938:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27938:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27903:74:0"},{"expression":{"arguments":[{"id":1079,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28028:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1081,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28056:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28060:6:0","memberName":"sender","nodeType":"MemberAccess","src":"28056:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1085,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28080:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28072:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1083,"name":"address","nodeType":"ElementaryTypeName","src":"28072:7:0","typeDescriptions":{}}},"id":1086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28072:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1087,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28100:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1080,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"28036:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28050:4:0","28068:2:0","28092:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"28036:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1078,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27991:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27991:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1090,"nodeType":"ExpressionStatement","src":"27991:139:0"},{"assignments":[1092],"declarations":[{"constant":false,"id":1092,"mutability":"mutable","name":"balanceAfterFundingPool","nameLocation":"28152:23:0","nodeType":"VariableDeclaration","scope":1107,"src":"28144:31:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1091,"name":"uint256","nodeType":"ElementaryTypeName","src":"28144:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1100,"initialValue":{"arguments":[{"id":1094,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28190:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1097,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28206:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28198:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"28198:7:0","typeDescriptions":{}}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1093,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"28178:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28178:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28144:73:0"},{"expression":{"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1101,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28312:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1102,"name":"balanceAfterFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1092,"src":"28329:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1103,"name":"balanceBeforeFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"28355:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28329:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28312:67:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1106,"nodeType":"ExpressionStatement","src":"28312:67:0"}]},"id":1108,"nodeType":"IfStatement","src":"27697:693:0","trueBody":{"id":1067,"nodeType":"Block","src":"27719:164:0","statements":[{"expression":{"arguments":[{"id":1055,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27770:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27798:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27802:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27798:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1061,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27822:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27814:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1059,"name":"address","nodeType":"ElementaryTypeName","src":"27814:7:0","typeDescriptions":{}}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27814:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1063,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27842:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1056,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27778:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27792:4:0","27810:2:0","27834:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27778:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1054,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27733:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1066,"nodeType":"ExpressionStatement","src":"27733:139:0"}]}},{"expression":{"arguments":[{"id":1112,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28429:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1109,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28400:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":1111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28410:18:0","memberName":"increasePoolAmount","nodeType":"MemberAccess","referencedDeclaration":2908,"src":"28400:28:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28400:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1114,"nodeType":"ExpressionStatement","src":"28400:44:0"},{"eventCall":{"arguments":[{"id":1116,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"28471:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1117,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28480:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1118,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"28496:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1115,"name":"PoolFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"28460:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28460:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1120,"nodeType":"EmitStatement","src":"28455:51:0"}]},"documentation":{"id":948,"nodeType":"StructuredDocumentation","src":"26316:313:0","text":"@notice Fund a pool.\n @dev Deducts the fee and transfers the amount to the distribution strategy.\n Emits a 'PoolFunded' event.\n @param _amount The amount to transfer\n @param _poolId The 'poolId' for the pool you are funding\n @param _strategy The address of the strategy"},"implemented":true,"kind":"function","modifiers":[],"name":"_fundPool","nameLocation":"26643:9:0","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"_amount","nameLocation":"26661:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26653:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":949,"name":"uint256","nodeType":"ElementaryTypeName","src":"26653:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":952,"mutability":"mutable","name":"_poolId","nameLocation":"26678:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":951,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_strategy","nameLocation":"26697:9:0","nodeType":"VariableDeclaration","scope":1122,"src":"26687:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":954,"nodeType":"UserDefinedTypeName","pathNode":{"id":953,"name":"IStrategy","nameLocations":["26687:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"26687:9:0"},"referencedDeclaration":2969,"src":"26687:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"}],"src":"26652:55:0"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"26717:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1135,"nodeType":"FunctionDefinition","src":"28898:132:0","nodes":[],"body":{"id":1134,"nodeType":"Block","src":"28976:54:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1130,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"28993:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1132,"indexExpression":{"id":1131,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"29013:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28993:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1129,"id":1133,"nodeType":"Return","src":"28986:37:0"}]},"documentation":{"id":1123,"nodeType":"StructuredDocumentation","src":"28519:374:0","text":"@notice Checks if the strategy is an approved cloneable strategy.\n @dev Internal function used by createPoolwithCustomStrategy and createPool to\n determine if a strategy is in the cloneable strategy allow list.\n @param _strategy The address of the strategy\n @return This will return 'true' if the strategy is cloneable, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isCloneableStrategy","nameLocation":"28907:20:0","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"mutability":"mutable","name":"_strategy","nameLocation":"28936:9:0","nodeType":"VariableDeclaration","scope":1135,"src":"28928:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1124,"name":"address","nodeType":"ElementaryTypeName","src":"28928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28927:19:0"},"returnParameters":{"id":1129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1135,"src":"28970:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1127,"name":"bool","nodeType":"ElementaryTypeName","src":"28970:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28969:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1154,"nodeType":"FunctionDefinition","src":"29346:153:0","nodes":[],"body":{"id":1153,"nodeType":"Block","src":"29432:67:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1146,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29457:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1148,"indexExpression":{"id":1147,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1138,"src":"29463:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29457:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29472:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":2318,"src":"29457:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1150,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1140,"src":"29483:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1145,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"29449:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29449:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1144,"id":1152,"nodeType":"Return","src":"29442:50:0"}]},"documentation":{"id":1136,"nodeType":"StructuredDocumentation","src":"29036:305:0","text":"@notice Checks if the address is a pool admin\n @dev Internal function used to determine if an address is a pool admin\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool admin, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolAdmin","nameLocation":"29355:12:0","parameters":{"id":1141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1138,"mutability":"mutable","name":"_poolId","nameLocation":"29376:7:0","nodeType":"VariableDeclaration","scope":1154,"src":"29368:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1137,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1140,"mutability":"mutable","name":"_address","nameLocation":"29393:8:0","nodeType":"VariableDeclaration","scope":1154,"src":"29385:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1139,"name":"address","nodeType":"ElementaryTypeName","src":"29385:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29367:35:0"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"29426:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1142,"name":"bool","nodeType":"ElementaryTypeName","src":"29426:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29425:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1178,"nodeType":"FunctionDefinition","src":"29821:192:0","nodes":[],"body":{"id":1177,"nodeType":"Block","src":"29909:104:0","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":1165,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29934:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1167,"indexExpression":{"id":1166,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29940:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29934:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29949:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"29934:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1169,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29962:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1164,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"29926:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29926:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1172,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29988:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1173,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29997:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1171,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"29975:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29926:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1163,"id":1176,"nodeType":"Return","src":"29919:87:0"}]},"documentation":{"id":1155,"nodeType":"StructuredDocumentation","src":"29505:311:0","text":"@notice Checks if the address is a pool manager\n @dev Internal function used to determine if an address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool manager, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolManager","nameLocation":"29830:14:0","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"_poolId","nameLocation":"29853:7:0","nodeType":"VariableDeclaration","scope":1178,"src":"29845:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"29845:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"_address","nameLocation":"29870:8:0","nodeType":"VariableDeclaration","scope":1178,"src":"29862:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"29862:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29844:35:0"},"returnParameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1178,"src":"29903:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1161,"name":"bool","nodeType":"ElementaryTypeName","src":"29903:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29902:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1205,"nodeType":"FunctionDefinition","src":"30226:203:0","nodes":[],"body":{"id":1204,"nodeType":"Block","src":"30279:150:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1184,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30293:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30314:1:0","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":1186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30306:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1185,"name":"address","nodeType":"ElementaryTypeName","src":"30306:7:0","typeDescriptions":{}}},"id":1188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30306:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30293:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1193,"nodeType":"IfStatement","src":"30289:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1190,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30325:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30325:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1192,"nodeType":"RevertStatement","src":"30318:21:0"}},{"expression":{"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1194,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"30350:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1196,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30371:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1195,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"30361:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30361:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"30350:31:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":1199,"nodeType":"ExpressionStatement","src":"30350:31:0"},{"eventCall":{"arguments":[{"id":1201,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30412:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1200,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"30396:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30396:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1203,"nodeType":"EmitStatement","src":"30391:31:0"}]},"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"30019:202:0","text":"@notice Updates the registry address\n @dev Internal function used to update the registry address.\n Emits a RegistryUpdated event.\n @param _registry The new registry address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateRegistry","nameLocation":"30235:15:0","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"_registry","nameLocation":"30259:9:0","nodeType":"VariableDeclaration","scope":1205,"src":"30251:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"30251:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:19:0"},"returnParameters":{"id":1183,"nodeType":"ParameterList","parameters":[],"src":"30279:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1230,"nodeType":"FunctionDefinition","src":"30642:199:0","nodes":[],"body":{"id":1229,"nodeType":"Block","src":"30703:138:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1211,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30717:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30738:1:0","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":1213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1212,"name":"address","nodeType":"ElementaryTypeName","src":"30730:7:0","typeDescriptions":{}}},"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30730:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30717:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1220,"nodeType":"IfStatement","src":"30713:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1217,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30749:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30749:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"RevertStatement","src":"30742:21:0"}},{"expression":{"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1221,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30774:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1222,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30785:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"30774:20:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1224,"nodeType":"ExpressionStatement","src":"30774:20:0"},{"eventCall":{"arguments":[{"id":1226,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30825:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1225,"name":"TreasuryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2365,"src":"30809:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30809:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1228,"nodeType":"EmitStatement","src":"30804:30:0"}]},"documentation":{"id":1206,"nodeType":"StructuredDocumentation","src":"30435:202:0","text":"@notice Updates the treasury address\n @dev Internal function used to update the treasury address.\n Emits a TreasuryUpdated event.\n @param _treasury The new treasury address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateTreasury","nameLocation":"30651:15:0","parameters":{"id":1209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1208,"mutability":"mutable","name":"_treasury","nameLocation":"30683:9:0","nodeType":"VariableDeclaration","scope":1230,"src":"30667:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1207,"name":"address","nodeType":"ElementaryTypeName","src":"30667:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"30666:27:0"},"returnParameters":{"id":1210,"nodeType":"ParameterList","parameters":[],"src":"30703:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1252,"nodeType":"FunctionDefinition","src":"31041:198:0","nodes":[],"body":{"id":1251,"nodeType":"Block","src":"31098:141:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1236,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31112:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31126:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"31112:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1242,"nodeType":"IfStatement","src":"31108:44:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1239,"name":"INVALID_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"31139:11:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31139:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"RevertStatement","src":"31132:20:0"}},{"expression":{"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1243,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31163:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1244,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31176:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31163:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1246,"nodeType":"ExpressionStatement","src":"31163:24:0"},{"eventCall":{"arguments":[{"id":1248,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31221:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1247,"name":"PercentFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"31203:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31203:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"EmitStatement","src":"31198:34:0"}]},"documentation":{"id":1231,"nodeType":"StructuredDocumentation","src":"30847:189:0","text":"@notice Updates the fee percentage\n @dev Internal function used to update the percentage fee.\n Emits a PercentFeeUpdated event.\n @param _percentFee The new fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updatePercentFee","nameLocation":"31050:17:0","parameters":{"id":1234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1233,"mutability":"mutable","name":"_percentFee","nameLocation":"31076:11:0","nodeType":"VariableDeclaration","scope":1252,"src":"31068:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1232,"name":"uint256","nodeType":"ElementaryTypeName","src":"31068:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31067:21:0"},"returnParameters":{"id":1235,"nodeType":"ParameterList","parameters":[],"src":"31098:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1267,"nodeType":"FunctionDefinition","src":"31426:125:0","nodes":[],"body":{"id":1266,"nodeType":"Block","src":"31477:74:0","nodes":[],"statements":[{"expression":{"id":1260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1258,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31487:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1259,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1255,"src":"31497:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31487:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1261,"nodeType":"ExpressionStatement","src":"31487:18:0"},{"eventCall":{"arguments":[{"id":1263,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31536:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1262,"name":"BaseFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"31521:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31521:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1265,"nodeType":"EmitStatement","src":"31516:28:0"}]},"documentation":{"id":1253,"nodeType":"StructuredDocumentation","src":"31245:176:0","text":"@notice Updates the base fee\n @dev Internal function used to update the base fee.\n Emits a BaseFeeUpdated event.\n @param _baseFee The new base fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateBaseFee","nameLocation":"31435:14:0","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1255,"mutability":"mutable","name":"_baseFee","nameLocation":"31458:8:0","nodeType":"VariableDeclaration","scope":1267,"src":"31450:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1254,"name":"uint256","nodeType":"ElementaryTypeName","src":"31450:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31449:18:0"},"returnParameters":{"id":1257,"nodeType":"ParameterList","parameters":[],"src":"31477:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1276,"nodeType":"FunctionDefinition","src":"31788:103:0","nodes":[],"body":{"id":1275,"nodeType":"Block","src":"31863:28:0","nodes":[],"statements":[{"expression":{"hexValue":"31653138","id":1273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31880:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"functionReturnParameters":1272,"id":1274,"nodeType":"Return","src":"31873:11:0"}]},"baseFunctions":[2609],"documentation":{"id":1268,"nodeType":"StructuredDocumentation","src":"31657:126:0","text":"@notice Getter for the fee denominator\n @return FEE_DENOMINATOR The fee denominator is (1e18) which represents 100%"},"functionSelector":"f4e1fc41","implemented":true,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"31797:17:0","parameters":{"id":1269,"nodeType":"ParameterList","parameters":[],"src":"31814:2:0"},"returnParameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1271,"mutability":"mutable","name":"FEE_DENOMINATOR","nameLocation":"31846:15:0","nodeType":"VariableDeclaration","scope":1276,"src":"31838:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"31838:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31837:25:0"},"scope":1390,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1292,"nodeType":"FunctionDefinition","src":"32112:140:0","nodes":[],"body":{"id":1291,"nodeType":"Block","src":"32197:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1287,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"32227:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1288,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"32236:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1286,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"32214:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32214:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1285,"id":1290,"nodeType":"Return","src":"32207:38:0"}]},"baseFunctions":[2543],"documentation":{"id":1277,"nodeType":"StructuredDocumentation","src":"31897:210:0","text":"@notice Checks if the address is a pool admin.\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":true,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"32121:11:0","parameters":{"id":1282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1279,"mutability":"mutable","name":"_poolId","nameLocation":"32141:7:0","nodeType":"VariableDeclaration","scope":1292,"src":"32133:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1278,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"_address","nameLocation":"32158:8:0","nodeType":"VariableDeclaration","scope":1292,"src":"32150:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1280,"name":"address","nodeType":"ElementaryTypeName","src":"32150:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32132:35:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1292,"src":"32191:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1283,"name":"bool","nodeType":"ElementaryTypeName","src":"32191:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32190:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1308,"nodeType":"FunctionDefinition","src":"32476:144:0","nodes":[],"body":{"id":1307,"nodeType":"Block","src":"32563:57:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1303,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"32595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1304,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1297,"src":"32604:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1302,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"32580:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32580:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1301,"id":1306,"nodeType":"Return","src":"32573:40:0"}]},"baseFunctions":[2553],"documentation":{"id":1293,"nodeType":"StructuredDocumentation","src":"32258:213:0","text":"@notice Checks if the address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":true,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"32485:13:0","parameters":{"id":1298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1295,"mutability":"mutable","name":"_poolId","nameLocation":"32507:7:0","nodeType":"VariableDeclaration","scope":1308,"src":"32499:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1294,"name":"uint256","nodeType":"ElementaryTypeName","src":"32499:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1297,"mutability":"mutable","name":"_address","nameLocation":"32524:8:0","nodeType":"VariableDeclaration","scope":1308,"src":"32516:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1296,"name":"address","nodeType":"ElementaryTypeName","src":"32516:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32498:35:0"},"returnParameters":{"id":1301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1308,"src":"32557:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1299,"name":"bool","nodeType":"ElementaryTypeName","src":"32557:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32556:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1325,"nodeType":"FunctionDefinition","src":"32753:126:0","nodes":[],"body":{"id":1324,"nodeType":"Block","src":"32823:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1318,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"32848:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1320,"indexExpression":{"id":1319,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1311,"src":"32854:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32848:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32863:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"32848:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32840:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1316,"name":"address","nodeType":"ElementaryTypeName","src":"32840:7:0","typeDescriptions":{}}},"id":1322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32840:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1315,"id":1323,"nodeType":"Return","src":"32833:39:0"}]},"baseFunctions":[2569],"documentation":{"id":1309,"nodeType":"StructuredDocumentation","src":"32626:122:0","text":"@notice Getter for the strategy.\n @param _poolId The ID of the pool\n @return The address of the strategy"},"functionSelector":"cfc0cc34","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"32762:11:0","parameters":{"id":1312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1311,"mutability":"mutable","name":"_poolId","nameLocation":"32782:7:0","nodeType":"VariableDeclaration","scope":1325,"src":"32774:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1310,"name":"uint256","nodeType":"ElementaryTypeName","src":"32774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32773:17:0"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1325,"src":"32814:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"32814:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32813:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1334,"nodeType":"FunctionDefinition","src":"32977:91:0","nodes":[],"body":{"id":1333,"nodeType":"Block","src":"33034:34:0","nodes":[],"statements":[{"expression":{"id":1331,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"33051:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1330,"id":1332,"nodeType":"Return","src":"33044:17:0"}]},"baseFunctions":[2575],"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"32885:87:0","text":"@notice Getter for fee percentage.\n @return The fee percentage (1e18 = 100%)"},"functionSelector":"4edbaadc","implemented":true,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"32986:13:0","parameters":{"id":1327,"nodeType":"ParameterList","parameters":[],"src":"32999:2:0"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1334,"src":"33025:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"33025:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33024:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1343,"nodeType":"FunctionDefinition","src":"33140:85:0","nodes":[],"body":{"id":1342,"nodeType":"Block","src":"33194:31:0","nodes":[],"statements":[{"expression":{"id":1340,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"33211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1339,"id":1341,"nodeType":"Return","src":"33204:14:0"}]},"baseFunctions":[2581],"documentation":{"id":1335,"nodeType":"StructuredDocumentation","src":"33074:61:0","text":"@notice Getter for base fee.\n @return The base fee"},"functionSelector":"15e812ad","implemented":true,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"33149:10:0","parameters":{"id":1336,"nodeType":"ParameterList","parameters":[],"src":"33159:2:0"},"returnParameters":{"id":1339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1343,"src":"33185:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1337,"name":"uint256","nodeType":"ElementaryTypeName","src":"33185:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33184:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1352,"nodeType":"FunctionDefinition","src":"33313:95:0","nodes":[],"body":{"id":1351,"nodeType":"Block","src":"33376:32:0","nodes":[],"statements":[{"expression":{"id":1349,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"33393:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":1348,"id":1350,"nodeType":"Return","src":"33386:15:0"}]},"baseFunctions":[2587],"documentation":{"id":1344,"nodeType":"StructuredDocumentation","src":"33231:77:0","text":"@notice Getter for treasury address.\n @return The treasury address"},"functionSelector":"3b19e84a","implemented":true,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"33322:11:0","parameters":{"id":1345,"nodeType":"ParameterList","parameters":[],"src":"33333:2:0"},"returnParameters":{"id":1348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1352,"src":"33359:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1346,"name":"address","nodeType":"ElementaryTypeName","src":"33359:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"33358:17:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1362,"nodeType":"FunctionDefinition","src":"33488:89:0","nodes":[],"body":{"id":1361,"nodeType":"Block","src":"33545:32:0","nodes":[],"statements":[{"expression":{"id":1359,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"33562:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"functionReturnParameters":1358,"id":1360,"nodeType":"Return","src":"33555:15:0"}]},"baseFunctions":[2594],"documentation":{"id":1353,"nodeType":"StructuredDocumentation","src":"33414:69:0","text":"@notice Getter for registry.\n @return The registry address"},"functionSelector":"5ab1bd53","implemented":true,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"33497:11:0","parameters":{"id":1354,"nodeType":"ParameterList","parameters":[],"src":"33508:2:0"},"returnParameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"33534:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":1356,"nodeType":"UserDefinedTypeName","pathNode":{"id":1355,"name":"IRegistry","nameLocations":["33534:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"33534:9:0"},"referencedDeclaration":2802,"src":"33534:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"33533:11:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1375,"nodeType":"FunctionDefinition","src":"33760:132:0","nodes":[],"body":{"id":1374,"nodeType":"Block","src":"33837:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"33875:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1370,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"33854:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33854:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1369,"id":1373,"nodeType":"Return","src":"33847:38:0"}]},"baseFunctions":[2561],"documentation":{"id":1363,"nodeType":"StructuredDocumentation","src":"33583:172:0","text":"@notice Getter for if strategy is cloneable.\n @param _strategy The address of the strategy\n @return 'true' if the strategy is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":true,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"33769:19:0","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1365,"mutability":"mutable","name":"_strategy","nameLocation":"33797:9:0","nodeType":"VariableDeclaration","scope":1375,"src":"33789:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"33789:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33788:19:0"},"returnParameters":{"id":1369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1375,"src":"33831:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1367,"name":"bool","nodeType":"ElementaryTypeName","src":"33831:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33830:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1389,"nodeType":"FunctionDefinition","src":"34013:108:0","nodes":[],"body":{"id":1388,"nodeType":"Block","src":"34083:38:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1384,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"34100:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1386,"indexExpression":{"id":1385,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1378,"src":"34106:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34100:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"functionReturnParameters":1383,"id":1387,"nodeType":"Return","src":"34093:21:0"}]},"baseFunctions":[2603],"documentation":{"id":1376,"nodeType":"StructuredDocumentation","src":"33898:110:0","text":"@notice Getter for the 'Pool'.\n @param _poolId The ID of the pool\n @return The 'Pool' struct"},"functionSelector":"068bcd8d","implemented":true,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"34022:7:0","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1378,"mutability":"mutable","name":"_poolId","nameLocation":"34038:7:0","nodeType":"VariableDeclaration","scope":1389,"src":"34030:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1377,"name":"uint256","nodeType":"ElementaryTypeName","src":"34030:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34029:17:0"},"returnParameters":{"id":1383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1389,"src":"34070:11:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":1381,"nodeType":"UserDefinedTypeName","pathNode":{"id":1380,"name":"Pool","nameLocations":["34070:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"34070:4:0"},"referencedDeclaration":2319,"src":"34070:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"34069:13:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":16,"name":"IAllo","nameLocations":["5097:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"5097:5:0"},"id":17,"nodeType":"InheritanceSpecifier","src":"5097:5:0"},{"baseName":{"id":18,"name":"Native","nameLocations":["5108:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5108:6:0"},"id":19,"nodeType":"InheritanceSpecifier","src":"5108:6:0"},{"baseName":{"id":20,"name":"Transfer","nameLocations":["5120:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5120:8:0"},"id":21,"nodeType":"InheritanceSpecifier","src":"5120:8:0"},{"baseName":{"id":22,"name":"Initializable","nameLocations":["5134:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":52449,"src":"5134:13:0"},"id":23,"nodeType":"InheritanceSpecifier","src":"5134:13:0"},{"baseName":{"id":24,"name":"Ownable","nameLocations":["5153:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":4095,"src":"5153:7:0"},"id":25,"nodeType":"InheritanceSpecifier","src":"5153:7:0"},{"baseName":{"id":26,"name":"AccessControlUpgradeable","nameLocations":["5166:24:0"],"nodeType":"IdentifierPath","referencedDeclaration":51994,"src":"5166:24:0"},"id":27,"nodeType":"InheritanceSpecifier","src":"5166:24:0"},{"baseName":{"id":28,"name":"ReentrancyGuardUpgradeable","nameLocations":["5196:26:0"],"nodeType":"IdentifierPath","referencedDeclaration":52534,"src":"5196:26:0"},"id":29,"nodeType":"InheritanceSpecifier","src":"5196:26:0"},{"baseName":{"id":30,"name":"Errors","nameLocations":["5228:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5228:6:0"},"id":31,"nodeType":"InheritanceSpecifier","src":"5228:6:0"}],"canonicalName":"Allo","contractDependencies":[],"contractKind":"contract","documentation":{"id":15,"nodeType":"StructuredDocumentation","src":"4725:351:0","text":"@title Allo\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice This contract is used to create & manage pools as well as manage the protocol.\n @dev The contract must be initialized with the 'initialize()' function."},"fullyImplemented":true,"linearizedBaseContracts":[1390,3089,52534,51994,53267,53279,52067,52993,4095,52449,3317,3106,2610],"name":"Allo","nameLocation":"5085:4:0","scope":1391,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,3929,3932,3935]}],"license":"AGPL-3.0-only"},"id":0} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json b/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json index d94dfa57b..c9c36847f 100644 --- a/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json +++ b/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608034620001f4576040906001600160401b0381830181811183821017620001de57835260019182815283516060810181811084821117620001de578552602e81526020917f516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a4468838301526d6132666a3547656536684a7a535960901b868301528183820152516009558051928311620001de57600a548481811c91168015620001d3575b83821014620001bd57601f81116200016e575b5081601f8411600114620001015750928293918392600094620000f5575b50501b916000199060031b1c191617600a555b516123539081620001fa8239f35b015192503880620000d4565b919083601f198116600a60005284600020946000905b8883831062000153575050501062000139575b505050811b01600a55620000e7565b015160001960f88460031b161c191690553880806200012a565b85870151885590960195948501948793509081019062000117565b600a60005282600020601f850160051c810191848610620001b2575b601f0160051c019085905b828110620001a5575050620000b6565b6000815501859062000195565b90915081906200018a565b634e487b7160e01b600052602260045260246000fd5b90607f1690620000a3565b634e487b7160e01b600052604160045260246000fd5b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c908162b1fad71461175957508063030e4006146116fd5780630688b135146116aa5780630f166ad41461168f578063174eedde14610c7c5780631b96dce6146116385780631e7bcb2e146115ec5780632e0f2625146115c957806337d1c40414611503578063392f37e9146114bf5780633f26479e146114a25780634bf4ba2114611464578063587c1243146114185780635aff5999146113bf57806366d003ac146112d25780636a38dd0a1461118d57806370a3294414610ffe57806374d9284e14610c7c578063759c9a8614610f9057806379e62d0d14610df55780637b2edf3214610da95780637cbe79ed14610d63578063829e423f14610c7c57806385294f1814610c815780638c7408c414610c7c5780638e0d1a5014610c365780638e3c249314610bea578063a0cf0aea14610bbb578063a407c67a14610923578063aa3744bd146108d0578063c36e336b146107f5578063d1e82b581461079c578063d1f2cd8814610752578063d5bee9f514610664578063da4bf0871461060e578063dac4eb16146105b7578063e070e0ab146104b7578063e99ce911146103315763ef0d790f146101d057600080fd5b3461032d578260031936011261032d578051926101ec8461188f565b6013845260209384810172383937b334b632992fb737ba20a6b2b6b132b960691b8152835161021e87820180936119c9565b6013815261022b8161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e6575b50813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b03925af180156102d8576102c1575b505051908152f35b6102cb8291611830565b6102d557806102b9565b80fd5b83513d84823e3d90fd5b8380fd5b90508681813d831161031c575b6102fd81836118c5565b810103126102e257516001600160a01b03811681036102e25738610265565b503d6102f3565b85513d86823e3d90fd5b8280fd5b503461032d57608036600319011261032d5760443592600160801b9262989680606435608081901b829004868110156104755786908435805b61042157505060249761037e893589611d33565b978482029180830486149015171561040f5782039182116103fd57906103a391611d33565b90808303928084116103fd57146103eb570484018094116103d9576001607f1b84019384106103d95760208484519060801c8152f35b634e487b7160e01b8252601190528390fd5b634e487b7160e01b8452601283528684fd5b634e487b7160e01b8652601185528886fd5b634e487b7160e01b8752601186528987fd5b600191818316610441578061043591612232565b911c90815b909161036a565b80925061044e9199612232565b97600019810190811161046257908161043a565b634e487b7160e01b875260118652602487fd5b855162461bcd60e51b8152602081860152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b50903461032d576101c036600319011261032d576104d36117c2565b906104dc6117ee565b6104e4611804565b6104ec6117d8565b6104f461181a565b9160a4359360038510156105b35760c435958610156105b35760203660e31901126105b35787519661052588611859565b60e435885260c0366101031901126105af578851996105438b611874565b6001600160a01b03906101043582811681036105ab578c526101243591821682036102d55750918a979593916105a4999795936020809d0152610144358b8a01526101643560608a01526101843560808a01526101a43560a08a0152611e95565b9051908152f35b5080fd5b8980fd5b8880fd5b503461032d578260031936011261032d578051926105d48461188f565b600e84526020938481016d3932b3b4b9ba393cafb7bbb732b960911b815283516106018782018093611a15565b600e815261022b8161188f565b503461032d578260031936011261032d5780519261062b8461188f565b600d84526020938481016c616c6c6f5f747265617375727960981b8152835161065787820180936119a3565b600d815261022b8161188f565b503461032d578260031936011261032d578051926106818461188f565b600b938481526020946a1c985b991bdb4818da185960aa1b8683015283519086845b82811061073e57505083602b83015281526106bd8161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e65750813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b8181860101518282860101520187906106a3565b503461032d578260031936011261032d5780519261076f8461188f565b600e84526020938481016d383937b334b63298afb7bbb732b960911b815283516106018782018093611a15565b503461032d578260031936011261032d578051926107b98461188f565b601084526020938481016f3837b7b62fb737ba20a6b0b730b3b2b960811b815283516107e88782018093611a3b565b6010815261022b8161188f565b50903461032d5761014036600319011261032d576108116117c2565b9060243560038110156108cc57604435918210156108cc5760203660631901126108cc5783519261084184611859565b606435845260c03660831901126108c85784519561085e87611874565b6001600160a01b039060843582811681036105ab57885260a43591821682036102d55750918693916108b9959360206108c499015260c4358786015260e43560608601526101043560808601526101243560a0860152611d5c565b905191829182611ade565b0390f35b8580fd5b8480fd5b503461032d578260031936011261032d578051926108ed8461188f565b600a845260209384810169726563697069656e743160b01b8152835161091687820180936119ef565b600a815261022b8161188f565b508290346105ab57816003193601126105ab57805192610942846118aa565b60028452602092823685870137825161095a8161188f565b601081528481016f70726f66696c65325f6d656d6265723160801b815284516109868782018093611a3b565b601081526109938161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610b72575b50813b156108cc578651936318caf8e360e31b94858152868180610a0c60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610b54575b5050610a2b8a611bbb565b52865193610a388561188f565b601085528885016f383937b334b632992fb6b2b6b132b91960811b81528851610a648b82018093611a3b565b60108152610a718161188f565b5190208851928352878301528882602481865afa918215610b4a578692610b12575b50823b156108c857908580949392610ac58a5197889687958694855216809b8401528b60248401526044830190611a61565b03925af18015610b0857610af4575b5050906108c491610ae485611bde565b5251928284938452830190611aa1565b610afe8291611830565b6102d55780610ad4565b84513d84823e3d90fd5b9091508881813d8311610b43575b610b2a81836118c5565b810103126108c8575183811681036108c857908a610a93565b503d610b20565b88513d88823e3d90fd5b610b5d90611830565b6108c857858b610a20565b89513d89823e3d90fd5b9092508781813d8311610baa575b610b8a81836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896109cf565b503d610b80565b87513d87823e3d90fd5b8382346105ab57816003193601126105ab576020905173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b503461032d578260031936011261032d57805192610c078461188f565b601084526020938481016f383937b334b632992fb6b2b6b132b91960811b815283516107e88782018093611a3b565b503461032d578260031936011261032d57805192610c538461188f565b600a8452602093848101693837b7b62fb0b236b4b760b11b8152835161091687820180936119ef565b6117a1565b50903461032d576101a036600319011261032d57610c9d6117c2565b90610ca66117ee565b610cae611804565b610cb66117d8565b610cbe61181a565b9160a4359360038510156105b35760c435958610156105b35760c03660e31901126105b357875196610cef88611874565b6001600160a01b0360e4358181168103610d5f578952610104359081168103610d5b5791889795939160209b9795938c6105a49b0152610124358b8a01526101443560608a01526101643560808a01526101843560a08a01528a5197610d5489611859565b8852611e95565b8a80fd5b8b80fd5b503461032d578260031936011261032d57805192610d808461188f565b600a84526020938481016930b63637afb7bbb732b960b11b8152835161091687820180936119ef565b503461032d578260031936011261032d57805192610dc68461188f565b601084526020938481016f383937b334b63298afb6b2b6b132b91960811b815283516107e88782018093611a3b565b508290346105ab57816003193601126105ab57805192610e14846118aa565b600284526020928236858701378251610e2c8161188f565b600d81528481016c706f6f6c5f6d616e616765723160981b81528451610e5587820180936119a3565b600d8152610e628161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610f51575b50813b156108cc578651936318caf8e360e31b94858152868180610edb60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610f3d575b5050610efa8a611bbb565b52865193610f078561188f565b600d85528885016c3837b7b62fb6b0b730b3b2b91960991b81528851610f308b820180936119a3565b600d8152610a718161188f565b610f4690611830565b6108c857858b610eef565b9092508781813d8311610f89575b610f6981836118c5565b810103126108cc57516001600160a01b03811681036108cc579189610e9e565b503d610f5f565b503461032d578260031936011261032d57805192610fad8461188f565b600c938481526020946b1b9bd7dc9958da5c1a595b9d60a21b8683015283519086845b828110610fea57505083602c83015281526106bd8161188f565b818186010151828286010152018790610fd0565b508290346105ab57816003193601126105ab5780519261101d846118aa565b6002845260209282368587013782516110358161188f565b601081528481016f70726f66696c65315f6d656d6265723160801b815284516110618782018093611a3b565b6010815261106e8161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb157859361114e575b50813b156108cc578651936318caf8e360e31b948581528681806110e760018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b685761113b575b506111028a611bbb565b5286519361110f8561188f565b601085528885016f383937b334b63298afb6b2b6b132b91960811b81528851610a648b82018093611a3b565b61114790969196611830565b948a6110f8565b9092508781813d8311611186575b61116681836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896110aa565b503d61115c565b503461032d578260031936011261032d578051926111aa8461188f565b600d84526020938481016c3837b7b62fb6b0b730b3b2b91960991b815283516111d687820180936119a3565b600d81526111e38161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa908115610323578491611295575b50813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b03925af190811561128a575061127b575b5051908152f35b61128490611830565b38611274565b8351903d90823e3d90fd5b90508681813d83116112cb575b6112ac81836118c5565b810103126102e257516001600160a01b03811681036102e2573861121d565b503d6112a2565b503461032d578260031936011261032d578051926112ef8461188f565b600993848152602094681c9958da5c1a595b9d60ba1b8683015283519086845b8281106113ab57505083602983015281526113298161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916112955750813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b81818601015182828601015201879061130f565b503461032d578260031936011261032d578051926113dc8461188f565b601084526020938481016f726563697069656e744164647265737360801b8152835161140b8782018093611a3b565b601081526111e38161188f565b503461032d578260031936011261032d578051926114358461188f565b601084526020938481016f70726f66696c65325f6d656d6265723160801b8152835161140b8782018093611a3b565b8382346105ab57816003193601126105ab5780516108c491611485826118aa565b600282528036602084013751918291602083526020830190611aa1565b8382346105ab57816003193601126105ab57602090516127108152f35b5082346102d557806003193601126102d557506009546108c482516114ee816114e7816118e8565b03826118c5565b83519384938452806020850152830190611a61565b508290346105ab5760603660031901126105ab5761151f6117c2565b916115286117ee565b6001600160401b039460443594908686116102e257366023870112156102e257858101359687116115b657508560051b84519360209761156a898401876118c5565b8552602488860192880101963688116105ab57602401915b878310611597575050506105a4939450611bee565b82356001600160a01b038116810361032d578152918801918801611582565b634e487b7160e01b845260419052602483fd5b8382346105ab57816003193601126105ab5760209051670de0b6b3a76400008152f35b503461032d578260031936011261032d578051926116098461188f565b601084526020938481016f70726f66696c65315f6d656d6265723160801b8152835161140b8782018093611a3b565b503461032d578260031936011261032d578051926116558461188f565b600e84526020938481016d383937b334b632992fb7bbb732b960911b815283516116828782018093611a15565b600e81526111e38161188f565b8382346105ab57816003193601126105ab5760209051308152f35b503461032d578260031936011261032d578051926116c78461188f565b600a8452602093848101693932b1b4b834b2b73a1960b11b815283516116f087820180936119ef565b600a81526111e38161188f565b503461032d578260031936011261032d5780519261171a8461188f565b6013845260209384810172383937b334b63298afb737ba20a6b2b6b132b960691b8152835161174c87820180936119c9565b601381526111e38161188f565b939050346102d557806003193601126102d5576117758461188f565b600d84526020938481016c706f6f6c5f6d616e616765723160981b815283516111d687820180936119a3565b346117bd5760003660031901126117bd57602060405160008152f35b600080fd5b600435906001600160a01b03821682036117bd57565b606435906001600160a01b03821682036117bd57565b602435906001600160a01b03821682036117bd57565b604435906001600160a01b03821682036117bd57565b608435906001600160a01b03821682036117bd57565b6001600160401b03811161184357604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761184357604052565b60c081019081106001600160401b0382111761184357604052565b604081019081106001600160401b0382111761184357604052565b606081019081106001600160401b0382111761184357604052565b601f909101601f19168101906001600160401b0382119082101761184357604052565b90600091600a549060019082821c91808416938415611999575b6020948585108114611983578484529081156119665750600114611927575b50505050565b9293945090600a6000528360002092846000945b838610611952575050505001019038808080611921565b80548587018301529401938590820161193b565b60ff191685840152505090151560051b0101915038808080611921565b634e487b7160e01b600052602260045260246000fd5b92607f1692611902565b60005b600d81106119b9575050600d6000910152565b81810151838201526020016119a6565b60005b601381106119df57505060136000910152565b81810151838201526020016119cc565b60005b600a8110611a05575050600a6000910152565b81810151838201526020016119f2565b60005b600e8110611a2b575050600e6000910152565b8181015183820152602001611a18565b60005b60108110611a5157505060106000910152565b8181015183820152602001611a3e565b919082519283825260005b848110611a8d575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611a6c565b90815180825260208080930193019160005b828110611ac1575050505090565b83516001600160a01b031685529381019392810192600101611ab3565b9190916101e0810192606081518051845260208101516020850152604081015160408501520151606083015260208101516003811015611ba55760808301526040810151906004821015611ba5576101c09160a084015260608101515160c084015260c060808201519160a0600180821b03938481511660e08801528460208201511661010088015260408101516101208801526060810151610140880152608081015161016088015201516101808601528260a0820151166101a0860152015116910152565b634e487b7160e01b600052602160045260246000fd5b805115611bc85760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611bc85760400190565b90600b5415611c01575b505050600b5490565b604080519092818401906001600160401b0382118383101761184357611cb9918552600183528451611c328161188f565b600c8152600060209586956b506f6f6c50726f66696c653160a01b87850152868101938452611cdb89519a8b9788968794633a92f65f60e01b86526002600487015260a06024870152600e60a48701526d506f6f6c2050726f66696c65203160901b60c487015260e060448701525160e4860152518c610104860152610124850190611a61565b6001600160a01b03948516606485015283810360031901608485015290611aa1565b0393165af1918215611d295750600091611cfd575b50600b5550388080611bf8565b82813d8311611d22575b611d1181836118c5565b810103126102d55750518038611cf0565b503d611d07565b513d6000823e3d90fd5b81810292918115918404141715611d4657565b634e487b7160e01b600052601160045260246000fd5b919493929060409586519160e0830160018060401b038482108183111761184357610160850190811182821017611843578952600090818152816101008601528161012086015281610140860152845260208401918183528985019282845260608601958b51611dcb81611859565b848152875260a060808201998d86815191611de583611874565b81835281602084015282015286606082015286608082015286838201528b528560c0840152629895b7839e84510152621e84808351526127106020845101526702c68af0bb140000606084510152600180831b03169101526003821015611e8157526004831015611e6d575052815115611e5d575252565b680ad78ebc5ac620000082525252565b634e487b7160e01b81526021600452602490fd5b634e487b7160e01b83526021600452602483fd5b949586611ea69498929a9993611d5c565b9060009460405190611eb7826118aa565b60028252604036602084013730611ecd83611bbb565b5233611ed883611bde565b5273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee926001600160a01b03811661222a575b5060405190611f0c8261188f565b600a825260208201693837b7b62fb0b236b4b760b11b8152604051611f356020820180936119ef565b600a8152611f428161188f565b519020916040519263ffa1864960e01b845260048401526020836024816000805160206122fe8339815191525afa9283156121db5789936121e6575b506000805160206122fe8339815191523b156105b357604080516318caf8e360e31b81526001600160a01b0385166004820152602481019190915290899082908190611fce906044830190611a61565b0381836000805160206122fe8339815191525af180156121db57908b9695949392916121a5575b50936120af61206997948461203261201560209a978e976120249b611bee565b94604051998a918c8301611ade565b03601f1981018a52896118c5565b604051998a98899788966370803ea560e11b8852600488015260018060a01b0316602487015260e0604487015260e4860190611a61565b9160018060a01b031660648501528460848501526120a0604060031993848782030160a48801526009548152818c820152016118e8565b918483030160c4850152611aa1565b03926001600160a01b03165af1908115612167578391612172575b50604051631a8ecfcb60e11b81529094602090829060049082906001600160a01b03165afa90811561216757839161212c575b506003821015611e81576003811015611e8157036121185750565b634e487b7160e01b81526001600452602490fd5b90506020813d60201161215f575b81612147602093836118c5565b8101031261032d5751600381101561032d57386120fd565b3d915061213a565b6040513d85823e3d90fd5b90506020813d60201161219d575b8161218d602093836118c5565b8101031261032d575160206120ca565b3d9150612180565b61206997948461203261201560209a976120249a96979e6121c86120af97611830565b9e97969a50505050949750949750611ff5565b6040513d8b823e3d90fd5b9092506020813d602011612222575b81612202602093836118c5565b810103126105b357516001600160a01b03811681036105b3579138611f7e565b3d91506121f5565b925038611efe565b90600160801b8083116122a7578110156122635761224f91611d33565b6001607f1b8101908110611d465760801c90565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da264697066735822122012f3169cdd78a657a4c8c201230402c03d9d2f215e2cf25b614605c8872efc7164736f6c63430008130033","sourceMap":"611:5608:112:-:0;;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;695:82;;;;611:5608;;695:82;611:5608;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;;;;-1:-1:-1;611:5608:112;;-1:-1:-1;611:5608:112;;-1:-1:-1;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;-1:-1:-1;611:5608:112;;-1:-1:-1;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;-1:-1:-1;611:5608:112;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;-1:-1:-1;611:5608:112;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c908162b1fad71461175957508063030e4006146116fd5780630688b135146116aa5780630f166ad41461168f578063174eedde14610c7c5780631b96dce6146116385780631e7bcb2e146115ec5780632e0f2625146115c957806337d1c40414611503578063392f37e9146114bf5780633f26479e146114a25780634bf4ba2114611464578063587c1243146114185780635aff5999146113bf57806366d003ac146112d25780636a38dd0a1461118d57806370a3294414610ffe57806374d9284e14610c7c578063759c9a8614610f9057806379e62d0d14610df55780637b2edf3214610da95780637cbe79ed14610d63578063829e423f14610c7c57806385294f1814610c815780638c7408c414610c7c5780638e0d1a5014610c365780638e3c249314610bea578063a0cf0aea14610bbb578063a407c67a14610923578063aa3744bd146108d0578063c36e336b146107f5578063d1e82b581461079c578063d1f2cd8814610752578063d5bee9f514610664578063da4bf0871461060e578063dac4eb16146105b7578063e070e0ab146104b7578063e99ce911146103315763ef0d790f146101d057600080fd5b3461032d578260031936011261032d578051926101ec8461188f565b6013845260209384810172383937b334b632992fb737ba20a6b2b6b132b960691b8152835161021e87820180936119c9565b6013815261022b8161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e6575b50813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b03925af180156102d8576102c1575b505051908152f35b6102cb8291611830565b6102d557806102b9565b80fd5b83513d84823e3d90fd5b8380fd5b90508681813d831161031c575b6102fd81836118c5565b810103126102e257516001600160a01b03811681036102e25738610265565b503d6102f3565b85513d86823e3d90fd5b8280fd5b503461032d57608036600319011261032d5760443592600160801b9262989680606435608081901b829004868110156104755786908435805b61042157505060249761037e893589611d33565b978482029180830486149015171561040f5782039182116103fd57906103a391611d33565b90808303928084116103fd57146103eb570484018094116103d9576001607f1b84019384106103d95760208484519060801c8152f35b634e487b7160e01b8252601190528390fd5b634e487b7160e01b8452601283528684fd5b634e487b7160e01b8652601185528886fd5b634e487b7160e01b8752601186528987fd5b600191818316610441578061043591612232565b911c90815b909161036a565b80925061044e9199612232565b97600019810190811161046257908161043a565b634e487b7160e01b875260118652602487fd5b855162461bcd60e51b8152602081860152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b50903461032d576101c036600319011261032d576104d36117c2565b906104dc6117ee565b6104e4611804565b6104ec6117d8565b6104f461181a565b9160a4359360038510156105b35760c435958610156105b35760203660e31901126105b35787519661052588611859565b60e435885260c0366101031901126105af578851996105438b611874565b6001600160a01b03906101043582811681036105ab578c526101243591821682036102d55750918a979593916105a4999795936020809d0152610144358b8a01526101643560608a01526101843560808a01526101a43560a08a0152611e95565b9051908152f35b5080fd5b8980fd5b8880fd5b503461032d578260031936011261032d578051926105d48461188f565b600e84526020938481016d3932b3b4b9ba393cafb7bbb732b960911b815283516106018782018093611a15565b600e815261022b8161188f565b503461032d578260031936011261032d5780519261062b8461188f565b600d84526020938481016c616c6c6f5f747265617375727960981b8152835161065787820180936119a3565b600d815261022b8161188f565b503461032d578260031936011261032d578051926106818461188f565b600b938481526020946a1c985b991bdb4818da185960aa1b8683015283519086845b82811061073e57505083602b83015281526106bd8161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e65750813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b8181860101518282860101520187906106a3565b503461032d578260031936011261032d5780519261076f8461188f565b600e84526020938481016d383937b334b63298afb7bbb732b960911b815283516106018782018093611a15565b503461032d578260031936011261032d578051926107b98461188f565b601084526020938481016f3837b7b62fb737ba20a6b0b730b3b2b960811b815283516107e88782018093611a3b565b6010815261022b8161188f565b50903461032d5761014036600319011261032d576108116117c2565b9060243560038110156108cc57604435918210156108cc5760203660631901126108cc5783519261084184611859565b606435845260c03660831901126108c85784519561085e87611874565b6001600160a01b039060843582811681036105ab57885260a43591821682036102d55750918693916108b9959360206108c499015260c4358786015260e43560608601526101043560808601526101243560a0860152611d5c565b905191829182611ade565b0390f35b8580fd5b8480fd5b503461032d578260031936011261032d578051926108ed8461188f565b600a845260209384810169726563697069656e743160b01b8152835161091687820180936119ef565b600a815261022b8161188f565b508290346105ab57816003193601126105ab57805192610942846118aa565b60028452602092823685870137825161095a8161188f565b601081528481016f70726f66696c65325f6d656d6265723160801b815284516109868782018093611a3b565b601081526109938161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610b72575b50813b156108cc578651936318caf8e360e31b94858152868180610a0c60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610b54575b5050610a2b8a611bbb565b52865193610a388561188f565b601085528885016f383937b334b632992fb6b2b6b132b91960811b81528851610a648b82018093611a3b565b60108152610a718161188f565b5190208851928352878301528882602481865afa918215610b4a578692610b12575b50823b156108c857908580949392610ac58a5197889687958694855216809b8401528b60248401526044830190611a61565b03925af18015610b0857610af4575b5050906108c491610ae485611bde565b5251928284938452830190611aa1565b610afe8291611830565b6102d55780610ad4565b84513d84823e3d90fd5b9091508881813d8311610b43575b610b2a81836118c5565b810103126108c8575183811681036108c857908a610a93565b503d610b20565b88513d88823e3d90fd5b610b5d90611830565b6108c857858b610a20565b89513d89823e3d90fd5b9092508781813d8311610baa575b610b8a81836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896109cf565b503d610b80565b87513d87823e3d90fd5b8382346105ab57816003193601126105ab576020905173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b503461032d578260031936011261032d57805192610c078461188f565b601084526020938481016f383937b334b632992fb6b2b6b132b91960811b815283516107e88782018093611a3b565b503461032d578260031936011261032d57805192610c538461188f565b600a8452602093848101693837b7b62fb0b236b4b760b11b8152835161091687820180936119ef565b6117a1565b50903461032d576101a036600319011261032d57610c9d6117c2565b90610ca66117ee565b610cae611804565b610cb66117d8565b610cbe61181a565b9160a4359360038510156105b35760c435958610156105b35760c03660e31901126105b357875196610cef88611874565b6001600160a01b0360e4358181168103610d5f578952610104359081168103610d5b5791889795939160209b9795938c6105a49b0152610124358b8a01526101443560608a01526101643560808a01526101843560a08a01528a5197610d5489611859565b8852611e95565b8a80fd5b8b80fd5b503461032d578260031936011261032d57805192610d808461188f565b600a84526020938481016930b63637afb7bbb732b960b11b8152835161091687820180936119ef565b503461032d578260031936011261032d57805192610dc68461188f565b601084526020938481016f383937b334b63298afb6b2b6b132b91960811b815283516107e88782018093611a3b565b508290346105ab57816003193601126105ab57805192610e14846118aa565b600284526020928236858701378251610e2c8161188f565b600d81528481016c706f6f6c5f6d616e616765723160981b81528451610e5587820180936119a3565b600d8152610e628161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610f51575b50813b156108cc578651936318caf8e360e31b94858152868180610edb60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610f3d575b5050610efa8a611bbb565b52865193610f078561188f565b600d85528885016c3837b7b62fb6b0b730b3b2b91960991b81528851610f308b820180936119a3565b600d8152610a718161188f565b610f4690611830565b6108c857858b610eef565b9092508781813d8311610f89575b610f6981836118c5565b810103126108cc57516001600160a01b03811681036108cc579189610e9e565b503d610f5f565b503461032d578260031936011261032d57805192610fad8461188f565b600c938481526020946b1b9bd7dc9958da5c1a595b9d60a21b8683015283519086845b828110610fea57505083602c83015281526106bd8161188f565b818186010151828286010152018790610fd0565b508290346105ab57816003193601126105ab5780519261101d846118aa565b6002845260209282368587013782516110358161188f565b601081528481016f70726f66696c65315f6d656d6265723160801b815284516110618782018093611a3b565b6010815261106e8161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb157859361114e575b50813b156108cc578651936318caf8e360e31b948581528681806110e760018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b685761113b575b506111028a611bbb565b5286519361110f8561188f565b601085528885016f383937b334b63298afb6b2b6b132b91960811b81528851610a648b82018093611a3b565b61114790969196611830565b948a6110f8565b9092508781813d8311611186575b61116681836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896110aa565b503d61115c565b503461032d578260031936011261032d578051926111aa8461188f565b600d84526020938481016c3837b7b62fb6b0b730b3b2b91960991b815283516111d687820180936119a3565b600d81526111e38161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa908115610323578491611295575b50813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b03925af190811561128a575061127b575b5051908152f35b61128490611830565b38611274565b8351903d90823e3d90fd5b90508681813d83116112cb575b6112ac81836118c5565b810103126102e257516001600160a01b03811681036102e2573861121d565b503d6112a2565b503461032d578260031936011261032d578051926112ef8461188f565b600993848152602094681c9958da5c1a595b9d60ba1b8683015283519086845b8281106113ab57505083602983015281526113298161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916112955750813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b81818601015182828601015201879061130f565b503461032d578260031936011261032d578051926113dc8461188f565b601084526020938481016f726563697069656e744164647265737360801b8152835161140b8782018093611a3b565b601081526111e38161188f565b503461032d578260031936011261032d578051926114358461188f565b601084526020938481016f70726f66696c65325f6d656d6265723160801b8152835161140b8782018093611a3b565b8382346105ab57816003193601126105ab5780516108c491611485826118aa565b600282528036602084013751918291602083526020830190611aa1565b8382346105ab57816003193601126105ab57602090516127108152f35b5082346102d557806003193601126102d557506009546108c482516114ee816114e7816118e8565b03826118c5565b83519384938452806020850152830190611a61565b508290346105ab5760603660031901126105ab5761151f6117c2565b916115286117ee565b6001600160401b039460443594908686116102e257366023870112156102e257858101359687116115b657508560051b84519360209761156a898401876118c5565b8552602488860192880101963688116105ab57602401915b878310611597575050506105a4939450611bee565b82356001600160a01b038116810361032d578152918801918801611582565b634e487b7160e01b845260419052602483fd5b8382346105ab57816003193601126105ab5760209051670de0b6b3a76400008152f35b503461032d578260031936011261032d578051926116098461188f565b601084526020938481016f70726f66696c65315f6d656d6265723160801b8152835161140b8782018093611a3b565b503461032d578260031936011261032d578051926116558461188f565b600e84526020938481016d383937b334b632992fb7bbb732b960911b815283516116828782018093611a15565b600e81526111e38161188f565b8382346105ab57816003193601126105ab5760209051308152f35b503461032d578260031936011261032d578051926116c78461188f565b600a8452602093848101693932b1b4b834b2b73a1960b11b815283516116f087820180936119ef565b600a81526111e38161188f565b503461032d578260031936011261032d5780519261171a8461188f565b6013845260209384810172383937b334b63298afb737ba20a6b2b6b132b960691b8152835161174c87820180936119c9565b601381526111e38161188f565b939050346102d557806003193601126102d5576117758461188f565b600d84526020938481016c706f6f6c5f6d616e616765723160981b815283516111d687820180936119a3565b346117bd5760003660031901126117bd57602060405160008152f35b600080fd5b600435906001600160a01b03821682036117bd57565b606435906001600160a01b03821682036117bd57565b602435906001600160a01b03821682036117bd57565b604435906001600160a01b03821682036117bd57565b608435906001600160a01b03821682036117bd57565b6001600160401b03811161184357604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761184357604052565b60c081019081106001600160401b0382111761184357604052565b604081019081106001600160401b0382111761184357604052565b606081019081106001600160401b0382111761184357604052565b601f909101601f19168101906001600160401b0382119082101761184357604052565b90600091600a549060019082821c91808416938415611999575b6020948585108114611983578484529081156119665750600114611927575b50505050565b9293945090600a6000528360002092846000945b838610611952575050505001019038808080611921565b80548587018301529401938590820161193b565b60ff191685840152505090151560051b0101915038808080611921565b634e487b7160e01b600052602260045260246000fd5b92607f1692611902565b60005b600d81106119b9575050600d6000910152565b81810151838201526020016119a6565b60005b601381106119df57505060136000910152565b81810151838201526020016119cc565b60005b600a8110611a05575050600a6000910152565b81810151838201526020016119f2565b60005b600e8110611a2b575050600e6000910152565b8181015183820152602001611a18565b60005b60108110611a5157505060106000910152565b8181015183820152602001611a3e565b919082519283825260005b848110611a8d575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611a6c565b90815180825260208080930193019160005b828110611ac1575050505090565b83516001600160a01b031685529381019392810192600101611ab3565b9190916101e0810192606081518051845260208101516020850152604081015160408501520151606083015260208101516003811015611ba55760808301526040810151906004821015611ba5576101c09160a084015260608101515160c084015260c060808201519160a0600180821b03938481511660e08801528460208201511661010088015260408101516101208801526060810151610140880152608081015161016088015201516101808601528260a0820151166101a0860152015116910152565b634e487b7160e01b600052602160045260246000fd5b805115611bc85760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611bc85760400190565b90600b5415611c01575b505050600b5490565b604080519092818401906001600160401b0382118383101761184357611cb9918552600183528451611c328161188f565b600c8152600060209586956b506f6f6c50726f66696c653160a01b87850152868101938452611cdb89519a8b9788968794633a92f65f60e01b86526002600487015260a06024870152600e60a48701526d506f6f6c2050726f66696c65203160901b60c487015260e060448701525160e4860152518c610104860152610124850190611a61565b6001600160a01b03948516606485015283810360031901608485015290611aa1565b0393165af1918215611d295750600091611cfd575b50600b5550388080611bf8565b82813d8311611d22575b611d1181836118c5565b810103126102d55750518038611cf0565b503d611d07565b513d6000823e3d90fd5b81810292918115918404141715611d4657565b634e487b7160e01b600052601160045260246000fd5b919493929060409586519160e0830160018060401b038482108183111761184357610160850190811182821017611843578952600090818152816101008601528161012086015281610140860152845260208401918183528985019282845260608601958b51611dcb81611859565b848152875260a060808201998d86815191611de583611874565b81835281602084015282015286606082015286608082015286838201528b528560c0840152629895b7839e84510152621e84808351526127106020845101526702c68af0bb140000606084510152600180831b03169101526003821015611e8157526004831015611e6d575052815115611e5d575252565b680ad78ebc5ac620000082525252565b634e487b7160e01b81526021600452602490fd5b634e487b7160e01b83526021600452602483fd5b949586611ea69498929a9993611d5c565b9060009460405190611eb7826118aa565b60028252604036602084013730611ecd83611bbb565b5233611ed883611bde565b5273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee926001600160a01b03811661222a575b5060405190611f0c8261188f565b600a825260208201693837b7b62fb0b236b4b760b11b8152604051611f356020820180936119ef565b600a8152611f428161188f565b519020916040519263ffa1864960e01b845260048401526020836024816000805160206122fe8339815191525afa9283156121db5789936121e6575b506000805160206122fe8339815191523b156105b357604080516318caf8e360e31b81526001600160a01b0385166004820152602481019190915290899082908190611fce906044830190611a61565b0381836000805160206122fe8339815191525af180156121db57908b9695949392916121a5575b50936120af61206997948461203261201560209a978e976120249b611bee565b94604051998a918c8301611ade565b03601f1981018a52896118c5565b604051998a98899788966370803ea560e11b8852600488015260018060a01b0316602487015260e0604487015260e4860190611a61565b9160018060a01b031660648501528460848501526120a0604060031993848782030160a48801526009548152818c820152016118e8565b918483030160c4850152611aa1565b03926001600160a01b03165af1908115612167578391612172575b50604051631a8ecfcb60e11b81529094602090829060049082906001600160a01b03165afa90811561216757839161212c575b506003821015611e81576003811015611e8157036121185750565b634e487b7160e01b81526001600452602490fd5b90506020813d60201161215f575b81612147602093836118c5565b8101031261032d5751600381101561032d57386120fd565b3d915061213a565b6040513d85823e3d90fd5b90506020813d60201161219d575b8161218d602093836118c5565b8101031261032d575160206120ca565b3d9150612180565b61206997948461203261201560209a976120249a96979e6121c86120af97611830565b9e97969a50505050949750949750611ff5565b6040513d8b823e3d90fd5b9092506020813d602011612222575b81612202602093836118c5565b810103126105b357516001600160a01b03811681036105b3579138611f7e565b3d91506121f5565b925038611efe565b90600160801b8083116122a7578110156122635761224f91611d33565b6001607f1b8101908110611d465760801c90565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da264697066735822122012f3169cdd78a657a4c8c201230402c03d9d2f215e2cf25b614605c8872efc7164736f6c63430008130033","sourceMap":"611:5608:112:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:112;20293:33:20;;611:5608:112;;291:59:20;;;;20344:19;;;;;611:5608:112;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:112;20344:19:20;;;;;;;;;;;;;611:5608:112;20373:20:20;;;;;;611:5608:112;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:112;;;20373:20:20;;;611:5608:112;;;;291:59:20;;;;;611:5608:112;;;;;;;;;;;291:59:20;;;;;;;:::i;:::-;20373:20;;;;;;;;;;611:5608:112;;;;;;;;20373:20:20;;;;;:::i;:::-;611:5608:112;;20373:20:20;;;611:5608:112;;;20373:20:20;611:5608:112;;291:59:20;611:5608:112;;291:59:20;;;;20373:20;611:5608:112;;;20344:19:20;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;20344:19:20;;;;;;;;;611:5608:112;;291:59:20;611:5608:112;;291:59:20;;;;611:5608:112;;;;;;;;;;;-1:-1:-1;;611:5608:112;;;;;;;-1:-1:-1;;;1038:8:112;1082:7;611:5608;;;;;;;;;5480:12;;;611:5608;;;;;;;;5617:5;;;611:5608;;;;6110:21;611:5608;;6110:21;;:::i;:::-;611:5608;;;;;;;;;;;;;;;;1038:8;;;;;;;6137:38;;;;:::i;:::-;1038:8;;;;;;;;;;611:5608;;;;1038:8;;;;;;;-1:-1:-1;;;1038:8:112;;;;-1:-1:-1;1038:8:112;;611:5608;;;;988:8;611:5608;988:8;611:5608;;;1038:8;-1:-1:-1;;;611:5608:112;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;1038:8;-1:-1:-1;;;611:5608:112;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;5610:215;291:59:20;;5642:5:112;;;611:5608;;5676:10;;;;:::i;:::-;988:8;;5638:177;;;5610:215;;;;5638:177;5760:16;;;;;;;:::i;:::-;1038:8;-1:-1:-1;;1038:8:112;;;;;;;5638:177;;;;1038:8;-1:-1:-1;;;611:5608:112;;;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:112;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:112;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;611:5608:112;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;20303:22:20;;;;;:::i;:::-;611:5608:112;;;20303:22:20;;20293:33;611:5608:112;;291:59:20;;;;20344:19;;;;;611:5608:112;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:112;20344:19:20;;;;;;;;;;;;;20373:20;;;;;;611:5608:112;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:112;;;20373:20:20;;;611:5608:112;;;;291:59:20;;;;;611:5608:112;;;;;;;;;;;291:59:20;;;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:112:-;;;;;;;;-1:-1:-1;;611:5608:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:112;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;611:5608:112;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3726:1:15;611:5608:112;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:112;20293:33:20;;611:5608:112;;291:59:20;;;;20344:19;;;;;;;611:5608:112;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:112;20344:19:20;;;;;;;;;;;;;611:5608:112;20373:20:20;;;;;;611:5608:112;;291:59:20;;;;20373:20;;;;611:5608:112;;;291:59:20;;611:5608:112;;;;;;;20373:20:20;;;;;611:5608:112;291:59:20;611:5608:112;291:59:20;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;611:5608:112;3738:32:15;;;;;:::i;:::-;611:5608:112;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:112;20293:33:20;;611:5608:112;;20344:19:20;;;;;;611:5608:112;20344:19:20;;611:5608:112;20344:19:20;;;;;;;;;;;;;611:5608:112;20373:20:20;;;;;;611:5608:112;;;;;;291:59:20;611:5608:112;;20373:20:20;;;;;;;;;611:5608:112;20373:20:20;;;;611:5608:112;291:59:20;611:5608:112;291:59:20;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;611:5608:112;3780:32:15;;;611:5608:112;3780:32:15;;;;:::i;:::-;611:5608:112;;;;;;;;;;;;:::i;20373:20:20:-;;;;;:::i;:::-;611:5608:112;;20373:20:20;;;;611:5608:112;;291:59:20;611:5608:112;;291:59:20;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;611:5608:112;;;;;;;20344:19:20;;;;;;;;;;611:5608:112;;291:59:20;611:5608:112;;291:59:20;;;;20373:20;;;;:::i;:::-;611:5608:112;;20373:20:20;;;;;611:5608:112;;291:59:20;611:5608:112;;291:59:20;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;20344:19:20;;;;;;;;;;611:5608:112;;291:59:20;611:5608:112;;291:59:20;;;;611:5608:112;;;;;;;;;;;;;;;;;4445:42:9;611:5608:112;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;;611:5608:112;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:112;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4714:262;611:5608;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4714:262;:::i;611:5608::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2108:1:15;611:5608:112;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:112;20293:33:20;;611:5608:112;;291:59:20;;;;20344:19;;;;;;;611:5608:112;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:112;20344:19:20;;;;;;;;;;;;;611:5608:112;20373:20:20;;;;;;611:5608:112;;291:59:20;;;;20373:20;;;;611:5608:112;;;291:59:20;;611:5608:112;;;;;;;20373:20:20;;;;;611:5608:112;291:59:20;611:5608:112;291:59:20;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;611:5608:112;2120:29:15;;;;;:::i;:::-;611:5608:112;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;20373:20::-;;;;:::i;:::-;611:5608:112;;20373:20:20;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;20344:19:20;;;;;;;;;611:5608:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;20303:22:20;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2914:1:15;611:5608:112;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:112;20293:33:20;;611:5608:112;;291:59:20;;;;20344:19;;;;;;;611:5608:112;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:112;20344:19:20;;;;;;;;;;;;;611:5608:112;20373:20:20;;;;;;611:5608:112;;291:59:20;;;;20373:20;;;;611:5608:112;;;291:59:20;;611:5608:112;;;;;;;20373:20:20;;;;;611:5608:112;291:59:20;611:5608:112;291:59:20;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;611:5608:112;2926:32:15;;;;:::i;:::-;611:5608:112;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;20373:20:20:-;;;;;;;:::i;:::-;;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;20344:19:20;;;;;;;;;611:5608:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:112;20293:33:20;;611:5608:112;;291:59:20;;;;20344:19;;;;;611:5608:112;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:112;20344:19:20;;;;;;;;;;;;;611:5608:112;20373:20:20;;;;;;611:5608:112;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:112;;;20373:20:20;;;611:5608:112;;;;291:59:20;;;;;611:5608:112;;;;;;;;;;;;291:59:20;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;611:5608:112;;;;;;;20373:20:20;;;;:::i;:::-;;;;;611:5608:112;;291:59:20;;;;;;;;20344:19;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;20344:19:20;;;;;;;;611:5608:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;20303:22:20;;;;;:::i;:::-;611:5608:112;;;20303:22:20;;20293:33;611:5608:112;;291:59:20;;;;20344:19;;;;;611:5608:112;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:112;20344:19:20;;;;;;;;;;;;;20373:20;;;;;;611:5608:112;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:112;;;20373:20:20;;;611:5608:112;;;;291:59:20;;;;;611:5608:112;;;;;;;;;;;;291:59:20;;;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1440:1:15;611:5608:112;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;898:7;611:5608;;;;;;;;;;;;;;;;;;668:109;611:5608;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;611:5608:112;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;841:8;611:5608;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;306:4:15;611:5608:112;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:112:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;20303:22:20;;;611:5608:112;;;:::i;:::-;;;;;;-1:-1:-1;;611:5608:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;611:5608:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;611:5608:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;611:5608:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;611:5608:112;;;;;;:::o;:::-;-1:-1:-1;;;;;611:5608:112;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;;:::o;:::-;;;;;-1:-1:-1;;611:5608:112;;;;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;:::o;:::-;;;;668:109;611:5608;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;668:109;-1:-1:-1;611:5608:112;;-1:-1:-1;611:5608:112;;;-1:-1:-1;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:112;;;;;-1:-1:-1;;611:5608:112;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:59:20;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;611:5608:112;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2977:1:15;611:5608:112;;;;;;;:::o;1204:437::-;;1376:16;611:5608;1376:30;1372:230;;1204:437;611:5608;;;1376:16;611:5608;1204:437;:::o;1372:230::-;611:5608;;;;;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;;;291:59:20;611:5608:112;;;;;;;:::i;:::-;;;;-1:-1:-1;611:5608:112;;;;-1:-1:-1;;;611:5608:112;;;;1502:48;;;611:5608;;;;;;291:59:20;;;;;;;;;;1441:150:112;;1481:1;1441:150;;;611:5608;;;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;291:59:20;611:5608:112;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:112;;;;;;;;;;-1:-1:-1;;611:5608:112;;;;;;;:::i;:::-;1441:150;611:5608;;1441:150;;;;;;;;-1:-1:-1;1441:150:112;;;1372:230;-1:-1:-1;1376:16:112;611:5608;-1:-1:-1;1372:230:112;;;;;1441:150;;;;;;;;;;;;;:::i;:::-;;;611:5608;;;;;;1441:150;;;;;;;;;;611:5608;291:59:20;-1:-1:-1;291:59:20;;;;;611:5608:112;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1647:1157;;;;;;611:5608;;;;;;;;291:59:20;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1952:45;2060:15;;;:21;611:5608;;2141:15;;611:5608;;;2221:15;;:22;611:5608;2182:9;611:5608;2303:15;;:34;611:5608;291:59:20;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;2511:26;2507:197;;2713:32;2755:42;1647:1157::o;2507:197::-;611:5608;;;2713:32;2755:42;1647:1157::o;611:5608::-;-1:-1:-1;;;611:5608:112;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;2810:1529;;;;3344:86;2810:1529;;;;;;3344:86;:::i;:::-;3475:16;-1:-1:-1;611:5608:112;;;;;;;:::i;:::-;3489:1;611:5608;;;;;;;;3529:4;3501:33;;;:::i;:::-;611:5608;3572:10;3544:39;;;:::i;:::-;611:5608;4445:42:9;;-1:-1:-1;;;;;611:5608:112;;3866:64;;2810:1529;611:5608;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;20303:22:20;;611:5608:112;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:112;20293:33:20;;611:5608:112;;;291:59:20;;;;20344:19;;;;;611:5608:112;;20344:19:20;611:5608:112;20344:19:20;-1:-1:-1;;;;;;;;;;;20344:19:20;;;;;;;;;;;2810:1529:112;20373:20:20;-1:-1:-1;;;;;;;;;;;20373:20:20;;;;611:5608:112;;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:112;;20344:19:20;20373:20;;611:5608:112;;291:59:20;;;;;;611:5608:112;;;;;;;291:59:20;;;;;;;:::i;:::-;20373:20;;;-1:-1:-1;;;;;;;;;;;20373:20:20;;;;;;;;;;;;;;;;2810:1529:112;4036:55;;611:5608;;4036:55;;;4136:18;4036:55;611:5608;4036:55;;;;4136:18;4036:55;;:::i;:::-;611:5608;;;4136:18;;;;;;;:::i;:::-;;611:5608;;4136:18;;;;;;:::i;:::-;611:5608;;291:59:20;;;;;;;;;;3948:301:112;;20344:19:20;3948:301:112;;611:5608;291:59:20;611:5608:112;;;;;;;;;291:59:20;;611:5608:112;;;;;;;;:::i;:::-;;291:59:20;611:5608:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;4203:8;611:5608;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;3948:301;;-1:-1:-1;;;;;611:5608:112;3948:301;;;;;;;;;;;2810:1529;-1:-1:-1;611:5608:112;;-1:-1:-1;;;4267:48:112;;3939:310;;611:5608;;;;20344:19:20;;611:5608:112;;-1:-1:-1;;;;;611:5608:112;4267:48;;;;;;;;;;;2810:1529;611:5608;;;;;;;;;;;;;4267:64;611:5608;;2810:1529;:::o;611:5608::-;-1:-1:-1;;;611:5608:112;;291:59:20;20344:19;611:5608:112;;;;4267:48;;;611:5608;4267:48;;611:5608;4267:48;;;;;;611:5608;4267:48;;;:::i;:::-;;;611:5608;;;;;;;;;;;4267:48;;;;;;-1:-1:-1;4267:48:112;;;611:5608;;291:59:20;611:5608:112;;291:59:20;;;;3948:301:112;;;611:5608;3948:301;;611:5608;3948:301;;;;;;611:5608;3948:301;;;:::i;:::-;;;611:5608;;;;;;3948:301;;;;;-1:-1:-1;3948:301:112;;20373:20:20;611:5608:112;20373:20:20;;;4136:18:112;4036:55;611:5608;20373:20:20;;4136:18:112;20373:20:20;;;;;611:5608:112;20373:20:20;;:::i;:::-;;;;;;;;;;;;;;;;;;611:5608:112;;291:59:20;611:5608:112;;291:59:20;;;;20344:19;;;;611:5608:112;20344:19:20;;611:5608:112;20344:19:20;;;;;;611:5608:112;20344:19:20;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:112;;;;;;20344:19:20;;;;;;;-1:-1:-1;20344:19:20;;3866:64:112;3905:14;-1:-1:-1;3866:64:112;;;5109:269;;-1:-1:-1;;;5205:13:112;;;611:5608;;5281:12;;611:5608;;;5345:7;;;:::i;:::-;-1:-1:-1;;;1038:8:112;;;;-1:-1:-1;1038:8:112;;;988;5109:269;:::o;611:5608::-;;;-1:-1:-1;;;611:5608:112;;;;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;;;;;;;;;;;;-1:-1:-1;;;611:5608:112;;;;;;","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":\"CVStrategyHelpersV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":{\"keccak256\":\"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3\",\"dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpersV0_0.sol":"CVStrategyHelpersV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpersV0_0.sol":{"keccak256":"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e","urls":["bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3","dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":8575,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":10612,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)12493_storage"},{"astId":73099,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"metadata","offset":0,"slot":"9","type":"t_struct(Metadata)3098_storage"},{"astId":73111,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_poolProfileId1_","offset":0,"slot":"11","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage))"},"t_mapping(t_bytes32,t_struct(FindData)12468_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)12468_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)12468_storage)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FindData)12468_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":12461,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":12463,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":12465,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":12467,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)12493_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":12477,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage)))"},{"astId":12480,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":12482,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":12484,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":12486,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":12488,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":12490,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":12492,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpersV0_0.sol","id":73606,"exportedSymbols":{"Accounts":[5026],"Allo":[1390],"CVStrategyHelpersV0_0":[73605],"CVStrategyV0_0":[69064],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"StrategyStruct":[65512],"console":[28807]},"nodeType":"SourceUnit","src":"46:6174:112","nodes":[{"id":73075,"nodeType":"PragmaDirective","src":"46:24:112","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73076,"nodeType":"ImportDirective","src":"72:31:112","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":73606,"sourceUnit":28808,"symbolAliases":[],"unitAlias":""},{"id":73078,"nodeType":"ImportDirective","src":"104:53:112","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":73606,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":73077,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"112:4:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73081,"nodeType":"ImportDirective","src":"304:84:112","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../src/CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":73606,"sourceUnit":69065,"symbolAliases":[{"foreign":{"id":73079,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69064,"src":"312:14:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":73080,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"328:14:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73083,"nodeType":"ImportDirective","src":"389:67:112","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":73606,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":73082,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"397:6:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73086,"nodeType":"ImportDirective","src":"457:84:112","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":73606,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":73084,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"465:9:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":73085,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"476:8:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73088,"nodeType":"ImportDirective","src":"543:66:112","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":73606,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":73087,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"551:8:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73605,"nodeType":"ContractDefinition","src":"611:5608:112","nodes":[{"id":73099,"nodeType":"VariableDeclaration","src":"668:109:112","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"684:8:112","scope":73605,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":73094,"nodeType":"UserDefinedTypeName","pathNode":{"id":73093,"name":"Metadata","nameLocations":["668:8:112"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"668:8:112"},"referencedDeclaration":3098,"src":"668:8:112","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":73096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"715:1:112","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","id":73097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"727:48:112","typeDescriptions":{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""},"value":"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""}],"id":73095,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"695:8:112","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":73098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["705:8:112","718:7:112"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"695:82:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":73104,"nodeType":"VariableDeclaration","src":"806:43:112","nodes":[],"constant":true,"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"830:8:112","scope":73605,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73100,"name":"uint256","nodeType":"ElementaryTypeName","src":"806:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":73103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"841:2:112","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":73102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"847:2:112","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"841:8:112","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"public"},{"id":73109,"nodeType":"VariableDeclaration","src":"855:50:112","nodes":[],"constant":true,"functionSelector":"3f26479e","mutability":"constant","name":"PERCENTAGE_SCALE","nameLocation":"879:16:112","scope":73605,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73105,"name":"uint256","nodeType":"ElementaryTypeName","src":"855:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":73108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"898:2:112","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":73107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"904:1:112","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"898:7:112","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":73111,"nodeType":"VariableDeclaration","src":"912:33:112","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"929:16:112","scope":73605,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"912:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":73116,"nodeType":"VariableDeclaration","src":"952:44:112","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"978:7:112","scope":73605,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73112,"name":"uint256","nodeType":"ElementaryTypeName","src":"952:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":73115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":73113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"988:1:112","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":73114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"993:3:112","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"988:8:112","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":73121,"nodeType":"VariableDeclaration","src":"1002:44:112","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"1028:7:112","scope":73605,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73117,"name":"uint256","nodeType":"ElementaryTypeName","src":"1002:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":73120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":73118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1038:1:112","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":73119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1043:3:112","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1038:8:112","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":73126,"nodeType":"VariableDeclaration","src":"1052:37:112","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"1078:1:112","scope":73605,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73122,"name":"uint256","nodeType":"ElementaryTypeName","src":"1052:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":73125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1082:2:112","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":73124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1088:1:112","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1082:7:112","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":73164,"nodeType":"FunctionDefinition","src":"1204:437:112","nodes":[],"body":{"id":73163,"nodeType":"Block","src":"1362:279:112","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":73144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73139,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73111,"src":"1376:16:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1404:1:112","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":73141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1396:7:112","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":73140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1396:7:112","typeDescriptions":{}}},"id":73143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1396:10:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1376:30:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73160,"nodeType":"IfStatement","src":"1372:230:112","trueBody":{"id":73159,"nodeType":"Block","src":"1408:194:112","statements":[{"expression":{"id":73157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73145,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73111,"src":"1422:16:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":73148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1481:1:112","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":73149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1484:16:112","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":73151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1522:1:112","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":73152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1534:14:112","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":73150,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1502:8:112","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":73153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1512:8:112","1525:7:112"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1502:48:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":73154,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73131,"src":"1552:10:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73155,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73134,"src":"1564:13:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":73146,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73129,"src":"1441:8:112","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":73147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1450:13:112","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1441:22:112","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":73156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1441:150:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1422:169:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":73158,"nodeType":"ExpressionStatement","src":"1422:169:112"}]}},{"expression":{"id":73161,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73111,"src":"1618:16:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":73138,"id":73162,"nodeType":"Return","src":"1611:23:112"}]},"functionSelector":"37d1c404","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"1213:15:112","parameters":{"id":73135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73129,"mutability":"mutable","name":"registry","nameLocation":"1239:8:112","nodeType":"VariableDeclaration","scope":73164,"src":"1229:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":73128,"nodeType":"UserDefinedTypeName","pathNode":{"id":73127,"name":"IRegistry","nameLocations":["1229:9:112"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1229:9:112"},"referencedDeclaration":2802,"src":"1229:9:112","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":73131,"mutability":"mutable","name":"pool_admin","nameLocation":"1257:10:112","nodeType":"VariableDeclaration","scope":73164,"src":"1249:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73130,"name":"address","nodeType":"ElementaryTypeName","src":"1249:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73134,"mutability":"mutable","name":"pool_managers","nameLocation":"1286:13:112","nodeType":"VariableDeclaration","scope":73164,"src":"1269:30:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73132,"name":"address","nodeType":"ElementaryTypeName","src":"1269:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73133,"nodeType":"ArrayTypeName","src":"1269:9:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1228:72:112"},"returnParameters":{"id":73138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73137,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73164,"src":"1349:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1349:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1348:9:112"},"scope":73605,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73267,"nodeType":"FunctionDefinition","src":"1647:1157:112","nodes":[],"body":{"id":73266,"nodeType":"Block","src":"1999:805:112","nodes":[],"statements":[{"expression":{"id":73192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73184,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73182,"src":"2060:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":73187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2067:8:112","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65494,"src":"2060:15:112","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":73188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2076:5:112","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"2060:21:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":73190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2098:15:112","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":73189,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73449,"src":"2084:13:112","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2084:30:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2060:54:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73193,"nodeType":"ExpressionStatement","src":"2060:54:112"},{"expression":{"id":73202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73194,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73182,"src":"2141:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":73197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2148:8:112","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65494,"src":"2141:15:112","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":73198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2157:8:112","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65484,"src":"2141:24:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":73200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2182:9:112","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":73199,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73449,"src":"2168:13:112","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2168:24:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2141:51:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73203,"nodeType":"ExpressionStatement","src":"2141:51:112"},{"expression":{"id":73212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73204,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73182,"src":"2221:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":73207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2228:8:112","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65494,"src":"2221:15:112","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":73208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2237:6:112","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65486,"src":"2221:22:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":73210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2260:11:112","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":73209,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73449,"src":"2246:13:112","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":73211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2246:26:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2221:51:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73213,"nodeType":"ExpressionStatement","src":"2221:51:112"},{"expression":{"id":73220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":73214,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73182,"src":"2303:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":73217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2310:8:112","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65494,"src":"2303:15:112","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":73218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2319:18:112","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65490,"src":"2303:34:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"302e32","id":73219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2340:9:112","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"},"src":"2303:46:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73221,"nodeType":"ExpressionStatement","src":"2303:46:112"},{"expression":{"id":73226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73222,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73182,"src":"2366:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":73224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2373:17:112","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65508,"src":"2366:24:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73225,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73166,"src":"2393:17:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2366:44:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73227,"nodeType":"ExpressionStatement","src":"2366:44:112"},{"expression":{"id":73232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73228,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73182,"src":"2420:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":73230,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2427:12:112","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65497,"src":"2420:19:112","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73231,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73169,"src":"2442:12:112","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"2420:34:112","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"id":73233,"nodeType":"ExpressionStatement","src":"2420:34:112"},{"expression":{"id":73238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73234,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73182,"src":"2464:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":73236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2471:11:112","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":65500,"src":"2464:18:112","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73237,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73172,"src":"2485:11:112","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"2464:32:112","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"id":73239,"nodeType":"ExpressionStatement","src":"2464:32:112"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73240,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73175,"src":"2511:11:112","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":73241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2523:9:112","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"2511:21:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2536:1:112","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2511:26:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73253,"nodeType":"IfStatement","src":"2507:197:112","trueBody":{"id":73252,"nodeType":"Block","src":"2539:165:112","statements":[{"expression":{"id":73250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73244,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73175,"src":"2655:11:112","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":73246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2667:9:112","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"2655:21:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":73247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2679:3:112","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":73248,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73104,"src":"2685:8:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2679:14:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2655:38:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73251,"nodeType":"ExpressionStatement","src":"2655:38:112"}]}},{"expression":{"id":73258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73254,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73182,"src":"2713:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":73256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2720:11:112","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":65503,"src":"2713:18:112","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73257,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73175,"src":"2734:11:112","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"2713:32:112","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":73259,"nodeType":"ExpressionStatement","src":"2713:32:112"},{"expression":{"id":73264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73260,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73182,"src":"2755:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":73262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2762:16:112","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65506,"src":"2755:23:112","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73263,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73178,"src":"2781:16:112","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"2755:42:112","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":73265,"nodeType":"ExpressionStatement","src":"2755:42:112"}]},"functionSelector":"c36e336b","implemented":true,"kind":"function","modifiers":[],"name":"getParams","nameLocation":"1656:9:112","parameters":{"id":73179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73166,"mutability":"mutable","name":"registryCommunity","nameLocation":"1683:17:112","nodeType":"VariableDeclaration","scope":73267,"src":"1675:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73165,"name":"address","nodeType":"ElementaryTypeName","src":"1675:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73169,"mutability":"mutable","name":"proposalType","nameLocation":"1738:12:112","nodeType":"VariableDeclaration","scope":73267,"src":"1710:40:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":73168,"nodeType":"UserDefinedTypeName","pathNode":{"id":73167,"name":"StrategyStruct.ProposalType","nameLocations":["1710:14:112","1725:12:112"],"nodeType":"IdentifierPath","referencedDeclaration":65394,"src":"1710:27:112"},"referencedDeclaration":65394,"src":"1710:27:112","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":73172,"mutability":"mutable","name":"pointSystem","nameLocation":"1787:11:112","nodeType":"VariableDeclaration","scope":73267,"src":"1760:38:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":73171,"nodeType":"UserDefinedTypeName","pathNode":{"id":73170,"name":"StrategyStruct.PointSystem","nameLocations":["1760:14:112","1775:11:112"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"1760:26:112"},"referencedDeclaration":65399,"src":"1760:26:112","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":73175,"mutability":"mutable","name":"pointConfig","nameLocation":"1848:11:112","nodeType":"VariableDeclaration","scope":73267,"src":"1808:51:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":73174,"nodeType":"UserDefinedTypeName","pathNode":{"id":73173,"name":"StrategyStruct.PointSystemConfig","nameLocations":["1808:14:112","1823:17:112"],"nodeType":"IdentifierPath","referencedDeclaration":65468,"src":"1808:32:112"},"referencedDeclaration":65468,"src":"1808:32:112","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":73178,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"1908:16:112","nodeType":"VariableDeclaration","scope":73267,"src":"1869:55:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":73177,"nodeType":"UserDefinedTypeName","pathNode":{"id":73176,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["1869:14:112","1884:16:112"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"1869:31:112"},"referencedDeclaration":65482,"src":"1869:31:112","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"1665:265:112"},"returnParameters":{"id":73183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73182,"mutability":"mutable","name":"params","nameLocation":"1991:6:112","nodeType":"VariableDeclaration","scope":73267,"src":"1952:45:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":73181,"nodeType":"UserDefinedTypeName","pathNode":{"id":73180,"name":"StrategyStruct.InitializeParams","nameLocations":["1952:14:112","1967:16:112"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"1952:31:112"},"referencedDeclaration":65511,"src":"1952:31:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"1951:47:112"},"scope":73605,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":73393,"nodeType":"FunctionDefinition","src":"2810:1529:112","nodes":[],"body":{"id":73392,"nodeType":"Block","src":"3223:1116:112","nodes":[],"statements":[{"assignments":[73300],"declarations":[{"constant":false,"id":73300,"mutability":"mutable","name":"params","nameLocation":"3323:6:112","nodeType":"VariableDeclaration","scope":73392,"src":"3284:45:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":73299,"nodeType":"UserDefinedTypeName","pathNode":{"id":73298,"name":"StrategyStruct.InitializeParams","nameLocations":["3284:14:112","3299:16:112"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"3284:31:112"},"referencedDeclaration":65511,"src":"3284:31:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":73308,"initialValue":{"arguments":[{"id":73302,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73274,"src":"3354:17:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73303,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73282,"src":"3373:12:112","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},{"id":73304,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73285,"src":"3387:11:112","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},{"id":73305,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73288,"src":"3400:11:112","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":73306,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73291,"src":"3413:16:112","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":73301,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73267,"src":"3344:9:112","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$65394_$_t_enum$_PointSystem_$65399_$_t_struct$_PointSystemConfig_$65468_memory_ptr_$_t_struct$_ArbitrableConfig_$65482_memory_ptr_$returns$_t_struct$_InitializeParams_$65511_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) pure returns (struct StrategyStruct.InitializeParams memory)"}},"id":73307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3344:86:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"3284:146:112"},{"assignments":[73313],"declarations":[{"constant":false,"id":73313,"mutability":"mutable","name":"_pool_managers","nameLocation":"3458:14:112","nodeType":"VariableDeclaration","scope":73392,"src":"3441:31:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73311,"name":"address","nodeType":"ElementaryTypeName","src":"3441:7:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73312,"nodeType":"ArrayTypeName","src":"3441:9:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":73319,"initialValue":{"arguments":[{"hexValue":"32","id":73317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3489:1:112","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":73316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3475:13:112","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":73314,"name":"address","nodeType":"ElementaryTypeName","src":"3479:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73315,"nodeType":"ArrayTypeName","src":"3479:9:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":73318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3475:16:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3441:50:112"},{"expression":{"id":73327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":73320,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"3501:14:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":73322,"indexExpression":{"hexValue":"30","id":73321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3516:1:112","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3501:17:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73325,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3529:4:112","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$73605","typeString":"contract CVStrategyHelpersV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$73605","typeString":"contract CVStrategyHelpersV0_0"}],"id":73324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3521:7:112","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73323,"name":"address","nodeType":"ElementaryTypeName","src":"3521:7:112","typeDescriptions":{}}},"id":73326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3521:13:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3501:33:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73328,"nodeType":"ExpressionStatement","src":"3501:33:112"},{"expression":{"id":73337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":73329,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"3544:14:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":73331,"indexExpression":{"hexValue":"31","id":73330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3559:1:112","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3544:17:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":73334,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3572:3:112","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3576:6:112","memberName":"sender","nodeType":"MemberAccess","src":"3572:10:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3564:7:112","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73332,"name":"address","nodeType":"ElementaryTypeName","src":"3564:7:112","typeDescriptions":{}}},"id":73336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3564:19:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3544:39:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73338,"nodeType":"ExpressionStatement","src":"3544:39:112"},{"assignments":[73340],"declarations":[{"constant":false,"id":73340,"mutability":"mutable","name":"_token","nameLocation":"3841:6:112","nodeType":"VariableDeclaration","scope":73392,"src":"3833:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73339,"name":"address","nodeType":"ElementaryTypeName","src":"3833:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":73342,"initialValue":{"id":73341,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3850:6:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3833:23:112"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73343,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73279,"src":"3870:5:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":73346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3887:1:112","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":73345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3879:7:112","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73344,"name":"address","nodeType":"ElementaryTypeName","src":"3879:7:112","typeDescriptions":{}}},"id":73347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3879:10:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3870:19:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73354,"nodeType":"IfStatement","src":"3866:64:112","trueBody":{"id":73353,"nodeType":"Block","src":"3891:39:112","statements":[{"expression":{"id":73351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73349,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73340,"src":"3905:6:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73350,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73279,"src":"3914:5:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3905:14:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73352,"nodeType":"ExpressionStatement","src":"3905:14:112"}]}},{"expression":{"id":73377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73355,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73294,"src":"3939:6:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":73359,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73277,"src":"4052:8:112","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[],"expression":{"argumentTypes":[],"id":73360,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"4062:10:112","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":73361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4062:12:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73362,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"4076:14:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":73358,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73164,"src":"4036:15:112","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (contract IRegistry,address,address[] memory) returns (bytes32)"}},"id":73363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:55:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":73366,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73272,"src":"4113:8:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4105:7:112","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73364,"name":"address","nodeType":"ElementaryTypeName","src":"4105:7:112","typeDescriptions":{}}},"id":73367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4105:17:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73370,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73300,"src":"4147:6:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":73368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4136:3:112","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4140:6:112","memberName":"encode","nodeType":"MemberAccess","src":"4136:10:112","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":73371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4136:18:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":73372,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73340,"src":"4168:6:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":73373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4188:1:112","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":73374,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73099,"src":"4203:8:112","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":73375,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"4225:14:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":73356,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73270,"src":"3948:4:112","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":73357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3953:28:112","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"3948:33:112","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":73376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3948:301:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3939:310:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73378,"nodeType":"ExpressionStatement","src":"3939:310:112"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"id":73389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":73383,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73272,"src":"4290:8:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4282:8:112","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":73381,"name":"address","nodeType":"ElementaryTypeName","src":"4282:8:112","stateMutability":"payable","typeDescriptions":{}}},"id":73384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4282:17:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":73380,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69064,"src":"4267:14:112","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$69064_$","typeString":"type(contract CVStrategyV0_0)"}},"id":73385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4267:33:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}},"id":73386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4301:12:112","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65785,"src":"4267:46:112","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_ProposalType_$65394_$","typeString":"function () view external returns (enum StrategyStruct.ProposalType)"}},"id":73387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4267:48:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":73388,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73282,"src":"4319:12:112","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"4267:64:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":73379,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"4260:6:112","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":73390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4260:72:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73391,"nodeType":"ExpressionStatement","src":"4260:72:112"}]},"functionSelector":"e070e0ab","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"2819:10:112","parameters":{"id":73292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73270,"mutability":"mutable","name":"allo","nameLocation":"2844:4:112","nodeType":"VariableDeclaration","scope":73393,"src":"2839:9:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":73269,"nodeType":"UserDefinedTypeName","pathNode":{"id":73268,"name":"Allo","nameLocations":["2839:4:112"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"2839:4:112"},"referencedDeclaration":1390,"src":"2839:4:112","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":73272,"mutability":"mutable","name":"strategy","nameLocation":"2866:8:112","nodeType":"VariableDeclaration","scope":73393,"src":"2858:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73271,"name":"address","nodeType":"ElementaryTypeName","src":"2858:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73274,"mutability":"mutable","name":"registryCommunity","nameLocation":"2892:17:112","nodeType":"VariableDeclaration","scope":73393,"src":"2884:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73273,"name":"address","nodeType":"ElementaryTypeName","src":"2884:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73277,"mutability":"mutable","name":"registry","nameLocation":"2929:8:112","nodeType":"VariableDeclaration","scope":73393,"src":"2919:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":73276,"nodeType":"UserDefinedTypeName","pathNode":{"id":73275,"name":"IRegistry","nameLocations":["2919:9:112"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"2919:9:112"},"referencedDeclaration":2802,"src":"2919:9:112","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":73279,"mutability":"mutable","name":"token","nameLocation":"2955:5:112","nodeType":"VariableDeclaration","scope":73393,"src":"2947:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73278,"name":"address","nodeType":"ElementaryTypeName","src":"2947:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73282,"mutability":"mutable","name":"proposalType","nameLocation":"2998:12:112","nodeType":"VariableDeclaration","scope":73393,"src":"2970:40:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":73281,"nodeType":"UserDefinedTypeName","pathNode":{"id":73280,"name":"StrategyStruct.ProposalType","nameLocations":["2970:14:112","2985:12:112"],"nodeType":"IdentifierPath","referencedDeclaration":65394,"src":"2970:27:112"},"referencedDeclaration":65394,"src":"2970:27:112","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":73285,"mutability":"mutable","name":"pointSystem","nameLocation":"3047:11:112","nodeType":"VariableDeclaration","scope":73393,"src":"3020:38:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":73284,"nodeType":"UserDefinedTypeName","pathNode":{"id":73283,"name":"StrategyStruct.PointSystem","nameLocations":["3020:14:112","3035:11:112"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"3020:26:112"},"referencedDeclaration":65399,"src":"3020:26:112","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":73288,"mutability":"mutable","name":"pointConfig","nameLocation":"3108:11:112","nodeType":"VariableDeclaration","scope":73393,"src":"3068:51:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":73287,"nodeType":"UserDefinedTypeName","pathNode":{"id":73286,"name":"StrategyStruct.PointSystemConfig","nameLocations":["3068:14:112","3083:17:112"],"nodeType":"IdentifierPath","referencedDeclaration":65468,"src":"3068:32:112"},"referencedDeclaration":65468,"src":"3068:32:112","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":73291,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3168:16:112","nodeType":"VariableDeclaration","scope":73393,"src":"3129:55:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":73290,"nodeType":"UserDefinedTypeName","pathNode":{"id":73289,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["3129:14:112","3144:16:112"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"3129:31:112"},"referencedDeclaration":65482,"src":"3129:31:112","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"2829:361:112"},"returnParameters":{"id":73295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73294,"mutability":"mutable","name":"poolId","nameLocation":"3215:6:112","nodeType":"VariableDeclaration","scope":73393,"src":"3207:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73293,"name":"uint256","nodeType":"ElementaryTypeName","src":"3207:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3206:16:112"},"scope":73605,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73435,"nodeType":"FunctionDefinition","src":"4345:638:112","nodes":[],"body":{"id":73434,"nodeType":"Block","src":"4697:286:112","nodes":[],"statements":[{"expression":{"arguments":[{"id":73420,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73396,"src":"4738:4:112","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"id":73421,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73398,"src":"4756:8:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73422,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73400,"src":"4778:17:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73423,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73403,"src":"4809:8:112","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"id":73424,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73405,"src":"4831:5:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73425,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73408,"src":"4850:12:112","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},{"id":73426,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73411,"src":"4876:11:112","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"hexValue":"30","id":73429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4934:1:112","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":73427,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"4901:14:112","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":73428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4916:17:112","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":65468,"src":"4901:32:112","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$65468_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":73430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4901:35:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":73431,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73414,"src":"4950:16:112","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":73419,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[73393,73435],"referencedDeclaration":73393,"src":"4714:10:112","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$65394_$_t_enum$_PointSystem_$65399_$_t_struct$_PointSystemConfig_$65468_memory_ptr_$_t_struct$_ArbitrableConfig_$65482_memory_ptr_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) returns (uint256)"}},"id":73432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4714:262:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73418,"id":73433,"nodeType":"Return","src":"4707:269:112"}]},"functionSelector":"85294f18","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"4354:10:112","parameters":{"id":73415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73396,"mutability":"mutable","name":"allo","nameLocation":"4379:4:112","nodeType":"VariableDeclaration","scope":73435,"src":"4374:9:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":73395,"nodeType":"UserDefinedTypeName","pathNode":{"id":73394,"name":"Allo","nameLocations":["4374:4:112"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"4374:4:112"},"referencedDeclaration":1390,"src":"4374:4:112","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":73398,"mutability":"mutable","name":"strategy","nameLocation":"4401:8:112","nodeType":"VariableDeclaration","scope":73435,"src":"4393:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73397,"name":"address","nodeType":"ElementaryTypeName","src":"4393:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73400,"mutability":"mutable","name":"registryCommunity","nameLocation":"4427:17:112","nodeType":"VariableDeclaration","scope":73435,"src":"4419:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73399,"name":"address","nodeType":"ElementaryTypeName","src":"4419:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73403,"mutability":"mutable","name":"registry","nameLocation":"4464:8:112","nodeType":"VariableDeclaration","scope":73435,"src":"4454:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":73402,"nodeType":"UserDefinedTypeName","pathNode":{"id":73401,"name":"IRegistry","nameLocations":["4454:9:112"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"4454:9:112"},"referencedDeclaration":2802,"src":"4454:9:112","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":73405,"mutability":"mutable","name":"token","nameLocation":"4490:5:112","nodeType":"VariableDeclaration","scope":73435,"src":"4482:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73404,"name":"address","nodeType":"ElementaryTypeName","src":"4482:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73408,"mutability":"mutable","name":"proposalType","nameLocation":"4533:12:112","nodeType":"VariableDeclaration","scope":73435,"src":"4505:40:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":73407,"nodeType":"UserDefinedTypeName","pathNode":{"id":73406,"name":"StrategyStruct.ProposalType","nameLocations":["4505:14:112","4520:12:112"],"nodeType":"IdentifierPath","referencedDeclaration":65394,"src":"4505:27:112"},"referencedDeclaration":65394,"src":"4505:27:112","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":73411,"mutability":"mutable","name":"pointSystem","nameLocation":"4582:11:112","nodeType":"VariableDeclaration","scope":73435,"src":"4555:38:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":73410,"nodeType":"UserDefinedTypeName","pathNode":{"id":73409,"name":"StrategyStruct.PointSystem","nameLocations":["4555:14:112","4570:11:112"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"4555:26:112"},"referencedDeclaration":65399,"src":"4555:26:112","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":73414,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"4642:16:112","nodeType":"VariableDeclaration","scope":73435,"src":"4603:55:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":73413,"nodeType":"UserDefinedTypeName","pathNode":{"id":73412,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["4603:14:112","4618:16:112"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"4603:31:112"},"referencedDeclaration":65482,"src":"4603:31:112","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"4364:300:112"},"returnParameters":{"id":73418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73417,"mutability":"mutable","name":"poolId","nameLocation":"4689:6:112","nodeType":"VariableDeclaration","scope":73435,"src":"4681:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73416,"name":"uint256","nodeType":"ElementaryTypeName","src":"4681:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4680:16:112"},"scope":73605,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73449,"nodeType":"FunctionDefinition","src":"4989:114:112","nodes":[],"body":{"id":73448,"nodeType":"Block","src":"5061:42:112","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73442,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73437,"src":"5078:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":73445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":73443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5088:2:112","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":73444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5094:2:112","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"5088:8:112","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"5078:18:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73441,"id":73447,"nodeType":"Return","src":"5071:25:112"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"4998:13:112","parameters":{"id":73438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73437,"mutability":"mutable","name":"_amount","nameLocation":"5020:7:112","nodeType":"VariableDeclaration","scope":73449,"src":"5012:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73436,"name":"uint256","nodeType":"ElementaryTypeName","src":"5012:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5011:17:112"},"returnParameters":{"id":73441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73449,"src":"5052:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73439,"name":"uint256","nodeType":"ElementaryTypeName","src":"5052:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5051:9:112"},"scope":73605,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73483,"nodeType":"FunctionDefinition","src":"5109:269:112","nodes":[],"body":{"id":73482,"nodeType":"Block","src":"5187:191:112","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73459,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73451,"src":"5205:2:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":73460,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73121,"src":"5211:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5205:13:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":73462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5220:42:112","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":73458,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5197:7:112","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":73463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5197:66:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73464,"nodeType":"ExpressionStatement","src":"5197:66:112"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73466,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73453,"src":"5281:2:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":73467,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73121,"src":"5286:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5281:12:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":73469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5295:30:112","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":73465,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5273:7:112","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":73470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5273:53:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73471,"nodeType":"ExpressionStatement","src":"5273:53:112"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73472,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73451,"src":"5345:2:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":73473,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73453,"src":"5350:2:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5345:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73475,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5344:9:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73476,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73116,"src":"5356:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5344:19:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73478,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5343:21:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":73479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5368:3:112","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5343:28:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73457,"id":73481,"nodeType":"Return","src":"5336:35:112"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"5118:4:112","parameters":{"id":73454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73451,"mutability":"mutable","name":"_a","nameLocation":"5131:2:112","nodeType":"VariableDeclaration","scope":73483,"src":"5123:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73450,"name":"uint256","nodeType":"ElementaryTypeName","src":"5123:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73453,"mutability":"mutable","name":"_b","nameLocation":"5143:2:112","nodeType":"VariableDeclaration","scope":73483,"src":"5135:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73452,"name":"uint256","nodeType":"ElementaryTypeName","src":"5135:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5122:24:112"},"returnParameters":{"id":73457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73456,"mutability":"mutable","name":"_result","nameLocation":"5178:7:112","nodeType":"VariableDeclaration","scope":73483,"src":"5170:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73455,"name":"uint256","nodeType":"ElementaryTypeName","src":"5170:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5169:17:112"},"scope":73605,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73547,"nodeType":"FunctionDefinition","src":"5384:447:112","nodes":[],"body":{"id":73546,"nodeType":"Block","src":"5462:369:112","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73493,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73485,"src":"5480:2:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":73494,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73121,"src":"5485:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5480:12:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":73496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5494:30:112","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":73492,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5472:7:112","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":73497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5472:53:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73498,"nodeType":"ExpressionStatement","src":"5472:53:112"},{"assignments":[73500],"declarations":[{"constant":false,"id":73500,"mutability":"mutable","name":"a","nameLocation":"5543:1:112","nodeType":"VariableDeclaration","scope":73546,"src":"5535:9:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73499,"name":"uint256","nodeType":"ElementaryTypeName","src":"5535:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73502,"initialValue":{"id":73501,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73485,"src":"5547:2:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5535:14:112"},{"assignments":[73504],"declarations":[{"constant":false,"id":73504,"mutability":"mutable","name":"b","nameLocation":"5567:1:112","nodeType":"VariableDeclaration","scope":73546,"src":"5559:9:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73503,"name":"uint256","nodeType":"ElementaryTypeName","src":"5559:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73506,"initialValue":{"id":73505,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"5571:2:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5559:14:112"},{"expression":{"id":73509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73507,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73490,"src":"5583:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73508,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73121,"src":"5593:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5583:17:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73510,"nodeType":"ExpressionStatement","src":"5583:17:112"},{"body":{"id":73544,"nodeType":"Block","src":"5624:201:112","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73514,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73504,"src":"5642:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":73515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5646:1:112","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5642:5:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5651:1:112","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5642:10:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":73542,"nodeType":"Block","src":"5732:83:112","statements":[{"expression":{"id":73536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73531,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73490,"src":"5750:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73533,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73490,"src":"5765:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73534,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"5774:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73532,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73483,"src":"5760:4:112","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":73535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5760:16:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5750:26:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73537,"nodeType":"ExpressionStatement","src":"5750:26:112"},{"expression":{"id":73540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73538,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73504,"src":"5794:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":73539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5799:1:112","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5794:6:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73541,"nodeType":"ExpressionStatement","src":"5794:6:112"}]},"id":73543,"nodeType":"IfStatement","src":"5638:177:112","trueBody":{"id":73530,"nodeType":"Block","src":"5654:72:112","statements":[{"expression":{"id":73524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73519,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"5672:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73521,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"5681:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73522,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73500,"src":"5684:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73520,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73483,"src":"5676:4:112","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":73523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5676:10:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5672:14:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73525,"nodeType":"ExpressionStatement","src":"5672:14:112"},{"expression":{"id":73528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73526,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73504,"src":"5704:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":73527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5710:1:112","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5704:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73529,"nodeType":"ExpressionStatement","src":"5704:7:112"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73511,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73504,"src":"5617:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":73512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5621:1:112","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5617:5:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73545,"nodeType":"WhileStatement","src":"5610:215:112"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"5393:4:112","parameters":{"id":73488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73485,"mutability":"mutable","name":"_a","nameLocation":"5406:2:112","nodeType":"VariableDeclaration","scope":73547,"src":"5398:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73484,"name":"uint256","nodeType":"ElementaryTypeName","src":"5398:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73487,"mutability":"mutable","name":"_b","nameLocation":"5418:2:112","nodeType":"VariableDeclaration","scope":73547,"src":"5410:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73486,"name":"uint256","nodeType":"ElementaryTypeName","src":"5410:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5397:24:112"},"returnParameters":{"id":73491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73490,"mutability":"mutable","name":"_result","nameLocation":"5453:7:112","nodeType":"VariableDeclaration","scope":73547,"src":"5445:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73489,"name":"uint256","nodeType":"ElementaryTypeName","src":"5445:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5444:17:112"},"scope":73605,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":73604,"nodeType":"FunctionDefinition","src":"5837:380:112","nodes":[],"body":{"id":73603,"nodeType":"Block","src":"6000:217:112","nodes":[],"statements":[{"assignments":[73561],"declarations":[{"constant":false,"id":73561,"mutability":"mutable","name":"t","nameLocation":"6018:1:112","nodeType":"VariableDeclaration","scope":73603,"src":"6010:9:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73560,"name":"uint256","nodeType":"ElementaryTypeName","src":"6010:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73563,"initialValue":{"id":73562,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73549,"src":"6022:11:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6010:23:112"},{"assignments":[73565],"declarations":[{"constant":false,"id":73565,"mutability":"mutable","name":"atTWO_128","nameLocation":"6051:9:112","nodeType":"VariableDeclaration","scope":73603,"src":"6043:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73564,"name":"uint256","nodeType":"ElementaryTypeName","src":"6043:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73575,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73567,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73555,"src":"6069:5:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":73568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6078:3:112","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6069:12:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73570,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6068:14:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":73571,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73126,"src":"6085:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6068:18:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73573,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73561,"src":"6088:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73566,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73547,"src":"6063:4:112","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":73574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6063:27:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6043:47:112"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73576,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73565,"src":"6110:9:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":73577,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73551,"src":"6122:9:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6110:21:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73579,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6109:23:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73580,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73553,"src":"6137:10:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":73581,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73126,"src":"6150:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6137:14:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73583,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73121,"src":"6155:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73584,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73565,"src":"6165:9:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6155:19:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73586,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6154:21:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6137:38:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73588,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6136:40:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73589,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73126,"src":"6180:1:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":73590,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73555,"src":"6184:5:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6180:9:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73592,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6179:11:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6136:54:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73594,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6135:56:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6109:82:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73596,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6108:84:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":73597,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73116,"src":"6195:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6108:94:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":73599,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6107:96:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":73600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6207:3:112","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6107:103:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73559,"id":73602,"nodeType":"Return","src":"6100:110:112"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"5846:20:112","parameters":{"id":73556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73549,"mutability":"mutable","name":"_timePassed","nameLocation":"5875:11:112","nodeType":"VariableDeclaration","scope":73604,"src":"5867:19:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73548,"name":"uint256","nodeType":"ElementaryTypeName","src":"5867:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73551,"mutability":"mutable","name":"_lastConv","nameLocation":"5896:9:112","nodeType":"VariableDeclaration","scope":73604,"src":"5888:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73550,"name":"uint256","nodeType":"ElementaryTypeName","src":"5888:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73553,"mutability":"mutable","name":"_oldAmount","nameLocation":"5915:10:112","nodeType":"VariableDeclaration","scope":73604,"src":"5907:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73552,"name":"uint256","nodeType":"ElementaryTypeName","src":"5907:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73555,"mutability":"mutable","name":"decay","nameLocation":"5935:5:112","nodeType":"VariableDeclaration","scope":73604,"src":"5927:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73554,"name":"uint256","nodeType":"ElementaryTypeName","src":"5927:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5866:75:112"},"returnParameters":{"id":73559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73558,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73604,"src":"5987:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73557,"name":"uint256","nodeType":"ElementaryTypeName","src":"5987:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5986:9:112"},"scope":73605,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":73089,"name":"Native","nameLocations":["645:6:112"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"645:6:112"},"id":73090,"nodeType":"InheritanceSpecifier","src":"645:6:112"},{"baseName":{"id":73091,"name":"Accounts","nameLocations":["653:8:112"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"653:8:112"},"id":73092,"nodeType":"InheritanceSpecifier","src":"653:8:112"}],"canonicalName":"CVStrategyHelpersV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[73605,5026,11396,10603,3106],"name":"CVStrategyHelpersV0_0","nameLocation":"620:21:112","scope":73606,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":112} \ No newline at end of file +{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608034620001f4576040906001600160401b0381830181811183821017620001de57835260019182815283516060810181811084821117620001de578552602e81526020917f516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a4468838301526d6132666a3547656536684a7a535960901b868301528183820152516009558051928311620001de57600a548481811c91168015620001d3575b83821014620001bd57601f81116200016e575b5081601f8411600114620001015750928293918392600094620000f5575b50501b916000199060031b1c191617600a555b516123539081620001fa8239f35b015192503880620000d4565b919083601f198116600a60005284600020946000905b8883831062000153575050501062000139575b505050811b01600a55620000e7565b015160001960f88460031b161c191690553880806200012a565b85870151885590960195948501948793509081019062000117565b600a60005282600020601f850160051c810191848610620001b2575b601f0160051c019085905b828110620001a5575050620000b6565b6000815501859062000195565b90915081906200018a565b634e487b7160e01b600052602260045260246000fd5b90607f1690620000a3565b634e487b7160e01b600052604160045260246000fd5b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c908162b1fad71461175957508063030e4006146116fd5780630688b135146116aa5780630f166ad41461168f578063174eedde14610c7c5780631b96dce6146116385780631e7bcb2e146115ec5780632e0f2625146115c957806337d1c40414611503578063392f37e9146114bf5780633f26479e146114a25780634bf4ba2114611464578063587c1243146114185780635aff5999146113bf57806366d003ac146112d25780636a38dd0a1461118d57806370a3294414610ffe57806374d9284e14610c7c578063759c9a8614610f9057806379e62d0d14610df55780637b2edf3214610da95780637cbe79ed14610d63578063829e423f14610c7c57806385294f1814610c815780638c7408c414610c7c5780638e0d1a5014610c365780638e3c249314610bea578063a0cf0aea14610bbb578063a407c67a14610923578063aa3744bd146108d0578063c36e336b146107f5578063d1e82b581461079c578063d1f2cd8814610752578063d5bee9f514610664578063da4bf0871461060e578063dac4eb16146105b7578063e070e0ab146104b7578063e99ce911146103315763ef0d790f146101d057600080fd5b3461032d578260031936011261032d578051926101ec8461188f565b6013845260209384810172383937b334b632992fb737ba20a6b2b6b132b960691b8152835161021e87820180936119c9565b6013815261022b8161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e6575b50813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b03925af180156102d8576102c1575b505051908152f35b6102cb8291611830565b6102d557806102b9565b80fd5b83513d84823e3d90fd5b8380fd5b90508681813d831161031c575b6102fd81836118c5565b810103126102e257516001600160a01b03811681036102e25738610265565b503d6102f3565b85513d86823e3d90fd5b8280fd5b503461032d57608036600319011261032d5760443592600160801b9262989680606435608081901b829004868110156104755786908435805b61042157505060249761037e893589611d33565b978482029180830486149015171561040f5782039182116103fd57906103a391611d33565b90808303928084116103fd57146103eb570484018094116103d9576001607f1b84019384106103d95760208484519060801c8152f35b634e487b7160e01b8252601190528390fd5b634e487b7160e01b8452601283528684fd5b634e487b7160e01b8652601185528886fd5b634e487b7160e01b8752601186528987fd5b600191818316610441578061043591612232565b911c90815b909161036a565b80925061044e9199612232565b97600019810190811161046257908161043a565b634e487b7160e01b875260118652602487fd5b855162461bcd60e51b8152602081860152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b50903461032d576101c036600319011261032d576104d36117c2565b906104dc6117ee565b6104e4611804565b6104ec6117d8565b6104f461181a565b9160a4359360038510156105b35760c435958610156105b35760203660e31901126105b35787519661052588611859565b60e435885260c0366101031901126105af578851996105438b611874565b6001600160a01b03906101043582811681036105ab578c526101243591821682036102d55750918a979593916105a4999795936020809d0152610144358b8a01526101643560608a01526101843560808a01526101a43560a08a0152611e95565b9051908152f35b5080fd5b8980fd5b8880fd5b503461032d578260031936011261032d578051926105d48461188f565b600e84526020938481016d3932b3b4b9ba393cafb7bbb732b960911b815283516106018782018093611a15565b600e815261022b8161188f565b503461032d578260031936011261032d5780519261062b8461188f565b600d84526020938481016c616c6c6f5f747265617375727960981b8152835161065787820180936119a3565b600d815261022b8161188f565b503461032d578260031936011261032d578051926106818461188f565b600b938481526020946a1c985b991bdb4818da185960aa1b8683015283519086845b82811061073e57505083602b83015281526106bd8161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e65750813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b8181860101518282860101520187906106a3565b503461032d578260031936011261032d5780519261076f8461188f565b600e84526020938481016d383937b334b63298afb7bbb732b960911b815283516106018782018093611a15565b503461032d578260031936011261032d578051926107b98461188f565b601084526020938481016f3837b7b62fb737ba20a6b0b730b3b2b960811b815283516107e88782018093611a3b565b6010815261022b8161188f565b50903461032d5761014036600319011261032d576108116117c2565b9060243560038110156108cc57604435918210156108cc5760203660631901126108cc5783519261084184611859565b606435845260c03660831901126108c85784519561085e87611874565b6001600160a01b039060843582811681036105ab57885260a43591821682036102d55750918693916108b9959360206108c499015260c4358786015260e43560608601526101043560808601526101243560a0860152611d5c565b905191829182611ade565b0390f35b8580fd5b8480fd5b503461032d578260031936011261032d578051926108ed8461188f565b600a845260209384810169726563697069656e743160b01b8152835161091687820180936119ef565b600a815261022b8161188f565b508290346105ab57816003193601126105ab57805192610942846118aa565b60028452602092823685870137825161095a8161188f565b601081528481016f70726f66696c65325f6d656d6265723160801b815284516109868782018093611a3b565b601081526109938161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610b72575b50813b156108cc578651936318caf8e360e31b94858152868180610a0c60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610b54575b5050610a2b8a611bbb565b52865193610a388561188f565b601085528885016f383937b334b632992fb6b2b6b132b91960811b81528851610a648b82018093611a3b565b60108152610a718161188f565b5190208851928352878301528882602481865afa918215610b4a578692610b12575b50823b156108c857908580949392610ac58a5197889687958694855216809b8401528b60248401526044830190611a61565b03925af18015610b0857610af4575b5050906108c491610ae485611bde565b5251928284938452830190611aa1565b610afe8291611830565b6102d55780610ad4565b84513d84823e3d90fd5b9091508881813d8311610b43575b610b2a81836118c5565b810103126108c8575183811681036108c857908a610a93565b503d610b20565b88513d88823e3d90fd5b610b5d90611830565b6108c857858b610a20565b89513d89823e3d90fd5b9092508781813d8311610baa575b610b8a81836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896109cf565b503d610b80565b87513d87823e3d90fd5b8382346105ab57816003193601126105ab576020905173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b503461032d578260031936011261032d57805192610c078461188f565b601084526020938481016f383937b334b632992fb6b2b6b132b91960811b815283516107e88782018093611a3b565b503461032d578260031936011261032d57805192610c538461188f565b600a8452602093848101693837b7b62fb0b236b4b760b11b8152835161091687820180936119ef565b6117a1565b50903461032d576101a036600319011261032d57610c9d6117c2565b90610ca66117ee565b610cae611804565b610cb66117d8565b610cbe61181a565b9160a4359360038510156105b35760c435958610156105b35760c03660e31901126105b357875196610cef88611874565b6001600160a01b0360e4358181168103610d5f578952610104359081168103610d5b5791889795939160209b9795938c6105a49b0152610124358b8a01526101443560608a01526101643560808a01526101843560a08a01528a5197610d5489611859565b8852611e95565b8a80fd5b8b80fd5b503461032d578260031936011261032d57805192610d808461188f565b600a84526020938481016930b63637afb7bbb732b960b11b8152835161091687820180936119ef565b503461032d578260031936011261032d57805192610dc68461188f565b601084526020938481016f383937b334b63298afb6b2b6b132b91960811b815283516107e88782018093611a3b565b508290346105ab57816003193601126105ab57805192610e14846118aa565b600284526020928236858701378251610e2c8161188f565b600d81528481016c706f6f6c5f6d616e616765723160981b81528451610e5587820180936119a3565b600d8152610e628161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610f51575b50813b156108cc578651936318caf8e360e31b94858152868180610edb60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610f3d575b5050610efa8a611bbb565b52865193610f078561188f565b600d85528885016c3837b7b62fb6b0b730b3b2b91960991b81528851610f308b820180936119a3565b600d8152610a718161188f565b610f4690611830565b6108c857858b610eef565b9092508781813d8311610f89575b610f6981836118c5565b810103126108cc57516001600160a01b03811681036108cc579189610e9e565b503d610f5f565b503461032d578260031936011261032d57805192610fad8461188f565b600c938481526020946b1b9bd7dc9958da5c1a595b9d60a21b8683015283519086845b828110610fea57505083602c83015281526106bd8161188f565b818186010151828286010152018790610fd0565b508290346105ab57816003193601126105ab5780519261101d846118aa565b6002845260209282368587013782516110358161188f565b601081528481016f70726f66696c65315f6d656d6265723160801b815284516110618782018093611a3b565b6010815261106e8161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb157859361114e575b50813b156108cc578651936318caf8e360e31b948581528681806110e760018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b685761113b575b506111028a611bbb565b5286519361110f8561188f565b601085528885016f383937b334b63298afb6b2b6b132b91960811b81528851610a648b82018093611a3b565b61114790969196611830565b948a6110f8565b9092508781813d8311611186575b61116681836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896110aa565b503d61115c565b503461032d578260031936011261032d578051926111aa8461188f565b600d84526020938481016c3837b7b62fb6b0b730b3b2b91960991b815283516111d687820180936119a3565b600d81526111e38161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa908115610323578491611295575b50813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b03925af190811561128a575061127b575b5051908152f35b61128490611830565b38611274565b8351903d90823e3d90fd5b90508681813d83116112cb575b6112ac81836118c5565b810103126102e257516001600160a01b03811681036102e2573861121d565b503d6112a2565b503461032d578260031936011261032d578051926112ef8461188f565b600993848152602094681c9958da5c1a595b9d60ba1b8683015283519086845b8281106113ab57505083602983015281526113298161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916112955750813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b81818601015182828601015201879061130f565b503461032d578260031936011261032d578051926113dc8461188f565b601084526020938481016f726563697069656e744164647265737360801b8152835161140b8782018093611a3b565b601081526111e38161188f565b503461032d578260031936011261032d578051926114358461188f565b601084526020938481016f70726f66696c65325f6d656d6265723160801b8152835161140b8782018093611a3b565b8382346105ab57816003193601126105ab5780516108c491611485826118aa565b600282528036602084013751918291602083526020830190611aa1565b8382346105ab57816003193601126105ab57602090516127108152f35b5082346102d557806003193601126102d557506009546108c482516114ee816114e7816118e8565b03826118c5565b83519384938452806020850152830190611a61565b508290346105ab5760603660031901126105ab5761151f6117c2565b916115286117ee565b6001600160401b039460443594908686116102e257366023870112156102e257858101359687116115b657508560051b84519360209761156a898401876118c5565b8552602488860192880101963688116105ab57602401915b878310611597575050506105a4939450611bee565b82356001600160a01b038116810361032d578152918801918801611582565b634e487b7160e01b845260419052602483fd5b8382346105ab57816003193601126105ab5760209051670de0b6b3a76400008152f35b503461032d578260031936011261032d578051926116098461188f565b601084526020938481016f70726f66696c65315f6d656d6265723160801b8152835161140b8782018093611a3b565b503461032d578260031936011261032d578051926116558461188f565b600e84526020938481016d383937b334b632992fb7bbb732b960911b815283516116828782018093611a15565b600e81526111e38161188f565b8382346105ab57816003193601126105ab5760209051308152f35b503461032d578260031936011261032d578051926116c78461188f565b600a8452602093848101693932b1b4b834b2b73a1960b11b815283516116f087820180936119ef565b600a81526111e38161188f565b503461032d578260031936011261032d5780519261171a8461188f565b6013845260209384810172383937b334b63298afb737ba20a6b2b6b132b960691b8152835161174c87820180936119c9565b601381526111e38161188f565b939050346102d557806003193601126102d5576117758461188f565b600d84526020938481016c706f6f6c5f6d616e616765723160981b815283516111d687820180936119a3565b346117bd5760003660031901126117bd57602060405160008152f35b600080fd5b600435906001600160a01b03821682036117bd57565b606435906001600160a01b03821682036117bd57565b602435906001600160a01b03821682036117bd57565b604435906001600160a01b03821682036117bd57565b608435906001600160a01b03821682036117bd57565b6001600160401b03811161184357604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761184357604052565b60c081019081106001600160401b0382111761184357604052565b604081019081106001600160401b0382111761184357604052565b606081019081106001600160401b0382111761184357604052565b601f909101601f19168101906001600160401b0382119082101761184357604052565b90600091600a549060019082821c91808416938415611999575b6020948585108114611983578484529081156119665750600114611927575b50505050565b9293945090600a6000528360002092846000945b838610611952575050505001019038808080611921565b80548587018301529401938590820161193b565b60ff191685840152505090151560051b0101915038808080611921565b634e487b7160e01b600052602260045260246000fd5b92607f1692611902565b60005b600d81106119b9575050600d6000910152565b81810151838201526020016119a6565b60005b601381106119df57505060136000910152565b81810151838201526020016119cc565b60005b600a8110611a05575050600a6000910152565b81810151838201526020016119f2565b60005b600e8110611a2b575050600e6000910152565b8181015183820152602001611a18565b60005b60108110611a5157505060106000910152565b8181015183820152602001611a3e565b919082519283825260005b848110611a8d575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611a6c565b90815180825260208080930193019160005b828110611ac1575050505090565b83516001600160a01b031685529381019392810192600101611ab3565b9190916101e0810192606081518051845260208101516020850152604081015160408501520151606083015260208101516003811015611ba55760808301526040810151906004821015611ba5576101c09160a084015260608101515160c084015260c060808201519160a0600180821b03938481511660e08801528460208201511661010088015260408101516101208801526060810151610140880152608081015161016088015201516101808601528260a0820151166101a0860152015116910152565b634e487b7160e01b600052602160045260246000fd5b805115611bc85760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611bc85760400190565b90600b5415611c01575b505050600b5490565b604080519092818401906001600160401b0382118383101761184357611cb9918552600183528451611c328161188f565b600c8152600060209586956b506f6f6c50726f66696c653160a01b87850152868101938452611cdb89519a8b9788968794633a92f65f60e01b86526002600487015260a06024870152600e60a48701526d506f6f6c2050726f66696c65203160901b60c487015260e060448701525160e4860152518c610104860152610124850190611a61565b6001600160a01b03948516606485015283810360031901608485015290611aa1565b0393165af1918215611d295750600091611cfd575b50600b5550388080611bf8565b82813d8311611d22575b611d1181836118c5565b810103126102d55750518038611cf0565b503d611d07565b513d6000823e3d90fd5b81810292918115918404141715611d4657565b634e487b7160e01b600052601160045260246000fd5b919493929060409586519160e0830160018060401b038482108183111761184357610160850190811182821017611843578952600090818152816101008601528161012086015281610140860152845260208401918183528985019282845260608601958b51611dcb81611859565b848152875260a060808201998d86815191611de583611874565b81835281602084015282015286606082015286608082015286838201528b528560c0840152629895b7839e84510152621e84808351526127106020845101526702c68af0bb140000606084510152600180831b03169101526003821015611e8157526004831015611e6d575052815115611e5d575252565b680ad78ebc5ac620000082525252565b634e487b7160e01b81526021600452602490fd5b634e487b7160e01b83526021600452602483fd5b949586611ea69498929a9993611d5c565b9060009460405190611eb7826118aa565b60028252604036602084013730611ecd83611bbb565b5233611ed883611bde565b5273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee926001600160a01b03811661222a575b5060405190611f0c8261188f565b600a825260208201693837b7b62fb0b236b4b760b11b8152604051611f356020820180936119ef565b600a8152611f428161188f565b519020916040519263ffa1864960e01b845260048401526020836024816000805160206122fe8339815191525afa9283156121db5789936121e6575b506000805160206122fe8339815191523b156105b357604080516318caf8e360e31b81526001600160a01b0385166004820152602481019190915290899082908190611fce906044830190611a61565b0381836000805160206122fe8339815191525af180156121db57908b9695949392916121a5575b50936120af61206997948461203261201560209a978e976120249b611bee565b94604051998a918c8301611ade565b03601f1981018a52896118c5565b604051998a98899788966370803ea560e11b8852600488015260018060a01b0316602487015260e0604487015260e4860190611a61565b9160018060a01b031660648501528460848501526120a0604060031993848782030160a48801526009548152818c820152016118e8565b918483030160c4850152611aa1565b03926001600160a01b03165af1908115612167578391612172575b50604051631a8ecfcb60e11b81529094602090829060049082906001600160a01b03165afa90811561216757839161212c575b506003821015611e81576003811015611e8157036121185750565b634e487b7160e01b81526001600452602490fd5b90506020813d60201161215f575b81612147602093836118c5565b8101031261032d5751600381101561032d57386120fd565b3d915061213a565b6040513d85823e3d90fd5b90506020813d60201161219d575b8161218d602093836118c5565b8101031261032d575160206120ca565b3d9150612180565b61206997948461203261201560209a976120249a96979e6121c86120af97611830565b9e97969a50505050949750949750611ff5565b6040513d8b823e3d90fd5b9092506020813d602011612222575b81612202602093836118c5565b810103126105b357516001600160a01b03811681036105b3579138611f7e565b3d91506121f5565b925038611efe565b90600160801b8083116122a7578110156122635761224f91611d33565b6001607f1b8101908110611d465760801c90565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220bc72b4099e3d1f31778d421ad9484069f87f042d76554b76a0e29851d085ad0864736f6c63430008130033","sourceMap":"611:5608:113:-:0;;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;695:82;;;;611:5608;;695:82;611:5608;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;;;;-1:-1:-1;611:5608:113;;-1:-1:-1;611:5608:113;;-1:-1:-1;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;-1:-1:-1;611:5608:113;;-1:-1:-1;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;-1:-1:-1;611:5608:113;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;-1:-1:-1;611:5608:113;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c908162b1fad71461175957508063030e4006146116fd5780630688b135146116aa5780630f166ad41461168f578063174eedde14610c7c5780631b96dce6146116385780631e7bcb2e146115ec5780632e0f2625146115c957806337d1c40414611503578063392f37e9146114bf5780633f26479e146114a25780634bf4ba2114611464578063587c1243146114185780635aff5999146113bf57806366d003ac146112d25780636a38dd0a1461118d57806370a3294414610ffe57806374d9284e14610c7c578063759c9a8614610f9057806379e62d0d14610df55780637b2edf3214610da95780637cbe79ed14610d63578063829e423f14610c7c57806385294f1814610c815780638c7408c414610c7c5780638e0d1a5014610c365780638e3c249314610bea578063a0cf0aea14610bbb578063a407c67a14610923578063aa3744bd146108d0578063c36e336b146107f5578063d1e82b581461079c578063d1f2cd8814610752578063d5bee9f514610664578063da4bf0871461060e578063dac4eb16146105b7578063e070e0ab146104b7578063e99ce911146103315763ef0d790f146101d057600080fd5b3461032d578260031936011261032d578051926101ec8461188f565b6013845260209384810172383937b334b632992fb737ba20a6b2b6b132b960691b8152835161021e87820180936119c9565b6013815261022b8161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e6575b50813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b03925af180156102d8576102c1575b505051908152f35b6102cb8291611830565b6102d557806102b9565b80fd5b83513d84823e3d90fd5b8380fd5b90508681813d831161031c575b6102fd81836118c5565b810103126102e257516001600160a01b03811681036102e25738610265565b503d6102f3565b85513d86823e3d90fd5b8280fd5b503461032d57608036600319011261032d5760443592600160801b9262989680606435608081901b829004868110156104755786908435805b61042157505060249761037e893589611d33565b978482029180830486149015171561040f5782039182116103fd57906103a391611d33565b90808303928084116103fd57146103eb570484018094116103d9576001607f1b84019384106103d95760208484519060801c8152f35b634e487b7160e01b8252601190528390fd5b634e487b7160e01b8452601283528684fd5b634e487b7160e01b8652601185528886fd5b634e487b7160e01b8752601186528987fd5b600191818316610441578061043591612232565b911c90815b909161036a565b80925061044e9199612232565b97600019810190811161046257908161043a565b634e487b7160e01b875260118652602487fd5b855162461bcd60e51b8152602081860152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b50903461032d576101c036600319011261032d576104d36117c2565b906104dc6117ee565b6104e4611804565b6104ec6117d8565b6104f461181a565b9160a4359360038510156105b35760c435958610156105b35760203660e31901126105b35787519661052588611859565b60e435885260c0366101031901126105af578851996105438b611874565b6001600160a01b03906101043582811681036105ab578c526101243591821682036102d55750918a979593916105a4999795936020809d0152610144358b8a01526101643560608a01526101843560808a01526101a43560a08a0152611e95565b9051908152f35b5080fd5b8980fd5b8880fd5b503461032d578260031936011261032d578051926105d48461188f565b600e84526020938481016d3932b3b4b9ba393cafb7bbb732b960911b815283516106018782018093611a15565b600e815261022b8161188f565b503461032d578260031936011261032d5780519261062b8461188f565b600d84526020938481016c616c6c6f5f747265617375727960981b8152835161065787820180936119a3565b600d815261022b8161188f565b503461032d578260031936011261032d578051926106818461188f565b600b938481526020946a1c985b991bdb4818da185960aa1b8683015283519086845b82811061073e57505083602b83015281526106bd8161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916102e65750813b156102e25784516318caf8e360e31b81526001600160a01b039091169581018690526024810185905291839183918290849082906102aa906044830190611a61565b8181860101518282860101520187906106a3565b503461032d578260031936011261032d5780519261076f8461188f565b600e84526020938481016d383937b334b63298afb7bbb732b960911b815283516106018782018093611a15565b503461032d578260031936011261032d578051926107b98461188f565b601084526020938481016f3837b7b62fb737ba20a6b0b730b3b2b960811b815283516107e88782018093611a3b565b6010815261022b8161188f565b50903461032d5761014036600319011261032d576108116117c2565b9060243560038110156108cc57604435918210156108cc5760203660631901126108cc5783519261084184611859565b606435845260c03660831901126108c85784519561085e87611874565b6001600160a01b039060843582811681036105ab57885260a43591821682036102d55750918693916108b9959360206108c499015260c4358786015260e43560608601526101043560808601526101243560a0860152611d5c565b905191829182611ade565b0390f35b8580fd5b8480fd5b503461032d578260031936011261032d578051926108ed8461188f565b600a845260209384810169726563697069656e743160b01b8152835161091687820180936119ef565b600a815261022b8161188f565b508290346105ab57816003193601126105ab57805192610942846118aa565b60028452602092823685870137825161095a8161188f565b601081528481016f70726f66696c65325f6d656d6265723160801b815284516109868782018093611a3b565b601081526109938161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610b72575b50813b156108cc578651936318caf8e360e31b94858152868180610a0c60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610b54575b5050610a2b8a611bbb565b52865193610a388561188f565b601085528885016f383937b334b632992fb6b2b6b132b91960811b81528851610a648b82018093611a3b565b60108152610a718161188f565b5190208851928352878301528882602481865afa918215610b4a578692610b12575b50823b156108c857908580949392610ac58a5197889687958694855216809b8401528b60248401526044830190611a61565b03925af18015610b0857610af4575b5050906108c491610ae485611bde565b5251928284938452830190611aa1565b610afe8291611830565b6102d55780610ad4565b84513d84823e3d90fd5b9091508881813d8311610b43575b610b2a81836118c5565b810103126108c8575183811681036108c857908a610a93565b503d610b20565b88513d88823e3d90fd5b610b5d90611830565b6108c857858b610a20565b89513d89823e3d90fd5b9092508781813d8311610baa575b610b8a81836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896109cf565b503d610b80565b87513d87823e3d90fd5b8382346105ab57816003193601126105ab576020905173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b503461032d578260031936011261032d57805192610c078461188f565b601084526020938481016f383937b334b632992fb6b2b6b132b91960811b815283516107e88782018093611a3b565b503461032d578260031936011261032d57805192610c538461188f565b600a8452602093848101693837b7b62fb0b236b4b760b11b8152835161091687820180936119ef565b6117a1565b50903461032d576101a036600319011261032d57610c9d6117c2565b90610ca66117ee565b610cae611804565b610cb66117d8565b610cbe61181a565b9160a4359360038510156105b35760c435958610156105b35760c03660e31901126105b357875196610cef88611874565b6001600160a01b0360e4358181168103610d5f578952610104359081168103610d5b5791889795939160209b9795938c6105a49b0152610124358b8a01526101443560608a01526101643560808a01526101843560a08a01528a5197610d5489611859565b8852611e95565b8a80fd5b8b80fd5b503461032d578260031936011261032d57805192610d808461188f565b600a84526020938481016930b63637afb7bbb732b960b11b8152835161091687820180936119ef565b503461032d578260031936011261032d57805192610dc68461188f565b601084526020938481016f383937b334b63298afb6b2b6b132b91960811b815283516107e88782018093611a3b565b508290346105ab57816003193601126105ab57805192610e14846118aa565b600284526020928236858701378251610e2c8161188f565b600d81528481016c706f6f6c5f6d616e616765723160981b81528451610e5587820180936119a3565b600d8152610e628161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb1578593610f51575b50813b156108cc578651936318caf8e360e31b94858152868180610edb60018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b6857908791610f3d575b5050610efa8a611bbb565b52865193610f078561188f565b600d85528885016c3837b7b62fb6b0b730b3b2b91960991b81528851610f308b820180936119a3565b600d8152610a718161188f565b610f4690611830565b6108c857858b610eef565b9092508781813d8311610f89575b610f6981836118c5565b810103126108cc57516001600160a01b03811681036108cc579189610e9e565b503d610f5f565b503461032d578260031936011261032d57805192610fad8461188f565b600c938481526020946b1b9bd7dc9958da5c1a595b9d60a21b8683015283519086845b828110610fea57505083602c83015281526106bd8161188f565b818186010151828286010152018790610fd0565b508290346105ab57816003193601126105ab5780519261101d846118aa565b6002845260209282368587013782516110358161188f565b601081528481016f70726f66696c65315f6d656d6265723160801b815284516110618782018093611a3b565b6010815261106e8161188f565b51902084519063ffa1864960e01b90818352858301526000805160206122fe833981519152908783602481855afa928315610bb157859361114e575b50813b156108cc578651936318caf8e360e31b948581528681806110e760018060a01b0380991695868d8401528d60248401526044830190611a61565b038183885af18015610b685761113b575b506111028a611bbb565b5286519361110f8561188f565b601085528885016f383937b334b63298afb6b2b6b132b91960811b81528851610a648b82018093611a3b565b61114790969196611830565b948a6110f8565b9092508781813d8311611186575b61116681836118c5565b810103126108cc57516001600160a01b03811681036108cc5791896110aa565b503d61115c565b503461032d578260031936011261032d578051926111aa8461188f565b600d84526020938481016c3837b7b62fb6b0b730b3b2b91960991b815283516111d687820180936119a3565b600d81526111e38161188f565b51902083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa908115610323578491611295575b50813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b03925af190811561128a575061127b575b5051908152f35b61128490611830565b38611274565b8351903d90823e3d90fd5b90508681813d83116112cb575b6112ac81836118c5565b810103126102e257516001600160a01b03811681036102e2573861121d565b503d6112a2565b503461032d578260031936011261032d578051926112ef8461188f565b600993848152602094681c9958da5c1a595b9d60ba1b8683015283519086845b8281106113ab57505083602983015281526113298161188f565b85815191012083519063ffa1864960e01b8252858201526000805160206122fe833981519152908681602481855afa9081156103235784916112955750813b156102e25784516318caf8e360e31b81526001600160a01b0390911695810186905260248101859052929182918491829084908290611263906044830190611a61565b81818601015182828601015201879061130f565b503461032d578260031936011261032d578051926113dc8461188f565b601084526020938481016f726563697069656e744164647265737360801b8152835161140b8782018093611a3b565b601081526111e38161188f565b503461032d578260031936011261032d578051926114358461188f565b601084526020938481016f70726f66696c65325f6d656d6265723160801b8152835161140b8782018093611a3b565b8382346105ab57816003193601126105ab5780516108c491611485826118aa565b600282528036602084013751918291602083526020830190611aa1565b8382346105ab57816003193601126105ab57602090516127108152f35b5082346102d557806003193601126102d557506009546108c482516114ee816114e7816118e8565b03826118c5565b83519384938452806020850152830190611a61565b508290346105ab5760603660031901126105ab5761151f6117c2565b916115286117ee565b6001600160401b039460443594908686116102e257366023870112156102e257858101359687116115b657508560051b84519360209761156a898401876118c5565b8552602488860192880101963688116105ab57602401915b878310611597575050506105a4939450611bee565b82356001600160a01b038116810361032d578152918801918801611582565b634e487b7160e01b845260419052602483fd5b8382346105ab57816003193601126105ab5760209051670de0b6b3a76400008152f35b503461032d578260031936011261032d578051926116098461188f565b601084526020938481016f70726f66696c65315f6d656d6265723160801b8152835161140b8782018093611a3b565b503461032d578260031936011261032d578051926116558461188f565b600e84526020938481016d383937b334b632992fb7bbb732b960911b815283516116828782018093611a15565b600e81526111e38161188f565b8382346105ab57816003193601126105ab5760209051308152f35b503461032d578260031936011261032d578051926116c78461188f565b600a8452602093848101693932b1b4b834b2b73a1960b11b815283516116f087820180936119ef565b600a81526111e38161188f565b503461032d578260031936011261032d5780519261171a8461188f565b6013845260209384810172383937b334b63298afb737ba20a6b2b6b132b960691b8152835161174c87820180936119c9565b601381526111e38161188f565b939050346102d557806003193601126102d5576117758461188f565b600d84526020938481016c706f6f6c5f6d616e616765723160981b815283516111d687820180936119a3565b346117bd5760003660031901126117bd57602060405160008152f35b600080fd5b600435906001600160a01b03821682036117bd57565b606435906001600160a01b03821682036117bd57565b602435906001600160a01b03821682036117bd57565b604435906001600160a01b03821682036117bd57565b608435906001600160a01b03821682036117bd57565b6001600160401b03811161184357604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761184357604052565b60c081019081106001600160401b0382111761184357604052565b604081019081106001600160401b0382111761184357604052565b606081019081106001600160401b0382111761184357604052565b601f909101601f19168101906001600160401b0382119082101761184357604052565b90600091600a549060019082821c91808416938415611999575b6020948585108114611983578484529081156119665750600114611927575b50505050565b9293945090600a6000528360002092846000945b838610611952575050505001019038808080611921565b80548587018301529401938590820161193b565b60ff191685840152505090151560051b0101915038808080611921565b634e487b7160e01b600052602260045260246000fd5b92607f1692611902565b60005b600d81106119b9575050600d6000910152565b81810151838201526020016119a6565b60005b601381106119df57505060136000910152565b81810151838201526020016119cc565b60005b600a8110611a05575050600a6000910152565b81810151838201526020016119f2565b60005b600e8110611a2b575050600e6000910152565b8181015183820152602001611a18565b60005b60108110611a5157505060106000910152565b8181015183820152602001611a3e565b919082519283825260005b848110611a8d575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611a6c565b90815180825260208080930193019160005b828110611ac1575050505090565b83516001600160a01b031685529381019392810192600101611ab3565b9190916101e0810192606081518051845260208101516020850152604081015160408501520151606083015260208101516003811015611ba55760808301526040810151906004821015611ba5576101c09160a084015260608101515160c084015260c060808201519160a0600180821b03938481511660e08801528460208201511661010088015260408101516101208801526060810151610140880152608081015161016088015201516101808601528260a0820151166101a0860152015116910152565b634e487b7160e01b600052602160045260246000fd5b805115611bc85760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611bc85760400190565b90600b5415611c01575b505050600b5490565b604080519092818401906001600160401b0382118383101761184357611cb9918552600183528451611c328161188f565b600c8152600060209586956b506f6f6c50726f66696c653160a01b87850152868101938452611cdb89519a8b9788968794633a92f65f60e01b86526002600487015260a06024870152600e60a48701526d506f6f6c2050726f66696c65203160901b60c487015260e060448701525160e4860152518c610104860152610124850190611a61565b6001600160a01b03948516606485015283810360031901608485015290611aa1565b0393165af1918215611d295750600091611cfd575b50600b5550388080611bf8565b82813d8311611d22575b611d1181836118c5565b810103126102d55750518038611cf0565b503d611d07565b513d6000823e3d90fd5b81810292918115918404141715611d4657565b634e487b7160e01b600052601160045260246000fd5b919493929060409586519160e0830160018060401b038482108183111761184357610160850190811182821017611843578952600090818152816101008601528161012086015281610140860152845260208401918183528985019282845260608601958b51611dcb81611859565b848152875260a060808201998d86815191611de583611874565b81835281602084015282015286606082015286608082015286838201528b528560c0840152629895b7839e84510152621e84808351526127106020845101526702c68af0bb140000606084510152600180831b03169101526003821015611e8157526004831015611e6d575052815115611e5d575252565b680ad78ebc5ac620000082525252565b634e487b7160e01b81526021600452602490fd5b634e487b7160e01b83526021600452602483fd5b949586611ea69498929a9993611d5c565b9060009460405190611eb7826118aa565b60028252604036602084013730611ecd83611bbb565b5233611ed883611bde565b5273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee926001600160a01b03811661222a575b5060405190611f0c8261188f565b600a825260208201693837b7b62fb0b236b4b760b11b8152604051611f356020820180936119ef565b600a8152611f428161188f565b519020916040519263ffa1864960e01b845260048401526020836024816000805160206122fe8339815191525afa9283156121db5789936121e6575b506000805160206122fe8339815191523b156105b357604080516318caf8e360e31b81526001600160a01b0385166004820152602481019190915290899082908190611fce906044830190611a61565b0381836000805160206122fe8339815191525af180156121db57908b9695949392916121a5575b50936120af61206997948461203261201560209a978e976120249b611bee565b94604051998a918c8301611ade565b03601f1981018a52896118c5565b604051998a98899788966370803ea560e11b8852600488015260018060a01b0316602487015260e0604487015260e4860190611a61565b9160018060a01b031660648501528460848501526120a0604060031993848782030160a48801526009548152818c820152016118e8565b918483030160c4850152611aa1565b03926001600160a01b03165af1908115612167578391612172575b50604051631a8ecfcb60e11b81529094602090829060049082906001600160a01b03165afa90811561216757839161212c575b506003821015611e81576003811015611e8157036121185750565b634e487b7160e01b81526001600452602490fd5b90506020813d60201161215f575b81612147602093836118c5565b8101031261032d5751600381101561032d57386120fd565b3d915061213a565b6040513d85823e3d90fd5b90506020813d60201161219d575b8161218d602093836118c5565b8101031261032d575160206120ca565b3d9150612180565b61206997948461203261201560209a976120249a96979e6121c86120af97611830565b9e97969a50505050949750949750611ff5565b6040513d8b823e3d90fd5b9092506020813d602011612222575b81612202602093836118c5565b810103126105b357516001600160a01b03811681036105b3579138611f7e565b3d91506121f5565b925038611efe565b90600160801b8083116122a7578110156122635761224f91611d33565b6001607f1b8101908110611d465760801c90565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220bc72b4099e3d1f31778d421ad9484069f87f042d76554b76a0e29851d085ad0864736f6c63430008130033","sourceMap":"611:5608:113:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:113;20293:33:20;;611:5608:113;;291:59:20;;;;20344:19;;;;;611:5608:113;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:113;20344:19:20;;;;;;;;;;;;;611:5608:113;20373:20:20;;;;;;611:5608:113;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:113;;;20373:20:20;;;611:5608:113;;;;291:59:20;;;;;611:5608:113;;;;;;;;;;;291:59:20;;;;;;;:::i;:::-;20373:20;;;;;;;;;;611:5608:113;;;;;;;;20373:20:20;;;;;:::i;:::-;611:5608:113;;20373:20:20;;;611:5608:113;;;20373:20:20;611:5608:113;;291:59:20;611:5608:113;;291:59:20;;;;20373:20;611:5608:113;;;20344:19:20;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;20344:19:20;;;;;;;;;611:5608:113;;291:59:20;611:5608:113;;291:59:20;;;;611:5608:113;;;;;;;;;;;-1:-1:-1;;611:5608:113;;;;;;;-1:-1:-1;;;1038:8:113;1082:7;611:5608;;;;;;;;;5480:12;;;611:5608;;;;;;;;5617:5;;;611:5608;;;;6110:21;611:5608;;6110:21;;:::i;:::-;611:5608;;;;;;;;;;;;;;;;1038:8;;;;;;;6137:38;;;;:::i;:::-;1038:8;;;;;;;;;;611:5608;;;;1038:8;;;;;;;-1:-1:-1;;;1038:8:113;;;;-1:-1:-1;1038:8:113;;611:5608;;;;988:8;611:5608;988:8;611:5608;;;1038:8;-1:-1:-1;;;611:5608:113;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;1038:8;-1:-1:-1;;;611:5608:113;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;5610:215;291:59:20;;5642:5:113;;;611:5608;;5676:10;;;;:::i;:::-;988:8;;5638:177;;;5610:215;;;;5638:177;5760:16;;;;;;;:::i;:::-;1038:8;-1:-1:-1;;1038:8:113;;;;;;;5638:177;;;;1038:8;-1:-1:-1;;;611:5608:113;;;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:113;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:113;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;611:5608:113;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;20303:22:20;;;;;:::i;:::-;611:5608:113;;;20303:22:20;;20293:33;611:5608:113;;291:59:20;;;;20344:19;;;;;611:5608:113;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:113;20344:19:20;;;;;;;;;;;;;20373:20;;;;;;611:5608:113;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:113;;;20373:20:20;;;611:5608:113;;;;291:59:20;;;;;611:5608:113;;;;;;;;;;;291:59:20;;;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:113:-;;;;;;;;-1:-1:-1;;611:5608:113;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:113;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;611:5608:113;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3726:1:15;611:5608:113;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:113;20293:33:20;;611:5608:113;;291:59:20;;;;20344:19;;;;;;;611:5608:113;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:113;20344:19:20;;;;;;;;;;;;;611:5608:113;20373:20:20;;;;;;611:5608:113;;291:59:20;;;;20373:20;;;;611:5608:113;;;291:59:20;;611:5608:113;;;;;;;20373:20:20;;;;;611:5608:113;291:59:20;611:5608:113;291:59:20;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;611:5608:113;3738:32:15;;;;;:::i;:::-;611:5608:113;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:113;20293:33:20;;611:5608:113;;20344:19:20;;;;;;611:5608:113;20344:19:20;;611:5608:113;20344:19:20;;;;;;;;;;;;;611:5608:113;20373:20:20;;;;;;611:5608:113;;;;;;291:59:20;611:5608:113;;20373:20:20;;;;;;;;;611:5608:113;20373:20:20;;;;611:5608:113;291:59:20;611:5608:113;291:59:20;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;611:5608:113;3780:32:15;;;611:5608:113;3780:32:15;;;;:::i;:::-;611:5608:113;;;;;;;;;;;;:::i;20373:20:20:-;;;;;:::i;:::-;611:5608:113;;20373:20:20;;;;611:5608:113;;291:59:20;611:5608:113;;291:59:20;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;611:5608:113;;;;;;;20344:19:20;;;;;;;;;;611:5608:113;;291:59:20;611:5608:113;;291:59:20;;;;20373:20;;;;:::i;:::-;611:5608:113;;20373:20:20;;;;;611:5608:113;;291:59:20;611:5608:113;;291:59:20;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;20344:19:20;;;;;;;;;;611:5608:113;;291:59:20;611:5608:113;;291:59:20;;;;611:5608:113;;;;;;;;;;;;;;;;;4445:42:9;611:5608:113;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;;611:5608:113;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:113;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4714:262;611:5608;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4714:262;:::i;611:5608::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2108:1:15;611:5608:113;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:113;20293:33:20;;611:5608:113;;291:59:20;;;;20344:19;;;;;;;611:5608:113;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:113;20344:19:20;;;;;;;;;;;;;611:5608:113;20373:20:20;;;;;;611:5608:113;;291:59:20;;;;20373:20;;;;611:5608:113;;;291:59:20;;611:5608:113;;;;;;;20373:20:20;;;;;611:5608:113;291:59:20;611:5608:113;291:59:20;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;;;;611:5608:113;2120:29:15;;;;;:::i;:::-;611:5608:113;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;20373:20::-;;;;:::i;:::-;611:5608:113;;20373:20:20;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;20344:19:20;;;;;;;;;611:5608:113;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;20303:22:20;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2914:1:15;611:5608:113;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:113;20293:33:20;;611:5608:113;;291:59:20;;;;20344:19;;;;;;;611:5608:113;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:113;20344:19:20;;;;;;;;;;;;;611:5608:113;20373:20:20;;;;;;611:5608:113;;291:59:20;;;;20373:20;;;;611:5608:113;;;291:59:20;;611:5608:113;;;;;;;20373:20:20;;;;;611:5608:113;291:59:20;611:5608:113;291:59:20;;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;611:5608:113;2926:32:15;;;;:::i;:::-;611:5608:113;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;20373:20:20:-;;;;;;;:::i;:::-;;;;;20344:19;;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;20344:19:20;;;;;;;;;611:5608:113;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:113;20293:33:20;;611:5608:113;;291:59:20;;;;20344:19;;;;;611:5608:113;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:113;20344:19:20;;;;;;;;;;;;;611:5608:113;20373:20:20;;;;;;611:5608:113;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:113;;;20373:20:20;;;611:5608:113;;;;291:59:20;;;;;611:5608:113;;;;;;;;;;;;291:59:20;;;;;;;:::i;:::-;20373:20;;;;;;;;;;;;611:5608:113;;;;;;;20373:20:20;;;;:::i;:::-;;;;;611:5608:113;;291:59:20;;;;;;;;20344:19;;;;;;;;;;;;;;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;20344:19:20;;;;;;;;611:5608:113;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;20303:22:20;;;;;:::i;:::-;611:5608:113;;;20303:22:20;;20293:33;611:5608:113;;291:59:20;;;;20344:19;;;;;611:5608:113;-1:-1:-1;;;;;;;;;;;20344:19:20;;;611:5608:113;20344:19:20;;;;;;;;;;;;;20373:20;;;;;;611:5608:113;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:113;;;20373:20:20;;;611:5608:113;;;;291:59:20;;;;;611:5608:113;;;;;;;;;;;;291:59:20;;;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1440:1:15;611:5608:113;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;898:7;611:5608;;;;;;;;;;;;;;;;;;668:109;611:5608;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;611:5608:113;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;841:8;611:5608;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;306:4:15;611:5608:113;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;611:5608:113:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;20303:22:20;;;611:5608:113;;;:::i;:::-;;;;;;-1:-1:-1;;611:5608:113;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;611:5608:113;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;611:5608:113;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;611:5608:113;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;611:5608:113;;;;;;:::o;:::-;-1:-1:-1;;;;;611:5608:113;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;;:::o;:::-;;;;;-1:-1:-1;;611:5608:113;;;;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;:::o;:::-;;;;668:109;611:5608;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;668:109;-1:-1:-1;611:5608:113;;-1:-1:-1;611:5608:113;;;-1:-1:-1;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;611:5608:113;;;;;-1:-1:-1;;611:5608:113;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:59:20;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;611:5608:113;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2977:1:15;611:5608:113;;;;;;;:::o;1204:437::-;;1376:16;611:5608;1376:30;1372:230;;1204:437;611:5608;;;1376:16;611:5608;1204:437;:::o;1372:230::-;611:5608;;;;;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;;;291:59:20;611:5608:113;;;;;;;:::i;:::-;;;;-1:-1:-1;611:5608:113;;;;-1:-1:-1;;;611:5608:113;;;;1502:48;;;611:5608;;;;;;291:59:20;;;;;;;;;;1441:150:113;;1481:1;1441:150;;;611:5608;;;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;291:59:20;611:5608:113;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;611:5608:113;;;;;;;;;;-1:-1:-1;;611:5608:113;;;;;;;:::i;:::-;1441:150;611:5608;;1441:150;;;;;;;;-1:-1:-1;1441:150:113;;;1372:230;-1:-1:-1;1376:16:113;611:5608;-1:-1:-1;1372:230:113;;;;;1441:150;;;;;;;;;;;;;:::i;:::-;;;611:5608;;;;;;1441:150;;;;;;;;;;611:5608;291:59:20;-1:-1:-1;291:59:20;;;;;611:5608:113;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1647:1157;;;;;;611:5608;;;;;;;;291:59:20;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1952:45;2060:15;;;:21;611:5608;;2141:15;;611:5608;;;2221:15;;:22;611:5608;2182:9;611:5608;2303:15;;:34;611:5608;291:59:20;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;2511:26;2507:197;;2713:32;2755:42;1647:1157::o;2507:197::-;611:5608;;;2713:32;2755:42;1647:1157::o;611:5608::-;-1:-1:-1;;;611:5608:113;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;2810:1529;;;;3344:86;2810:1529;;;;;;3344:86;:::i;:::-;3475:16;-1:-1:-1;611:5608:113;;;;;;;:::i;:::-;3489:1;611:5608;;;;;;;;3529:4;3501:33;;;:::i;:::-;611:5608;3572:10;3544:39;;;:::i;:::-;611:5608;4445:42:9;;-1:-1:-1;;;;;611:5608:113;;3866:64;;2810:1529;611:5608;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;20303:22:20;;611:5608:113;;;:::i;:::-;;20303:22:20;;;;;:::i;:::-;611:5608:113;20293:33:20;;611:5608:113;;;291:59:20;;;;20344:19;;;;;611:5608:113;;20344:19:20;611:5608:113;20344:19:20;-1:-1:-1;;;;;;;;;;;20344:19:20;;;;;;;;;;;2810:1529:113;20373:20:20;-1:-1:-1;;;;;;;;;;;20373:20:20;;;;611:5608:113;;;-1:-1:-1;;;20373:20:20;;-1:-1:-1;;;;;611:5608:113;;20344:19:20;20373:20;;611:5608:113;;291:59:20;;;;;;611:5608:113;;;;;;;291:59:20;;;;;;;:::i;:::-;20373:20;;;-1:-1:-1;;;;;;;;;;;20373:20:20;;;;;;;;;;;;;;;;2810:1529:113;4036:55;;611:5608;;4036:55;;;4136:18;4036:55;611:5608;4036:55;;;;4136:18;4036:55;;:::i;:::-;611:5608;;;4136:18;;;;;;;:::i;:::-;;611:5608;;4136:18;;;;;;:::i;:::-;611:5608;;291:59:20;;;;;;;;;;3948:301:113;;20344:19:20;3948:301:113;;611:5608;291:59:20;611:5608:113;;;;;;;;;291:59:20;;611:5608:113;;;;;;;;:::i;:::-;;291:59:20;611:5608:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;4203:8;611:5608;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;3948:301;;-1:-1:-1;;;;;611:5608:113;3948:301;;;;;;;;;;;2810:1529;-1:-1:-1;611:5608:113;;-1:-1:-1;;;4267:48:113;;3939:310;;611:5608;;;;20344:19:20;;611:5608:113;;-1:-1:-1;;;;;611:5608:113;4267:48;;;;;;;;;;;2810:1529;611:5608;;;;;;;;;;;;;4267:64;611:5608;;2810:1529;:::o;611:5608::-;-1:-1:-1;;;611:5608:113;;291:59:20;20344:19;611:5608:113;;;;4267:48;;;611:5608;4267:48;;611:5608;4267:48;;;;;;611:5608;4267:48;;;:::i;:::-;;;611:5608;;;;;;;;;;;4267:48;;;;;;-1:-1:-1;4267:48:113;;;611:5608;;291:59:20;611:5608:113;;291:59:20;;;;3948:301:113;;;611:5608;3948:301;;611:5608;3948:301;;;;;;611:5608;3948:301;;;:::i;:::-;;;611:5608;;;;;;3948:301;;;;;-1:-1:-1;3948:301:113;;20373:20:20;611:5608:113;20373:20:20;;;4136:18:113;4036:55;611:5608;20373:20:20;;4136:18:113;20373:20:20;;;;;611:5608:113;20373:20:20;;:::i;:::-;;;;;;;;;;;;;;;;;;611:5608:113;;291:59:20;611:5608:113;;291:59:20;;;;20344:19;;;;611:5608:113;20344:19:20;;611:5608:113;20344:19:20;;;;;;611:5608:113;20344:19:20;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;611:5608:113;;;;;;20344:19:20;;;;;;;-1:-1:-1;20344:19:20;;3866:64:113;3905:14;-1:-1:-1;3866:64:113;;;5109:269;;-1:-1:-1;;;5205:13:113;;;611:5608;;5281:12;;611:5608;;;5345:7;;;:::i;:::-;-1:-1:-1;;;1038:8:113;;;;-1:-1:-1;1038:8:113;;;988;5109:269;:::o;611:5608::-;;;-1:-1:-1;;;611:5608:113;;;;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;;;;;;;;;;;;-1:-1:-1;;;611:5608:113;;;;;;","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":\"CVStrategyHelpersV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":{\"keccak256\":\"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3\",\"dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpersV0_0.sol":"CVStrategyHelpersV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpersV0_0.sol":{"keccak256":"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e","urls":["bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3","dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":8575,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":10612,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)12493_storage"},{"astId":74933,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"metadata","offset":0,"slot":"9","type":"t_struct(Metadata)3098_storage"},{"astId":74945,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_poolProfileId1_","offset":0,"slot":"11","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage))"},"t_mapping(t_bytes32,t_struct(FindData)12468_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)12468_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)12468_storage)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FindData)12468_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":12461,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":12463,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":12465,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":12467,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)12493_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":12477,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage)))"},{"astId":12480,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":12482,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":12484,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":12486,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":12488,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":12490,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":12492,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpersV0_0.sol","id":75440,"exportedSymbols":{"Accounts":[5026],"Allo":[1390],"CVStrategyHelpersV0_0":[75439],"CVStrategyV0_0":[70168],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"StrategyStruct":[66616],"console":[28807]},"nodeType":"SourceUnit","src":"46:6174:113","nodes":[{"id":74909,"nodeType":"PragmaDirective","src":"46:24:113","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74910,"nodeType":"ImportDirective","src":"72:31:113","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":75440,"sourceUnit":28808,"symbolAliases":[],"unitAlias":""},{"id":74912,"nodeType":"ImportDirective","src":"104:53:113","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":75440,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":74911,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"112:4:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74915,"nodeType":"ImportDirective","src":"304:84:113","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../src/CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":75440,"sourceUnit":70169,"symbolAliases":[{"foreign":{"id":74913,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70168,"src":"312:14:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74914,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"328:14:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74917,"nodeType":"ImportDirective","src":"389:67:113","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":75440,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":74916,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"397:6:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74920,"nodeType":"ImportDirective","src":"457:84:113","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":75440,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":74918,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"465:9:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74919,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"476:8:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74922,"nodeType":"ImportDirective","src":"543:66:113","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":75440,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":74921,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"551:8:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75439,"nodeType":"ContractDefinition","src":"611:5608:113","nodes":[{"id":74933,"nodeType":"VariableDeclaration","src":"668:109:113","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"684:8:113","scope":75439,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":74928,"nodeType":"UserDefinedTypeName","pathNode":{"id":74927,"name":"Metadata","nameLocations":["668:8:113"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"668:8:113"},"referencedDeclaration":3098,"src":"668:8:113","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":74930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"715:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","id":74931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"727:48:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""},"value":"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""}],"id":74929,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"695:8:113","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":74932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["705:8:113","718:7:113"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"695:82:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":74938,"nodeType":"VariableDeclaration","src":"806:43:113","nodes":[],"constant":true,"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"830:8:113","scope":75439,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74934,"name":"uint256","nodeType":"ElementaryTypeName","src":"806:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":74937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":74935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"841:2:113","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":74936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"847:2:113","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"841:8:113","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"public"},{"id":74943,"nodeType":"VariableDeclaration","src":"855:50:113","nodes":[],"constant":true,"functionSelector":"3f26479e","mutability":"constant","name":"PERCENTAGE_SCALE","nameLocation":"879:16:113","scope":75439,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74939,"name":"uint256","nodeType":"ElementaryTypeName","src":"855:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":74942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":74940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"898:2:113","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":74941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"904:1:113","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"898:7:113","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":74945,"nodeType":"VariableDeclaration","src":"912:33:113","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"929:16:113","scope":75439,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74944,"name":"bytes32","nodeType":"ElementaryTypeName","src":"912:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":74950,"nodeType":"VariableDeclaration","src":"952:44:113","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"978:7:113","scope":75439,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74946,"name":"uint256","nodeType":"ElementaryTypeName","src":"952:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":74949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":74947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"988:1:113","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":74948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"993:3:113","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"988:8:113","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":74955,"nodeType":"VariableDeclaration","src":"1002:44:113","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"1028:7:113","scope":75439,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74951,"name":"uint256","nodeType":"ElementaryTypeName","src":"1002:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":74954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":74952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1038:1:113","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":74953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1043:3:113","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1038:8:113","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":74960,"nodeType":"VariableDeclaration","src":"1052:37:113","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"1078:1:113","scope":75439,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74956,"name":"uint256","nodeType":"ElementaryTypeName","src":"1052:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":74959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":74957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1082:2:113","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":74958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1088:1:113","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1082:7:113","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":74998,"nodeType":"FunctionDefinition","src":"1204:437:113","nodes":[],"body":{"id":74997,"nodeType":"Block","src":"1362:279:113","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":74978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74973,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74945,"src":"1376:16:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1404:1:113","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":74975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1396:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":74974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1396:7:113","typeDescriptions":{}}},"id":74977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1396:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1376:30:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74994,"nodeType":"IfStatement","src":"1372:230:113","trueBody":{"id":74993,"nodeType":"Block","src":"1408:194:113","statements":[{"expression":{"id":74991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74979,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74945,"src":"1422:16:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":74982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1481:1:113","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":74983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1484:16:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":74985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1522:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":74986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1534:14:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":74984,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1502:8:113","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":74987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1512:8:113","1525:7:113"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1502:48:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":74988,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74965,"src":"1552:10:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74989,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74968,"src":"1564:13:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":74980,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74963,"src":"1441:8:113","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":74981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1450:13:113","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1441:22:113","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":74990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1441:150:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1422:169:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":74992,"nodeType":"ExpressionStatement","src":"1422:169:113"}]}},{"expression":{"id":74995,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74945,"src":"1618:16:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":74972,"id":74996,"nodeType":"Return","src":"1611:23:113"}]},"functionSelector":"37d1c404","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"1213:15:113","parameters":{"id":74969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74963,"mutability":"mutable","name":"registry","nameLocation":"1239:8:113","nodeType":"VariableDeclaration","scope":74998,"src":"1229:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":74962,"nodeType":"UserDefinedTypeName","pathNode":{"id":74961,"name":"IRegistry","nameLocations":["1229:9:113"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1229:9:113"},"referencedDeclaration":2802,"src":"1229:9:113","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":74965,"mutability":"mutable","name":"pool_admin","nameLocation":"1257:10:113","nodeType":"VariableDeclaration","scope":74998,"src":"1249:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74964,"name":"address","nodeType":"ElementaryTypeName","src":"1249:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74968,"mutability":"mutable","name":"pool_managers","nameLocation":"1286:13:113","nodeType":"VariableDeclaration","scope":74998,"src":"1269:30:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74966,"name":"address","nodeType":"ElementaryTypeName","src":"1269:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74967,"nodeType":"ArrayTypeName","src":"1269:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1228:72:113"},"returnParameters":{"id":74972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74971,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74998,"src":"1349:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1349:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1348:9:113"},"scope":75439,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":75101,"nodeType":"FunctionDefinition","src":"1647:1157:113","nodes":[],"body":{"id":75100,"nodeType":"Block","src":"1999:805:113","nodes":[],"statements":[{"expression":{"id":75026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75018,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75016,"src":"2060:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2067:8:113","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":66598,"src":"2060:15:113","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":75022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2076:5:113","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"2060:21:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":75024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2098:15:113","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":75023,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75283,"src":"2084:13:113","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2084:30:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2060:54:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75027,"nodeType":"ExpressionStatement","src":"2060:54:113"},{"expression":{"id":75036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75028,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75016,"src":"2141:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2148:8:113","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":66598,"src":"2141:15:113","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":75032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2157:8:113","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":66588,"src":"2141:24:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":75034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2182:9:113","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":75033,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75283,"src":"2168:13:113","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2168:24:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2141:51:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75037,"nodeType":"ExpressionStatement","src":"2141:51:113"},{"expression":{"id":75046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75038,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75016,"src":"2221:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2228:8:113","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":66598,"src":"2221:15:113","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":75042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2237:6:113","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":66590,"src":"2221:22:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":75044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2260:11:113","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":75043,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75283,"src":"2246:13:113","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2246:26:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2221:51:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75047,"nodeType":"ExpressionStatement","src":"2221:51:113"},{"expression":{"id":75054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":75048,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75016,"src":"2303:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2310:8:113","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":66598,"src":"2303:15:113","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":75052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2319:18:113","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":66594,"src":"2303:34:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"302e32","id":75053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2340:9:113","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"},"src":"2303:46:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75055,"nodeType":"ExpressionStatement","src":"2303:46:113"},{"expression":{"id":75060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75056,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75016,"src":"2366:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75058,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2373:17:113","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":66612,"src":"2366:24:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75059,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"2393:17:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2366:44:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75061,"nodeType":"ExpressionStatement","src":"2366:44:113"},{"expression":{"id":75066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75062,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75016,"src":"2420:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2427:12:113","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":66601,"src":"2420:19:113","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75065,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75003,"src":"2442:12:113","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"2420:34:113","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"id":75067,"nodeType":"ExpressionStatement","src":"2420:34:113"},{"expression":{"id":75072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75068,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75016,"src":"2464:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2471:11:113","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":66604,"src":"2464:18:113","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75071,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75006,"src":"2485:11:113","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"2464:32:113","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"id":75073,"nodeType":"ExpressionStatement","src":"2464:32:113"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75074,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75009,"src":"2511:11:113","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":75075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2523:9:113","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"2511:21:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2536:1:113","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2511:26:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75087,"nodeType":"IfStatement","src":"2507:197:113","trueBody":{"id":75086,"nodeType":"Block","src":"2539:165:113","statements":[{"expression":{"id":75084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75078,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75009,"src":"2655:11:113","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":75080,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2667:9:113","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"2655:21:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":75081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2679:3:113","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75082,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74938,"src":"2685:8:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2679:14:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2655:38:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75085,"nodeType":"ExpressionStatement","src":"2655:38:113"}]}},{"expression":{"id":75092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75088,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75016,"src":"2713:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75090,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2720:11:113","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":66607,"src":"2713:18:113","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75091,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75009,"src":"2734:11:113","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"2713:32:113","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":75093,"nodeType":"ExpressionStatement","src":"2713:32:113"},{"expression":{"id":75098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75094,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75016,"src":"2755:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2762:16:113","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":66610,"src":"2755:23:113","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75097,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75012,"src":"2781:16:113","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"2755:42:113","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":75099,"nodeType":"ExpressionStatement","src":"2755:42:113"}]},"functionSelector":"c36e336b","implemented":true,"kind":"function","modifiers":[],"name":"getParams","nameLocation":"1656:9:113","parameters":{"id":75013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75000,"mutability":"mutable","name":"registryCommunity","nameLocation":"1683:17:113","nodeType":"VariableDeclaration","scope":75101,"src":"1675:25:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74999,"name":"address","nodeType":"ElementaryTypeName","src":"1675:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75003,"mutability":"mutable","name":"proposalType","nameLocation":"1738:12:113","nodeType":"VariableDeclaration","scope":75101,"src":"1710:40:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":75002,"nodeType":"UserDefinedTypeName","pathNode":{"id":75001,"name":"StrategyStruct.ProposalType","nameLocations":["1710:14:113","1725:12:113"],"nodeType":"IdentifierPath","referencedDeclaration":66498,"src":"1710:27:113"},"referencedDeclaration":66498,"src":"1710:27:113","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":75006,"mutability":"mutable","name":"pointSystem","nameLocation":"1787:11:113","nodeType":"VariableDeclaration","scope":75101,"src":"1760:38:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":75005,"nodeType":"UserDefinedTypeName","pathNode":{"id":75004,"name":"StrategyStruct.PointSystem","nameLocations":["1760:14:113","1775:11:113"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"1760:26:113"},"referencedDeclaration":66503,"src":"1760:26:113","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":75009,"mutability":"mutable","name":"pointConfig","nameLocation":"1848:11:113","nodeType":"VariableDeclaration","scope":75101,"src":"1808:51:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":75008,"nodeType":"UserDefinedTypeName","pathNode":{"id":75007,"name":"StrategyStruct.PointSystemConfig","nameLocations":["1808:14:113","1823:17:113"],"nodeType":"IdentifierPath","referencedDeclaration":66572,"src":"1808:32:113"},"referencedDeclaration":66572,"src":"1808:32:113","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":75012,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"1908:16:113","nodeType":"VariableDeclaration","scope":75101,"src":"1869:55:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75011,"nodeType":"UserDefinedTypeName","pathNode":{"id":75010,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["1869:14:113","1884:16:113"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"1869:31:113"},"referencedDeclaration":66586,"src":"1869:31:113","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"1665:265:113"},"returnParameters":{"id":75017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75016,"mutability":"mutable","name":"params","nameLocation":"1991:6:113","nodeType":"VariableDeclaration","scope":75101,"src":"1952:45:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":75015,"nodeType":"UserDefinedTypeName","pathNode":{"id":75014,"name":"StrategyStruct.InitializeParams","nameLocations":["1952:14:113","1967:16:113"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"1952:31:113"},"referencedDeclaration":66615,"src":"1952:31:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"1951:47:113"},"scope":75439,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":75227,"nodeType":"FunctionDefinition","src":"2810:1529:113","nodes":[],"body":{"id":75226,"nodeType":"Block","src":"3223:1116:113","nodes":[],"statements":[{"assignments":[75134],"declarations":[{"constant":false,"id":75134,"mutability":"mutable","name":"params","nameLocation":"3323:6:113","nodeType":"VariableDeclaration","scope":75226,"src":"3284:45:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":75133,"nodeType":"UserDefinedTypeName","pathNode":{"id":75132,"name":"StrategyStruct.InitializeParams","nameLocations":["3284:14:113","3299:16:113"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"3284:31:113"},"referencedDeclaration":66615,"src":"3284:31:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":75142,"initialValue":{"arguments":[{"id":75136,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75108,"src":"3354:17:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75137,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75116,"src":"3373:12:113","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},{"id":75138,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75119,"src":"3387:11:113","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},{"id":75139,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75122,"src":"3400:11:113","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":75140,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75125,"src":"3413:16:113","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":75135,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75101,"src":"3344:9:113","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$66498_$_t_enum$_PointSystem_$66503_$_t_struct$_PointSystemConfig_$66572_memory_ptr_$_t_struct$_ArbitrableConfig_$66586_memory_ptr_$returns$_t_struct$_InitializeParams_$66615_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) pure returns (struct StrategyStruct.InitializeParams memory)"}},"id":75141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3344:86:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"3284:146:113"},{"assignments":[75147],"declarations":[{"constant":false,"id":75147,"mutability":"mutable","name":"_pool_managers","nameLocation":"3458:14:113","nodeType":"VariableDeclaration","scope":75226,"src":"3441:31:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":75145,"name":"address","nodeType":"ElementaryTypeName","src":"3441:7:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75146,"nodeType":"ArrayTypeName","src":"3441:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":75153,"initialValue":{"arguments":[{"hexValue":"32","id":75151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3489:1:113","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":75150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3475:13:113","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":75148,"name":"address","nodeType":"ElementaryTypeName","src":"3479:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75149,"nodeType":"ArrayTypeName","src":"3479:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":75152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3475:16:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3441:50:113"},{"expression":{"id":75161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75154,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"3501:14:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":75156,"indexExpression":{"hexValue":"30","id":75155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3516:1:113","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3501:17:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75159,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3529:4:113","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$75439","typeString":"contract CVStrategyHelpersV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$75439","typeString":"contract CVStrategyHelpersV0_0"}],"id":75158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3521:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75157,"name":"address","nodeType":"ElementaryTypeName","src":"3521:7:113","typeDescriptions":{}}},"id":75160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3521:13:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3501:33:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75162,"nodeType":"ExpressionStatement","src":"3501:33:113"},{"expression":{"id":75171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75163,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"3544:14:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":75165,"indexExpression":{"hexValue":"31","id":75164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3559:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3544:17:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":75168,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3572:3:113","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3576:6:113","memberName":"sender","nodeType":"MemberAccess","src":"3572:10:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3564:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75166,"name":"address","nodeType":"ElementaryTypeName","src":"3564:7:113","typeDescriptions":{}}},"id":75170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3564:19:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3544:39:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75172,"nodeType":"ExpressionStatement","src":"3544:39:113"},{"assignments":[75174],"declarations":[{"constant":false,"id":75174,"mutability":"mutable","name":"_token","nameLocation":"3841:6:113","nodeType":"VariableDeclaration","scope":75226,"src":"3833:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75173,"name":"address","nodeType":"ElementaryTypeName","src":"3833:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":75176,"initialValue":{"id":75175,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3850:6:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3833:23:113"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75177,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75113,"src":"3870:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":75180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3887:1:113","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":75179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3879:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75178,"name":"address","nodeType":"ElementaryTypeName","src":"3879:7:113","typeDescriptions":{}}},"id":75181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3879:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3870:19:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75188,"nodeType":"IfStatement","src":"3866:64:113","trueBody":{"id":75187,"nodeType":"Block","src":"3891:39:113","statements":[{"expression":{"id":75185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75183,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75174,"src":"3905:6:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75184,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75113,"src":"3914:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3905:14:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75186,"nodeType":"ExpressionStatement","src":"3905:14:113"}]}},{"expression":{"id":75211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75189,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75128,"src":"3939:6:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":75193,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75111,"src":"4052:8:113","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[],"expression":{"argumentTypes":[],"id":75194,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"4062:10:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":75195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4062:12:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75196,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"4076:14:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":75192,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74998,"src":"4036:15:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (contract IRegistry,address,address[] memory) returns (bytes32)"}},"id":75197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:55:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":75200,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75106,"src":"4113:8:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4105:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75198,"name":"address","nodeType":"ElementaryTypeName","src":"4105:7:113","typeDescriptions":{}}},"id":75201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4105:17:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75204,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75134,"src":"4147:6:113","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":75202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4136:3:113","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":75203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4140:6:113","memberName":"encode","nodeType":"MemberAccess","src":"4136:10:113","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":75205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4136:18:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":75206,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75174,"src":"4168:6:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":75207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4188:1:113","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":75208,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74933,"src":"4203:8:113","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":75209,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75147,"src":"4225:14:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":75190,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75104,"src":"3948:4:113","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":75191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3953:28:113","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"3948:33:113","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":75210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3948:301:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3939:310:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75212,"nodeType":"ExpressionStatement","src":"3939:310:113"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"id":75223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":75217,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75106,"src":"4290:8:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4282:8:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":75215,"name":"address","nodeType":"ElementaryTypeName","src":"4282:8:113","stateMutability":"payable","typeDescriptions":{}}},"id":75218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4282:17:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":75214,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70168,"src":"4267:14:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$70168_$","typeString":"type(contract CVStrategyV0_0)"}},"id":75219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4267:33:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}},"id":75220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4301:12:113","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":66889,"src":"4267:46:113","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_ProposalType_$66498_$","typeString":"function () view external returns (enum StrategyStruct.ProposalType)"}},"id":75221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4267:48:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75222,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75116,"src":"4319:12:113","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"4267:64:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75213,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"4260:6:113","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":75224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4260:72:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75225,"nodeType":"ExpressionStatement","src":"4260:72:113"}]},"functionSelector":"e070e0ab","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"2819:10:113","parameters":{"id":75126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75104,"mutability":"mutable","name":"allo","nameLocation":"2844:4:113","nodeType":"VariableDeclaration","scope":75227,"src":"2839:9:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":75103,"nodeType":"UserDefinedTypeName","pathNode":{"id":75102,"name":"Allo","nameLocations":["2839:4:113"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"2839:4:113"},"referencedDeclaration":1390,"src":"2839:4:113","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":75106,"mutability":"mutable","name":"strategy","nameLocation":"2866:8:113","nodeType":"VariableDeclaration","scope":75227,"src":"2858:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75105,"name":"address","nodeType":"ElementaryTypeName","src":"2858:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75108,"mutability":"mutable","name":"registryCommunity","nameLocation":"2892:17:113","nodeType":"VariableDeclaration","scope":75227,"src":"2884:25:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75107,"name":"address","nodeType":"ElementaryTypeName","src":"2884:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75111,"mutability":"mutable","name":"registry","nameLocation":"2929:8:113","nodeType":"VariableDeclaration","scope":75227,"src":"2919:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":75110,"nodeType":"UserDefinedTypeName","pathNode":{"id":75109,"name":"IRegistry","nameLocations":["2919:9:113"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"2919:9:113"},"referencedDeclaration":2802,"src":"2919:9:113","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":75113,"mutability":"mutable","name":"token","nameLocation":"2955:5:113","nodeType":"VariableDeclaration","scope":75227,"src":"2947:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75112,"name":"address","nodeType":"ElementaryTypeName","src":"2947:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75116,"mutability":"mutable","name":"proposalType","nameLocation":"2998:12:113","nodeType":"VariableDeclaration","scope":75227,"src":"2970:40:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":75115,"nodeType":"UserDefinedTypeName","pathNode":{"id":75114,"name":"StrategyStruct.ProposalType","nameLocations":["2970:14:113","2985:12:113"],"nodeType":"IdentifierPath","referencedDeclaration":66498,"src":"2970:27:113"},"referencedDeclaration":66498,"src":"2970:27:113","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":75119,"mutability":"mutable","name":"pointSystem","nameLocation":"3047:11:113","nodeType":"VariableDeclaration","scope":75227,"src":"3020:38:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":75118,"nodeType":"UserDefinedTypeName","pathNode":{"id":75117,"name":"StrategyStruct.PointSystem","nameLocations":["3020:14:113","3035:11:113"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"3020:26:113"},"referencedDeclaration":66503,"src":"3020:26:113","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":75122,"mutability":"mutable","name":"pointConfig","nameLocation":"3108:11:113","nodeType":"VariableDeclaration","scope":75227,"src":"3068:51:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":75121,"nodeType":"UserDefinedTypeName","pathNode":{"id":75120,"name":"StrategyStruct.PointSystemConfig","nameLocations":["3068:14:113","3083:17:113"],"nodeType":"IdentifierPath","referencedDeclaration":66572,"src":"3068:32:113"},"referencedDeclaration":66572,"src":"3068:32:113","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":75125,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3168:16:113","nodeType":"VariableDeclaration","scope":75227,"src":"3129:55:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75124,"nodeType":"UserDefinedTypeName","pathNode":{"id":75123,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["3129:14:113","3144:16:113"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"3129:31:113"},"referencedDeclaration":66586,"src":"3129:31:113","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"2829:361:113"},"returnParameters":{"id":75129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75128,"mutability":"mutable","name":"poolId","nameLocation":"3215:6:113","nodeType":"VariableDeclaration","scope":75227,"src":"3207:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75127,"name":"uint256","nodeType":"ElementaryTypeName","src":"3207:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3206:16:113"},"scope":75439,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75269,"nodeType":"FunctionDefinition","src":"4345:638:113","nodes":[],"body":{"id":75268,"nodeType":"Block","src":"4697:286:113","nodes":[],"statements":[{"expression":{"arguments":[{"id":75254,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75230,"src":"4738:4:113","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"id":75255,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75232,"src":"4756:8:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75256,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75234,"src":"4778:17:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75257,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75237,"src":"4809:8:113","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"id":75258,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75239,"src":"4831:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75259,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75242,"src":"4850:12:113","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},{"id":75260,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75245,"src":"4876:11:113","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"hexValue":"30","id":75263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4934:1:113","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":75261,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"4901:14:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":75262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4916:17:113","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":66572,"src":"4901:32:113","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$66572_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":75264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4901:35:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":75265,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75248,"src":"4950:16:113","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":75253,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[75227,75269],"referencedDeclaration":75227,"src":"4714:10:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$66498_$_t_enum$_PointSystem_$66503_$_t_struct$_PointSystemConfig_$66572_memory_ptr_$_t_struct$_ArbitrableConfig_$66586_memory_ptr_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) returns (uint256)"}},"id":75266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4714:262:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75252,"id":75267,"nodeType":"Return","src":"4707:269:113"}]},"functionSelector":"85294f18","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"4354:10:113","parameters":{"id":75249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75230,"mutability":"mutable","name":"allo","nameLocation":"4379:4:113","nodeType":"VariableDeclaration","scope":75269,"src":"4374:9:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":75229,"nodeType":"UserDefinedTypeName","pathNode":{"id":75228,"name":"Allo","nameLocations":["4374:4:113"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"4374:4:113"},"referencedDeclaration":1390,"src":"4374:4:113","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":75232,"mutability":"mutable","name":"strategy","nameLocation":"4401:8:113","nodeType":"VariableDeclaration","scope":75269,"src":"4393:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75231,"name":"address","nodeType":"ElementaryTypeName","src":"4393:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75234,"mutability":"mutable","name":"registryCommunity","nameLocation":"4427:17:113","nodeType":"VariableDeclaration","scope":75269,"src":"4419:25:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75233,"name":"address","nodeType":"ElementaryTypeName","src":"4419:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75237,"mutability":"mutable","name":"registry","nameLocation":"4464:8:113","nodeType":"VariableDeclaration","scope":75269,"src":"4454:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":75236,"nodeType":"UserDefinedTypeName","pathNode":{"id":75235,"name":"IRegistry","nameLocations":["4454:9:113"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"4454:9:113"},"referencedDeclaration":2802,"src":"4454:9:113","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":75239,"mutability":"mutable","name":"token","nameLocation":"4490:5:113","nodeType":"VariableDeclaration","scope":75269,"src":"4482:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75238,"name":"address","nodeType":"ElementaryTypeName","src":"4482:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75242,"mutability":"mutable","name":"proposalType","nameLocation":"4533:12:113","nodeType":"VariableDeclaration","scope":75269,"src":"4505:40:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":75241,"nodeType":"UserDefinedTypeName","pathNode":{"id":75240,"name":"StrategyStruct.ProposalType","nameLocations":["4505:14:113","4520:12:113"],"nodeType":"IdentifierPath","referencedDeclaration":66498,"src":"4505:27:113"},"referencedDeclaration":66498,"src":"4505:27:113","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":75245,"mutability":"mutable","name":"pointSystem","nameLocation":"4582:11:113","nodeType":"VariableDeclaration","scope":75269,"src":"4555:38:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":75244,"nodeType":"UserDefinedTypeName","pathNode":{"id":75243,"name":"StrategyStruct.PointSystem","nameLocations":["4555:14:113","4570:11:113"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"4555:26:113"},"referencedDeclaration":66503,"src":"4555:26:113","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":75248,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"4642:16:113","nodeType":"VariableDeclaration","scope":75269,"src":"4603:55:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":75247,"nodeType":"UserDefinedTypeName","pathNode":{"id":75246,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["4603:14:113","4618:16:113"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"4603:31:113"},"referencedDeclaration":66586,"src":"4603:31:113","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"4364:300:113"},"returnParameters":{"id":75252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75251,"mutability":"mutable","name":"poolId","nameLocation":"4689:6:113","nodeType":"VariableDeclaration","scope":75269,"src":"4681:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75250,"name":"uint256","nodeType":"ElementaryTypeName","src":"4681:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4680:16:113"},"scope":75439,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75283,"nodeType":"FunctionDefinition","src":"4989:114:113","nodes":[],"body":{"id":75282,"nodeType":"Block","src":"5061:42:113","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75276,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75271,"src":"5078:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":75279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":75277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5088:2:113","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":75278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5094:2:113","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"5088:8:113","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"5078:18:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75275,"id":75281,"nodeType":"Return","src":"5071:25:113"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"4998:13:113","parameters":{"id":75272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75271,"mutability":"mutable","name":"_amount","nameLocation":"5020:7:113","nodeType":"VariableDeclaration","scope":75283,"src":"5012:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75270,"name":"uint256","nodeType":"ElementaryTypeName","src":"5012:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5011:17:113"},"returnParameters":{"id":75275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75283,"src":"5052:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75273,"name":"uint256","nodeType":"ElementaryTypeName","src":"5052:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5051:9:113"},"scope":75439,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75317,"nodeType":"FunctionDefinition","src":"5109:269:113","nodes":[],"body":{"id":75316,"nodeType":"Block","src":"5187:191:113","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75293,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75285,"src":"5205:2:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":75294,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"5211:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5205:13:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":75296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5220:42:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":75292,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5197:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5197:66:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75298,"nodeType":"ExpressionStatement","src":"5197:66:113"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75300,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75287,"src":"5281:2:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75301,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"5286:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5281:12:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":75303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5295:30:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":75299,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5273:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5273:53:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75305,"nodeType":"ExpressionStatement","src":"5273:53:113"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75306,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75285,"src":"5345:2:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75307,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75287,"src":"5350:2:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5345:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75309,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5344:9:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75310,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74950,"src":"5356:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5344:19:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75312,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5343:21:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5368:3:113","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5343:28:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75291,"id":75315,"nodeType":"Return","src":"5336:35:113"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"5118:4:113","parameters":{"id":75288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75285,"mutability":"mutable","name":"_a","nameLocation":"5131:2:113","nodeType":"VariableDeclaration","scope":75317,"src":"5123:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75284,"name":"uint256","nodeType":"ElementaryTypeName","src":"5123:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75287,"mutability":"mutable","name":"_b","nameLocation":"5143:2:113","nodeType":"VariableDeclaration","scope":75317,"src":"5135:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75286,"name":"uint256","nodeType":"ElementaryTypeName","src":"5135:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5122:24:113"},"returnParameters":{"id":75291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75290,"mutability":"mutable","name":"_result","nameLocation":"5178:7:113","nodeType":"VariableDeclaration","scope":75317,"src":"5170:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75289,"name":"uint256","nodeType":"ElementaryTypeName","src":"5170:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5169:17:113"},"scope":75439,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75381,"nodeType":"FunctionDefinition","src":"5384:447:113","nodes":[],"body":{"id":75380,"nodeType":"Block","src":"5462:369:113","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75327,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75319,"src":"5480:2:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":75328,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"5485:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5480:12:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":75330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5494:30:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":75326,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5472:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":75331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5472:53:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75332,"nodeType":"ExpressionStatement","src":"5472:53:113"},{"assignments":[75334],"declarations":[{"constant":false,"id":75334,"mutability":"mutable","name":"a","nameLocation":"5543:1:113","nodeType":"VariableDeclaration","scope":75380,"src":"5535:9:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75333,"name":"uint256","nodeType":"ElementaryTypeName","src":"5535:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75336,"initialValue":{"id":75335,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75319,"src":"5547:2:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5535:14:113"},{"assignments":[75338],"declarations":[{"constant":false,"id":75338,"mutability":"mutable","name":"b","nameLocation":"5567:1:113","nodeType":"VariableDeclaration","scope":75380,"src":"5559:9:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75337,"name":"uint256","nodeType":"ElementaryTypeName","src":"5559:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75340,"initialValue":{"id":75339,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75321,"src":"5571:2:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5559:14:113"},{"expression":{"id":75343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75341,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75324,"src":"5583:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75342,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"5593:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5583:17:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75344,"nodeType":"ExpressionStatement","src":"5583:17:113"},{"body":{"id":75378,"nodeType":"Block","src":"5624:201:113","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75348,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75338,"src":"5642:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":75349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5646:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5642:5:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5651:1:113","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5642:10:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75376,"nodeType":"Block","src":"5732:83:113","statements":[{"expression":{"id":75370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75365,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75324,"src":"5750:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75367,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75324,"src":"5765:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75368,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75334,"src":"5774:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75366,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75317,"src":"5760:4:113","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5760:16:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5750:26:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75371,"nodeType":"ExpressionStatement","src":"5750:26:113"},{"expression":{"id":75374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75372,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75338,"src":"5794:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":75373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5799:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5794:6:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75375,"nodeType":"ExpressionStatement","src":"5794:6:113"}]},"id":75377,"nodeType":"IfStatement","src":"5638:177:113","trueBody":{"id":75364,"nodeType":"Block","src":"5654:72:113","statements":[{"expression":{"id":75358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75353,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75334,"src":"5672:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75355,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75334,"src":"5681:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75356,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75334,"src":"5684:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75354,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75317,"src":"5676:4:113","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5676:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5672:14:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75359,"nodeType":"ExpressionStatement","src":"5672:14:113"},{"expression":{"id":75362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75360,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75338,"src":"5704:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":75361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5710:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5704:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75363,"nodeType":"ExpressionStatement","src":"5704:7:113"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75345,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75338,"src":"5617:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5621:1:113","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5617:5:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75379,"nodeType":"WhileStatement","src":"5610:215:113"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"5393:4:113","parameters":{"id":75322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75319,"mutability":"mutable","name":"_a","nameLocation":"5406:2:113","nodeType":"VariableDeclaration","scope":75381,"src":"5398:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75318,"name":"uint256","nodeType":"ElementaryTypeName","src":"5398:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75321,"mutability":"mutable","name":"_b","nameLocation":"5418:2:113","nodeType":"VariableDeclaration","scope":75381,"src":"5410:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75320,"name":"uint256","nodeType":"ElementaryTypeName","src":"5410:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5397:24:113"},"returnParameters":{"id":75325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75324,"mutability":"mutable","name":"_result","nameLocation":"5453:7:113","nodeType":"VariableDeclaration","scope":75381,"src":"5445:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75323,"name":"uint256","nodeType":"ElementaryTypeName","src":"5445:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5444:17:113"},"scope":75439,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75438,"nodeType":"FunctionDefinition","src":"5837:380:113","nodes":[],"body":{"id":75437,"nodeType":"Block","src":"6000:217:113","nodes":[],"statements":[{"assignments":[75395],"declarations":[{"constant":false,"id":75395,"mutability":"mutable","name":"t","nameLocation":"6018:1:113","nodeType":"VariableDeclaration","scope":75437,"src":"6010:9:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75394,"name":"uint256","nodeType":"ElementaryTypeName","src":"6010:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75397,"initialValue":{"id":75396,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75383,"src":"6022:11:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6010:23:113"},{"assignments":[75399],"declarations":[{"constant":false,"id":75399,"mutability":"mutable","name":"atTWO_128","nameLocation":"6051:9:113","nodeType":"VariableDeclaration","scope":75437,"src":"6043:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75398,"name":"uint256","nodeType":"ElementaryTypeName","src":"6043:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75409,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75401,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75389,"src":"6069:5:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":75402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6078:3:113","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6069:12:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75404,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6068:14:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":75405,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"6085:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6068:18:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75407,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75395,"src":"6088:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75400,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75381,"src":"6063:4:113","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":75408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6063:27:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6043:47:113"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75410,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75399,"src":"6110:9:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75411,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75385,"src":"6122:9:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6110:21:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75413,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6109:23:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75414,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75387,"src":"6137:10:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":75415,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"6150:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6137:14:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75417,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"6155:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75418,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75399,"src":"6165:9:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6155:19:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75420,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6154:21:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6137:38:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75422,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6136:40:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75423,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74960,"src":"6180:1:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75424,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75389,"src":"6184:5:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6180:9:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75426,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6179:11:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6136:54:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75428,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6135:56:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6109:82:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75430,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6108:84:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75431,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74950,"src":"6195:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6108:94:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75433,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6107:96:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":75434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6207:3:113","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6107:103:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75393,"id":75436,"nodeType":"Return","src":"6100:110:113"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"5846:20:113","parameters":{"id":75390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75383,"mutability":"mutable","name":"_timePassed","nameLocation":"5875:11:113","nodeType":"VariableDeclaration","scope":75438,"src":"5867:19:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75382,"name":"uint256","nodeType":"ElementaryTypeName","src":"5867:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75385,"mutability":"mutable","name":"_lastConv","nameLocation":"5896:9:113","nodeType":"VariableDeclaration","scope":75438,"src":"5888:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75384,"name":"uint256","nodeType":"ElementaryTypeName","src":"5888:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75387,"mutability":"mutable","name":"_oldAmount","nameLocation":"5915:10:113","nodeType":"VariableDeclaration","scope":75438,"src":"5907:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75386,"name":"uint256","nodeType":"ElementaryTypeName","src":"5907:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75389,"mutability":"mutable","name":"decay","nameLocation":"5935:5:113","nodeType":"VariableDeclaration","scope":75438,"src":"5927:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75388,"name":"uint256","nodeType":"ElementaryTypeName","src":"5927:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5866:75:113"},"returnParameters":{"id":75393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75392,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75438,"src":"5987:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75391,"name":"uint256","nodeType":"ElementaryTypeName","src":"5987:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5986:9:113"},"scope":75439,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":74923,"name":"Native","nameLocations":["645:6:113"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"645:6:113"},"id":74924,"nodeType":"InheritanceSpecifier","src":"645:6:113"},{"baseName":{"id":74925,"name":"Accounts","nameLocations":["653:8:113"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"653:8:113"},"id":74926,"nodeType":"InheritanceSpecifier","src":"653:8:113"}],"canonicalName":"CVStrategyHelpersV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[75439,5026,11396,10603,3106],"name":"CVStrategyHelpersV0_0","nameLocation":"620:21:113","scope":75440,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":113} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json b/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json index b2b2a13b8..8da49bf99 100644 --- a/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json +++ b/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"DISPUTE_COOLDOWN_SEC","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"RULING_OPTIONS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"arbitrableConfigs","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cancelProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICollateralVault"}],"stateMutability":"view"},{"type":"function","name":"currentArbitrableConfigVersion","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cvParams","inputs":[],"outputs":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputeCount","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"disputeIdToProposalId","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"context","type":"string","internalType":"string"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getArbitrableConfig","inputs":[],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDecay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"disputeInfo","type":"tuple","internalType":"struct StrategyStruct.ProposalDisputeInfo","components":[{"name":"disputeId","type":"uint256","internalType":"uint256"},{"name":"disputeTimestamp","type":"uint256","internalType":"uint256"},{"name":"challenger","type":"address","internalType":"address"}]},{"name":"lastDisputeCompletion","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"registryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rule","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ArbitrableConfigUpdated","inputs":[{"name":"currentArbitrableConfigVersion","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRuling","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CVParamsUpdated","inputs":[{"name":"cvParams","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"DisputeRequest","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_arbitrableDisputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_externalDisputeID","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCancelled","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalDisputed","inputs":[{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"disputeId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challenger","type":"address","indexed":false,"internalType":"address"},{"name":"context","type":"string","indexed":false,"internalType":"string"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TribunaSafeRegistered","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"address"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"ArbitratorCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"DefaultRulingNotSet","inputs":[]},{"type":"error","name":"DisputeCooldownNotPassed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_remainingSec","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"InsufficientCollateral","inputs":[{"name":"sentAmount","type":"uint256","internalType":"uint256"},{"name":"requiredAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyArbitrator","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"OnlySubmitter","inputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotDisputed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a0806040523461003257306080526156b190816200003882396080518181816121e3015281816122cd01526126140152f35b600080fdfe60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613d3657806301ffc9a714613cdf578063059351cd14613c88578063062f9ece14613bd75780630a6f0ee9146138805780630ba95909146119bb5780630bece79c146138575780630c0512e9146138395780630f529ba21461381b578063125fd1d9146137fd57806315cc481e146137d4578063184b9559146136255780631aa91a9e146136065780631ddf1e23146135ec5780632506b870146135b5578063255ffb381461358b5780632bbe0cae146130bb5780632dbd6fdd1461138e5780632ed04b2b14612e49578063311a6c56146128a9578063339604591461288b578063346db8cb14612866578063351d9f96146128405780633659cfe6146125ef57806338fff2d0146125d1578063406244d8146125b557806341bb76051461255d57806342fda9c71461253f5780634ab4ba42146125215780634d31d0871461104c5780634f1ef2861461228f57806352d1902d146121d057806359a5db8b146121b15780635db64b99146113b95780636003e4141461218857806360d5dedc146120cd578063626c47e8146120b15780636453d9c414612087578063715018a61461203b578063782aadff14611ca0578063814516ad14611ba8578063817b1cd214611b8a578063824ea8ed14611b1d578063868c57b814611ac75780638da5cb5b14611a9a578063950559d714611a4f5780639a1c157c14611a31578063a0cf0aea14611a02578063a28889e1146119d9578063a47ff7e5146119bb578063a574cea414611965578063aba9ffee14611263578063ac1ed7b914611917578063b0d3713a146118d2578063b2b878d01461180f578063b41596ec14611477578063b5f620ce1461141b578063b6c61f31146113f2578063bcc5b93b146113b9578063c32921711461138e578063c4d66de81461135c578063c7f758a814611281578063d1e3623214611263578063dc96ff2d14611236578063df868ed314611213578063e0a8f6f5146110bc578063e0dd2c3814611072578063eb11af931461104c578063edd146cc14610b79578063ef2920fc146104a3578063f2fde38b14610412578063f5b0dfb7146103b9578063f5be3f7c1461039c5763ffa1ad7414610352575061000e565b3461039957806003193601126103995761039560405161037181613f24565b60038152620302e360ec1b602082015260405191829160208352602083019061408d565b0390f35b80fd5b50346103995780600319360112610399576020604051611c208152f35b5034610399576020366003190112610399577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103f96145cf565b610405816069546145ac565b606955604051908152a180f35b50346103995760203660031901126103995761042c614131565b6104346142ef565b6001600160a01b0381161561044f5761044c9061434e565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b506104ad36614239565b906104b66145cf565b6104be6145f5565b6001600160a01b0382811691908215610b675760785416938415610b555760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610b09578391610b38575b5015610b265761051b866147d6565b15610b145760405163011de97360e61b815285818061053e308b600484016147bc565b03818b5afa908115610b09578391610adc575b5015610aca578351840193858501908681870312610ac25780870151906001600160401b038211610ac657019481603f87011215610ac257868601519061059782614147565b966105a56040519889613f5a565b82885260408989019360061b820101938411610abe57604001915b838310610a8c5750505050819682975b855189101561064d576105e38987614c98565b515115610643576105f48987614c98565b51516105ff81614cac565b1561062c575061062061062691886106178c8a614c98565b51015190614d04565b98614611565b976105d0565b85906040519063c1d17bef60e01b82526004820152fd5b9761062690614611565b9580939761066c61068a93949698878b52607c845260408b2054614d20565b936040518080958194637817ee4f60e01b83523090600484016147bc565b03915afa908115610a81578791610a4f575b50808211610a325750828695949552607c82526040862055606091829186945b8651861015610a2e576106cf8688614c98565b51519380511560001461091b5750604051946106ea86613f24565b6001865282860183368237865115610906578590529490945b8261070e888a614c98565b51015195858a52607b845260408a209260098401918660005282865261073a604060002054998a614d20565b92876000528652826040600020558b809b81938754945b8a8452607d8a526040842080548210156108f357610770828892614294565b90549060031b1c1461078e57610787604091614611565b9050610751565b50999391509a9593919b5060019994995b1561088d575b506108069493929190808411610854576107bf8482614873565b6107cc60709182546145ac565b90556107d88482614873565b6107e7600285019182546145ac565b90555b600783019283541560001461080d575050509050439055614611565b94956106bc565b60a0935061082a60008051602061557c8339815191529582614ff4565b6003600282015491015491604051938a85528985015260408401528a8301526080820152a1614611565b61085e8185614873565b61086b6070918254614873565b90556108778185614873565b61088660028501918254614873565b90556107ea565b878d52607d875260408d20805490600160401b8210156108e057816108c09160016108069a999897969594018155614294565b819291549060031b91821b91600019901b191617905590919293946107a5565b634e487b7160e01b8f5260416004528d8ffd5b5050999391509a9593919b99949961079f565b82634e487b7160e01b60005260326004526000fd5b9491889497989693919698855b875181101561096d578961093c828a614c98565b51146109505761094b90614611565b610928565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b509794989691939692909215610986575b949094610703565b948051906001808301809311610a1b5761099f83614147565b926109ad6040519485613f5a565b8084526109bc601f1991614147565b0136868501378a815b6109df575b50506109d886915183614c98565b529461097e565b829a949a51811015610a1357806109f9610a0a9285614c98565b51610a048287614c98565b52614611565b819a949a6109c5565b9993996109ca565b634e487b7160e01b8b526011600452838bfd5b8780f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610a7a575b610a668183613f5a565b81010312610a7557518761069c565b600080fd5b503d610a5c565b6040513d89823e3d90fd5b6040898484030112610abe57886040918251610aa781613f24565b8551815282860151838201528152019201916105c0565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610afc9150863d8811610b02575b610af48183613f5a565b8101906147a4565b38610551565b503d610aea565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610b4f9150863d8811610b0257610af48183613f5a565b3861050c565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610399576040366003190112610399576024356001600160401b038111610fda57610baa90369060040161421e565b610bb26145cf565b610bba6145cf565b60685461103a576004351561102857600435606855606a546e5af43d82803e903d91602b57fd5bf3606c54610bee81614611565b606c5560405160208101913360601b8352603482015260348152610c1181613f3f565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017855260789290921b6001600160781b031916176020526001600160a01b03906037600985f5168015610fe957607980546001600160a01b031981168317909155839190821617803b15610fda5781809160046040518094819363204a7f0760e21b83525af18015610fde57610fc6575b5050808051810103906101e08212610fac576040519160e083016001600160401b03811184821017610fb0578060405260808212610ac657610ce881613ef6565b60208301518152604083015161010085015260608301516101208501526080830151610140850152835260a08201516003811015610ac657602084015260c08201516004811015610ac6576040840152602060bf19820112610ac257604051906001600160401b036020830190811190831117610fb05781602060c0930160405260e08401518152606085015260df190112610fac57604051610d8a81613edb565b6101008201516001600160a01b0381168103610ac6578152610daf6101208301614620565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610e056101e0610df86101c08401614620565b928360a086015201614620565b60c08301526001600160a01b031615610b555760a0810151607880546001600160a01b0319166001600160a01b039290921691909117905560208101516003811015610f985760765460408301516004811015610f8457917fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b939160ff61ff006102009560081b1692169061ffff1916171760765560608101515160775560018060a01b0360c08201511660018060a01b0319607a541617607a55610ed06080820151825190615079565b604051906004358252610ee7602083018251614634565b610ef9602082015160a0840190614287565b610f0b604082015160c084019061427a565b6060818101515160e084015260808083015180516001600160a01b03908116610100870152602082015181166101208701526040820151610140870152928101516101608601529081015161018085015260a0908101516101a085015282015181166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b83526021600452602483fd5b8280fd5b634e487b7160e01b600052604160045260246000fd5b610fcf90613f11565b610fda578138610ca7565b5080fd5b6040513d84823e3d90fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b503461039957602036600319011261039957602090611069614131565b50604051908152f35b50346103995760403660031901126103995760096040611090614105565b926004358152607b60205220019060018060a01b03166000526020526020604060002054604051908152f35b503461039957602080600319360112610fda5760043590818352607b8152600160ff6008604086200154166110f08161404a565b036111fa57818352607b815260408320600501546001600160a01b039081163381036111d757508084916079541690848352607b8452601060408420916005830154169101548352607f84526002604084200154823b15610ac25761116f9284928360405180968195829463099ea56b60e41b84528c60048501614c77565b03925af18015610fde576111c3575b50829052607b81526040808420600801805460ff19166003179055519182527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c91a180f35b6111cc90613f11565b610fac57823861117e565b604051634544dc9160e11b81529081906111f6903390600484016147bc565b0390fd5b6040516344980d8f60e01b815260048101839052602490fd5b5034610399578060031936011261039957602060ff606754166040519015158152f35b503461039957602036600319011261039957600260406020926004358152607b8452200154604051908152f35b50346103995780600319360112610399576020607154604051908152f35b503461039957602036600319011261039957610160906004358152607b60205260408120600181015491821560001461134c57905b60018060a01b03918260058301541693836004840154169360068401541690600284015460ff6008860154169060078601549260038701549433600052600988016020526010604060002054980154986040519a8b5260208b015260408a0152606089015260808801526113298161404a565b60a087015260c086015260e0850152610100840152610120830152610140820152f35b5061135682614e69565b906112b6565b50346103995760203660031901126103995761044c611379614131565b61138960ff845460081c1661454c565b61434e565b5034610399578060031936011261039957602060ff60765460081c166113b7604051809261427a565bf35b5034610399576020366003190112610399576020906040906001600160a01b036113e1614131565b168152607c83522054604051908152f35b5034610399578060031936011261039957607a546040516001600160a01b039091168152602090f35b503461039957602036600319011261039957600435801515809103610fda5760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610399576001600160401b0390602435828111610fda576114a59036906004016142c2565b604492919235848111610fac576114c09036906004016142c2565b93909460043594858552607b602052604085209460108601548152607f6020526040812092604051926114f284613edb565b60018060a01b0394858154168086528660018301541660208701526002820154604087015260056003830154926060880193845260048101546080890152015460a0870152156117fd57898954036117e4576008890191600160ff8454166115598161404a565b036117cb5781518034106117ad5750600f8a015480151580611785575b61174f5750611586825134614873565b918760795416905190803b1561174b576115ba87918e60405194858094819363240ff7c560e11b8352339060048401614769565b03925af180156117405761172c575b509a6020916116039b9c8888511691604051809e8195829463c13517e160e01b84526003600485015260406024850152604484019161541a565b03925af1988915610b095783996116f8575b50805460ff19166005179055600c870188905542600d8801908155600e90970180546001600160a01b03191633179055878252607e60205260408220899055606d5491818316908183146116e45750927f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d97959260209a97959260016116d39601169060018060401b03191617606d55511693549260405195869586528986015287604086015233606086015260c0608086015260c085019161541a565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9098506020813d602011611724575b8161171460209383613f5a565b81010312610a7557519738611615565b3d9150611707565b6117368691613f11565b610ac657386115c9565b6040513d88823e3d90fd5b8680fd5b8b86611c2083018093116116e4575061176b6044924290614873565b60405191638d2f6c3160e01b835260048301526024820152fd5b50611c208101808211611799574210611576565b634e487b7160e01b87526011600452602487fd5b60449060405190632c1f8ef160e21b82523460048301526024820152fd5b6040516344980d8f60e01b8152600481018c9052602490fd5b60405163c1d17bef60e01b8152600481018b9052602490fd5b604051636c291fd360e01b8152600490fd5b5034610399576040366003190112610399576001600160401b0390600435828111610fda5761184290369060040161415e565b5060248035838111610fac5736602382011215610fac5780600401359161186883614147565b946118766040519687613f5a565b8386528160208097019460051b8401019436861161039957828401945b8686106118ac5760405163d623472560e01b8152600490fd5b8535838111610fac5788916118c783928736918a010161421e565b815201950194611893565b5034610399576020366003190112610399576118ec614131565b6118f46142ef565b606a80546001600160a01b0319166001600160a01b039290921691909117905580f35b503461039957602036600319011261039957611931614131565b6119396153aa565b61194281614782565b607a80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610399576020366003190112610399576119a7600a60406103959360606020835161199181613f24565b83815201526004358152607b6020522001613f7d565b6040519182916020835260208301906140b2565b50346103995780600319360112610399576020607754604051908152f35b5034610399578060031936011261039957606d546040516001600160401b039091168152602090f35b5034610399578060031936011261039957602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103995780600319360112610399576020607454604051908152f35b5034610399576020366003190112610399576004356298968091828202918083048414901517156116e45760745483039283116116e4576020611a928484614b14565b604051908152f35b50346103995780600319360112610399576020611ab5615463565b6040516001600160a01b039091168152f35b503461039957604036600319011261039957611ae1614131565b6001600160a01b03168152607d6020526040812080546024359290831015610399576020611b0f8484614294565b90546040519160031b1c8152f35b50346103995760203660031901126103995760406020916004358152607b835220611b4c600282015482615026565b81929192159081611b81575b50611b75575b6001611b6b910154614e69565b1115604051908152f35b60038101549150611b5e565b90501538611b58565b50346103995780600319360112610399576020607054604051908152f35b5034610399578060031936011261039957611bc2336147d6565b15610b14576078546001600160a01b039082908216803b15610fda57816040518092630d4a8b4960e01b8252818381611bff3033600484016147bc565b03925af18015610fde57611c8c575b50506078541660206040518092637817ee4f60e01b82528180611c353033600484016147bc565b03915afa8015610fde578290611c59575b611c5391506071546145ac565b60715580f35b506020813d8211611c84575b81611c7260209383613f5a565b81010312610a7557611c539051611c46565b3d9150611c65565b611c9590613f11565b610fda578138611c0e565b503461039957604036600319011261039957611cba614131565b602435611cc561484d565b611cce826147d6565b15610b14578260ff60765460081c166004811015610f845760028103611db857505080915b60785460405163011de97360e61b81529060209082906001600160a01b03168180611d223088600484016147bc565b03915afa908115611dad57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611d90575b50611d7c575b611d718460405193849384614a9d565b0390a1604051908152f35b611d88846071546145ac565b607155611d61565b611da79150863d8111610b0257610af48183613f5a565b38611d5b565b6040513d87823e3d90fd5b60018103611e64575050607854604051637817ee4f60e01b8152829160209082906001600160a01b03168180611df2308a600484016147bc565b03915afa908115611dad578591611e33575b50611e0f83826145ac565b607754809111611e22575b505091611cf3565b611e2c9250614873565b3880611e1a565b90506020813d8211611e5c575b81611e4d60209383613f5a565b81010312610a75575138611e04565b3d9150611e40565b90929060021901611cf3576078546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610a81578590889061200a575b611eba92506145ac565b6040516336d8759760e21b81529060128483600481895afa908115611fff57611f239486611f1893611f1e968d91611fd2575b5060046040518094819363313ce56760e01b8352165afa8b9181611fa3575b50611f98575b50614af3565b90614b01565b614b34565b816040518094637817ee4f60e01b82528180611f43308b600484016147bc565b03915afa918215611740578692611f66575b50611f609250614873565b91611cf3565b90915082813d8311611f91575b611f7d8183613f5a565b81010312610a7557611f6091519038611f55565b503d611f73565b60ff91501638611f12565b611fc4919250883d8a11611fcb575b611fbc8183613f5a565b810190614ada565b9038611f0c565b503d611fb2565b611ff29150823d8411611ff8575b611fea8183613f5a565b810190614abb565b38611eed565b503d611fe0565b6040513d8b823e3d90fd5b50508281813d8311612034575b6120218183613f5a565b81010312610a755784611eba9151611eb0565b503d612017565b50346103995780600319360112610399576120546142ef565b603380546001600160a01b031981169091556000906001600160a01b031660008051602061559c8339815191528280a380f35b50346103995760203660031901126103995761044c6120a4614131565b6120ac61484d565b614880565b5034610399578060031936011261039957602060405160038152f35b5034610399576060366003190112610399576120e7614131565b6024356001600160401b038111610fac5736602382011215610fac576121179036906024816004013591016141e7565b9061213c61212361411b565b61138960ff865460081c166121378161454c565b61454c565b60018060a01b031660018060a01b0319606554161760655560405161217f81612171602082019460208652604083019061408d565b03601f198101835282613f5a565b51902060665580f35b50346103995780600319360112610399576078546040516001600160a01b039091168152602090f35b5034610399576020366003190112610399576020611a92600435614e69565b50346103995780600319360112610399577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361222957602060405160008051602061555c8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b506040366003190112610399576122a4614131565b6024356001600160401b038111610fac576122c390369060040161421e565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169291906122fd30851415614385565b61231a60008051602061555c8339815191529482865416146143d4565b612322615463565b81339116036124fc576000805160206154fc8339815191525460ff161561234f57505061044c9150614423565b8216604051936352d1902d60e01b85526020948581600481865afa600091816124cd575b506123c25760405162461bcd60e51b815260048101879052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9492939403612488576123d484614423565b6000805160206155bc833981519152600080a2815115801590612480575b6123fd575b50505080f35b61246e926000806040519461241186613f3f565b6027865260008051602061561c83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612477573d612451816141cc565b9061245f6040519283613f5a565b8152600081943d92013e6144b3565b503880806123f7565b606092506144b3565b5060016123f2565b60405162461bcd60e51b815260048101839052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d83116124f5575b6124e48183613f5a565b810103126103995750519038612373565b503d6124da565b6111f6612507615463565b60405163163678e960e01b815291829133600484016147bc565b50346103995780600319360112610399576020606954604051908152f35b50346103995780600319360112610399576020606654604051908152f35b5034610399576020366003190112610399576040906004358152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995780600319360112610399576020604051600a8152f35b50346103995780600319360112610399576020606854604051908152f35b503461039957602080600319360112610fda5761260a614131565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661264130821415614385565b61265e60008051602061555c8339815191529183835416146143d4565b612666615463565b82339116036124fc57604051848101929091906001600160401b03841183851017610fb0578360405286835260ff6000805160206154fc83398151915254166000146126ba575050505061044c9150614423565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612811575b5061272d5760405162461bcd60e51b815260048101889052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95939495036127cc5761273f82614423565b6000805160206155bc833981519152600080a28251158015906127c4575b612769575b5050505080f35b6000806127ba956040519561277d87613f3f565b6027875260008051602061561c83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612477573d612451816141cc565b5038808080612762565b50600061275d565b60405162461bcd60e51b815260048101849052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612839575b6128288183613f5a565b8101031261039957505190386126de565b503d61281e565b5034610399578060031936011261039957602060ff607654166113b76040518092614287565b5034610399576060366003190112610399576020611a92604435602435600435614d5b565b50346103995780600319360112610399576020606c54604051908152f35b50346103995760403660031901126103995760043590818152602091607e8352604082205492838352607b8152604083209360108501548452607f82526040842090604051906128f882613edb565b60018060a01b0392838154168352600184818301541686850152600282015490604085019182526003830154926060860193845260056004820154916080880192835201549160a087019283528515612e305760088c0192835490600560ff83166129628161404a565b03612e1757600d8e01549051612977916145ac565b42118015908180612e0a575b612df85790612dee575b15612b2e5750815115612b1c576002915190808214612b0d575b5014612a92575b505083607954169084600e8a015416905192823b15612a8e57916129ed93918980946040519687958694859363099ea56b60e41b855260048501614c77565b03925af1801561174057908691612a7a575b50505b606d546001600160401b038082169791908815612a66577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769596979860001901169060018060401b03191617606d55600f429101555116916040516024358152a380f35b634e487b7160e01b88526011600452602488fd5b612a8390613f11565b610ac65784386129ff565b8880fd5b600660ff1982541617905584607954168560058b015416915191813b15612b0957918991612ad8938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015612afe57908891156129ae57612af390613f11565b61174b5786386129ae565b6040513d8a823e3d90fd5b8980fd5b835460ff1916178355386129a7565b604051630dd466dd60e41b8152600490fd5b9150919250602435828114600014612c0a57505060ff198254161790558360795416600485600e8b0154169287876078541660405193848092633629edcd60e11b82525afa918215612bff578a92612be0575b5051823b15612b0957604051638969ab5360e01b8152948a94869493859387938593612bb3938d16916004860161543b565b03925af1801561174057908691612bcc575b5050612a02565b612bd590613f11565b610ac6578438612bc5565b612bf8919250883d8a11611ff857611fea8183613f5a565b9038612b81565b6040513d8c823e3d90fd5b91949291600214612c20575b5050505050612a02565b60069060ff1916179055846079541691600e8a019286845416915191813b15612d8557918a91612c68938360405180968195829463099ea56b60e41b84528a60048501614c77565b03925af18015611fff57908991612dd6575b5050846079541690600460058b0192878454169089896078541660405194858092633629edcd60e11b82525afa928315612dcb578c93612dac575b50606f548c52607f8a52600260408d200154871c91813b15612da857918c91612cfc93838c60405196879586948593638969ab5360e01b9b8c865216908c6004860161543b565b03925af18015612d9d57908b91612d89575b50508680806079541694541694541694606f548b52607f8952600260408c200154901c833b15612d85578a94939291612d5786926040519889978896879586526004860161543b565b03925af1801561174057908691612d71575b808080612c16565b612d7a90613f11565b610ac6578438612d69565b8a80fd5b612d9290613f11565b612b09578938612d0e565b6040513d8d823e3d90fd5b8c80fd5b612dc49193508a3d8c11611ff857611fea8183613f5a565b9138612cb5565b6040513d8e823e3d90fd5b612ddf90613f11565b612dea578738612c7a565b8780fd5b506024351561298d565b604051631777988560e11b8152600490fd5b508a8a5116331415612983565b604051634b011ca960e11b815260048101899052602490fd5b60405163c1d17bef60e01b815260048101879052602490fd5b503461039957604036600319011261039957612e63614131565b60243591612e6f61484d565b60ff60765460081c1660048110156130a7576002811490811561309c575b5015612ec8575060008051602061551c83398151915282602093925b612eb584607154614873565b607155611d718460405193849384614a9d565b6078546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611dad5782918791879161307f575b5060046040518094819363313ce56760e01b8352165afa859181613060575b50613055575b506040516316308e2560e11b815290861660048201528481602481865afa90811561304a579087918591613017575b5091611f18612f6f611f1e93612f7595614873565b91614af3565b92806040518093637817ee4f60e01b82528180612f96308b600484016147bc565b03915afa92831561300b5792612fcb575b505092612fc560008051602061551c83398151915292602095614873565b92612ea9565b9080959250813d8311613004575b612fe38183613f5a565b81010312610a75579251612fc560008051602061551c833981519152612fa7565b503d612fd9565b604051903d90823e3d90fd5b809250868092503d8311613043575b6130308183613f5a565b81010312610a7557518690611f18612f5a565b503d613026565b6040513d86823e3d90fd5b60ff16915038612f2b565b613078919250873d8911611fcb57611fbc8183613f5a565b9038612f25565b6130969150823d8411611ff857611fea8183613f5a565b38612f06565b600191501438612e8d565b634e487b7160e01b82526021600452602482fd5b506130c536614239565b90916130cf6145cf565b6130d76145f5565b6130e0826147d6565b15610b145782518301906020938481840312610fda57808501516001600160401b0391828211610ac257019260a084820312610fac576040519160a0830183811082821117610fb05760405286850151835261313e60408601614620565b928781019384526060860151956040820196875261315e60808201614620565b936060830194855260a082015190848211612dea5761318392908b0191018a01614657565b608082019081528151156135795760ff60765416916003831015613565576001809314613432575b50606f548652607f89526040862080546001600160a01b039891908916151580613425575b61340357506131e0606e54614611565b9889606e55898852607b8b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b850193015180519182116133ef5761326b8454613ea1565b601f81116133a8575b508990601f831160011461334857928293918392899461333d575b50501b916000199060031b1c19161790555b6010606f5491015582806079541691541690803b15610fac576132dc918391604051808095819463240ff7c560e11b83528a60048401614769565b039134905af18015610fde57613329575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6133338291613f11565b61039957806132ed565b01519250388061328f565b8488528a8820919083601f1981168a8e5b888383106133905750505010613377575b505050811b0190556132a1565b015160001960f88460031b161c1916905538808061336a565b8686015188559096019594850194879350018e613359565b8488528a8820601f840160051c8101918c85106133e5575b601f0160051c019084905b8281106133d9575050613274565b600081550184906133cb565b90915081906133c0565b634e487b7160e01b87526041600452602487fd5b6002604491015460405190632c1f8ef160e21b82523460048301526024820152fd5b50600281015434106131d0565b85516001600160a01b039190613449908316614782565b818651161561355357604051630ae6240f60e11b8152908b82600481305afa918215611fff5791899184938392613514575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa918215612afe5788926134f0575b5060408187511692015116036134de576134c28751614cdb565b6134cc57386131ab565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b61350d9192503d808a833e6135058183613f5a565b8101906146d2565b90386134a8565b92509250508b81813d831161354c575b61352e8183613f5a565b81010312612a8e57518281168103612a8e578291899190602461347b565b503d613524565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b50346103995760203660031901126103995760406020916004358152607e83522054604051908152f35b5034610399578060031936011261039957608060725460735460745460755491604051938452602084015260408301526060820152f35b503461039957806003193601126103995761044c33614880565b5034610399576020366003190112610399576020611a92600435615364565b50346103995760603660031901126103995761363f614131565b613647614105565b9061365061411b565b83549260ff8460081c1615938480956137c7575b80156137b0575b156137545760ff198116600117865584613743575b506136bc6040519261369184613f24565b600a8452694356537472617465677960b01b602085015261138960ff885460081c166121378161454c565b60018060a01b03918260018060a01b031994168460655416176065556040516136f581612171602082019460208652604083019061408d565b5190206066551690606a541617606a5561370c5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538613680565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561366b5750600160ff82161461366b565b50600160ff821610613664565b50346103995780600319360112610399576065546040516001600160a01b039091168152602090f35b50346103995780600319360112610399576020606f54604051908152f35b50346103995780600319360112610399576020604051629896808152f35b50346103995780600319360112610399576020606e54604051908152f35b50346103995780600319360112610399576079546040516001600160a01b039091168152602090f35b5034610399576060366003190112610399576001600160401b0390600435828111610fda576138b390369060040161415e565b506024918235908111610fda576138ce90369060040161421e565b6138d661411b565b506138df6145cf565b6138e76145f5565b805115613bc557602081805181010312610fda5760200151918215613bb357828252607b602052604082209260ff607654166003811015613ba05760011461392d578280f35b80845403613b8b576001840191825460695490818111613b6a5750506008850194600160ff87541661395e8161404a565b03613b535761396c83615364565b9184549261397984614e69565b1180613b4a575b613b385760018060a01b039286846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610a81579160409185938992613b18575b506139d090606954614873565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613ad8575081809381925af115613acb575b600460ff1982541617905581600581607954169201541690606f548652607f602052600260408720015491813b1561174b57918691613a67938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015611dad57613aa6575b50613a9c9060008051602061565c83398151915294955416925460405193849384614c77565b0390a18038808280f35b9060008051602061565c83398151915294613ac3613a9c93613f11565b945090613a76565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d156001885114171615613b0b5785603452613a10565b6390b8ec1886526004601cfd5b6139d0919250613b31903d808c833e6135058183613f5a565b91906139c3565b60405163199cf26160e31b8152600490fd5b50821515613980565b5090604051906344980d8f60e01b82526004820152fd5b6064939260405193632c31d85b60e11b855260048501528301526044820152fd5b6040519063c1d17bef60e01b82526004820152fd5b634e487b7160e01b845260216004528284fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b50346103995736600319016101408112610fda5760c01361039957604051613bfe81613edb565b6004356001600160a01b0381168103610fac578152613c1b614105565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112610fda5760405161044c91613c5c82613ef6565b60c435825260e4356020830152610104356040830152610124356060830152613c836153aa565b615079565b5034610399578060031936011261039957604090606f548152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995760203660031901126103995760043563ffffffff60e01b8116809103610fda5760209063f1801e6160e01b8114908115613d25575b506040519015158152f35b6301ffc9a760e01b14905082613d1a565b5034610399576020366003190112610399576004358152607b60205260408120908154906001830154600284015493600381015460018060a01b0360048301541660018060a01b0360058401541660018060a01b036006850154169060078501549260ff60088701541694613dad600a8801613f7d565b604051909b909960608b01906001600160401b0382118c831017613e8d57506040908152600c8901548b52600d89015460208c810191909152600e8a01546001600160a01b03168c830152600f8a01546010909a015482519d8e52908d019a909a528b015260608a0152608089015260a088015260c087015260e086015293948594613e559190613e3d8161404a565b6101008701526101e0806101208801528601906140b2565b835161014086015260208401516101608601526040909301516001600160a01b03166101808501526101a08401526101c08301520390f35b634e487b7160e01b81526041600452602490fd5b90600182811c92168015613ed1575b6020831014613ebb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613eb0565b60c081019081106001600160401b03821117610fb057604052565b608081019081106001600160401b03821117610fb057604052565b6001600160401b038111610fb057604052565b604081019081106001600160401b03821117610fb057604052565b606081019081106001600160401b03821117610fb057604052565b601f909101601f19168101906001600160401b03821190821017610fb057604052565b9060405191613f8b83613f24565b8281548152600180920191604051928391600091805490613fab82613ea1565b808652918381169081156140215750600114613fd8575b50505060209291613fd4910384613f5a565b0152565b909493925060005260209081600020946000915b81831061400957509394509192509082010181613fd46020613fc2565b86548884018501529586019587945091830191613fec565b60ff191660208781019190915292151560051b860183019450859350613fd4929150613fc29050565b6007111561405457565b634e487b7160e01b600052602160045260246000fd5b60005b83811061407d5750506000910152565b818101518382015260200161406d565b906020916140a68151809281855285808601910161406a565b601f01601f1916010190565b90604060206140cf9380518452015191816020820152019061408d565b90565b9260a09491979695929760c0850198600180881b0380921686521660208501526040840152606083015260808201520152565b602435906001600160a01b0382168203610a7557565b604435906001600160a01b0382168203610a7557565b600435906001600160a01b0382168203610a7557565b6001600160401b038111610fb05760051b60200190565b81601f82011215610a755780359161417583614147565b926141836040519485613f5a565b808452602092838086019260051b820101928311610a75578301905b8282106141ad575050505090565b81356001600160a01b0381168103610a7557815290830190830161419f565b6001600160401b038111610fb057601f01601f191660200190565b9291926141f3826141cc565b916142016040519384613f5a565b829481845281830111610a75578281602093846000960137010152565b9080601f83011215610a75578160206140cf933591016141e7565b6040600319820112610a7557600435906001600160401b038211610a75576142639160040161421e565b906024356001600160a01b0381168103610a755790565b9060048210156140545752565b9060038210156140545752565b80548210156142ac5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610a75578235916001600160401b038311610a755760208381860195010111610a7557565b6142f7615463565b336001600160a01b039091160361430a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061559c833981519152600080a3565b1561438c57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156143db57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156144585760008051602061555c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561451557508151156144c7575090565b3b156144d05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156145285750805190602001fd5b60405162461bcd60e51b8152602060048201529081906111f690602483019061408d565b1561455357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116145b957565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b031633036145e357565b60405163075fd2b160e01b8152600490fd5b606854156145ff57565b604051630f68fe6360e21b8152600490fd5b60001981146145b95760010190565b51906001600160a01b0382168203610a7557565b606080918051845260208101516020850152604081015160408501520151910152565b9190604083820312610a755760405161466f81613f24565b83518152602084015190938491906001600160401b038211610a7557019082601f83011215610a75578151916146a4836141cc565b936146b26040519586613f5a565b83855260208483010111610a7557602092613fd49184808701910161406a565b90602082820312610a755781516001600160401b0392838211610a75570160c081830312610a75576040519261470784613edb565b8151845260208201516001600160a01b0381168103610a7557602085015261473160408301614620565b60408501526060820151908111610a755760a092614750918301614657565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561479257565b6040516303988b8160e61b8152600490fd5b90816020910312610a7557518015158103610a755790565b6001600160a01b0391821681529116602082015260400190565b607a546001600160a01b031680156148465761480c9160209160405180809581946302154c3d60e51b83523090600484016147bc565b03915afa90811561483a57600091614822575090565b6140cf915060203d8111610b0257610af48183613f5a565b6040513d6000823e3d90fd5b5050600190565b6078546001600160a01b0316330361486157565b6040516357848b5160e11b8152600490fd5b919082039182116145b957565b60785460408051637817ee4f60e01b81526020949391926000926001600160a01b039290918316908781806148b93087600484016147bc565b0381855afa8015614a93578590614a64575b6148d89150607154614873565b607155803b15610ac25783855180926322bcf99960e01b82528183816149023089600484016147bc565b03925af18015614a5a57614a47575b5016808252607d8552828220948351808783829954938481520190865283862092865b85828210614a315750505061494b92500387613f5a565b825b8651811015614a0157806149646149849289614c98565b51808652607b845286862061497882614cac565b614989575b5050614611565b61494d565b60008051602061557c8339815191529160a0918760005260098101875260038a6000208a815491556149db60028401916149c4818454614873565b835560706149d3828254614873565b905584614ff4565b54910154908a519289845288840152898b84015260608301526080820152a1388061497d565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c955093019201614934565b614a5390939193613f11565b9138614911565b85513d86823e3d90fd5b508781813d8311614a8c575b614a7a8183613f5a565b81010312610ac6576148d890516148cb565b503d614a70565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610a7557516001600160a01b0381168103610a755790565b90816020910312610a75575160ff81168103610a755790565b604d81116145b957600a0a90565b818102929181159184041417156145b957565b8115614b1e570490565b634e487b7160e01b600052601260045260246000fd5b8015614c7157614bff816000908360801c80614c65575b508060401c80614c58575b508060201c80614c4b575b508060101c80614c3e575b508060081c80614c31575b508060041c80614c24575b508060021c80614c17575b50600191828092811c614c10575b1c1b614ba78185614b14565b01811c614bb48185614b14565b01811c614bc18185614b14565b01811c614bce8185614b14565b01811c614bdb8185614b14565b01811c614be88185614b14565b01811c614bf58185614b14565b01901c8092614b14565b80821015614c0b575090565b905090565b0181614b9b565b6002915091019038614b8d565b6004915091019038614b82565b6008915091019038614b77565b6010915091019038614b6c565b6020915091019038614b61565b6040915091019038614b56565b91505060809038614b4b565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b80518210156142ac5760209160051b010190565b600052607b6020526040600020805415159081614cc7575090565b600501546001600160a01b03161515919050565b614cea60725460695490614b01565b62989680918281029281840414901517156145b957111590565b919091600083820193841291129080158216911516176145b957565b614d2a8282614d04565b9160008312614d3857505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607454906298968093848360801b0490600160801b9182811015614e25578583965b614de4575050614d8f9085614b01565b93858302928084048714901517156145b95781039081116145b957614db391614b01565b9083039283116145b957614dd092614dca91614b14565b906145ac565b6001607f1b81019081106145b95760801c90565b600191818316614e045780614df891614f3d565b911c90815b9091614d7f565b809250614e119197614f3d565b9560001981019081116145b9579081614dfd565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614f2b57614e7b82614cdb565b6134cc57607254604081901b92600160401b92918015908504841417156145b9578060401b9281840414901517156145b957614ebd614ec991614ee493614b14565b62989680809404614873565b614edb8360735460801b049180614b01565b60401c90614b14565b818102908082048314901517156145b95760745482039182116145b957614f1791614f0e91614b14565b60715490614b01565b60401c607554808211600014614c0b575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614f9e57811015614f5a57614dd091614b01565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614fff9082615026565b909182158061501e575b6150195760039160078201550155565b505050565b508115615009565b43916007820154918383116150635783831461505757600361504b6150549486614873565b91015490614d5b565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b60208181018051919290916001600160a01b039060009082168015159081615357575b816152b5575b506150ea575b50505050816080916000805160206154dc8339815191529351607255810151607355604081015160745560608101516075556150e76040518092614634565ba1565b606f548152607f855260409081812083600182015416908480885116809314918215926152a3575b50506151da575b50936005608096946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b99615151606f54614611565b80606f558152607f8a522091808451169560018060a01b0319918783865416178555600185019151168092825416179055818401519182600285015560608501519384600382015560a08d8701519687600484015501519687910155606f549681519788528a88015286015260608501528884015260a083015260c0820152a1918193386150a8565b8385511690813b15610fac578291602483928651948593849263446adb9960e11b845260048401525af1801561529957946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b999560059560809c9a61528a575b507fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f60608b86885116878b51169086519230845283015285820152a195999b505094509450949650615119565b61529390613f11565b3861523d565b83513d84823e3d90fd5b90915054168486511614158438615112565b606f548352607f8752604083206001810154851690911480159250615345575b8115615332575b811561531f575b811561530c575b81156152f8575b50386150a2565b9050600560a08501519101541415386152f1565b60808501516004820154141591506152ea565b60608501516003820154141591506152e3565b60408501516002820154141591506152dc565b905082845116838254161415906152d5565b845184161515915061509c565b80600052607b6020526040600020908082540361539257508061538d6002600393015482614ff4565b015490565b6024906040519063c1d17bef60e01b82526004820152fd5b607854604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa90811561483a576000916153fc575b501633036153ea57565b604051637430763f60e11b8152600490fd5b615414915060203d8111611ff857611fea8183613f5a565b386153e0565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b6033546001600160a01b0316803b6154785790565b604051638da5cb5b60e01b8152602081600481855afa600091816154a0575b50614c0b575090565b90916020823d82116154d3575b816154ba60209383613f5a565b8101031261039957506154cc90614620565b9038615497565b3d91506154ad56feec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3be677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d5345524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a264697066735822122064003a7acadd7523ee195d8b40c31ed7f0f63a1e350f23e958323da84a903bf964736f6c63430008130033","sourceMap":"3983:51118:97:-:0;;;;;;;1088:4:61;1080:13;;3983:51118:97;;;;;;1080:13:61;3983:51118:97;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613d3657806301ffc9a714613cdf578063059351cd14613c88578063062f9ece14613bd75780630a6f0ee9146138805780630ba95909146119bb5780630bece79c146138575780630c0512e9146138395780630f529ba21461381b578063125fd1d9146137fd57806315cc481e146137d4578063184b9559146136255780631aa91a9e146136065780631ddf1e23146135ec5780632506b870146135b5578063255ffb381461358b5780632bbe0cae146130bb5780632dbd6fdd1461138e5780632ed04b2b14612e49578063311a6c56146128a9578063339604591461288b578063346db8cb14612866578063351d9f96146128405780633659cfe6146125ef57806338fff2d0146125d1578063406244d8146125b557806341bb76051461255d57806342fda9c71461253f5780634ab4ba42146125215780634d31d0871461104c5780634f1ef2861461228f57806352d1902d146121d057806359a5db8b146121b15780635db64b99146113b95780636003e4141461218857806360d5dedc146120cd578063626c47e8146120b15780636453d9c414612087578063715018a61461203b578063782aadff14611ca0578063814516ad14611ba8578063817b1cd214611b8a578063824ea8ed14611b1d578063868c57b814611ac75780638da5cb5b14611a9a578063950559d714611a4f5780639a1c157c14611a31578063a0cf0aea14611a02578063a28889e1146119d9578063a47ff7e5146119bb578063a574cea414611965578063aba9ffee14611263578063ac1ed7b914611917578063b0d3713a146118d2578063b2b878d01461180f578063b41596ec14611477578063b5f620ce1461141b578063b6c61f31146113f2578063bcc5b93b146113b9578063c32921711461138e578063c4d66de81461135c578063c7f758a814611281578063d1e3623214611263578063dc96ff2d14611236578063df868ed314611213578063e0a8f6f5146110bc578063e0dd2c3814611072578063eb11af931461104c578063edd146cc14610b79578063ef2920fc146104a3578063f2fde38b14610412578063f5b0dfb7146103b9578063f5be3f7c1461039c5763ffa1ad7414610352575061000e565b3461039957806003193601126103995761039560405161037181613f24565b60038152620302e360ec1b602082015260405191829160208352602083019061408d565b0390f35b80fd5b50346103995780600319360112610399576020604051611c208152f35b5034610399576020366003190112610399577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103f96145cf565b610405816069546145ac565b606955604051908152a180f35b50346103995760203660031901126103995761042c614131565b6104346142ef565b6001600160a01b0381161561044f5761044c9061434e565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b506104ad36614239565b906104b66145cf565b6104be6145f5565b6001600160a01b0382811691908215610b675760785416938415610b555760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610b09578391610b38575b5015610b265761051b866147d6565b15610b145760405163011de97360e61b815285818061053e308b600484016147bc565b03818b5afa908115610b09578391610adc575b5015610aca578351840193858501908681870312610ac25780870151906001600160401b038211610ac657019481603f87011215610ac257868601519061059782614147565b966105a56040519889613f5a565b82885260408989019360061b820101938411610abe57604001915b838310610a8c5750505050819682975b855189101561064d576105e38987614c98565b515115610643576105f48987614c98565b51516105ff81614cac565b1561062c575061062061062691886106178c8a614c98565b51015190614d04565b98614611565b976105d0565b85906040519063c1d17bef60e01b82526004820152fd5b9761062690614611565b9580939761066c61068a93949698878b52607c845260408b2054614d20565b936040518080958194637817ee4f60e01b83523090600484016147bc565b03915afa908115610a81578791610a4f575b50808211610a325750828695949552607c82526040862055606091829186945b8651861015610a2e576106cf8688614c98565b51519380511560001461091b5750604051946106ea86613f24565b6001865282860183368237865115610906578590529490945b8261070e888a614c98565b51015195858a52607b845260408a209260098401918660005282865261073a604060002054998a614d20565b92876000528652826040600020558b809b81938754945b8a8452607d8a526040842080548210156108f357610770828892614294565b90549060031b1c1461078e57610787604091614611565b9050610751565b50999391509a9593919b5060019994995b1561088d575b506108069493929190808411610854576107bf8482614873565b6107cc60709182546145ac565b90556107d88482614873565b6107e7600285019182546145ac565b90555b600783019283541560001461080d575050509050439055614611565b94956106bc565b60a0935061082a60008051602061557c8339815191529582614ff4565b6003600282015491015491604051938a85528985015260408401528a8301526080820152a1614611565b61085e8185614873565b61086b6070918254614873565b90556108778185614873565b61088660028501918254614873565b90556107ea565b878d52607d875260408d20805490600160401b8210156108e057816108c09160016108069a999897969594018155614294565b819291549060031b91821b91600019901b191617905590919293946107a5565b634e487b7160e01b8f5260416004528d8ffd5b5050999391509a9593919b99949961079f565b82634e487b7160e01b60005260326004526000fd5b9491889497989693919698855b875181101561096d578961093c828a614c98565b51146109505761094b90614611565b610928565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b509794989691939692909215610986575b949094610703565b948051906001808301809311610a1b5761099f83614147565b926109ad6040519485613f5a565b8084526109bc601f1991614147565b0136868501378a815b6109df575b50506109d886915183614c98565b529461097e565b829a949a51811015610a1357806109f9610a0a9285614c98565b51610a048287614c98565b52614611565b819a949a6109c5565b9993996109ca565b634e487b7160e01b8b526011600452838bfd5b8780f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610a7a575b610a668183613f5a565b81010312610a7557518761069c565b600080fd5b503d610a5c565b6040513d89823e3d90fd5b6040898484030112610abe57886040918251610aa781613f24565b8551815282860151838201528152019201916105c0565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610afc9150863d8811610b02575b610af48183613f5a565b8101906147a4565b38610551565b503d610aea565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610b4f9150863d8811610b0257610af48183613f5a565b3861050c565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610399576040366003190112610399576024356001600160401b038111610fda57610baa90369060040161421e565b610bb26145cf565b610bba6145cf565b60685461103a576004351561102857600435606855606a546e5af43d82803e903d91602b57fd5bf3606c54610bee81614611565b606c5560405160208101913360601b8352603482015260348152610c1181613f3f565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017855260789290921b6001600160781b031916176020526001600160a01b03906037600985f5168015610fe957607980546001600160a01b031981168317909155839190821617803b15610fda5781809160046040518094819363204a7f0760e21b83525af18015610fde57610fc6575b5050808051810103906101e08212610fac576040519160e083016001600160401b03811184821017610fb0578060405260808212610ac657610ce881613ef6565b60208301518152604083015161010085015260608301516101208501526080830151610140850152835260a08201516003811015610ac657602084015260c08201516004811015610ac6576040840152602060bf19820112610ac257604051906001600160401b036020830190811190831117610fb05781602060c0930160405260e08401518152606085015260df190112610fac57604051610d8a81613edb565b6101008201516001600160a01b0381168103610ac6578152610daf6101208301614620565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610e056101e0610df86101c08401614620565b928360a086015201614620565b60c08301526001600160a01b031615610b555760a0810151607880546001600160a01b0319166001600160a01b039290921691909117905560208101516003811015610f985760765460408301516004811015610f8457917fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b939160ff61ff006102009560081b1692169061ffff1916171760765560608101515160775560018060a01b0360c08201511660018060a01b0319607a541617607a55610ed06080820151825190615079565b604051906004358252610ee7602083018251614634565b610ef9602082015160a0840190614287565b610f0b604082015160c084019061427a565b6060818101515160e084015260808083015180516001600160a01b03908116610100870152602082015181166101208701526040820151610140870152928101516101608601529081015161018085015260a0908101516101a085015282015181166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b83526021600452602483fd5b8280fd5b634e487b7160e01b600052604160045260246000fd5b610fcf90613f11565b610fda578138610ca7565b5080fd5b6040513d84823e3d90fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b503461039957602036600319011261039957602090611069614131565b50604051908152f35b50346103995760403660031901126103995760096040611090614105565b926004358152607b60205220019060018060a01b03166000526020526020604060002054604051908152f35b503461039957602080600319360112610fda5760043590818352607b8152600160ff6008604086200154166110f08161404a565b036111fa57818352607b815260408320600501546001600160a01b039081163381036111d757508084916079541690848352607b8452601060408420916005830154169101548352607f84526002604084200154823b15610ac25761116f9284928360405180968195829463099ea56b60e41b84528c60048501614c77565b03925af18015610fde576111c3575b50829052607b81526040808420600801805460ff19166003179055519182527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c91a180f35b6111cc90613f11565b610fac57823861117e565b604051634544dc9160e11b81529081906111f6903390600484016147bc565b0390fd5b6040516344980d8f60e01b815260048101839052602490fd5b5034610399578060031936011261039957602060ff606754166040519015158152f35b503461039957602036600319011261039957600260406020926004358152607b8452200154604051908152f35b50346103995780600319360112610399576020607154604051908152f35b503461039957602036600319011261039957610160906004358152607b60205260408120600181015491821560001461134c57905b60018060a01b03918260058301541693836004840154169360068401541690600284015460ff6008860154169060078601549260038701549433600052600988016020526010604060002054980154986040519a8b5260208b015260408a0152606089015260808801526113298161404a565b60a087015260c086015260e0850152610100840152610120830152610140820152f35b5061135682614e69565b906112b6565b50346103995760203660031901126103995761044c611379614131565b61138960ff845460081c1661454c565b61434e565b5034610399578060031936011261039957602060ff60765460081c166113b7604051809261427a565bf35b5034610399576020366003190112610399576020906040906001600160a01b036113e1614131565b168152607c83522054604051908152f35b5034610399578060031936011261039957607a546040516001600160a01b039091168152602090f35b503461039957602036600319011261039957600435801515809103610fda5760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610399576001600160401b0390602435828111610fda576114a59036906004016142c2565b604492919235848111610fac576114c09036906004016142c2565b93909460043594858552607b602052604085209460108601548152607f6020526040812092604051926114f284613edb565b60018060a01b0394858154168086528660018301541660208701526002820154604087015260056003830154926060880193845260048101546080890152015460a0870152156117fd57898954036117e4576008890191600160ff8454166115598161404a565b036117cb5781518034106117ad5750600f8a015480151580611785575b61174f5750611586825134614873565b918760795416905190803b1561174b576115ba87918e60405194858094819363240ff7c560e11b8352339060048401614769565b03925af180156117405761172c575b509a6020916116039b9c8888511691604051809e8195829463c13517e160e01b84526003600485015260406024850152604484019161541a565b03925af1988915610b095783996116f8575b50805460ff19166005179055600c870188905542600d8801908155600e90970180546001600160a01b03191633179055878252607e60205260408220899055606d5491818316908183146116e45750927f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d97959260209a97959260016116d39601169060018060401b03191617606d55511693549260405195869586528986015287604086015233606086015260c0608086015260c085019161541a565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9098506020813d602011611724575b8161171460209383613f5a565b81010312610a7557519738611615565b3d9150611707565b6117368691613f11565b610ac657386115c9565b6040513d88823e3d90fd5b8680fd5b8b86611c2083018093116116e4575061176b6044924290614873565b60405191638d2f6c3160e01b835260048301526024820152fd5b50611c208101808211611799574210611576565b634e487b7160e01b87526011600452602487fd5b60449060405190632c1f8ef160e21b82523460048301526024820152fd5b6040516344980d8f60e01b8152600481018c9052602490fd5b60405163c1d17bef60e01b8152600481018b9052602490fd5b604051636c291fd360e01b8152600490fd5b5034610399576040366003190112610399576001600160401b0390600435828111610fda5761184290369060040161415e565b5060248035838111610fac5736602382011215610fac5780600401359161186883614147565b946118766040519687613f5a565b8386528160208097019460051b8401019436861161039957828401945b8686106118ac5760405163d623472560e01b8152600490fd5b8535838111610fac5788916118c783928736918a010161421e565b815201950194611893565b5034610399576020366003190112610399576118ec614131565b6118f46142ef565b606a80546001600160a01b0319166001600160a01b039290921691909117905580f35b503461039957602036600319011261039957611931614131565b6119396153aa565b61194281614782565b607a80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610399576020366003190112610399576119a7600a60406103959360606020835161199181613f24565b83815201526004358152607b6020522001613f7d565b6040519182916020835260208301906140b2565b50346103995780600319360112610399576020607754604051908152f35b5034610399578060031936011261039957606d546040516001600160401b039091168152602090f35b5034610399578060031936011261039957602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103995780600319360112610399576020607454604051908152f35b5034610399576020366003190112610399576004356298968091828202918083048414901517156116e45760745483039283116116e4576020611a928484614b14565b604051908152f35b50346103995780600319360112610399576020611ab5615463565b6040516001600160a01b039091168152f35b503461039957604036600319011261039957611ae1614131565b6001600160a01b03168152607d6020526040812080546024359290831015610399576020611b0f8484614294565b90546040519160031b1c8152f35b50346103995760203660031901126103995760406020916004358152607b835220611b4c600282015482615026565b81929192159081611b81575b50611b75575b6001611b6b910154614e69565b1115604051908152f35b60038101549150611b5e565b90501538611b58565b50346103995780600319360112610399576020607054604051908152f35b5034610399578060031936011261039957611bc2336147d6565b15610b14576078546001600160a01b039082908216803b15610fda57816040518092630d4a8b4960e01b8252818381611bff3033600484016147bc565b03925af18015610fde57611c8c575b50506078541660206040518092637817ee4f60e01b82528180611c353033600484016147bc565b03915afa8015610fde578290611c59575b611c5391506071546145ac565b60715580f35b506020813d8211611c84575b81611c7260209383613f5a565b81010312610a7557611c539051611c46565b3d9150611c65565b611c9590613f11565b610fda578138611c0e565b503461039957604036600319011261039957611cba614131565b602435611cc561484d565b611cce826147d6565b15610b14578260ff60765460081c166004811015610f845760028103611db857505080915b60785460405163011de97360e61b81529060209082906001600160a01b03168180611d223088600484016147bc565b03915afa908115611dad57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611d90575b50611d7c575b611d718460405193849384614a9d565b0390a1604051908152f35b611d88846071546145ac565b607155611d61565b611da79150863d8111610b0257610af48183613f5a565b38611d5b565b6040513d87823e3d90fd5b60018103611e64575050607854604051637817ee4f60e01b8152829160209082906001600160a01b03168180611df2308a600484016147bc565b03915afa908115611dad578591611e33575b50611e0f83826145ac565b607754809111611e22575b505091611cf3565b611e2c9250614873565b3880611e1a565b90506020813d8211611e5c575b81611e4d60209383613f5a565b81010312610a75575138611e04565b3d9150611e40565b90929060021901611cf3576078546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610a81578590889061200a575b611eba92506145ac565b6040516336d8759760e21b81529060128483600481895afa908115611fff57611f239486611f1893611f1e968d91611fd2575b5060046040518094819363313ce56760e01b8352165afa8b9181611fa3575b50611f98575b50614af3565b90614b01565b614b34565b816040518094637817ee4f60e01b82528180611f43308b600484016147bc565b03915afa918215611740578692611f66575b50611f609250614873565b91611cf3565b90915082813d8311611f91575b611f7d8183613f5a565b81010312610a7557611f6091519038611f55565b503d611f73565b60ff91501638611f12565b611fc4919250883d8a11611fcb575b611fbc8183613f5a565b810190614ada565b9038611f0c565b503d611fb2565b611ff29150823d8411611ff8575b611fea8183613f5a565b810190614abb565b38611eed565b503d611fe0565b6040513d8b823e3d90fd5b50508281813d8311612034575b6120218183613f5a565b81010312610a755784611eba9151611eb0565b503d612017565b50346103995780600319360112610399576120546142ef565b603380546001600160a01b031981169091556000906001600160a01b031660008051602061559c8339815191528280a380f35b50346103995760203660031901126103995761044c6120a4614131565b6120ac61484d565b614880565b5034610399578060031936011261039957602060405160038152f35b5034610399576060366003190112610399576120e7614131565b6024356001600160401b038111610fac5736602382011215610fac576121179036906024816004013591016141e7565b9061213c61212361411b565b61138960ff865460081c166121378161454c565b61454c565b60018060a01b031660018060a01b0319606554161760655560405161217f81612171602082019460208652604083019061408d565b03601f198101835282613f5a565b51902060665580f35b50346103995780600319360112610399576078546040516001600160a01b039091168152602090f35b5034610399576020366003190112610399576020611a92600435614e69565b50346103995780600319360112610399577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361222957602060405160008051602061555c8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b506040366003190112610399576122a4614131565b6024356001600160401b038111610fac576122c390369060040161421e565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169291906122fd30851415614385565b61231a60008051602061555c8339815191529482865416146143d4565b612322615463565b81339116036124fc576000805160206154fc8339815191525460ff161561234f57505061044c9150614423565b8216604051936352d1902d60e01b85526020948581600481865afa600091816124cd575b506123c25760405162461bcd60e51b815260048101879052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9492939403612488576123d484614423565b6000805160206155bc833981519152600080a2815115801590612480575b6123fd575b50505080f35b61246e926000806040519461241186613f3f565b6027865260008051602061561c83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612477573d612451816141cc565b9061245f6040519283613f5a565b8152600081943d92013e6144b3565b503880806123f7565b606092506144b3565b5060016123f2565b60405162461bcd60e51b815260048101839052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d83116124f5575b6124e48183613f5a565b810103126103995750519038612373565b503d6124da565b6111f6612507615463565b60405163163678e960e01b815291829133600484016147bc565b50346103995780600319360112610399576020606954604051908152f35b50346103995780600319360112610399576020606654604051908152f35b5034610399576020366003190112610399576040906004358152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995780600319360112610399576020604051600a8152f35b50346103995780600319360112610399576020606854604051908152f35b503461039957602080600319360112610fda5761260a614131565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661264130821415614385565b61265e60008051602061555c8339815191529183835416146143d4565b612666615463565b82339116036124fc57604051848101929091906001600160401b03841183851017610fb0578360405286835260ff6000805160206154fc83398151915254166000146126ba575050505061044c9150614423565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612811575b5061272d5760405162461bcd60e51b815260048101889052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95939495036127cc5761273f82614423565b6000805160206155bc833981519152600080a28251158015906127c4575b612769575b5050505080f35b6000806127ba956040519561277d87613f3f565b6027875260008051602061561c83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612477573d612451816141cc565b5038808080612762565b50600061275d565b60405162461bcd60e51b815260048101849052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612839575b6128288183613f5a565b8101031261039957505190386126de565b503d61281e565b5034610399578060031936011261039957602060ff607654166113b76040518092614287565b5034610399576060366003190112610399576020611a92604435602435600435614d5b565b50346103995780600319360112610399576020606c54604051908152f35b50346103995760403660031901126103995760043590818152602091607e8352604082205492838352607b8152604083209360108501548452607f82526040842090604051906128f882613edb565b60018060a01b0392838154168352600184818301541686850152600282015490604085019182526003830154926060860193845260056004820154916080880192835201549160a087019283528515612e305760088c0192835490600560ff83166129628161404a565b03612e1757600d8e01549051612977916145ac565b42118015908180612e0a575b612df85790612dee575b15612b2e5750815115612b1c576002915190808214612b0d575b5014612a92575b505083607954169084600e8a015416905192823b15612a8e57916129ed93918980946040519687958694859363099ea56b60e41b855260048501614c77565b03925af1801561174057908691612a7a575b50505b606d546001600160401b038082169791908815612a66577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769596979860001901169060018060401b03191617606d55600f429101555116916040516024358152a380f35b634e487b7160e01b88526011600452602488fd5b612a8390613f11565b610ac65784386129ff565b8880fd5b600660ff1982541617905584607954168560058b015416915191813b15612b0957918991612ad8938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015612afe57908891156129ae57612af390613f11565b61174b5786386129ae565b6040513d8a823e3d90fd5b8980fd5b835460ff1916178355386129a7565b604051630dd466dd60e41b8152600490fd5b9150919250602435828114600014612c0a57505060ff198254161790558360795416600485600e8b0154169287876078541660405193848092633629edcd60e11b82525afa918215612bff578a92612be0575b5051823b15612b0957604051638969ab5360e01b8152948a94869493859387938593612bb3938d16916004860161543b565b03925af1801561174057908691612bcc575b5050612a02565b612bd590613f11565b610ac6578438612bc5565b612bf8919250883d8a11611ff857611fea8183613f5a565b9038612b81565b6040513d8c823e3d90fd5b91949291600214612c20575b5050505050612a02565b60069060ff1916179055846079541691600e8a019286845416915191813b15612d8557918a91612c68938360405180968195829463099ea56b60e41b84528a60048501614c77565b03925af18015611fff57908991612dd6575b5050846079541690600460058b0192878454169089896078541660405194858092633629edcd60e11b82525afa928315612dcb578c93612dac575b50606f548c52607f8a52600260408d200154871c91813b15612da857918c91612cfc93838c60405196879586948593638969ab5360e01b9b8c865216908c6004860161543b565b03925af18015612d9d57908b91612d89575b50508680806079541694541694541694606f548b52607f8952600260408c200154901c833b15612d85578a94939291612d5786926040519889978896879586526004860161543b565b03925af1801561174057908691612d71575b808080612c16565b612d7a90613f11565b610ac6578438612d69565b8a80fd5b612d9290613f11565b612b09578938612d0e565b6040513d8d823e3d90fd5b8c80fd5b612dc49193508a3d8c11611ff857611fea8183613f5a565b9138612cb5565b6040513d8e823e3d90fd5b612ddf90613f11565b612dea578738612c7a565b8780fd5b506024351561298d565b604051631777988560e11b8152600490fd5b508a8a5116331415612983565b604051634b011ca960e11b815260048101899052602490fd5b60405163c1d17bef60e01b815260048101879052602490fd5b503461039957604036600319011261039957612e63614131565b60243591612e6f61484d565b60ff60765460081c1660048110156130a7576002811490811561309c575b5015612ec8575060008051602061551c83398151915282602093925b612eb584607154614873565b607155611d718460405193849384614a9d565b6078546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611dad5782918791879161307f575b5060046040518094819363313ce56760e01b8352165afa859181613060575b50613055575b506040516316308e2560e11b815290861660048201528481602481865afa90811561304a579087918591613017575b5091611f18612f6f611f1e93612f7595614873565b91614af3565b92806040518093637817ee4f60e01b82528180612f96308b600484016147bc565b03915afa92831561300b5792612fcb575b505092612fc560008051602061551c83398151915292602095614873565b92612ea9565b9080959250813d8311613004575b612fe38183613f5a565b81010312610a75579251612fc560008051602061551c833981519152612fa7565b503d612fd9565b604051903d90823e3d90fd5b809250868092503d8311613043575b6130308183613f5a565b81010312610a7557518690611f18612f5a565b503d613026565b6040513d86823e3d90fd5b60ff16915038612f2b565b613078919250873d8911611fcb57611fbc8183613f5a565b9038612f25565b6130969150823d8411611ff857611fea8183613f5a565b38612f06565b600191501438612e8d565b634e487b7160e01b82526021600452602482fd5b506130c536614239565b90916130cf6145cf565b6130d76145f5565b6130e0826147d6565b15610b145782518301906020938481840312610fda57808501516001600160401b0391828211610ac257019260a084820312610fac576040519160a0830183811082821117610fb05760405286850151835261313e60408601614620565b928781019384526060860151956040820196875261315e60808201614620565b936060830194855260a082015190848211612dea5761318392908b0191018a01614657565b608082019081528151156135795760ff60765416916003831015613565576001809314613432575b50606f548652607f89526040862080546001600160a01b039891908916151580613425575b61340357506131e0606e54614611565b9889606e55898852607b8b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b850193015180519182116133ef5761326b8454613ea1565b601f81116133a8575b508990601f831160011461334857928293918392899461333d575b50501b916000199060031b1c19161790555b6010606f5491015582806079541691541690803b15610fac576132dc918391604051808095819463240ff7c560e11b83528a60048401614769565b039134905af18015610fde57613329575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6133338291613f11565b61039957806132ed565b01519250388061328f565b8488528a8820919083601f1981168a8e5b888383106133905750505010613377575b505050811b0190556132a1565b015160001960f88460031b161c1916905538808061336a565b8686015188559096019594850194879350018e613359565b8488528a8820601f840160051c8101918c85106133e5575b601f0160051c019084905b8281106133d9575050613274565b600081550184906133cb565b90915081906133c0565b634e487b7160e01b87526041600452602487fd5b6002604491015460405190632c1f8ef160e21b82523460048301526024820152fd5b50600281015434106131d0565b85516001600160a01b039190613449908316614782565b818651161561355357604051630ae6240f60e11b8152908b82600481305afa918215611fff5791899184938392613514575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa918215612afe5788926134f0575b5060408187511692015116036134de576134c28751614cdb565b6134cc57386131ab565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b61350d9192503d808a833e6135058183613f5a565b8101906146d2565b90386134a8565b92509250508b81813d831161354c575b61352e8183613f5a565b81010312612a8e57518281168103612a8e578291899190602461347b565b503d613524565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b50346103995760203660031901126103995760406020916004358152607e83522054604051908152f35b5034610399578060031936011261039957608060725460735460745460755491604051938452602084015260408301526060820152f35b503461039957806003193601126103995761044c33614880565b5034610399576020366003190112610399576020611a92600435615364565b50346103995760603660031901126103995761363f614131565b613647614105565b9061365061411b565b83549260ff8460081c1615938480956137c7575b80156137b0575b156137545760ff198116600117865584613743575b506136bc6040519261369184613f24565b600a8452694356537472617465677960b01b602085015261138960ff885460081c166121378161454c565b60018060a01b03918260018060a01b031994168460655416176065556040516136f581612171602082019460208652604083019061408d565b5190206066551690606a541617606a5561370c5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538613680565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561366b5750600160ff82161461366b565b50600160ff821610613664565b50346103995780600319360112610399576065546040516001600160a01b039091168152602090f35b50346103995780600319360112610399576020606f54604051908152f35b50346103995780600319360112610399576020604051629896808152f35b50346103995780600319360112610399576020606e54604051908152f35b50346103995780600319360112610399576079546040516001600160a01b039091168152602090f35b5034610399576060366003190112610399576001600160401b0390600435828111610fda576138b390369060040161415e565b506024918235908111610fda576138ce90369060040161421e565b6138d661411b565b506138df6145cf565b6138e76145f5565b805115613bc557602081805181010312610fda5760200151918215613bb357828252607b602052604082209260ff607654166003811015613ba05760011461392d578280f35b80845403613b8b576001840191825460695490818111613b6a5750506008850194600160ff87541661395e8161404a565b03613b535761396c83615364565b9184549261397984614e69565b1180613b4a575b613b385760018060a01b039286846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610a81579160409185938992613b18575b506139d090606954614873565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613ad8575081809381925af115613acb575b600460ff1982541617905581600581607954169201541690606f548652607f602052600260408720015491813b1561174b57918691613a67938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015611dad57613aa6575b50613a9c9060008051602061565c83398151915294955416925460405193849384614c77565b0390a18038808280f35b9060008051602061565c83398151915294613ac3613a9c93613f11565b945090613a76565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d156001885114171615613b0b5785603452613a10565b6390b8ec1886526004601cfd5b6139d0919250613b31903d808c833e6135058183613f5a565b91906139c3565b60405163199cf26160e31b8152600490fd5b50821515613980565b5090604051906344980d8f60e01b82526004820152fd5b6064939260405193632c31d85b60e11b855260048501528301526044820152fd5b6040519063c1d17bef60e01b82526004820152fd5b634e487b7160e01b845260216004528284fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b50346103995736600319016101408112610fda5760c01361039957604051613bfe81613edb565b6004356001600160a01b0381168103610fac578152613c1b614105565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112610fda5760405161044c91613c5c82613ef6565b60c435825260e4356020830152610104356040830152610124356060830152613c836153aa565b615079565b5034610399578060031936011261039957604090606f548152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995760203660031901126103995760043563ffffffff60e01b8116809103610fda5760209063f1801e6160e01b8114908115613d25575b506040519015158152f35b6301ffc9a760e01b14905082613d1a565b5034610399576020366003190112610399576004358152607b60205260408120908154906001830154600284015493600381015460018060a01b0360048301541660018060a01b0360058401541660018060a01b036006850154169060078501549260ff60088701541694613dad600a8801613f7d565b604051909b909960608b01906001600160401b0382118c831017613e8d57506040908152600c8901548b52600d89015460208c810191909152600e8a01546001600160a01b03168c830152600f8a01546010909a015482519d8e52908d019a909a528b015260608a0152608089015260a088015260c087015260e086015293948594613e559190613e3d8161404a565b6101008701526101e0806101208801528601906140b2565b835161014086015260208401516101608601526040909301516001600160a01b03166101808501526101a08401526101c08301520390f35b634e487b7160e01b81526041600452602490fd5b90600182811c92168015613ed1575b6020831014613ebb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613eb0565b60c081019081106001600160401b03821117610fb057604052565b608081019081106001600160401b03821117610fb057604052565b6001600160401b038111610fb057604052565b604081019081106001600160401b03821117610fb057604052565b606081019081106001600160401b03821117610fb057604052565b601f909101601f19168101906001600160401b03821190821017610fb057604052565b9060405191613f8b83613f24565b8281548152600180920191604051928391600091805490613fab82613ea1565b808652918381169081156140215750600114613fd8575b50505060209291613fd4910384613f5a565b0152565b909493925060005260209081600020946000915b81831061400957509394509192509082010181613fd46020613fc2565b86548884018501529586019587945091830191613fec565b60ff191660208781019190915292151560051b860183019450859350613fd4929150613fc29050565b6007111561405457565b634e487b7160e01b600052602160045260246000fd5b60005b83811061407d5750506000910152565b818101518382015260200161406d565b906020916140a68151809281855285808601910161406a565b601f01601f1916010190565b90604060206140cf9380518452015191816020820152019061408d565b90565b9260a09491979695929760c0850198600180881b0380921686521660208501526040840152606083015260808201520152565b602435906001600160a01b0382168203610a7557565b604435906001600160a01b0382168203610a7557565b600435906001600160a01b0382168203610a7557565b6001600160401b038111610fb05760051b60200190565b81601f82011215610a755780359161417583614147565b926141836040519485613f5a565b808452602092838086019260051b820101928311610a75578301905b8282106141ad575050505090565b81356001600160a01b0381168103610a7557815290830190830161419f565b6001600160401b038111610fb057601f01601f191660200190565b9291926141f3826141cc565b916142016040519384613f5a565b829481845281830111610a75578281602093846000960137010152565b9080601f83011215610a75578160206140cf933591016141e7565b6040600319820112610a7557600435906001600160401b038211610a75576142639160040161421e565b906024356001600160a01b0381168103610a755790565b9060048210156140545752565b9060038210156140545752565b80548210156142ac5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610a75578235916001600160401b038311610a755760208381860195010111610a7557565b6142f7615463565b336001600160a01b039091160361430a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061559c833981519152600080a3565b1561438c57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156143db57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156144585760008051602061555c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561451557508151156144c7575090565b3b156144d05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156145285750805190602001fd5b60405162461bcd60e51b8152602060048201529081906111f690602483019061408d565b1561455357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116145b957565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b031633036145e357565b60405163075fd2b160e01b8152600490fd5b606854156145ff57565b604051630f68fe6360e21b8152600490fd5b60001981146145b95760010190565b51906001600160a01b0382168203610a7557565b606080918051845260208101516020850152604081015160408501520151910152565b9190604083820312610a755760405161466f81613f24565b83518152602084015190938491906001600160401b038211610a7557019082601f83011215610a75578151916146a4836141cc565b936146b26040519586613f5a565b83855260208483010111610a7557602092613fd49184808701910161406a565b90602082820312610a755781516001600160401b0392838211610a75570160c081830312610a75576040519261470784613edb565b8151845260208201516001600160a01b0381168103610a7557602085015261473160408301614620565b60408501526060820151908111610a755760a092614750918301614657565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561479257565b6040516303988b8160e61b8152600490fd5b90816020910312610a7557518015158103610a755790565b6001600160a01b0391821681529116602082015260400190565b607a546001600160a01b031680156148465761480c9160209160405180809581946302154c3d60e51b83523090600484016147bc565b03915afa90811561483a57600091614822575090565b6140cf915060203d8111610b0257610af48183613f5a565b6040513d6000823e3d90fd5b5050600190565b6078546001600160a01b0316330361486157565b6040516357848b5160e11b8152600490fd5b919082039182116145b957565b60785460408051637817ee4f60e01b81526020949391926000926001600160a01b039290918316908781806148b93087600484016147bc565b0381855afa8015614a93578590614a64575b6148d89150607154614873565b607155803b15610ac25783855180926322bcf99960e01b82528183816149023089600484016147bc565b03925af18015614a5a57614a47575b5016808252607d8552828220948351808783829954938481520190865283862092865b85828210614a315750505061494b92500387613f5a565b825b8651811015614a0157806149646149849289614c98565b51808652607b845286862061497882614cac565b614989575b5050614611565b61494d565b60008051602061557c8339815191529160a0918760005260098101875260038a6000208a815491556149db60028401916149c4818454614873565b835560706149d3828254614873565b905584614ff4565b54910154908a519289845288840152898b84015260608301526080820152a1388061497d565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c955093019201614934565b614a5390939193613f11565b9138614911565b85513d86823e3d90fd5b508781813d8311614a8c575b614a7a8183613f5a565b81010312610ac6576148d890516148cb565b503d614a70565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610a7557516001600160a01b0381168103610a755790565b90816020910312610a75575160ff81168103610a755790565b604d81116145b957600a0a90565b818102929181159184041417156145b957565b8115614b1e570490565b634e487b7160e01b600052601260045260246000fd5b8015614c7157614bff816000908360801c80614c65575b508060401c80614c58575b508060201c80614c4b575b508060101c80614c3e575b508060081c80614c31575b508060041c80614c24575b508060021c80614c17575b50600191828092811c614c10575b1c1b614ba78185614b14565b01811c614bb48185614b14565b01811c614bc18185614b14565b01811c614bce8185614b14565b01811c614bdb8185614b14565b01811c614be88185614b14565b01811c614bf58185614b14565b01901c8092614b14565b80821015614c0b575090565b905090565b0181614b9b565b6002915091019038614b8d565b6004915091019038614b82565b6008915091019038614b77565b6010915091019038614b6c565b6020915091019038614b61565b6040915091019038614b56565b91505060809038614b4b565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b80518210156142ac5760209160051b010190565b600052607b6020526040600020805415159081614cc7575090565b600501546001600160a01b03161515919050565b614cea60725460695490614b01565b62989680918281029281840414901517156145b957111590565b919091600083820193841291129080158216911516176145b957565b614d2a8282614d04565b9160008312614d3857505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607454906298968093848360801b0490600160801b9182811015614e25578583965b614de4575050614d8f9085614b01565b93858302928084048714901517156145b95781039081116145b957614db391614b01565b9083039283116145b957614dd092614dca91614b14565b906145ac565b6001607f1b81019081106145b95760801c90565b600191818316614e045780614df891614f3d565b911c90815b9091614d7f565b809250614e119197614f3d565b9560001981019081116145b9579081614dfd565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614f2b57614e7b82614cdb565b6134cc57607254604081901b92600160401b92918015908504841417156145b9578060401b9281840414901517156145b957614ebd614ec991614ee493614b14565b62989680809404614873565b614edb8360735460801b049180614b01565b60401c90614b14565b818102908082048314901517156145b95760745482039182116145b957614f1791614f0e91614b14565b60715490614b01565b60401c607554808211600014614c0b575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614f9e57811015614f5a57614dd091614b01565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614fff9082615026565b909182158061501e575b6150195760039160078201550155565b505050565b508115615009565b43916007820154918383116150635783831461505757600361504b6150549486614873565b91015490614d5b565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b60208181018051919290916001600160a01b039060009082168015159081615357575b816152b5575b506150ea575b50505050816080916000805160206154dc8339815191529351607255810151607355604081015160745560608101516075556150e76040518092614634565ba1565b606f548152607f855260409081812083600182015416908480885116809314918215926152a3575b50506151da575b50936005608096946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b99615151606f54614611565b80606f558152607f8a522091808451169560018060a01b0319918783865416178555600185019151168092825416179055818401519182600285015560608501519384600382015560a08d8701519687600484015501519687910155606f549681519788528a88015286015260608501528884015260a083015260c0820152a1918193386150a8565b8385511690813b15610fac578291602483928651948593849263446adb9960e11b845260048401525af1801561529957946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b999560059560809c9a61528a575b507fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f60608b86885116878b51169086519230845283015285820152a195999b505094509450949650615119565b61529390613f11565b3861523d565b83513d84823e3d90fd5b90915054168486511614158438615112565b606f548352607f8752604083206001810154851690911480159250615345575b8115615332575b811561531f575b811561530c575b81156152f8575b50386150a2565b9050600560a08501519101541415386152f1565b60808501516004820154141591506152ea565b60608501516003820154141591506152e3565b60408501516002820154141591506152dc565b905082845116838254161415906152d5565b845184161515915061509c565b80600052607b6020526040600020908082540361539257508061538d6002600393015482614ff4565b015490565b6024906040519063c1d17bef60e01b82526004820152fd5b607854604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa90811561483a576000916153fc575b501633036153ea57565b604051637430763f60e11b8152600490fd5b615414915060203d8111611ff857611fea8183613f5a565b386153e0565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b6033546001600160a01b0316803b6154785790565b604051638da5cb5b60e01b8152602081600481855afa600091816154a0575b50614c0b575090565b90916020823d82116154d3575b816154ba60209383613f5a565b8101031261039957506154cc90614620565b9038615497565b3d91506154ad56feec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3be677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d5345524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a264697066735822122064003a7acadd7523ee195d8b40c31ed7f0f63a1e350f23e958323da84a903bf964736f6c63430008130033","sourceMap":"3983:51118:97:-:0;;;;;;;;;-1:-1:-1;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13992:50;3983:51118;13992:50;;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8632:7;3983:51118;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;27364:28;3983:51118;;;2245:64:96;;:::i;:::-;5597:21;3983:51118:97;5597:21:96;3983:51118:97;5597:21:96;:::i;:::-;;3983:51118:97;;;;;;27364:28;3983:51118;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;3983:51118:97;;2423:22:42;3983:51118:97;;2517:8:42;;;:::i;:::-;3983:51118:97;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;:::i;:::-;2245:64:96;;;:::i;:::-;3110:78;;:::i;:::-;-1:-1:-1;;;;;3983:51118:97;;;;;12166:21;;12162:77;;12260:17;3983:51118;;12252:40;;;12248:100;;3983:51118;;-1:-1:-1;;;12362:35:97;;3983:51118;12362:35;;3983:51118;;;12362:35;;3983:51118;;689:66:57;12362:35:97;3983:51118;;;12362:35;;;;;;;;;;;;3983:51118;12361:36;;12357:93;;22584:26;;;:::i;:::-;22583:27;22579:90;;3983:51118;;-1:-1:-1;;;22755:69:97;;22818:4;3983:51118;;22755:69;22818:4;22755:69;3983:51118;22755:69;;;:::i;:::-;;;;;;;;;;;;;;;3983:51118;22838:24;;22834:78;;3983:51118;;22966:53;;;;;;3983:51118;;;;;;;;22966:53;;;3983:51118;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;33180:26;;;;;33221:13;;33216:630;33265:3;3983:51118;;33236:27;;;;;33343:19;;;;:::i;:::-;;3983:51118;33343:35;33339:187;;33560:19;;;;:::i;:::-;;3983:51118;33609:26;;;:::i;:::-;33608:27;33604:167;;33803:19;33784:51;33265:3;33803:19;;;;;;:::i;:::-;;:32;3983:51118;33784:51;;:::i;:::-;33265:3;;:::i;:::-;33221:13;;;33604:167;3983:51118;;;;23946:29;;;;33662;;3983:51118;33662:29;;3983:51118;33662:29;33339:187;33503:8;33265:3;33503:8;33265:3;:::i;33236:27::-;;;;;33974:60;34145:66;33236:27;;;;3983:51118;;;31334:18;3983:51118;;;;;;33974:60;:::i;:::-;3983:51118;;;689:66:57;;;;;;;;34145::97;;22818:4;34145:66;3983:51118;34145:66;;;:::i;:::-;;;;;;;;;;;;;;33216:630;34377:42;;;;34373:147;;3983:51118;;;;;;;31334:18;3983:51118;;;;;;;34717:29;;34761:13;;34756:3319;34805:3;3983:51118;;34776:27;;;;;34845:19;;;;:::i;:::-;;3983:51118;;;;34948:24;34944:920;34948:19;;;3983:51118;;;;;;;:::i;:::-;;;;;;;;;;;34992:31;3983:51118;;;;;;;34944:920;;;;35892:19;;;;;:::i;:::-;;:32;3983:51118;;;;;35982:9;3983:51118;;;;;36136:26;;;;3983:51118;;;;;;;36359:40;3983:51118;;;;36359:40;;;:::i;:::-;3983:51118;;;;;;;;;;;36818:24;;36861:13;;3983:51118;;;36856:246;36918:3;3983:51118;;;36880:20;3983:51118;;;;;;;36876:40;;;;;36945:32;;;;;:::i;:::-;3983:51118;;;;;;36945:55;36941:147;;36918:3;3983:51118;36918:3;;:::i;:::-;36861:13;;;;36941:147;37024:18;;;;;;;;;;;3983:51118;37024:18;;;36856:246;37119:12;37115:106;;36856:246;-1:-1:-1;34805:3:97;;37376:36;;;;;;;;;37447:35;;;;:::i;:::-;37432:50;;3983:51118;;;37432:50;:::i;:::-;3983:51118;;37525:35;;;;:::i;:::-;37500:60;:21;;;3983:51118;;;37500:60;:::i;:::-;3983:51118;;37372:370;37759:18;;;3983:51118;;;37759:23;37755:310;37759:18;;;37823:12;;;;;;3983:51118;;34805:3;:::i;:::-;34761:13;;;;37755:310;3983:51118;37911:20;;;-1:-1:-1;;;;;;;;;;;37911:20:97;;;:::i;:::-;3983:51118;38003:21;;;3983:51118;38026:23;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;37955:95;34805:3;:::i;37372:370::-;37614:35;;;;:::i;:::-;37599:50;;3983:51118;;;37599:50;:::i;:::-;3983:51118;;37692:35;;;;:::i;:::-;37667:60;:21;;;3983:51118;;;37667:60;:::i;:::-;3983:51118;;37372:370;;37115:106;3983:51118;;;36880:20;3983:51118;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;34805:3;3983:51118;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;37115:106;;;;;;;3983:51118;-1:-1:-1;;;3983:51118:97;;;;;;;;36876:40;;;;;;;;;;;;;;;;;3983:51118;;;;;;;;;;;;34944:920;35118:18;;;;;;;;;;35159:13;;35199:3;3983:51118;;35174:23;;;;;35255:15;;;;;:::i;:::-;3983:51118;35255:29;35251:203;;35199:3;;;:::i;:::-;35159:13;;35251:203;35312:12;3983:51118;35312:12;;3983:51118;;35357:40;;;;;;3983:51118;35357:40;;3983:51118;;;;35357:40;35174:23;;;;;;;;;;;;35493:6;35489:361;;35154:318;34944:920;;;;;35489:361;3983:51118;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;1756:17:96;;3983:51118:97;;:::i;:::-;;;;;;;35612:13;;3983:51118;;;35607:124;3983:51118;;35752:38;3983:51118;;;35752:38;;:::i;:::-;3983:51118;35489:361;;;35652:3;3983:51118;;;;;35627:23;;;;;35693:15;;35652:3;35693:15;;;:::i;:::-;3983:51118;35683:25;;;;:::i;:::-;3983:51118;35652:3;:::i;:::-;35612:13;;;;;;35627:23;;;;;;3983:51118;-1:-1:-1;;;3983:51118:97;;;;;;;;34776:27;;3983:51118;;34373:147;3983:51118;;;;;;34442:67;;;;;;3983:51118;34442:67;;3983:51118;;;;34442:67;34145:66;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;34145:66;;;3983:51118;;;;34145:66;;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;3983:51118:97;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22834:78;3983:51118;;-1:-1:-1;;;22885:16:97;;3983:51118;;22885:16;22755:69;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;22579:90:97;3983:51118;;-1:-1:-1;;;22633:25:97;;3983:51118;;22633:25;12357:93;3983:51118;;-1:-1:-1;;;12420:19:97;;3983:51118;;12420:19;12362:35;;;;;;;;;;;;;;:::i;:::-;;;;12248:100;3983:51118;;-1:-1:-1;;;12315:22:97;;3983:51118;;12315:22;12162:77;3983:51118;;-1:-1:-1;;;12210:18:97;;3983:51118;;12210:18;3983:51118;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;:::i;:::-;2245:64:96;;:::i;:::-;;;:::i;:::-;5083:6;3983:51118:97;5079:45:96;;3983:51118:97;;5211:12:96;5207:34;;3983:51118:97;;5083:6:96;3983:51118:97;10671:23;3983:51118;2273:565:43;10696:12:97;3983:51118;10696:12;;;:::i;:::-;;3983:51118;;;;4867:36:6;;4884:10;;3983:51118:97;;;;;;;;;4867:36:6;;;;;:::i;:::-;3983:51118:97;4857:47:6;;2273:565:43;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2273:565:43;;3983:51118:97;2273:565:43;-1:-1:-1;;;;;3983:51118:97;2273:565:43;;;;3983:51118:97;2855:22:43;;3983:51118:97;;10618:92;3983:51118;;-1:-1:-1;;;;;;3983:51118:97;;;;;;;;;;;;;10720:28;;;;;3983:51118;;;;;;689:66:57;;;;;;;10720:28:97;;;;;;;;;;3983:51118;;;;;;10803:52;;3983:51118;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;10803:52;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;-1:-1:-1;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;3983:51118:97;10870:34;10866:94;;3983:51118;;;;2273:565:43;3983:51118:97;;-1:-1:-1;;;;;;3983:51118:97;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;11044:30;3983:51118;;;;;;;;;;;;11277:26;3983:51118;;;;;;;;;;;;;;;;;11044:30;3983:51118;;;;11136:14;3983:51118;11122:28;3983:51118;;;;;;;;;;;;;;;;;11160:42;3983:51118;;;11160:42;3983:51118;11249:11;3983:51118;;;11228:19;11249:11;;;;:::i;:::-;3983:51118;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11277:26;3983:51118;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;10720:28;;;;:::i;:::-;3983:51118;;10720:28;;;;3983:51118;;;;10720:28;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;3983:51118:97;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;5207:34:96;3983:51118:97;;-1:-1:-1;;;5232:9:96;;3983:51118:97;;5232:9:96;5079:45;3983:51118:97;;-1:-1:-1;;;5103:21:96;;3983:51118:97;;5103:21:96;3983:51118:97;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;32424:40;3983:51118;;;:::i;:::-;;;;;;32424:9;3983:51118;;;32424:40;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;54410:9;3983:51118;;;;54410:36;3983:51118;;;54410:36;3983:51118;;;;;:::i;:::-;54410:76;54406:143;;3983:51118;;;54410:9;3983:51118;;;;;54563:31;;3983:51118;-1:-1:-1;;;;;3983:51118:97;;;54598:10;54563:45;;54559:141;;3983:51118;;;;54710:15;3983:51118;;;;;;54410:9;3983:51118;;54845:45;3983:51118;;;54782:31;54563;54782;;3983:51118;;54845:45;;3983:51118;;;54827:17;3983:51118;;54827:90;3983:51118;;;54827:90;3983:51118;54710:217;;;;;;3983:51118;;;;;;689:66:57;;;;;;;;;54710:217:97;;;3983:51118;54710:217;;;:::i;:::-;;;;;;;;;;;3983:51118;-1:-1:-1;3983:51118:97;;;54410:9;3983:51118;;;;;;54410:36;54938;3983:51118;;-1:-1:-1;;3983:51118:97;;;;;;;;;55031:29;;;3983:51118;;54710:217;;;;:::i;:::-;3983:51118;;54710:217;;;;54559:141;3983:51118;;-1:-1:-1;;;54631:58:97;;3983:51118;;;54631:58;;54598:10;;3983:51118;54631:58;;;:::i;:::-;;;;54406:143;3983:51118;;-1:-1:-1;;;54509:29:97;;3983:51118;54509:29;;3983:51118;;;;;54509:29;3983:51118;;;;;;;;;;;;;;;11182:10:96;689:66:57;3983:51118:97;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;31122:35;3983:51118;;;;;;;31122:9;3983:51118;;;31122:35;3983:51118;;;;;;;;;;;;;;;;;;;;;43423:20;3983:51118;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;;29846:9;3983:51118;;;;;;29891:24;;3983:51118;29891:80;:29;;:80;:29;;;:80;;3983:51118;;;;;30002:18;;;;;3983:51118;;30034:20;;3983:51118;30034:20;;3983:51118;;30068:23;;;;3983:51118;;30143:21;;;;3983:51118;;30178:23;;;3983:51118;;30215:18;;;;3983:51118;30247:23;3983:51118;30247:23;;3983:51118;30334:10;;3983:51118;;30307:26;;;3983:51118;;30359:32;3983:51118;;;;30359:32;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;29891:80;29927:44;;;;:::i;:::-;29891:80;;;3983:51118;;;;;;;-1:-1:-1;;3983:51118:97;;;;499:12:102;3983:51118:97;;:::i;:::-;5366:69:44;3983:51118:97;;;;;;5366:69:44;:::i;:::-;499:12:102;:::i;3983:51118:97:-;;;;;;;;;;;;;;;21933:11;3983:51118;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;:::i;:::-;;;;31334:18;3983:51118;;;;;;;;;;;;;;;;;;;;;;;9475:31;3983:51118;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;;;;;;;10911:19:96;3983:51118:97;;;10876:20:96;3983:51118:97;;;;;;10876:20:96;3983:51118:97;;;;;;10911:19:96;3983:51118:97;;;-1:-1:-1;3983:51118:97;;-1:-1:-1;;3983:51118:97;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;49163:9;3983:51118;;;;;49270:32;;;;3983:51118;;;49252:17;3983:51118;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49318:50;49314:112;;3983:51118;;;49603:33;49599:100;;49712:23;;;3983:51118;;;;;;;;;:::i;:::-;49712:63;49708:130;;3983:51118;;49851:9;;:55;49847:171;;50137:30;;;;3983:51118;50137:35;;;:126;;;3983:51118;50120:325;;3983:51118;50480:55;3983:51118;;49851:9;50480:55;:::i;:::-;3983:51118;;50546:15;3983:51118;;;;50546:109;;;;;;;3983:51118;;;;;689:66:57;;;;;;;;;50546:109:97;;50644:10;50546:109;3983:51118;50546:109;;;:::i;:::-;;;;;;;;;;;3983:51118;;;;;;;;;;;;;;;689:66:57;;;;;;;;;50678:92:97;;3983:51118;;50678:92;;3983:51118;;;;;;;;;;;:::i;:::-;50678:92;;;;;;;;;;;;;3983:51118;-1:-1:-1;3983:51118:97;;-1:-1:-1;;3983:51118:97;;;;;50855:20;;;3983:51118;;;50947:15;50907:37;;;3983:51118;;;50972:31;;;;3983:51118;;-1:-1:-1;;;;;;3983:51118:97;50644:10;3983:51118;;;;;;51026:21;3983:51118;;;;;;;;51082:14;3983:51118;;;;;;;;;;;;;51112:210;3983:51118;;;;;;;;;;;;;;;;;;;;;;51082:14;3983:51118;;;;;;;;;;;;;;;;;;;;;;50644:10;3983:51118;;;;;;;;;;;;;;:::i;:::-;;;;;;51112:210;;;3983:51118;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;50678:92;;;;3983:51118;50678:92;;3983:51118;50678:92;;;;;;3983:51118;50678:92;;;:::i;:::-;;;3983:51118;;;;;50678:92;;;;;;;-1:-1:-1;50678:92:97;;50546:109;;;;;:::i;:::-;3983:51118;;50546:109;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;50546:109:97;3983:51118;;;50120:325;3983:51118;;8632:7;3983:51118;;;;;;;50405:15;50349:71;3983:51118;50405:15;;50349:71;;:::i;:::-;3983:51118;;50295:139;;;;;;3983:51118;50295:139;;3983:51118;;;;;50295:139;50137:126;3983:51118;8632:7;3983:51118;;;;;;;50248:15;-1:-1:-1;50137:126:97;;3983:51118;-1:-1:-1;;;3983:51118:97;;;;;;;;49847:171;3983:51118;;;;15316:140;;;;49929:78;;49851:9;3983:51118;49929:78;;3983:51118;;;;;49929:78;49708:130;3983:51118;;-1:-1:-1;;;49798:29:97;;3983:51118;49798:29;;3983:51118;;;;;49798:29;49599:100;3983:51118;;-1:-1:-1;;;49659:29:97;;3983:51118;49659:29;;3983:51118;;;;;49659:29;49314:112;3983:51118;;-1:-1:-1;;;49391:24:97;;3983:51118;;49391:24;3983:51118;;;;;;;-1:-1:-1;;3983:51118:97;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;26951:16:97;;3983:51118;;26951:16;3983:51118;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;13307:34:97;3983:51118;;-1:-1:-1;;;;;;3983:51118:97;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;:::i;:::-;48473:189;;:::i;:::-;48592:12;;;:::i;:::-;48615:40;3983:51118;;-1:-1:-1;;;;;;3983:51118:97;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;30596:17;3983:51118;;;;;;;;;;:::i;:::-;;;;;;;;;;30557:9;3983:51118;;;30596:17;3983:51118;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;9293:51;3983:51118;;;;;;;;;;;;;;;;;;;;8856:26;3983:51118;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;3983:51118:97;;;;;;;;;;;;;;;;;16448:14;3983:51118;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;8138:8;3983:51118;;;;;;;;;;;;;;;;48099:14;3983:51118;;;;;;;;;48079:35;;;;:::i;:::-;3983:51118;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;:::i;:::-;-1:-1:-1;;;;;3983:51118:97;;;9780:57;3983:51118;;;;;;;;;;;9780:57;;;;;3983:51118;9780:57;;;;:::i;:::-;3983:51118;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;;;25444:9;3983:51118;;;25610:66;25654:21;;;3983:51118;25610:66;;:::i;:::-;25550:126;;;25691:19;;:39;;;;3983:51118;25687:110;;;3983:51118;;25826:44;25845:24;;3983:51118;25826:44;:::i;:::-;-1:-1:-1;26003:27:97;3983:51118;;;;;;25687:110;3983:51118;25763:23;;3983:51118;;-1:-1:-1;25687:110:97;;25691:39;25714:16;;;25691:39;;;3983:51118;;;;;;;;;;;;;;8976:26;3983:51118;;;;;;;;;;;;;;;;;;;;16570:25;16545:10;16570:25;:::i;:::-;16569:26;16565:89;;16663:17;3983:51118;-1:-1:-1;;;;;3983:51118:97;;;;;16663:65;;;;;3983:51118;;;689:66:57;;;;;16663:65:97;;16722:4;;;16663:65;16722:4;16545:10;3983:51118;16663:65;;;:::i;:::-;;;;;;;;;;;3983:51118;;;16663:17;3983:51118;;16762:65;3983:51118;;689:66:57;;;;;16762:65:97;;16722:4;;16762:65;16722:4;16545:10;3983:51118;16762:65;;;:::i;:::-;;;;;;;;;;;;;3983:51118;16738:89;3983:51118;;16738:89;3983:51118;16738:89;:::i;:::-;;3983:51118;;;16762:65;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;16738:89;3983:51118;;16762:65;;;;;-1:-1:-1;16762:65:97;;16663;;;;:::i;:::-;3983:51118;;16663:65;;;;3983:51118;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;:::i;:::-;;;17532:7;;:::i;:::-;17634:26;;;:::i;:::-;17633:27;17629:90;;17728:28;3983:51118;17770:11;3983:51118;;;;;;;;;;17785:36;17770:51;;17785:36;;17837:57;;;17766:441;;18235:17;3983:51118;;;-1:-1:-1;;;18235:69:97;;3983:51118;;;;;-1:-1:-1;;;;;3983:51118:97;;;18235:69;18298:4;18235:69;3983:51118;18235:69;;;:::i;:::-;;;;;;;;;;;18410:57;18235:69;;;3983:51118;18235:69;;;;17766:441;18314:82;;;17766:441;18410:57;3983:51118;;;18410:57;;;;;:::i;:::-;;;;3983:51118;;;;;;18314:82;18345:40;3983:51118;18345:40;3983:51118;18345:40;:::i;:::-;;3983:51118;18314:82;;18235:69;;;;;;;;;;;;;;:::i;:::-;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;17766:441:97;3983:51118;17915:48;;3983:51118;;-1:-1:-1;;19597:17:97;3983:51118;;;-1:-1:-1;;;19597:66:97;;19460:41;;3983:51118;;;;-1:-1:-1;;;;;3983:51118:97;;;19597:66;19657:4;19597:66;3983:51118;19597:66;;;:::i;:::-;;;;;;;;;;;;;;17911:296;19729:30;;;;;:::i;:::-;19762:11;3983:51118;19729:54;;;19725:139;;17911:296;17979:63;;17911:296;17766:441;;19725:139;19818:35;;;;:::i;:::-;19725:139;;;;19597:66;;;3983:51118;19597:66;;;;;;;;;3983:51118;19597:66;;;:::i;:::-;;;3983:51118;;;;;19597:66;;;;;;-1:-1:-1;19597:66:97;;17911:296;18063:51;;;-1:-1:-1;;18063:51:97;17766:441;18059:148;20122:17;3983:51118;;;-1:-1:-1;;;20122:48:97;;-1:-1:-1;;;;;3983:51118:97;;;;20122:48;;3983:51118;;;-1:-1:-1;3983:51118:97;;;;;;;;;;;20122:48;;;;;;;;;;;;18059:148;20122:65;;;;:::i;:::-;3983:51118;;-1:-1:-1;;;20246:31:97;;3983:51118;20216:2;20246:31;3983:51118;;;20246:31;;;;;;;;20473:37;20246:31;;20496:13;20246:31;20483:26;20246:31;;;;;18059:148;3983:51118;;;;689:66:57;;;;;;;20232:58:97;;3983:51118;20232:58;;;;;;;18059:148;20228:211;;;18059:148;20496:13;;:::i;:::-;20483:26;;:::i;:::-;20473:37;:::i;:::-;3983:51118;;;689:66:57;;;;;20544::97;;20604:4;;20544:66;20604:4;20544:66;3983:51118;20544:66;;;:::i;:::-;;;;;;;;;;;;;;18059:148;20648:30;;;;;:::i;:::-;18059:148;17766:441;;20544:66;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;20648:30;3983:51118;;20544:66;;;;;;;;;20228:211;3983:51118;;;;20228:211;;;20232:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;20246:31;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;20122:48:97;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;20122:65;3983:51118;;20122:48;;;;;;;3983:51118;;;;;;;;;;;;;1324:62:42;;:::i;:::-;2779:6;3983:51118:97;;-1:-1:-1;;;;;;3983:51118:97;;;;;;;-1:-1:-1;;;;;3983:51118:97;-1:-1:-1;;;;;;;;;;;3983:51118:97;;2827:40:42;3983:51118:97;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;17056:7;3983:51118;;:::i;:::-;16935:136;;:::i;:::-;17056:7;:::i;3983:51118::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;499:12:102;3983:51118:97;;:::i;:::-;5366:69:44;3983:51118:97;;;;;;5366:69:44;;;:::i;:::-;;:::i;499:12:102:-;3983:51118:97;;;;;;;;;;;;1704:19:96;3983:51118:97;;;1704:19:96;3983:51118:97;;;1756:17:96;;3983:51118:97;;1756:17:96;;3983:51118:97;;;;;;;;;:::i;:::-;1756:17:96;;;;;;;;;:::i;:::-;3983:51118:97;1746:28:96;;1733:41;3983:51118:97;;;;;;;;;;;;;;;;9377:46;3983:51118;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2089:6:61;-1:-1:-1;;;;;3983:51118:97;2080:4:61;2072:23;3983:51118:97;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;-1:-1:-1;3983:51118:97;;-1:-1:-1;;3983:51118:97;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;3983:51118:97;;;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:102;;:::i;:::-;1219:10;;3983:51118:97;;1208:21:102;1204:94;;-1:-1:-1;;;;;;;;;;;689:66:57;3983:51118:97;;;;;2993:17:57;;;;;;:::i;2906:504::-;3983:51118:97;;;;689:66:57;;;;3046:52;;;;;;3983:51118:97;3046:52:57;;;;3983:51118:97;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;3983:51118:97;;-1:-1:-1;;;3262:56:57;;3983:51118:97;3262:56:57;;689:66;;;;3983:51118:97;689:66:57;;3983:51118:97;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;3983:51118:97;1889:27:57;;3983:51118:97;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;3983:51118:97;;2204:112:57;7307:69:73;3983:51118:97;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;-1:-1:-1;;;3983:51118:97;;;;7265:25:73;;;;;;;;;3983:51118:97;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:73;:::i;:::-;;2204:112:57;;;;;3983:51118:97;;;-1:-1:-1;7307:69:73;:::i;2208:28:57:-;;3983:51118:97;2208:28:57;;689:66;3983:51118:97;;-1:-1:-1;;;689:66:57;;3983:51118:97;689:66:57;;;;;;3983:51118:97;689:66:57;;3983:51118:97;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;;3046:52;;;;;;;;;1204:94:102;1252:35;1279:7;;:::i;:::-;3983:51118:97;;-1:-1:-1;;;1252:35:102;;3983:51118:97;;;1219:10:102;3983:51118:97;1252:35:102;;;:::i;3983:51118:97:-;;;;;;;;;;;;;;4032:10:96;3983:51118:97;;;;;;;;;;;;;;;;;;;;;3833:10:96;3983:51118:97;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;;9937:76;3983:51118;;;;;;;;;;;;;9937:76;3983:51118;9937:76;;3983:51118;;9937:76;;;;3983:51118;9937:76;3983:51118;9937:76;;3983:51118;9937:76;3983:51118;9937:76;;3983:51118;9937:76;;3983:51118;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8449:2;3983:51118;;;;;;;;;;;;;;;;;3647:6:96;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;3983:51118:97;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:102;;:::i;:::-;1219:10;;3983:51118:97;;1208:21:102;1204:94;;3983:51118:97;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;689:66:57;3983:51118:97;2906:504:57;3983:51118:97;;;2993:17:57;;;;;;;;:::i;2906:504::-;3983:51118:97;;;;;;;;689:66:57;;;3046:52;;;;3983:51118:97;3046:52:57;;;;3983:51118:97;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;3983:51118:97;;-1:-1:-1;;;3262:56:57;;3983:51118:97;3262:56:57;;689:66;;;;;;;3983:51118:97;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;3983:51118:97;1889:27:57;;3983:51118:97;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;3983:51118:97;;2204:112:57;3983:51118:97;;7307:69:73;3983:51118:97;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;-1:-1:-1;;;3983:51118:97;;;;7265:25:73;;;;;;3983:51118:97;;;;;;;;:::i;7307:69:73:-;;2204:112:57;;;;;;2208:28;;3983:51118:97;2208:28:57;;689:66;3983:51118:97;;-1:-1:-1;;;689:66:57;;3983:51118:97;689:66:57;;;;;;;;;3983:51118:97;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;;3046:52;;;;;;;;;3983:51118:97;;;;;;;;;;;;;;;9136:47;3983:51118;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;8825:25;3983:51118;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;;;;51443:21;3983:51118;;;;;;;;;;51529:9;3983:51118;;;;;51636:32;;;;3983:51118;;;51618:17;3983:51118;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51684:15;;51680:82;;51775:23;;;3983:51118;;;;;;;;;;;:::i;:::-;51775:65;51771:134;;51950:37;;;3983:51118;;;51950:77;;;:::i;:::-;51932:15;:95;52042:10;;;;;:64;;3983:51118;52038:118;;52170:25;;;3983:51118;52166:2003;;;3983:51118;;;52215:35;52211:102;;3983:51118;;;52330:35;;;;52326:136;;52166:2003;52479:35;;52475:304;;52166:2003;3983:51118;;;52792:15;3983:51118;;52856:31;;;;;3983:51118;;;;52792:154;;;;;;3983:51118;52792:154;3983:51118;;;;;;;689:66:57;;;;;;;;;;52792:154:97;;3983:51118;52792:154;;;:::i;:::-;;;;;;;;;;;;;;52166:2003;;;;54179:14;3983:51118;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;54266:56;3983:51118;;;;;;;;;;;;;;;;;54179:14;3983:51118;54203:30;51932:15;54203:30;;3983:51118;;;;;;;;;;54266:56;3983:51118;;;-1:-1:-1;;;3983:51118:97;;;;;;;;52792:154;;;;:::i;:::-;3983:51118;;52792:154;;;;;3983:51118;;;52475:304;52560:38;3983:51118;;;;;;;;;52616:15;3983:51118;;52684:18;3983:51118;52684:18;;3983:51118;;;;52616:148;;;;;;3983:51118;;;52616:148;3983:51118;;;;689:66:57;;;;;;;;;52616:148:97;;;3983:51118;52616:148;;;:::i;:::-;;;;;;;;;;;;;52475:304;52616:148;;;;:::i;:::-;3983:51118;;52616:148;;52475:304;;52616:148;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;52616:148:97;3983:51118;;;52326:136;3983:51118;;-1:-1:-1;;3983:51118:97;;;;52326:136;;;52211:102;3983:51118;;-1:-1:-1;;;52277:21:97;;3983:51118;;52277:21;52166:2003;3983:51118;;;;;;;52967:12;;;52963:1206;3983:51118;;;;;;;;;;;;;;53071:15;3983:51118;;;53154:31;;;;3983:51118;;;;;53211:17;3983:51118;;;;689:66:57;;;;;;;53211:31:97;;;;;;;;;;;;;52963:1206;3983:51118;;53071:247;;;;;3983:51118;;-1:-1:-1;;;53071:247:97;;3983:51118;;;;;;;;;;;;53071:247;;3983:51118;;;;53071:247;;;:::i;:::-;;;;;;;;;;;;;;52963:1206;;;52166:2003;;53071:247;;;;:::i;:::-;3983:51118;;53071:247;;;;53211:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;52963:1206:97;53339:12;;;;3983:51118;53339:12;53335:834;;52963:1206;;;;;;52166:2003;;53335:834;53393:38;3983:51118;;;;;;;;53445:15;3983:51118;;53509:31;;;;3983:51118;;;;;;;53445:154;;;;;;3983:51118;;;53445:154;3983:51118;;;;689:66:57;;;;;;;;;53445:154:97;;;3983:51118;53445:154;;;:::i;:::-;;;;;;;;;;;;;;53335:834;3983:51118;;;53445:15;3983:51118;;53696:18;3983:51118;;53696:18;;3983:51118;;;;;;;;53740:17;3983:51118;;;;689:66:57;;;;;;;53740:31:97;;;;;;;;;;;;;53335:834;3983:51118;53808:30;3983:51118;;;51618:17;3983:51118;;;;;;53790:75;3983:51118;;;53613:270;;;;;;3983:51118;;;53613:270;3983:51118;;;;;689:66:57;;;;;;;;;;53613:270:97;;;;3983:51118;53613:270;;3983:51118;53613:270;;;:::i;:::-;;;;;;;;;;;;;;53335:834;3983:51118;;;;;53445:15;3983:51118;;;;;;;;;53808:30;3983:51118;;;51618:17;3983:51118;;;;;;54065:75;3983:51118;;;53897:261;;;;;3983:51118;;;;;53897:261;3983:51118;;;;53897:261;;;;;;;;;3983:51118;53897:261;;;:::i;:::-;;;;;;;;;;;;;;53335:834;;;;;;53897:261;;;;:::i;:::-;3983:51118;;53897:261;;;;;3983:51118;;;53613:270;;;;:::i;:::-;3983:51118;;53613:270;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;53613:270:97;3983:51118;;;53740:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;53445:154:97;;;;:::i;:::-;3983:51118;;53445:154;;;;3983:51118;;;;52170:25;3983:51118;;;52183:12;52170:25;;52038:118;3983:51118;;-1:-1:-1;;;52129:16:97;;3983:51118;;52129:16;52042:64;3983:51118;;;;;52056:10;:50;;52042:64;;51771:134;3983:51118;;-1:-1:-1;;;51863:31:97;;3983:51118;51863:31;;3983:51118;;;;;51863:31;51680:82;3983:51118;;-1:-1:-1;;;51722:29:97;;3983:51118;51722:29;;3983:51118;;;;;51722:29;3983:51118;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;:::i;:::-;;;18605:7;;;:::i;:::-;3983:51118;18745:11;3983:51118;;;;;;;;;;18760:36;18745:51;;:103;;;;;3983:51118;-1:-1:-1;18741:298:97;;;18864:65;-1:-1:-1;;;;;;;;;;;18864:65:97;3983:51118;18864:65;18741:298;;19048:40;3983:51118;19048:40;3983:51118;19048:40;:::i;:::-;;3983:51118;19103:59;3983:51118;;;19103:59;;;;;:::i;18741:298::-;21084:17;3983:51118;;;-1:-1:-1;;;21084:31:97;;3983:51118;;;-1:-1:-1;;;;;3983:51118:97;;;;21054:2;;3983:51118;;;;;;21084:31;;;;;;;;;;;;;;;18741:298;3983:51118;;;;689:66:57;;;;;;;21070:58:97;;3983:51118;21070:58;;;;;;;18741:298;21066:211;;;18741:298;-1:-1:-1;3983:51118:97;;-1:-1:-1;;;21372:48:97;;3983:51118;;;;21372:48;;3983:51118;21372:48;3983:51118;;;21372:48;;;;;;;;;;;;;;;18741:298;21372:67;;21556:13;21372:67;21540:29;21372:67;21530:40;21372:67;;:::i;:::-;21556:13;;:::i;21530:40::-;3983:51118;;;;689:66:57;;;;;21607::97;;21667:4;;21607:66;21667:4;21607:66;3983:51118;21607:66;;;:::i;:::-;;;;;;;;;;;;;18741:298;21607:83;;;;-1:-1:-1;;;;;;;;;;;21607:83:97;3983:51118;21607:83;;:::i;:::-;18741:298;;;21607:66;;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;;21607:83;-1:-1:-1;;;;;;;;;;;21607:66:97;;;;;;;;3983:51118;;689:66:57;;;;;;;;21372:48:97;;;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;;;21556:13;21372:48;;;;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;21066:211:97;3983:51118;;;-1:-1:-1;21066:211:97;;;21070:58;;;;;;;;;;;;;;;:::i;:::-;;;;;21084:31;;;;;;;;;;;;;;:::i;:::-;;;;18745:103;3983:51118;18800:48;;;18745:103;;;3983:51118;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;:::i;:::-;2245:64:96;;;;:::i;:::-;3110:78;;:::i;:::-;13790:26:97;;;:::i;:::-;13789:27;13785:90;;3983:51118;;13992:50;;;;3983:51118;;;;;;;;13992:50;;;3983:51118;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;13992:50;;;;3983:51118;;;;:::i;:::-;;;;;;;;;14157:20;14153:78;;3983:51118;14307:12;3983:51118;;;;;;;;;;14307:51;;;14303:764;;3983:51118;-1:-1:-1;15120:30:97;3983:51118;;;15102:17;3983:51118;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;15094:83;;;:190;;3983:51118;15077:390;;3983:51118;15498:17;;3983:51118;15498:17;:::i;:::-;3983:51118;;15498:17;3983:51118;;;;15561:9;3983:51118;;;;;;;;;;15628:11;;;;3983:51118;;;;;;;;;;;;;;;;;;;;15659:13;;3983:51118;;;;;;;;;;15705:16;;;3983:51118;;;;;;;;15757:17;;;3983:51118;15862:16;;;3983:51118;;;;;;;;;15941:12;15927:11;;;3983:51118;15963:16;3983:51118;15963:16;;3983:51118;16042:17;3983:51118;;;16029:10;;;3983:51118;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16069:25;15120:30;3983:51118;16069:25;;3983:51118;;;16137:15;3983:51118;;;;;16137:76;;;;;;;3983:51118;;;;;689:66:57;;;;;;;;16137:76:97;;;3983:51118;16137:76;;;:::i;:::-;;16178:9;;16137:76;;;;;;;;;3983:51118;;;16229:35;3983:51118;16245:6;3983:51118;;;;;;;;;;;16229:35;3983:51118;;;;;;;16137:76;;;;;:::i;:::-;3983:51118;;16137:76;;;3983:51118;;;;-1:-1:-1;3983:51118:97;;;;;;;;;;;;1756:17:96;3983:51118:97;-1:-1:-1;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:97;;;;;;;;;;;;;;15628:11;3983:51118;;;;;;;;;;;;15628:11;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:97;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;15077:390;15367:75;3983:51118;15367:75;;3983:51118;;;15316:140;;;;;;15356:9;3983:51118;15316:140;;3983:51118;;;;;15316:140;15094:190;15209:75;;;;3983:51118;15197:9;:87;15094:190;;14303:764;3983:51118;;-1:-1:-1;;;;;3983:51118:97;;14393:20;;3983:51118;;14393:20;:::i;:::-;3983:51118;;;;14480:37;14476:102;;3983:51118;;-1:-1:-1;;;14605:14:97;;3983:51118;14605:4;3983:51118;;;14605:4;:14;;;;;;;;;;;;;;;;14303:764;3983:51118;;;;;;689:66:57;;;;;;;;14658:30:97;;3983:51118;14658:30;;3983:51118;;14658:30;;;;;;;;;;;14303:764;3983:51118;;;;;;14733:10;;3983:51118;;14706:37;14702:235;;14954:41;3983:51118;;14954:41;:::i;:::-;14950:107;;14303:764;;;14950:107;3983:51118;;-1:-1:-1;;;15022:20:97;;3983:51118;;15022:20;14702:235;3983:51118;;-1:-1:-1;;;14905:17:97;;3983:51118;;14905:17;14658:30;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;14605:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;;;;;;;;14605:14;;;;;3983:51118;14605:14;;;;;;;14476:102;3983:51118;;-1:-1:-1;;;14544:19:97;;3983:51118;;14544:19;3983:51118;-1:-1:-1;;;3983:51118:97;;;;;;;;14153:78;3983:51118;;-1:-1:-1;;;14200:20:97;;3983:51118;;14200:20;3983:51118;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;;;9875:56;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;9050:39;3983:51118;9050:39;3983:51118;9050:39;3983:51118;9050:39;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16911:10;;;:::i;3983:51118::-;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;3301:14:44;3347:34;;;;;;3983:51118:97;3346:108:44;;;;3983:51118:97;;;;-1:-1:-1;;3983:51118:97;;3551:1:44;3983:51118:97;;;;3562:65:44;;3983:51118:97;;499:12:102;3983:51118:97;;;;;;:::i;:::-;;;;-1:-1:-1;;;3983:51118:97;;;;5366:69:44;3983:51118:97;;;;;;5366:69:44;;;:::i;499:12:102:-;3983:51118:97;;;;;;;;;;;;;;;;1704:19:96;3983:51118:97;;;1704:19:96;3983:51118:97;;;1756:17:96;;3983:51118:97;;1756:17:96;;3983:51118:97;;;;;;;;;:::i;1756:17:96:-;3983:51118:97;1746:28:96;;1733:41;3983:51118:97;;;10431:50;3983:51118;;;10431:50;3983:51118;3647:99:44;;3983:51118:97;;3647:99:44;3983:51118:97;;;;;;;3721:14:44;3983:51118:97;;;3551:1:44;3983:51118:97;;3721:14:44;3983:51118:97;;3562:65:44;-1:-1:-1;;3983:51118:97;;;;;3562:65:44;;;3983:51118:97;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;3346:108:44;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;3983:51118:97;3452:1:44;3983:51118:97;;;3436:17:44;3346:108;;3347:34;3983:51118:97;3380:1:44;3983:51118:97;;;3365:16:44;3347:34;;3983:51118:97;;;;;;;;;;;;;3475:4:96;3983:51118:97;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;8924:45;3983:51118;;;;;;;;;;;;;;;;;;;;;;;8138:8;3983:51118;;;;;;;;;;;;;;;;;8888:30;3983:51118;;;;;;;;;;;;;;;;;;;;9430:39;3983:51118;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;2245:64:96;;:::i;:::-;3110:78;;:::i;:::-;3983:51118:97;;23508:17;23504:76;;3983:51118;;;;23611:28;;3983:51118;;;;;23611:28;3983:51118;23654:15;;;23650:77;;3983:51118;;;23779:9;3983:51118;;;;;;;23815:12;3983:51118;;;;;;;;;23815:51;23811:1411;;3983:51118;;;23811:1411;3983:51118;;;23886:33;23882:108;;3983:51118;24008:24;;3983:51118;;;24035:10;3983:51118;24008:37;;;;24004:152;;24174:23;;;;;3983:51118;;;;;;;;;:::i;:::-;24174:63;24170:138;;24347:36;;;:::i;:::-;3983:51118;;;24417:44;;;;:::i;:::-;-1:-1:-1;24480:58:97;;;23811:1411;24476:137;;3983:51118;;;;;;;;24652:4;3983:51118;;;24665:6;3983:51118;;;;689:66:57;;;;;;;24652:20:97;;3983:51118;24652:20;;3983:51118;24652:20;;;;;;;;3983:51118;24652:20;;;;;;;23811:1411;3983:51118;24687:38;3983:51118;24035:10;3983:51118;24687:38;:::i;:::-;24035:10;3983:51118;24763:10;3983:51118;;24775:20;3983:51118;24775:20;;3983:51118;;;;;;;;6815:16:10;4445:42:9;6815:16:10;;6811:173;4445:42:9;;;2570:369:14;;;;;;;;;;;6811:173:10;3983:51118:97;;;;;;;;;;24995:18;3983:51118;24915:15;3983:51118;;24995:18;;3983:51118;;;25049:30;3983:51118;;;25031:17;3983:51118;;25031:75;3983:51118;;;25031:75;3983:51118;24915:205;;;;;;3983:51118;;;24915:205;3983:51118;;;;689:66:57;;;;;;;;;24915:205:97;;;3983:51118;24915:205;;;:::i;:::-;;;;;;;;;;;6811:173:10;3983:51118:97;25140:71;3983:51118;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;;;;;25140:71;;;;;:::i;:::-;;;;23811:1411;;;3983:51118;;;24915:205;;-1:-1:-1;;;;;;;;;;;24915:205:97;;25140:71;24915:205;;:::i;:::-;;;;;;2570:369:14;;;;3983:51118:97;2570:369:14;;6811:173:10;11581:1056:14;;;3983:51118:97;11581:1056:14;3983:51118:97;11581:1056:14;;;;;;;;;;;;;;3983:51118:97;11581:1056:14;;;;;;;;;;;6811:173:10;;11581:1056:14;;;;3983:51118:97;11581:1056:14;;24652:20:97;24687:38;24652:20;;;;;;;;;;;;;;:::i;:::-;;;;;24476:137;3983:51118;;-1:-1:-1;;;24565:33:97;;3983:51118;;24565:33;24480:58;24510:28;;;;24480:58;;24170:138;3983:51118;;;;24264:29;;;;;;3983:51118;24264:29;;3983:51118;24264:29;24004:152;3983:51118;;;;;24072:69;;;;;;3983:51118;24072:69;;3983:51118;;;;;;;;24072:69;23882:108;3983:51118;;23946:29;;;;;;3983:51118;23946:29;;3983:51118;23946:29;3983:51118;-1:-1:-1;;;3983:51118:97;;;;;;;;23650:77;3983:51118;;-1:-1:-1;;;23692:24:97;;3983:51118;;23692:24;23504:76;3983:51118;;-1:-1:-1;;;23548:21:97;;3983:51118;;23548:21;3983:51118;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;-1:-1:-1;3983:51118:97;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48901:9;;3983:51118;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;48668:250;;:::i;:::-;48901:9;:::i;3983:51118::-;;;;;;;;;;;;;;;31772:30;3983:51118;;;31754:17;3983:51118;;;;;;;;;;;;;31828:62;3983:51118;31828:62;;3983:51118;;31904:75;;;;3983:51118;31993:76;3983:51118;31993:76;;3983:51118;32160:70;3983:51118;32083:63;;3983:51118;32160:70;;3983:51118;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11819:47:97;;;:87;;;;3983:51118;;;;;;;;;;11819:87;-1:-1:-1;;;937:40:77;;-1:-1:-1;11819:87:97;;;3983:51118;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;9573:60;3983:51118;;;;;;;;9573:60;3983:51118;9573:60;;3983:51118;9573:60;;;3983:51118;9573:60;3983:51118;9573:60;;3983:51118;;;;;;;9573:60;;3983:51118;;;;;;;9573:60;;;3983:51118;;;;;;;9573:60;;;3983:51118;;9573:60;;;;3983:51118;9573:60;3983:51118;9573:60;;;3983:51118;;9573:60;;;;;;:::i;:::-;3983:51118;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;-1:-1:-1;3983:51118:97;;;;9573:60;;;3983:51118;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;9573:60;;;3983:51118;9573:60;;;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;:::o;:::-;-1:-1:-1;;;;;3983:51118:97;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;:::o;:::-;1756:17:96;3983:51118:97;;;-1:-1:-1;;3983:51118:97;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:97;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;-1:-1:-1;3983:51118:97;;;;-1:-1:-1;3983:51118:97;;-1:-1:-1;3983:51118:97;;;;;;;-1:-1:-1;3983:51118:97;;-1:-1:-1;3983:51118:97;;-1:-1:-1;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:97;;;;;;;-1:-1:-1;;3983:51118:97;;;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:97;;-1:-1:-1;3983:51118:97;;;-1:-1:-1;3983:51118:97;;-1:-1:-1;3983:51118:97;;;-1:-1:-1;3983:51118:97;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:97;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1756:17:96;3983:51118:97;-1:-1:-1;;3983:51118:97;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;:::o;:::-;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;1756:17:96;3983:51118:97;-1:-1:-1;;3983:51118:97;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:97;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;3983:51118:97;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;3983:51118:97;;-1:-1:-1;3983:51118:97;;;-1:-1:-1;3983:51118:97;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;:::o;1620:130:42:-;1683:7;;:::i;:::-;965:10:48;-1:-1:-1;;;;;3983:51118:97;;;1683:23:42;3983:51118:97;;1620:130:42:o;3983:51118:97:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;3983:51118:97;;-1:-1:-1;;;;;3983:51118:97;;;-1:-1:-1;;;;;;3983:51118:97;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;3983:51118:97:-;;;;:::o;:::-;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;-1:-1:-1;;;3983:51118:97;;;;;;;1406:259:57;1702:19:73;;:23;3983:51118:97;;-1:-1:-1;;;;;;;;;;;3983:51118:97;;-1:-1:-1;;;;;;3983:51118:97;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;1406:259:57:o;3983:51118:97:-;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;7671:628:73;;;;7875:418;;;3983:51118:97;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;3983:51118:97;;8201:17:73;:::o;3983:51118:97:-;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;7875:418:73;3983:51118:97;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;3983:51118:97;;-1:-1:-1;;;9324:20:73;;3983:51118:97;9324:20:73;;;3983:51118:97;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;9469:119:96;9553:4;3983:51118:97;-1:-1:-1;;;;;3983:51118:97;9531:10:96;:27;9527:54;;9469:119::o;9527:54::-;3983:51118:97;;-1:-1:-1;;;9567:14:96;;;;;10458:113;10527:6;3983:51118:97;10527:11:96;10523:41;;10458:113::o;10523:41::-;3983:51118:97;;-1:-1:-1;;;10547:17:96;;;;;3983:51118:97;-1:-1:-1;;3983:51118:97;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;3983:51118:97;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:66:57;;3983:51118:97;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;689:66:57;3983:51118:97;;;;;689:66:57;3983:51118:97;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;:::o;12653:141::-;-1:-1:-1;;;;;3983:51118:97;12735:22;12731:56;;12653:141::o;12731:56::-;3983:51118;;-1:-1:-1;;;12766:21:97;;;;;3983:51118;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;:::o;12980:238::-;13081:11;3983:51118;-1:-1:-1;;;;;3983:51118:97;13073:34;;13069:76;;13161:50;3983:51118;13161:50;3983:51118;;;689:66:57;;;;;;;;13161:50:97;;13205:4;13161:50;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;13161:50:97;;;13154:57;12980:238;:::o;13161:50::-;;;;;;;;;;;;;;:::i;:::-;3983:51118;;689:66:57;-1:-1:-1;689:66:57;;;;;13069:76:97;13123:11;;3983:51118;13123:11;:::o;12476:171::-;12567:17;3983:51118;-1:-1:-1;;;;;3983:51118:97;12545:10;:40;12541:100;;12476:171::o;12541:100::-;3983:51118;;-1:-1:-1;;;12608:22:97;;;;;3983:51118;;;;;;;;;;:::o;17077:359::-;17172:17;3983:51118;;;;-1:-1:-1;;;17172:66:97;;;;17077:359;3983:51118;;-1:-1:-1;;;;;;;3983:51118:97;17077:359;;3983:51118;;;17172:66;3983:51118;;17172:66;17232:4;17077:359;17172:66;;;;:::i;:::-;;;;;;;;;;;;;;17077:359;17148:90;3983:51118;;17148:90;3983:51118;17148:90;:::i;:::-;;3983:51118;17248:68;;;;;3983:51118;;;689:66:57;;;;;17248:68:97;;17232:4;;;17248:68;17232:4;17248:68;17172:66;17248:68;;;:::i;:::-;;;;;;;;;;;17077:359;3983:51118;;;;;27877:20;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27921:13;27961:3;3983:51118;;27936:23;;;;;28001:15;;27961:3;28001:15;;;:::i;:::-;3983:51118;;;;28073:9;3983:51118;;;;;28112:26;;;:::i;:::-;28108:455;;27961:3;;;;:::i;:::-;27921:13;;28108:455;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;-1:-1:-1;3983:51118:97;28181:26;;;3983:51118;;28524:23;3983:51118;-1:-1:-1;3983:51118:97;;;;;;28428:12;28291:21;;;3983:51118;28291:37;3983:51118;;;28291:37;:::i;:::-;3983:51118;;28346:27;;3983:51118;;;28346:27;:::i;:::-;3983:51118;;28428:12;;:::i;:::-;3983:51118;28524:23;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;28464:84;28108:455;;;;27936:23;;;;;;17403:26;27936:23;;;3983:51118;;;;17403:26;17077:359::o;3983:51118::-;;;;;;;;;;;;-1:-1:-1;3983:51118:97;;;;;;17248:68;;;;;;;:::i;:::-;;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;17172::97;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;17148:90;3983:51118;;17172:66;;;;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;6530:1642:80;6601:6;;6597:45;;8144:10;7344:7;6606:1;3983:51118:97;;8769:3:80;3983:51118:97;8760:16:80;8756:99;;6530:1642;3983:51118:97;;8881:2:80;3983:51118:97;8872:15:80;8868:96;;6530:1642;3983:51118:97;;8990:2:80;3983:51118:97;8981:15:80;8977:96;;6530:1642;3983:51118:97;;9099:2:80;3983:51118:97;9090:15:80;9086:96;;6530:1642;3983:51118:97;;9208:1:80;3983:51118:97;9199:14:80;9195:93;;6530:1642;3983:51118:97;;9314:1:80;3983:51118:97;9305:14:80;9301:93;;6530:1642;3983:51118:97;;9420:1:80;3983:51118:97;9411:14:80;9407:93;;6530:1642;9526:1;;3983:51118:97;;;;;;9513:64:80;;6530:1642;3983:51118:97;;7801:10:80;;;;:::i;:::-;3983:51118:97;;;7850:10:80;;;;:::i;:::-;3983:51118:97;;;7899:10:80;;;;:::i;:::-;3983:51118:97;;;7948:10:80;;;;:::i;:::-;3983:51118:97;;;7997:10:80;;;;:::i;:::-;3983:51118:97;;;8046:10:80;;;;:::i;:::-;3983:51118:97;;;8095:10:80;;;;:::i;:::-;3983:51118:97;;;8144:10:80;;;:::i;:::-;672:5;;;;;;:13;6530:1642;:::o;672:13::-;;;6530:1642;:::o;9513:64::-;3983:51118:97;9513:64:80;;;9407:93;9420:1;9445:11;;3983:51118:97;;9407:93:80;;;;9301;9314:1;9339:11;;3983:51118:97;;9301:93:80;;;;9195;9208:1;9233:11;;3983:51118:97;;9195:93:80;;;;9086:96;9099:2;9125:12;;3983:51118:97;;9086:96:80;;;;8977;8990:2;9016:12;;3983:51118:97;;8977:96:80;;;;8868;8881:2;8907:12;;3983:51118:97;;8868:96:80;;;;8756:99;8796:13;;;8769:3;8756:99;;;;6597:45;6623:8;6606:1;6623:8;:::o;3983:51118:97:-;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;32644:193::-;-1:-1:-1;3983:51118:97;32743:9;3983:51118;;;-1:-1:-1;3983:51118:97;;;32743:37;;:87;;;;32736:94;32644:193;:::o;32743:87::-;32784:32;;3983:51118;-1:-1:-1;;;;;3983:51118:97;32784:46;;;32644:193;-1:-1:-1;32644:193:97:o;32843:191::-;32973:30;:8;3983:51118;32993:10;3983:51118;32973:30;;:::i;:::-;8138:8;3983:51118;;;;;;;;;;;;;;;32973:54;;32843:191;:::o;3983:51118::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;38087:284::-;38207:25;;;;:::i;:::-;38247:10;38256:1;38247:10;;38243:90;;38342:22;;38087:284;:::o;38243:90::-;3983:51118;;;;;38280:42;;;;;;;;;3983:51118;;;;;;;;;38280:42;38788:1191;;;39325:14;3983:51118;8138:8;;3983:51118;;;39343:3;3983:51118;;39319:36;3983:51118;8196:35;;42973:12;;;;3983:51118;;;43076:17;;43103:215;43110:5;;;39851:21;;;;;;:::i;:::-;3983:51118;;;;;;;;;;;;;;;;;;;;;;;39878:38;;;:::i;:::-;3983:51118;;;;;;;;39850:91;39877:63;;;;:::i;:::-;39850:91;;:::i;:::-;-1:-1:-1;;;3983:51118:97;;;;-1:-1:-1;3983:51118:97;;39343:3;3983:51118;38788:1191;:::o;43103:215::-;3983:51118;;43135:5;;;43139:1;;43169:10;;;;:::i;:::-;3983:51118;;43131:177;;;43103:215;;;;43131:177;43253:16;;;;;;;:::i;:::-;3983:51118;-1:-1:-1;;3983:51118:97;;;;;;;43131:177;;;;3983:51118;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;40560:1549;40797:10;3983:51118;40797:15;;40793:66;;41299:33;;;:::i;:::-;41295:91;;41551:8;3983:51118;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;;;;;41586:41;41550:77;41586:41;41667:56;41586:41;;:::i;:::-;8138:8;3983:51118;;;41550:77;:::i;:::-;41702:13;3983:51118;41669:15;3983:51118;41688:3;3983:51118;;41702:13;;;:::i;:::-;3983:51118;;41667:56;;:::i;:::-;3983:51118;;;;;;;;;;;;;;;41737:14;3983:51118;;;;;;;;41664:136;41665:87;;;;:::i;:::-;43423:20;3983:51118;41664:136;;:::i;:::-;3983:51118;;42032:27;3983:51118;42019:40;;;:83;:40;;;:83;40560:1549;:::o;40793:66::-;3983:51118;;-1:-1:-1;;;40835:13:97;;;;;42370:277;;-1:-1:-1;;;42474:13:97;;;3983:51118;;42550:12;;3983:51118;;;42614:7;;;:::i;3983:51118::-;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:97;;;;;;;43640:424;;43830:56;43640:424;43830:56;;:::i;:::-;43900:15;;;;:35;;;43640:424;43896:72;;44020:24;43977:19;;;;3983:51118;44020:24;3983:51118;43640:424::o;43896:72::-;43951:7;;;:::o;43900:35::-;43919:16;;;43900:35;;44070:845;44308:12;44337:19;;;;3983:51118;44337:34;;;;3983:51118;;44386:34;;;44382:173;;44850:24;44764:33;44621:287;44764:33;;;:::i;:::-;44850:24;;3983:51118;44621:287;;:::i;:::-;44070:845;:::o;44382:173::-;44502:13;;;;-1:-1:-1;44502:13:97;-1:-1:-1;44502:13:97;:::o;3983:51118::-;;;;-1:-1:-1;3983:51118:97;;;;;-1:-1:-1;3983:51118:97;44921:2409;45111:30;;;;3983:51118;;45111:30;;;;-1:-1:-1;;;;;3983:51118:97;-1:-1:-1;;3983:51118:97;;45111:44;;;;;:99;;44921:2409;45111:1027;;;44921:2409;45094:2158;;;44921:2409;3983:51118;;;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:97;;47262:20;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;47297:26;44921:2409::o;45094:2158::-;46202:30;3983:51118;;;46184:17;3983:51118;;;;;;;46184:62;3983:51118;46184:62;;3983:51118;;;;;;;;46184:96;;;;;;:212;;;45094:2158;46163:522;;;;45094:2158;3983:51118;;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:97;;;;-1:-1:-1;;;;;;;;;;;3983:51118:97;;46699:32;46202:30;3983:51118;46699:32;:::i;:::-;3983:51118;46202:30;3983:51118;;;46184:17;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46202:30;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46834:407;45094:2158;;;;;;46163:522;3983:51118;;;;46429:73;;;;;;3983:51118;;;;;;;689:66:57;;;;;;;;46429:73:97;;;;;3983:51118;46429:73;;;;;;;-1:-1:-1;;;;;;;;;;;46429:73:97;;3983:51118;46429:73;-1:-1:-1;;;;;;;;;;;46429:73:97;;;3983:51118;46429:73;3983:51118;46429:73;;;;46163:522;3983:51118;46525:145;3983:51118;;;;;;;;;;;;;46576:4;;3983:51118;;;;;;;;;46525:145;46163:522;;;;;;;;;;;;;;46429:73;;;;:::i;:::-;;;;;3983:51118;;689:66:57;3983:51118:97;;689:66:57;;;;46184:212:97;3983:51118;;;;;;;;;46304:92;;46184:212;;;;45111:1027;45304:30;3983:51118;;;45286:17;3983:51118;;;;;;45286:62;;3983:51118;;;45252:96;;;;;;-1:-1:-1;45252:216:97;;45111:1027;45252:394;;;;45111:1027;45252:574;;;;45111:1027;45252:700;;;;45111:1027;45252:868;;;;45111:1027;;;;;45252:868;45980:38;;46050:70;3983:51118;45980:38;;3983:51118;46050:70;;3983:51118;45980:140;;45252:868;;;:700;45854:31;;;3983:51118;45889:63;;;3983:51118;45854:98;;;-1:-1:-1;45252:700:97;;:574;45674:44;;;3983:51118;45750:76;;;3983:51118;45674:152;;;-1:-1:-1;45252:574:97;;:394;3983:51118;45496:43;;3983:51118;45571:75;;;3983:51118;45496:150;;;-1:-1:-1;45252:394:97;;:216;3983:51118;;;;;;;;;;45376:92;;45252:216;;;45111:99;3983:51118;;;;45159:51;;;-1:-1:-1;45111:99:97;;47336:639;3983:51118;-1:-1:-1;3983:51118:97;47476:9;3983:51118;;;-1:-1:-1;3983:51118:97;;;;;47512:33;47508:100;;47906:21;;;;47945:23;47906:21;;3983:51118;47906:21;;:::i;:::-;47945:23;3983:51118;47336:639;:::o;47508:100::-;3983:51118;;;;23946:29;;;;47568;;;;;3983:51118;47568:29;12800:174;12885:17;3983:51118;;;-1:-1:-1;;;12885:31:97;;-1:-1:-1;;;;;3983:51118:97;12885:31;;3983:51118;;12885:31;;3983:51118;;;;12885:31;;;;;;;-1:-1:-1;12885:31:97;;;12800:174;3983:51118;;12863:10;:54;12859:109;;12800:174::o;12859:109::-;3983:51118;;-1:-1:-1;;;12940:17:97;;12885:31;;12940:17;12885:31;;;;;;;;;;;;;;:::i;:::-;;;;3983:51118;;;;;;;;;;;;;-1:-1:-1;3983:51118:97;;;;;;1756:17:96;3983:51118:97;-1:-1:-1;;3983:51118:97;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:97;;;;;;;;;;;;;;;;;;;;;;;:::o;525:604:102:-;1534:6:42;3983:51118:97;-1:-1:-1;;;;;3983:51118:97;707:33:102;;;;822:19;:::o;703:420::-;3983:51118:97;;-1:-1:-1;;;876:40:102;;;3983:51118:97;876:40:102;3983:51118:97;876:40:102;;;-1:-1:-1;;876:40:102;;;703:420;-1:-1:-1;872:241:102;;1079:19;;:::o;876:40::-;;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118:97;;;;;;;;:::i;:::-;876:40:102;;;;;;;-1:-1:-1;876:40:102;","linkReferences":{},"immutableReferences":{"54869":[{"start":8675,"length":32},{"start":8909,"length":32},{"start":9748,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","DISPUTE_COOLDOWN_SEC()":"f5be3f7c","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","RULING_OPTIONS()":"626c47e8","VERSION()":"ffa1ad74","activatePoints()":"814516ad","allocate(bytes,address)":"ef2920fc","arbitrableConfigs(uint256)":"41bb7605","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","cancelProposal(uint256)":"e0a8f6f5","cloneNonce()":"33960459","collateralVault()":"0bece79c","currentArbitrableConfigVersion()":"125fd1d9","cvParams()":"2506b870","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","disputeCount()":"a28889e1","disputeIdToProposalId(uint256)":"255ffb38","disputeProposal(uint256,string,bytes)":"b41596ec","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getArbitrableConfig()":"059351cd","getDecay()":"9a1c157c","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address,address,address)":"184b9559","init(address,string,address)":"60d5dedc","initialize(address)":"c4d66de8","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","registryCommunity()":"6003e414","renounceOwnership()":"715018a6","rule(uint256,uint256)":"311a6c56","setCollateralVaultTemplate(address)":"b0d3713a","setPoolActive(bool)":"b5f620ce","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256))":"062f9ece","setSybilScorer(address)":"ac1ed7b9","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DefaultRulingNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_remainingSec\",\"type\":\"uint256\"}],\"name\":\"DisputeCooldownNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlySubmitter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotDisputed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentArbitrableConfigVersion\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"name\":\"ArbitrableConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"}],\"name\":\"CVParamsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_arbitrableDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_externalDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_templateId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_templateUri\",\"type\":\"string\"}],\"name\":\"DisputeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ProposalDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"}],\"name\":\"TribunaSafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_COOLDOWN_SEC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RULING_OPTIONS\",\"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\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"arbitrableConfigs\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"cancelProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVault\",\"outputs\":[{\"internalType\":\"contract ICollateralVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentArbitrableConfigVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cvParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputeIdToProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"disputeProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getArbitrableConfig\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.ProposalDisputeInfo\",\"name\":\"disputeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"lastDisputeCompletion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"CVStrategyV0_0\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeRequest(address,uint256,uint256,uint256,string)\":{\"details\":\"To be emitted when a dispute is created to link the correct meta-evidence to the disputeID.\",\"params\":{\"_arbitrableDisputeID\":\"The identifier of the dispute in the Arbitrable contract.\",\"_arbitrator\":\"The arbitrator of the contract.\",\"_externalDisputeID\":\"An identifier created outside Kleros by the protocol requesting arbitration.\",\"_templateId\":\"The identifier of the dispute template. Should not be used with _templateUri.\",\"_templateUri\":\"The URI to the dispute template. For example on IPFS: starting with '/ipfs/'. Should not be used with _templateId.\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrator\":\"The arbitrator giving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"arbitrableConfigVersion\":\"Proposal arbitrable config id\",\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\",\"voterStakedPoints\":\"Voter staked points\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string,address)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"rule(uint256,uint256)\":{\"details\":\"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.\",\"params\":{\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 is reserved for \\\"Not able/wanting to make a decision\\\".\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string,address)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"CVStrategyV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"ArbitratorCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"DefaultRulingNotSet"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_remainingSec","type":"uint256"}],"type":"error","name":"DisputeCooldownNotPassed"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[{"internalType":"uint256","name":"sentAmount","type":"uint256"},{"internalType":"uint256","name":"requiredAmount","type":"uint256"}],"type":"error","name":"InsufficientCollateral"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyArbitrator"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"OnlySubmitter"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotDisputed"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"currentArbitrableConfigVersion","type":"uint256","indexed":false},{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRuling","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256","indexed":false}],"type":"event","name":"ArbitrableConfigUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}],"indexed":false}],"type":"event","name":"CVParamsUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_arbitrableDisputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_externalDisputeID","type":"uint256","indexed":false},{"internalType":"uint256","name":"_templateId","type":"uint256","indexed":false},{"internalType":"string","name":"_templateUri","type":"string","indexed":false}],"type":"event","name":"DisputeRequest","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCancelled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"disputeId","type":"uint256","indexed":false},{"internalType":"address","name":"challenger","type":"address","indexed":false},{"internalType":"string","name":"context","type":"string","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ProposalDisputed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false}],"type":"event","name":"TribunaSafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DISPUTE_COOLDOWN_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RULING_OPTIONS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"arbitrableConfigs","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelProposal"},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVault","outputs":[{"internalType":"contract ICollateralVault","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentArbitrableConfigVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cvParams","outputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputeIdToProposalId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"context","type":"string"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"disputeProposal","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getArbitrableConfig","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum StrategyStruct.ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"struct StrategyStruct.ProposalDisputeInfo","name":"disputeInfo","type":"tuple","components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"disputeTimestamp","type":"uint256"},{"internalType":"address","name":"challenger","type":"address"}]},{"internalType":"uint256","name":"lastDisputeCompletion","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rule"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct StrategyStruct.CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"arbitrableConfigVersion":"Proposal arbitrable config id","beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold","voterStakedPoints":"Voter staked points"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string,address)":{"params":{"_allo":"Address of the Allo contract."}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"rule(uint256,uint256)":{"details":"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.","params":{"_disputeID":"The identifier of the dispute in the Arbitrator contract.","_ruling":"Ruling given by the arbitrator. Note that 0 is reserved for \"Not able/wanting to make a decision\"."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string,address)":{"notice":"Constructor to set the Allo contract and \"strategyId'."},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"CVStrategyV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":64729,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":64731,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":64733,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":64735,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":64737,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":65765,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":65767,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"surpressStateMutabilityWarning","offset":0,"slot":"107","type":"t_uint256"},{"astId":65769,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cloneNonce","offset":0,"slot":"108","type":"t_uint256"},{"astId":65771,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeCount","offset":0,"slot":"109","type":"t_uint64"},{"astId":65773,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalCounter","offset":0,"slot":"110","type":"t_uint256"},{"astId":65775,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"currentArbitrableConfigVersion","offset":0,"slot":"111","type":"t_uint256"},{"astId":65777,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalStaked","offset":0,"slot":"112","type":"t_uint256"},{"astId":65779,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalPointsActivated","offset":0,"slot":"113","type":"t_uint256"},{"astId":65782,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cvParams","offset":0,"slot":"114","type":"t_struct(CVParams)65491_storage"},{"astId":65785,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalType","offset":0,"slot":"118","type":"t_enum(ProposalType)65394"},{"astId":65788,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointSystem","offset":1,"slot":"118","type":"t_enum(PointSystem)65399"},{"astId":65791,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointConfig","offset":0,"slot":"119","type":"t_struct(PointSystemConfig)65468_storage"},{"astId":65794,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"registryCommunity","offset":0,"slot":"120","type":"t_contract(RegistryCommunityV0_0)71974"},{"astId":65797,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVault","offset":0,"slot":"121","type":"t_contract(ICollateralVault)72964"},{"astId":65800,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"sybilScorer","offset":0,"slot":"122","type":"t_contract(ISybilScorer)69416"},{"astId":65805,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposals","offset":0,"slot":"123","type":"t_mapping(t_uint256,t_struct(Proposal)65460_storage)"},{"astId":65809,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalVoterStakePct","offset":0,"slot":"124","type":"t_mapping(t_address,t_uint256)"},{"astId":65814,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedProposals","offset":0,"slot":"125","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":65818,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeIdToProposalId","offset":0,"slot":"126","type":"t_mapping(t_uint256,t_uint256)"},{"astId":65823,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfigs","offset":0,"slot":"127","type":"t_mapping(t_uint256,t_struct(ArbitrableConfig)65482_storage)"},{"astId":69063,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"128","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"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_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(IArbitrator)72931":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ICollateralVault)72964":{"encoding":"inplace","label":"contract ICollateralVault","numberOfBytes":"20"},"t_contract(ISybilScorer)69416":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_contract(RegistryCommunityV0_0)71974":{"encoding":"inplace","label":"contract RegistryCommunityV0_0","numberOfBytes":"20"},"t_enum(PointSystem)65399":{"encoding":"inplace","label":"enum StrategyStruct.PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)65419":{"encoding":"inplace","label":"enum StrategyStruct.ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)65394":{"encoding":"inplace","label":"enum StrategyStruct.ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"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_struct(ArbitrableConfig)65482_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)","numberOfBytes":"32","value":"t_struct(ArbitrableConfig)65482_storage"},"t_mapping(t_uint256,t_struct(Proposal)65460_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)65460_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(ArbitrableConfig)65482_storage":{"encoding":"inplace","label":"struct StrategyStruct.ArbitrableConfig","numberOfBytes":"192","members":[{"astId":65471,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)72931"},{"astId":65473,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"tribunalSafe","offset":0,"slot":"1","type":"t_address"},{"astId":65475,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitterCollateralAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65477,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challengerCollateralAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":65479,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRuling","offset":0,"slot":"4","type":"t_uint256"},{"astId":65481,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRulingTimeout","offset":0,"slot":"5","type":"t_uint256"}]},"t_struct(CVParams)65491_storage":{"encoding":"inplace","label":"struct StrategyStruct.CVParams","numberOfBytes":"128","members":[{"astId":65484,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxRatio","offset":0,"slot":"0","type":"t_uint256"},{"astId":65486,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"weight","offset":0,"slot":"1","type":"t_uint256"},{"astId":65488,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"decay","offset":0,"slot":"2","type":"t_uint256"},{"astId":65490,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"minThresholdPoints","offset":0,"slot":"3","type":"t_uint256"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)65468_storage":{"encoding":"inplace","label":"struct StrategyStruct.PointSystemConfig","numberOfBytes":"32","members":[{"astId":65467,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)65460_storage":{"encoding":"inplace","label":"struct StrategyStruct.Proposal","numberOfBytes":"544","members":[{"astId":65428,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65430,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":65432,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65434,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":65436,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":65438,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":65440,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":65442,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":65445,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)65419"},{"astId":65449,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":65452,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"},{"astId":65455,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeInfo","offset":0,"slot":"12","type":"t_struct(ProposalDisputeInfo)65426_storage"},{"astId":65457,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"lastDisputeCompletion","offset":0,"slot":"15","type":"t_uint256"},{"astId":65459,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfigVersion","offset":0,"slot":"16","type":"t_uint256"}]},"t_struct(ProposalDisputeInfo)65426_storage":{"encoding":"inplace","label":"struct StrategyStruct.ProposalDisputeInfo","numberOfBytes":"96","members":[{"astId":65421,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65423,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeTimestamp","offset":0,"slot":"1","type":"t_uint256"},{"astId":65425,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challenger","offset":0,"slot":"2","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":69065,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[65327],"CVStrategyV0_0":[69064],"Clone":[3002],"ERC165":[57022],"ERC20":[55747],"IAllo":[2610],"IArbitrable":[72827],"IArbitrator":[72931],"ICollateralVault":[72964],"IERC165":[57228],"IPointStrategy":[65390],"ISybilScorer":[69416],"Math":[58094],"Metadata":[3098],"OwnableUpgradeable":[52200],"PassportData":[69334],"RegistryCommunityV0_0":[71974],"StrategyStruct":[65512],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"42:55060:97","nodes":[{"id":65329,"nodeType":"PragmaDirective","src":"42:24:97","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65331,"nodeType":"ImportDirective","src":"68:71:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65330,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65334,"nodeType":"ImportDirective","src":"140:82:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":65332,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65333,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65336,"nodeType":"ImportDirective","src":"223:85:97","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":71975,"symbolAliases":[{"foreign":{"id":65335,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"231:21:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65339,"nodeType":"ImportDirective","src":"309:87:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":57023,"symbolAliases":[{"foreign":{"id":65337,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57022,"src":"317:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65338,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57228,"src":"325:7:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65341,"nodeType":"ImportDirective","src":"397:68:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":55748,"symbolAliases":[{"foreign":{"id":65340,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"405:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65343,"nodeType":"ImportDirective","src":"466:58:97","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":72932,"symbolAliases":[{"foreign":{"id":65342,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72931,"src":"474:11:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65345,"nodeType":"ImportDirective","src":"525:58:97","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":72828,"symbolAliases":[{"foreign":{"id":65344,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72827,"src":"533:11:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65347,"nodeType":"ImportDirective","src":"584:65:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":65346,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65349,"nodeType":"ImportDirective","src":"700:65:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":58095,"symbolAliases":[{"foreign":{"id":65348,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"708:4:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65352,"nodeType":"ImportDirective","src":"766:63:97","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":69417,"symbolAliases":[{"foreign":{"id":65350,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69416,"src":"774:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65351,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69334,"src":"788:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65354,"nodeType":"ImportDirective","src":"831:88:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":65353,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"839:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65356,"nodeType":"ImportDirective","src":"920:71:97","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":65328,"symbolAliases":[{"foreign":{"id":65355,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65327,"src":"928:23:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65358,"nodeType":"ImportDirective","src":"992:101:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":65357,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"1000:18:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65360,"nodeType":"ImportDirective","src":"1094:68:97","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":72965,"symbolAliases":[{"foreign":{"id":65359,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"1102:16:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65390,"nodeType":"ContractDefinition","src":"1164:358:97","nodes":[{"id":65365,"nodeType":"FunctionDefinition","src":"1195:52:97","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1204:16:97","parameters":{"id":65363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65362,"mutability":"mutable","name":"_member","nameLocation":"1229:7:97","nodeType":"VariableDeclaration","scope":65365,"src":"1221:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65361,"name":"address","nodeType":"ElementaryTypeName","src":"1221:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1220:17:97"},"returnParameters":{"id":65364,"nodeType":"ParameterList","parameters":[],"src":"1246:0:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65374,"nodeType":"FunctionDefinition","src":"1253:91:97","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1262:13:97","parameters":{"id":65370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65367,"mutability":"mutable","name":"_member","nameLocation":"1284:7:97","nodeType":"VariableDeclaration","scope":65374,"src":"1276:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65366,"name":"address","nodeType":"ElementaryTypeName","src":"1276:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65369,"mutability":"mutable","name":"_amountToStake","nameLocation":"1301:14:97","nodeType":"VariableDeclaration","scope":65374,"src":"1293:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65368,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1275:41:97"},"returnParameters":{"id":65373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65374,"src":"1335:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65371,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1334:9:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65383,"nodeType":"FunctionDefinition","src":"1350:92:97","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1359:13:97","parameters":{"id":65379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65376,"mutability":"mutable","name":"_member","nameLocation":"1381:7:97","nodeType":"VariableDeclaration","scope":65383,"src":"1373:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65375,"name":"address","nodeType":"ElementaryTypeName","src":"1373:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65378,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1398:15:97","nodeType":"VariableDeclaration","scope":65383,"src":"1390:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65377,"name":"uint256","nodeType":"ElementaryTypeName","src":"1390:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1372:42:97"},"returnParameters":{"id":65382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65383,"src":"1433:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65380,"name":"uint256","nodeType":"ElementaryTypeName","src":"1433:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1432:9:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65389,"nodeType":"FunctionDefinition","src":"1448:72:97","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1457:14:97","parameters":{"id":65384,"nodeType":"ParameterList","parameters":[],"src":"1471:2:97"},"returnParameters":{"id":65388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65387,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65389,"src":"1492:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65386,"nodeType":"UserDefinedTypeName","pathNode":{"id":65385,"name":"StrategyStruct.PointSystem","nameLocations":["1492:14:97","1507:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"1492:26:97"},"referencedDeclaration":65399,"src":"1492:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1491:28:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[65390],"name":"IPointStrategy","nameLocation":"1174:14:97","scope":69065,"usedErrors":[]},{"id":65512,"nodeType":"ContractDefinition","src":"1524:2413:97","nodes":[{"id":65394,"nodeType":"EnumDefinition","src":"1553:79:97","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":65391,"name":"Signaling","nameLocation":"1581:9:97","nodeType":"EnumValue","src":"1581:9:97"},{"id":65392,"name":"Funding","nameLocation":"1600:7:97","nodeType":"EnumValue","src":"1600:7:97"},{"id":65393,"name":"Streaming","nameLocation":"1617:9:97","nodeType":"EnumValue","src":"1617:9:97"}],"name":"ProposalType","nameLocation":"1558:12:97"},{"id":65399,"nodeType":"EnumDefinition","src":"1638:92:97","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":65395,"name":"Fixed","nameLocation":"1665:5:97","nodeType":"EnumValue","src":"1665:5:97"},{"id":65396,"name":"Capped","nameLocation":"1680:6:97","nodeType":"EnumValue","src":"1680:6:97"},{"id":65397,"name":"Unlimited","nameLocation":"1696:9:97","nodeType":"EnumValue","src":"1696:9:97"},{"id":65398,"name":"Quadratic","nameLocation":"1715:9:97","nodeType":"EnumValue","src":"1715:9:97"}],"name":"PointSystem","nameLocation":"1643:11:97"},{"id":65411,"nodeType":"StructDefinition","src":"1736:243:97","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":65401,"mutability":"mutable","name":"poolId","nameLocation":"1807:6:97","nodeType":"VariableDeclaration","scope":65411,"src":"1799:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65400,"name":"uint256","nodeType":"ElementaryTypeName","src":"1799:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65403,"mutability":"mutable","name":"beneficiary","nameLocation":"1831:11:97","nodeType":"VariableDeclaration","scope":65411,"src":"1823:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65402,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65405,"mutability":"mutable","name":"amountRequested","nameLocation":"1898:15:97","nodeType":"VariableDeclaration","scope":65411,"src":"1890:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65404,"name":"uint256","nodeType":"ElementaryTypeName","src":"1890:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65407,"mutability":"mutable","name":"requestedToken","nameLocation":"1931:14:97","nodeType":"VariableDeclaration","scope":65411,"src":"1923:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65406,"name":"address","nodeType":"ElementaryTypeName","src":"1923:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65410,"mutability":"mutable","name":"metadata","nameLocation":"1964:8:97","nodeType":"VariableDeclaration","scope":65411,"src":"1955:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65409,"nodeType":"UserDefinedTypeName","pathNode":{"id":65408,"name":"Metadata","nameLocations":["1955:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1955:8:97"},"referencedDeclaration":3098,"src":"1955:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1743:14:97","scope":65512,"visibility":"public"},{"id":65419,"nodeType":"EnumDefinition","src":"1985:391:97","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":65412,"name":"Inactive","nameLocation":"2015:8:97","nodeType":"EnumValue","src":"2015:8:97"},{"id":65413,"name":"Active","nameLocation":"2045:6:97","nodeType":"EnumValue","src":"2045:6:97"},{"id":65414,"name":"Paused","nameLocation":"2108:6:97","nodeType":"EnumValue","src":"2108:6:97"},{"id":65415,"name":"Cancelled","nameLocation":"2173:9:97","nodeType":"EnumValue","src":"2173:9:97"},{"id":65416,"name":"Executed","nameLocation":"2226:8:97","nodeType":"EnumValue","src":"2226:8:97"},{"id":65417,"name":"Disputed","nameLocation":"2277:8:97","nodeType":"EnumValue","src":"2277:8:97"},{"id":65418,"name":"Rejected","nameLocation":"2328:8:97","nodeType":"EnumValue","src":"2328:8:97"}],"name":"ProposalStatus","nameLocation":"1990:14:97"},{"id":65426,"nodeType":"StructDefinition","src":"2382:123:97","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":65421,"mutability":"mutable","name":"disputeId","nameLocation":"2427:9:97","nodeType":"VariableDeclaration","scope":65426,"src":"2419:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65420,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65423,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2454:16:97","nodeType":"VariableDeclaration","scope":65426,"src":"2446:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65422,"name":"uint256","nodeType":"ElementaryTypeName","src":"2446:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65425,"mutability":"mutable","name":"challenger","nameLocation":"2488:10:97","nodeType":"VariableDeclaration","scope":65426,"src":"2480:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65424,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2389:19:97","scope":65512,"visibility":"public"},{"id":65460,"nodeType":"StructDefinition","src":"2511:526:97","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":65428,"mutability":"mutable","name":"proposalId","nameLocation":"2545:10:97","nodeType":"VariableDeclaration","scope":65460,"src":"2537:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65427,"name":"uint256","nodeType":"ElementaryTypeName","src":"2537:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65430,"mutability":"mutable","name":"requestedAmount","nameLocation":"2573:15:97","nodeType":"VariableDeclaration","scope":65460,"src":"2565:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65429,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65432,"mutability":"mutable","name":"stakedAmount","nameLocation":"2606:12:97","nodeType":"VariableDeclaration","scope":65460,"src":"2598:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65431,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65434,"mutability":"mutable","name":"convictionLast","nameLocation":"2636:14:97","nodeType":"VariableDeclaration","scope":65460,"src":"2628:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65433,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65436,"mutability":"mutable","name":"beneficiary","nameLocation":"2668:11:97","nodeType":"VariableDeclaration","scope":65460,"src":"2660:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65435,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65438,"mutability":"mutable","name":"submitter","nameLocation":"2697:9:97","nodeType":"VariableDeclaration","scope":65460,"src":"2689:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65437,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65440,"mutability":"mutable","name":"requestedToken","nameLocation":"2724:14:97","nodeType":"VariableDeclaration","scope":65460,"src":"2716:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65439,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65442,"mutability":"mutable","name":"blockLast","nameLocation":"2756:9:97","nodeType":"VariableDeclaration","scope":65460,"src":"2748:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65441,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65445,"mutability":"mutable","name":"proposalStatus","nameLocation":"2790:14:97","nodeType":"VariableDeclaration","scope":65460,"src":"2775:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":65444,"nodeType":"UserDefinedTypeName","pathNode":{"id":65443,"name":"ProposalStatus","nameLocations":["2775:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"2775:14:97"},"referencedDeclaration":65419,"src":"2775:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":65449,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2842:17:97","nodeType":"VariableDeclaration","scope":65460,"src":"2814:45:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65448,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65446,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2814:27:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65447,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":65452,"mutability":"mutable","name":"metadata","nameLocation":"2901:8:97","nodeType":"VariableDeclaration","scope":65460,"src":"2892:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65451,"nodeType":"UserDefinedTypeName","pathNode":{"id":65450,"name":"Metadata","nameLocations":["2892:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2892:8:97"},"referencedDeclaration":3098,"src":"2892:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":65455,"mutability":"mutable","name":"disputeInfo","nameLocation":"2939:11:97","nodeType":"VariableDeclaration","scope":65460,"src":"2919:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":65454,"nodeType":"UserDefinedTypeName","pathNode":{"id":65453,"name":"ProposalDisputeInfo","nameLocations":["2919:19:97"],"nodeType":"IdentifierPath","referencedDeclaration":65426,"src":"2919:19:97"},"referencedDeclaration":65426,"src":"2919:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":65457,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2968:21:97","nodeType":"VariableDeclaration","scope":65460,"src":"2960:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65456,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65459,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"3007:23:97","nodeType":"VariableDeclaration","scope":65460,"src":"2999:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65458,"name":"uint256","nodeType":"ElementaryTypeName","src":"2999:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2518:8:97","scope":65512,"visibility":"public"},{"id":65465,"nodeType":"StructDefinition","src":"3043:126:97","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":65462,"mutability":"mutable","name":"proposalId","nameLocation":"3084:10:97","nodeType":"VariableDeclaration","scope":65465,"src":"3076:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65461,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65464,"mutability":"mutable","name":"deltaSupport","nameLocation":"3111:12:97","nodeType":"VariableDeclaration","scope":65465,"src":"3104:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65463,"name":"int256","nodeType":"ElementaryTypeName","src":"3104:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3050:15:97","scope":65512,"visibility":"public"},{"id":65468,"nodeType":"StructDefinition","src":"3175:89:97","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":65467,"mutability":"mutable","name":"maxAmount","nameLocation":"3248:9:97","nodeType":"VariableDeclaration","scope":65468,"src":"3240:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65466,"name":"uint256","nodeType":"ElementaryTypeName","src":"3240:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3182:17:97","scope":65512,"visibility":"public"},{"id":65482,"nodeType":"StructDefinition","src":"3270:249:97","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":65471,"mutability":"mutable","name":"arbitrator","nameLocation":"3316:10:97","nodeType":"VariableDeclaration","scope":65482,"src":"3304:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":65470,"nodeType":"UserDefinedTypeName","pathNode":{"id":65469,"name":"IArbitrator","nameLocations":["3304:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"3304:11:97"},"referencedDeclaration":72931,"src":"3304:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65473,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3344:12:97","nodeType":"VariableDeclaration","scope":65482,"src":"3336:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65472,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65475,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3374:25:97","nodeType":"VariableDeclaration","scope":65482,"src":"3366:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65474,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65477,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3417:26:97","nodeType":"VariableDeclaration","scope":65482,"src":"3409:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65476,"name":"uint256","nodeType":"ElementaryTypeName","src":"3409:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65479,"mutability":"mutable","name":"defaultRuling","nameLocation":"3461:13:97","nodeType":"VariableDeclaration","scope":65482,"src":"3453:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65478,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65481,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3492:20:97","nodeType":"VariableDeclaration","scope":65482,"src":"3484:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65480,"name":"uint256","nodeType":"ElementaryTypeName","src":"3484:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3277:16:97","scope":65512,"visibility":"public"},{"id":65491,"nodeType":"StructDefinition","src":"3525:132:97","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":65484,"mutability":"mutable","name":"maxRatio","nameLocation":"3559:8:97","nodeType":"VariableDeclaration","scope":65491,"src":"3551:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65483,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65486,"mutability":"mutable","name":"weight","nameLocation":"3585:6:97","nodeType":"VariableDeclaration","scope":65491,"src":"3577:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65485,"name":"uint256","nodeType":"ElementaryTypeName","src":"3577:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65488,"mutability":"mutable","name":"decay","nameLocation":"3609:5:97","nodeType":"VariableDeclaration","scope":65491,"src":"3601:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65487,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65490,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3632:18:97","nodeType":"VariableDeclaration","scope":65491,"src":"3624:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65489,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3532:8:97","scope":65512,"visibility":"public"},{"id":65511,"nodeType":"StructDefinition","src":"3663:272:97","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":65494,"mutability":"mutable","name":"cvParams","nameLocation":"3706:8:97","nodeType":"VariableDeclaration","scope":65511,"src":"3697:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65493,"nodeType":"UserDefinedTypeName","pathNode":{"id":65492,"name":"CVParams","nameLocations":["3697:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"3697:8:97"},"referencedDeclaration":65491,"src":"3697:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":65497,"mutability":"mutable","name":"proposalType","nameLocation":"3737:12:97","nodeType":"VariableDeclaration","scope":65511,"src":"3724:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65496,"nodeType":"UserDefinedTypeName","pathNode":{"id":65495,"name":"ProposalType","nameLocations":["3724:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":65394,"src":"3724:12:97"},"referencedDeclaration":65394,"src":"3724:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":65500,"mutability":"mutable","name":"pointSystem","nameLocation":"3771:11:97","nodeType":"VariableDeclaration","scope":65511,"src":"3759:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65499,"nodeType":"UserDefinedTypeName","pathNode":{"id":65498,"name":"PointSystem","nameLocations":["3759:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"3759:11:97"},"referencedDeclaration":65399,"src":"3759:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":65503,"mutability":"mutable","name":"pointConfig","nameLocation":"3810:11:97","nodeType":"VariableDeclaration","scope":65511,"src":"3792:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65502,"nodeType":"UserDefinedTypeName","pathNode":{"id":65501,"name":"PointSystemConfig","nameLocations":["3792:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":65468,"src":"3792:17:97"},"referencedDeclaration":65468,"src":"3792:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":65506,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3848:16:97","nodeType":"VariableDeclaration","scope":65511,"src":"3831:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":65505,"nodeType":"UserDefinedTypeName","pathNode":{"id":65504,"name":"ArbitrableConfig","nameLocations":["3831:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"3831:16:97"},"referencedDeclaration":65482,"src":"3831:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":65508,"mutability":"mutable","name":"registryCommunity","nameLocation":"3882:17:97","nodeType":"VariableDeclaration","scope":65511,"src":"3874:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65507,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65510,"mutability":"mutable","name":"sybilScorer","nameLocation":"3917:11:97","nodeType":"VariableDeclaration","scope":65511,"src":"3909:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65509,"name":"address","nodeType":"ElementaryTypeName","src":"3909:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3670:16:97","scope":65512,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[65512],"name":"StrategyStruct","nameLocation":"1532:14:97","scope":69065,"usedErrors":[]},{"id":69064,"nodeType":"ContractDefinition","src":"3983:51118:97","nodes":[{"id":65523,"nodeType":"ErrorDefinition","src":"4243:25:97","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4249:16:97","parameters":{"id":65522,"nodeType":"ParameterList","parameters":[],"src":"4265:2:97"}},{"id":65525,"nodeType":"ErrorDefinition","src":"4287:26:97","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4293:17:97","parameters":{"id":65524,"nodeType":"ParameterList","parameters":[],"src":"4310:2:97"}},{"id":65527,"nodeType":"ErrorDefinition","src":"4331:23:97","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4337:14:97","parameters":{"id":65526,"nodeType":"ParameterList","parameters":[],"src":"4351:2:97"}},{"id":65529,"nodeType":"ErrorDefinition","src":"4373:20:97","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4379:11:97","parameters":{"id":65528,"nodeType":"ParameterList","parameters":[],"src":"4390:2:97"}},{"id":65531,"nodeType":"ErrorDefinition","src":"4412:23:97","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4418:14:97","parameters":{"id":65530,"nodeType":"ParameterList","parameters":[],"src":"4432:2:97"}},{"id":65533,"nodeType":"ErrorDefinition","src":"4453:26:97","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4459:17:97","parameters":{"id":65532,"nodeType":"ParameterList","parameters":[],"src":"4476:2:97"}},{"id":65535,"nodeType":"ErrorDefinition","src":"4497:24:97","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4503:15:97","parameters":{"id":65534,"nodeType":"ParameterList","parameters":[],"src":"4518:2:97"}},{"id":65537,"nodeType":"ErrorDefinition","src":"4540:27:97","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4546:18:97","parameters":{"id":65536,"nodeType":"ParameterList","parameters":[],"src":"4564:2:97"}},{"id":65539,"nodeType":"ErrorDefinition","src":"4586:27:97","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4592:18:97","parameters":{"id":65538,"nodeType":"ParameterList","parameters":[],"src":"4610:2:97"}},{"id":65541,"nodeType":"ErrorDefinition","src":"4631:28:97","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4637:19:97","parameters":{"id":65540,"nodeType":"ParameterList","parameters":[],"src":"4656:2:97"}},{"id":65543,"nodeType":"ErrorDefinition","src":"4677:29:97","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4683:20:97","parameters":{"id":65542,"nodeType":"ParameterList","parameters":[],"src":"4703:2:97"}},{"id":65551,"nodeType":"ErrorDefinition","src":"4725:72:97","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4731:16:97","parameters":{"id":65550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65545,"mutability":"mutable","name":"_support","nameLocation":"4756:8:97","nodeType":"VariableDeclaration","scope":65551,"src":"4748:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65544,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65547,"mutability":"mutable","name":"_delta","nameLocation":"4773:6:97","nodeType":"VariableDeclaration","scope":65551,"src":"4766:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65546,"name":"int256","nodeType":"ElementaryTypeName","src":"4766:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":65549,"mutability":"mutable","name":"_result","nameLocation":"4788:7:97","nodeType":"VariableDeclaration","scope":65551,"src":"4781:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65548,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4747:49:97"}},{"id":65553,"nodeType":"ErrorDefinition","src":"4816:25:97","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4822:16:97","parameters":{"id":65552,"nodeType":"ParameterList","parameters":[],"src":"4838:2:97"}},{"id":65555,"nodeType":"ErrorDefinition","src":"4860:32:97","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4866:23:97","parameters":{"id":65554,"nodeType":"ParameterList","parameters":[],"src":"4889:2:97"}},{"id":65561,"nodeType":"ErrorDefinition","src":"4911:77:97","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4917:24:97","parameters":{"id":65560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65557,"mutability":"mutable","name":"pointsSupport","nameLocation":"4950:13:97","nodeType":"VariableDeclaration","scope":65561,"src":"4942:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65556,"name":"uint256","nodeType":"ElementaryTypeName","src":"4942:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65559,"mutability":"mutable","name":"pointsBalance","nameLocation":"4973:13:97","nodeType":"VariableDeclaration","scope":65561,"src":"4965:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65558,"name":"uint256","nodeType":"ElementaryTypeName","src":"4965:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4941:46:97"}},{"id":65563,"nodeType":"ErrorDefinition","src":"5008:28:97","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5014:19:97","parameters":{"id":65562,"nodeType":"ParameterList","parameters":[],"src":"5033:2:97"}},{"id":65565,"nodeType":"ErrorDefinition","src":"5054:31:97","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5060:22:97","parameters":{"id":65564,"nodeType":"ParameterList","parameters":[],"src":"5082:2:97"}},{"id":65569,"nodeType":"ErrorDefinition","src":"5103:45:97","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5109:17:97","parameters":{"id":65568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65567,"mutability":"mutable","name":"_proposalId","nameLocation":"5135:11:97","nodeType":"VariableDeclaration","scope":65569,"src":"5127:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65566,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:21:97"}},{"id":65573,"nodeType":"ErrorDefinition","src":"5167:45:97","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5173:17:97","parameters":{"id":65572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65571,"mutability":"mutable","name":"_proposalId","nameLocation":"5199:11:97","nodeType":"VariableDeclaration","scope":65573,"src":"5191:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65570,"name":"uint256","nodeType":"ElementaryTypeName","src":"5191:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5190:21:97"}},{"id":65579,"nodeType":"ErrorDefinition","src":"5231:68:97","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5237:25:97","parameters":{"id":65578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65575,"mutability":"mutable","name":"_proposalId","nameLocation":"5271:11:97","nodeType":"VariableDeclaration","scope":65579,"src":"5263:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65574,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65577,"mutability":"mutable","name":"index","nameLocation":"5292:5:97","nodeType":"VariableDeclaration","scope":65579,"src":"5284:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5262:36:97"}},{"id":65581,"nodeType":"ErrorDefinition","src":"5317:40:97","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5323:31:97","parameters":{"id":65580,"nodeType":"ParameterList","parameters":[],"src":"5354:2:97"}},{"id":65583,"nodeType":"ErrorDefinition","src":"5376:29:97","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5382:20:97","parameters":{"id":65582,"nodeType":"ParameterList","parameters":[],"src":"5402:2:97"}},{"id":65591,"nodeType":"ErrorDefinition","src":"5424:94:97","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5430:19:97","parameters":{"id":65590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65585,"mutability":"mutable","name":"_proposalId","nameLocation":"5458:11:97","nodeType":"VariableDeclaration","scope":65591,"src":"5450:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65584,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65587,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5479:16:97","nodeType":"VariableDeclaration","scope":65591,"src":"5471:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65586,"name":"uint256","nodeType":"ElementaryTypeName","src":"5471:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65589,"mutability":"mutable","name":"_poolAmount","nameLocation":"5505:11:97","nodeType":"VariableDeclaration","scope":65591,"src":"5497:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65588,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5449:68:97"}},{"id":65593,"nodeType":"ErrorDefinition","src":"5536:24:97","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5542:15:97","parameters":{"id":65592,"nodeType":"ParameterList","parameters":[],"src":"5557:2:97"}},{"id":65595,"nodeType":"ErrorDefinition","src":"5565:32:97","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5571:23:97","parameters":{"id":65594,"nodeType":"ParameterList","parameters":[],"src":"5594:2:97"}},{"id":65601,"nodeType":"ErrorDefinition","src":"5602:73:97","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5608:22:97","parameters":{"id":65600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65597,"mutability":"mutable","name":"sentAmount","nameLocation":"5639:10:97","nodeType":"VariableDeclaration","scope":65601,"src":"5631:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65596,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65599,"mutability":"mutable","name":"requiredAmount","nameLocation":"5659:14:97","nodeType":"VariableDeclaration","scope":65601,"src":"5651:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65598,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5630:44:97"}},{"id":65603,"nodeType":"ErrorDefinition","src":"5680:23:97","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5686:14:97","parameters":{"id":65602,"nodeType":"ParameterList","parameters":[],"src":"5700:2:97"}},{"id":65607,"nodeType":"ErrorDefinition","src":"5708:47:97","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5714:19:97","parameters":{"id":65606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65605,"mutability":"mutable","name":"_proposalId","nameLocation":"5742:11:97","nodeType":"VariableDeclaration","scope":65607,"src":"5734:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65604,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:21:97"}},{"id":65609,"nodeType":"ErrorDefinition","src":"5760:31:97","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5766:22:97","parameters":{"id":65608,"nodeType":"ParameterList","parameters":[],"src":"5788:2:97"}},{"id":65615,"nodeType":"ErrorDefinition","src":"5796:55:97","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5802:13:97","parameters":{"id":65614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65611,"mutability":"mutable","name":"submitter","nameLocation":"5824:9:97","nodeType":"VariableDeclaration","scope":65615,"src":"5816:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65610,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65613,"mutability":"mutable","name":"sender","nameLocation":"5843:6:97","nodeType":"VariableDeclaration","scope":65615,"src":"5835:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65612,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5815:35:97"}},{"id":65617,"nodeType":"ErrorDefinition","src":"5937:28:97","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5943:19:97","parameters":{"id":65616,"nodeType":"ParameterList","parameters":[],"src":"5962:2:97"}},{"id":65623,"nodeType":"ErrorDefinition","src":"5970:75:97","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5976:24:97","parameters":{"id":65622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65619,"mutability":"mutable","name":"_proposalId","nameLocation":"6009:11:97","nodeType":"VariableDeclaration","scope":65623,"src":"6001:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65618,"name":"uint256","nodeType":"ElementaryTypeName","src":"6001:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65621,"mutability":"mutable","name":"_remainingSec","nameLocation":"6030:13:97","nodeType":"VariableDeclaration","scope":65623,"src":"6022:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65620,"name":"uint256","nodeType":"ElementaryTypeName","src":"6022:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6000:44:97"}},{"id":65630,"nodeType":"EventDefinition","src":"6217:74:97","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6223:13:97","parameters":{"id":65629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65625,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6245:6:97","nodeType":"VariableDeclaration","scope":65630,"src":"6237:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65624,"name":"uint256","nodeType":"ElementaryTypeName","src":"6237:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65628,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6285:4:97","nodeType":"VariableDeclaration","scope":65630,"src":"6253:36:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":65627,"nodeType":"UserDefinedTypeName","pathNode":{"id":65626,"name":"StrategyStruct.InitializeParams","nameLocations":["6253:14:97","6268:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"6253:31:97"},"referencedDeclaration":65511,"src":"6253:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6236:54:97"}},{"id":65638,"nodeType":"EventDefinition","src":"6296:75:97","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6302:11:97","parameters":{"id":65637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65632,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6322:10:97","nodeType":"VariableDeclaration","scope":65638,"src":"6314:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65631,"name":"uint256","nodeType":"ElementaryTypeName","src":"6314:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65634,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6342:11:97","nodeType":"VariableDeclaration","scope":65638,"src":"6334:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65633,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65636,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6363:6:97","nodeType":"VariableDeclaration","scope":65638,"src":"6355:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65635,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6313:57:97"}},{"id":65644,"nodeType":"EventDefinition","src":"6376:58:97","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6382:15:97","parameters":{"id":65643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65640,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6406:6:97","nodeType":"VariableDeclaration","scope":65644,"src":"6398:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65639,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65642,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6422:10:97","nodeType":"VariableDeclaration","scope":65644,"src":"6414:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65641,"name":"uint256","nodeType":"ElementaryTypeName","src":"6414:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:36:97"}},{"id":65648,"nodeType":"EventDefinition","src":"6439:42:97","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6445:19:97","parameters":{"id":65647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65646,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6473:6:97","nodeType":"VariableDeclaration","scope":65648,"src":"6465:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65645,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:16:97"}},{"id":65652,"nodeType":"EventDefinition","src":"6486:40:97","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6492:17:97","parameters":{"id":65651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65650,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6518:6:97","nodeType":"VariableDeclaration","scope":65652,"src":"6510:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65649,"name":"address","nodeType":"ElementaryTypeName","src":"6510:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6509:16:97"}},{"id":65660,"nodeType":"EventDefinition","src":"6531:85:97","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6537:14:97","parameters":{"id":65659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65654,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6560:6:97","nodeType":"VariableDeclaration","scope":65660,"src":"6552:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65653,"name":"address","nodeType":"ElementaryTypeName","src":"6552:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65656,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6576:12:97","nodeType":"VariableDeclaration","scope":65660,"src":"6568:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65655,"name":"uint256","nodeType":"ElementaryTypeName","src":"6568:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65658,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6598:16:97","nodeType":"VariableDeclaration","scope":65660,"src":"6590:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65657,"name":"uint256","nodeType":"ElementaryTypeName","src":"6590:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:64:97"}},{"id":65668,"nodeType":"EventDefinition","src":"6621:87:97","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6627:14:97","parameters":{"id":65667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65662,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6650:6:97","nodeType":"VariableDeclaration","scope":65668,"src":"6642:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65661,"name":"address","nodeType":"ElementaryTypeName","src":"6642:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65664,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6666:14:97","nodeType":"VariableDeclaration","scope":65668,"src":"6658:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65663,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65666,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6690:16:97","nodeType":"VariableDeclaration","scope":65668,"src":"6682:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65665,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6641:66:97"}},{"id":65680,"nodeType":"EventDefinition","src":"6713:134:97","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6719:12:97","parameters":{"id":65679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65670,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6749:4:97","nodeType":"VariableDeclaration","scope":65680,"src":"6741:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65669,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65672,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6763:10:97","nodeType":"VariableDeclaration","scope":65680,"src":"6755:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65671,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65674,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6783:6:97","nodeType":"VariableDeclaration","scope":65680,"src":"6775:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65673,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65676,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6799:17:97","nodeType":"VariableDeclaration","scope":65680,"src":"6791:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65675,"name":"uint256","nodeType":"ElementaryTypeName","src":"6791:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65678,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6826:14:97","nodeType":"VariableDeclaration","scope":65680,"src":"6818:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65677,"name":"uint256","nodeType":"ElementaryTypeName","src":"6818:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6731:115:97"}},{"id":65685,"nodeType":"EventDefinition","src":"6852:56:97","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6858:15:97","parameters":{"id":65684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65683,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6898:8:97","nodeType":"VariableDeclaration","scope":65685,"src":"6874:32:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65682,"nodeType":"UserDefinedTypeName","pathNode":{"id":65681,"name":"StrategyStruct.CVParams","nameLocations":["6874:14:97","6889:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"6874:23:97"},"referencedDeclaration":65491,"src":"6874:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"6873:34:97"}},{"id":65689,"nodeType":"EventDefinition","src":"6913:49:97","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6919:15:97","parameters":{"id":65688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65687,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6943:17:97","nodeType":"VariableDeclaration","scope":65689,"src":"6935:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65686,"name":"address","nodeType":"ElementaryTypeName","src":"6935:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6934:27:97"}},{"id":65695,"nodeType":"EventDefinition","src":"6967:76:97","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6973:25:97","parameters":{"id":65694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65691,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7007:6:97","nodeType":"VariableDeclaration","scope":65695,"src":"6999:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65690,"name":"uint256","nodeType":"ElementaryTypeName","src":"6999:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65693,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7023:18:97","nodeType":"VariableDeclaration","scope":65695,"src":"7015:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65692,"name":"uint256","nodeType":"ElementaryTypeName","src":"7015:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6998:44:97"}},{"id":65710,"nodeType":"EventDefinition","src":"7048:195:97","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7054:16:97","parameters":{"id":65709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65698,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7092:10:97","nodeType":"VariableDeclaration","scope":65710,"src":"7080:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":65697,"nodeType":"UserDefinedTypeName","pathNode":{"id":65696,"name":"IArbitrator","nameLocations":["7080:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"7080:11:97"},"referencedDeclaration":72931,"src":"7080:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65700,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7120:10:97","nodeType":"VariableDeclaration","scope":65710,"src":"7112:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65699,"name":"uint256","nodeType":"ElementaryTypeName","src":"7112:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65702,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7148:9:97","nodeType":"VariableDeclaration","scope":65710,"src":"7140:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65701,"name":"uint256","nodeType":"ElementaryTypeName","src":"7140:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65704,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7175:10:97","nodeType":"VariableDeclaration","scope":65710,"src":"7167:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65703,"name":"address","nodeType":"ElementaryTypeName","src":"7167:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65706,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7202:7:97","nodeType":"VariableDeclaration","scope":65710,"src":"7195:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65705,"name":"string","nodeType":"ElementaryTypeName","src":"7195:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65708,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7227:9:97","nodeType":"VariableDeclaration","scope":65710,"src":"7219:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65707,"name":"uint256","nodeType":"ElementaryTypeName","src":"7219:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:172:97"}},{"id":65718,"nodeType":"EventDefinition","src":"7248:88:97","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7254:21:97","parameters":{"id":65717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65712,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7284:8:97","nodeType":"VariableDeclaration","scope":65718,"src":"7276:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65711,"name":"address","nodeType":"ElementaryTypeName","src":"7276:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65714,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7302:10:97","nodeType":"VariableDeclaration","scope":65718,"src":"7294:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65713,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65716,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7322:12:97","nodeType":"VariableDeclaration","scope":65718,"src":"7314:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65715,"name":"address","nodeType":"ElementaryTypeName","src":"7314:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7275:60:97"}},{"id":65722,"nodeType":"EventDefinition","src":"7341:44:97","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7347:17:97","parameters":{"id":65721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65720,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7373:10:97","nodeType":"VariableDeclaration","scope":65722,"src":"7365:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65719,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7364:20:97"}},{"id":65739,"nodeType":"EventDefinition","src":"7390:302:97","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7396:23:97","parameters":{"id":65738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65724,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7437:30:97","nodeType":"VariableDeclaration","scope":65739,"src":"7429:38:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65723,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65727,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7489:10:97","nodeType":"VariableDeclaration","scope":65739,"src":"7477:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":65726,"nodeType":"UserDefinedTypeName","pathNode":{"id":65725,"name":"IArbitrator","nameLocations":["7477:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"7477:11:97"},"referencedDeclaration":72931,"src":"7477:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65729,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7517:12:97","nodeType":"VariableDeclaration","scope":65739,"src":"7509:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65728,"name":"address","nodeType":"ElementaryTypeName","src":"7509:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65731,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7547:25:97","nodeType":"VariableDeclaration","scope":65739,"src":"7539:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65730,"name":"uint256","nodeType":"ElementaryTypeName","src":"7539:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65733,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7590:26:97","nodeType":"VariableDeclaration","scope":65739,"src":"7582:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65732,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65735,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7634:13:97","nodeType":"VariableDeclaration","scope":65739,"src":"7626:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65734,"name":"uint256","nodeType":"ElementaryTypeName","src":"7626:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65737,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7665:20:97","nodeType":"VariableDeclaration","scope":65739,"src":"7657:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65736,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7419:272:97"}},{"id":65742,"nodeType":"VariableDeclaration","src":"8066:38:97","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"8089:7:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65740,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":65741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8099:5:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":65745,"nodeType":"VariableDeclaration","src":"8110:36:97","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"8134:1:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65743,"name":"uint256","nodeType":"ElementaryTypeName","src":"8110:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":65744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8138:8:97","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":65748,"nodeType":"VariableDeclaration","src":"8160:71:97","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"8186:7:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65746,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":65747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8196:35:97","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":65751,"nodeType":"VariableDeclaration","src":"8247:70:97","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8273:7:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65749,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":65750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8283:34:97","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":65754,"nodeType":"VariableDeclaration","src":"8333:54:97","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8359:6:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65752,"name":"uint256","nodeType":"ElementaryTypeName","src":"8333:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":65753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:19:97","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":65757,"nodeType":"VariableDeclaration","src":"8402:49:97","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8426:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65755,"name":"uint256","nodeType":"ElementaryTypeName","src":"8402:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":65756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8449:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":65760,"nodeType":"VariableDeclaration","src":"8537:42:97","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8561:14:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65758,"name":"uint256","nodeType":"ElementaryTypeName","src":"8537:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":65759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8578:1:97","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":65763,"nodeType":"VariableDeclaration","src":"8585:54:97","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8609:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65761,"name":"uint256","nodeType":"ElementaryTypeName","src":"8585:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":65762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8632:7:97","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":65765,"nodeType":"VariableDeclaration","src":"8646:40:97","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8663:23:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65764,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65767,"nodeType":"VariableDeclaration","src":"8734:47:97","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8751:30:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65766,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":65769,"nodeType":"VariableDeclaration","src":"8825:25:97","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8840:10:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65768,"name":"uint256","nodeType":"ElementaryTypeName","src":"8825:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65771,"nodeType":"VariableDeclaration","src":"8856:26:97","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8870:12:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":65770,"name":"uint64","nodeType":"ElementaryTypeName","src":"8856:6:97","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":65773,"nodeType":"VariableDeclaration","src":"8888:30:97","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8903:15:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65772,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65775,"nodeType":"VariableDeclaration","src":"8924:45:97","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8939:30:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65774,"name":"uint256","nodeType":"ElementaryTypeName","src":"8924:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65777,"nodeType":"VariableDeclaration","src":"8976:26:97","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8991:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65776,"name":"uint256","nodeType":"ElementaryTypeName","src":"8976:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65779,"nodeType":"VariableDeclaration","src":"9008:35:97","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"9023:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65778,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65782,"nodeType":"VariableDeclaration","src":"9050:39:97","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"9081:8:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65781,"nodeType":"UserDefinedTypeName","pathNode":{"id":65780,"name":"StrategyStruct.CVParams","nameLocations":["9050:14:97","9065:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"9050:23:97"},"referencedDeclaration":65491,"src":"9050:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":65785,"nodeType":"VariableDeclaration","src":"9136:47:97","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"9171:12:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65784,"nodeType":"UserDefinedTypeName","pathNode":{"id":65783,"name":"StrategyStruct.ProposalType","nameLocations":["9136:14:97","9151:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":65394,"src":"9136:27:97"},"referencedDeclaration":65394,"src":"9136:27:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":65788,"nodeType":"VariableDeclaration","src":"9242:45:97","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9276:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65787,"nodeType":"UserDefinedTypeName","pathNode":{"id":65786,"name":"StrategyStruct.PointSystem","nameLocations":["9242:14:97","9257:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"9242:26:97"},"referencedDeclaration":65399,"src":"9242:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":65791,"nodeType":"VariableDeclaration","src":"9293:51:97","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9333:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65790,"nodeType":"UserDefinedTypeName","pathNode":{"id":65789,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9293:14:97","9308:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":65468,"src":"9293:32:97"},"referencedDeclaration":65468,"src":"9293:32:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":65794,"nodeType":"VariableDeclaration","src":"9377:46:97","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9406:17:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":65793,"nodeType":"UserDefinedTypeName","pathNode":{"id":65792,"name":"RegistryCommunityV0_0","nameLocations":["9377:21:97"],"nodeType":"IdentifierPath","referencedDeclaration":71974,"src":"9377:21:97"},"referencedDeclaration":71974,"src":"9377:21:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":65797,"nodeType":"VariableDeclaration","src":"9430:39:97","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9454:15:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"},"typeName":{"id":65796,"nodeType":"UserDefinedTypeName","pathNode":{"id":65795,"name":"ICollateralVault","nameLocations":["9430:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":72964,"src":"9430:16:97"},"referencedDeclaration":72964,"src":"9430:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":65800,"nodeType":"VariableDeclaration","src":"9475:31:97","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9495:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"},"typeName":{"id":65799,"nodeType":"UserDefinedTypeName","pathNode":{"id":65798,"name":"ISybilScorer","nameLocations":["9475:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":69416,"src":"9475:12:97"},"referencedDeclaration":69416,"src":"9475:12:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":65805,"nodeType":"VariableDeclaration","src":"9573:60:97","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9624:9:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":65804,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65801,"name":"uint256","nodeType":"ElementaryTypeName","src":"9581:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9573:43:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65803,"nodeType":"UserDefinedTypeName","pathNode":{"id":65802,"name":"StrategyStruct.Proposal","nameLocations":["9592:14:97","9607:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"9592:23:97"},"referencedDeclaration":65460,"src":"9592:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":65809,"nodeType":"VariableDeclaration","src":"9689:53:97","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9724:18:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65808,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65806,"name":"address","nodeType":"ElementaryTypeName","src":"9697:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9689:27:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65807,"name":"uint256","nodeType":"ElementaryTypeName","src":"9708:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65814,"nodeType":"VariableDeclaration","src":"9780:57:97","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9817:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":65813,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65810,"name":"address","nodeType":"ElementaryTypeName","src":"9788:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9780:29:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":65811,"name":"uint256","nodeType":"ElementaryTypeName","src":"9799:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65812,"nodeType":"ArrayTypeName","src":"9799:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":65818,"nodeType":"VariableDeclaration","src":"9875:56:97","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9910:21:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":65817,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65815,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9875:27:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65816,"name":"uint256","nodeType":"ElementaryTypeName","src":"9894:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65823,"nodeType":"VariableDeclaration","src":"9937:76:97","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9996:17:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"typeName":{"id":65822,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65819,"name":"uint256","nodeType":"ElementaryTypeName","src":"9945:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9937:51:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65821,"nodeType":"UserDefinedTypeName","pathNode":{"id":65820,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9956:14:97","9971:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"9956:31:97"},"referencedDeclaration":65482,"src":"9956:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}}},"visibility":"public"},{"id":65847,"nodeType":"FunctionDefinition","src":"10266:222:97","nodes":[],"body":{"id":65846,"nodeType":"Block","src":"10373:115:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":65837,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65825,"src":"10394:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":65838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10401:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":65839,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65829,"src":"10415:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65834,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10383:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69064_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10389:4:97","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":64771,"src":"10383:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":65840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10383:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65841,"nodeType":"ExpressionStatement","src":"10383:38:97"},{"expression":{"id":65844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65842,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"10431:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65843,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65827,"src":"10457:24:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10431:50:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65845,"nodeType":"ExpressionStatement","src":"10431:50:97"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":65832,"kind":"modifierInvocation","modifierName":{"id":65831,"name":"initializer","nameLocations":["10361:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"10361:11:97"},"nodeType":"ModifierInvocation","src":"10361:11:97"}],"name":"init","nameLocation":"10275:4:97","parameters":{"id":65830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65825,"mutability":"mutable","name":"_allo","nameLocation":"10288:5:97","nodeType":"VariableDeclaration","scope":65847,"src":"10280:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65824,"name":"address","nodeType":"ElementaryTypeName","src":"10280:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65827,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10303:24:97","nodeType":"VariableDeclaration","scope":65847,"src":"10295:32:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65826,"name":"address","nodeType":"ElementaryTypeName","src":"10295:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65829,"mutability":"mutable","name":"owner","nameLocation":"10337:5:97","nodeType":"VariableDeclaration","scope":65847,"src":"10329:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65828,"name":"address","nodeType":"ElementaryTypeName","src":"10329:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10279:64:97"},"returnParameters":{"id":65833,"nodeType":"ParameterList","parameters":[],"src":"10373:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":65943,"nodeType":"FunctionDefinition","src":"10494:816:97","nodes":[],"body":{"id":65942,"nodeType":"Block","src":"10569:741:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":65857,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65849,"src":"10599:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65856,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64907,"src":"10579:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":65858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10579:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65859,"nodeType":"ExpressionStatement","src":"10579:28:97"},{"expression":{"id":65869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65860,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"10618:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65864,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"10671:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10696:12:97","subExpression":{"id":65865,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65769,"src":"10696:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65862,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10653:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":65863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10659:11:97","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10653:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":65867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10653:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65861,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"10636:16:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$72964_$","typeString":"type(contract ICollateralVault)"}},"id":65868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10636:74:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"src":"10618:92:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":65870,"nodeType":"ExpressionStatement","src":"10618:92:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65871,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"10720:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":65873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10736:10:97","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":72936,"src":"10720:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65875,"nodeType":"ExpressionStatement","src":"10720:28:97"},{"assignments":[65880],"declarations":[{"constant":false,"id":65880,"mutability":"mutable","name":"ip","nameLocation":"10798:2:97","nodeType":"VariableDeclaration","scope":65942,"src":"10759:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":65879,"nodeType":"UserDefinedTypeName","pathNode":{"id":65878,"name":"StrategyStruct.InitializeParams","nameLocations":["10759:14:97","10774:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"10759:31:97"},"referencedDeclaration":65511,"src":"10759:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":65888,"initialValue":{"arguments":[{"id":65883,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65851,"src":"10814:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":65884,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"10822:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":65885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10837:16:97","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":65511,"src":"10822:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65511_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":65886,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10821:33:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65511_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65511_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":65881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10803:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10807:6:97","memberName":"decode","nodeType":"MemberAccess","src":"10803:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":65887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10803:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10759:96:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":65889,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"10870:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65890,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10873:17:97","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65508,"src":"10870:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":65893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10902:1:97","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":65892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10894:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65891,"name":"address","nodeType":"ElementaryTypeName","src":"10894:7:97","typeDescriptions":{}}},"id":65894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10894:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10870:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65900,"nodeType":"IfStatement","src":"10866:94:97","trueBody":{"id":65899,"nodeType":"Block","src":"10906:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":65896,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65543,"src":"10927:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10927:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65898,"nodeType":"RevertStatement","src":"10920:29:97"}]}},{"expression":{"id":65906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65901,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"10970:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":65903,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11012:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11015:17:97","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65508,"src":"11012:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65902,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"10990:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$71974_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":65905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"src":"10970:63:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":65907,"nodeType":"ExpressionStatement","src":"10970:63:97"},{"expression":{"id":65911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65908,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65785,"src":"11044:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":65909,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11059:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11062:12:97","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65497,"src":"11059:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"11044:30:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"id":65912,"nodeType":"ExpressionStatement","src":"11044:30:97"},{"expression":{"id":65916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65913,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"11084:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":65914,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11098:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11101:11:97","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":65500,"src":"11098:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"11084:28:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"id":65917,"nodeType":"ExpressionStatement","src":"11084:28:97"},{"expression":{"id":65921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65918,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"11122:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":65919,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11136:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11139:11:97","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":65503,"src":"11136:14:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"11122:28:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":65922,"nodeType":"ExpressionStatement","src":"11122:28:97"},{"expression":{"id":65928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65923,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"11160:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":65925,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11187:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11190:11:97","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":65510,"src":"11187:14:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65924,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69416,"src":"11174:12:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$69416_$","typeString":"type(contract ISybilScorer)"}},"id":65927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11174:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"src":"11160:42:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"id":65929,"nodeType":"ExpressionStatement","src":"11160:42:97"},{"expression":{"arguments":[{"expression":{"id":65931,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11228:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11231:16:97","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65506,"src":"11228:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":65933,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11249:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11252:8:97","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65494,"src":"11249:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":65930,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68449,"src":"11213:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65482_memory_ptr_$_t_struct$_CVParams_$65491_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":65935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11213:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65936,"nodeType":"ExpressionStatement","src":"11213:48:97"},{"eventCall":{"arguments":[{"id":65938,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65849,"src":"11291:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65939,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11300:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":65937,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65630,"src":"11277:13:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$65511_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":65940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11277:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65941,"nodeType":"EmitStatement","src":"11272:31:97"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":65854,"kind":"modifierInvocation","modifierName":{"id":65853,"name":"onlyAllo","nameLocations":["10560:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":64779,"src":"10560:8:97"},"nodeType":"ModifierInvocation","src":"10560:8:97"}],"name":"initialize","nameLocation":"10503:10:97","parameters":{"id":65852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65849,"mutability":"mutable","name":"_poolId","nameLocation":"10522:7:97","nodeType":"VariableDeclaration","scope":65943,"src":"10514:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65848,"name":"uint256","nodeType":"ElementaryTypeName","src":"10514:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65851,"mutability":"mutable","name":"_data","nameLocation":"10544:5:97","nodeType":"VariableDeclaration","scope":65943,"src":"10531:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65850,"name":"bytes","nodeType":"ElementaryTypeName","src":"10531:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10513:37:97"},"returnParameters":{"id":65855,"nodeType":"ParameterList","parameters":[],"src":"10569:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65947,"nodeType":"FunctionDefinition","src":"11481:83:97","nodes":[],"body":{"id":65946,"nodeType":"Block","src":"11509:55:97","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":65944,"nodeType":"ParameterList","parameters":[],"src":"11489:2:97"},"returnParameters":{"id":65945,"nodeType":"ParameterList","parameters":[],"src":"11509:0:97"},"scope":69064,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":65951,"nodeType":"FunctionDefinition","src":"11570:135:97","nodes":[],"body":{"id":65950,"nodeType":"Block","src":"11597:108:97","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":65948,"nodeType":"ParameterList","parameters":[],"src":"11577:2:97"},"returnParameters":{"id":65949,"nodeType":"ParameterList","parameters":[],"src":"11597:0:97"},"scope":69064,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":65972,"nodeType":"FunctionDefinition","src":"11711:202:97","nodes":[],"body":{"id":65971,"nodeType":"Block","src":"11802:111:97","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":65969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":65964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65959,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"11819:11:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":65961,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"11839:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}],"id":65960,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11834:4:97","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":65962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11834:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65390","typeString":"type(contract IPointStrategy)"}},"id":65963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11855:11:97","memberName":"interfaceId","nodeType":"MemberAccess","src":"11834:32:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11819:47:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":65967,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"11894:11:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65965,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11870:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69064_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11876:17:97","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57021,"src":"11870:23:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":65968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11870:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11819:87:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":65958,"id":65970,"nodeType":"Return","src":"11812:94:97"}]},"baseFunctions":[57021],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11720:17:97","overrides":{"id":65955,"nodeType":"OverrideSpecifier","overrides":[],"src":"11778:8:97"},"parameters":{"id":65954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65953,"mutability":"mutable","name":"interfaceId","nameLocation":"11745:11:97","nodeType":"VariableDeclaration","scope":65972,"src":"11738:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":65952,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11738:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11737:20:97"},"returnParameters":{"id":65958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65972,"src":"11796:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65956,"name":"bool","nodeType":"ElementaryTypeName","src":"11796:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11795:6:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66013,"nodeType":"FunctionDefinition","src":"12084:386:97","nodes":[],"body":{"id":66012,"nodeType":"Block","src":"12152:318:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65977,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65974,"src":"12166:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":65980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12185:1:97","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":65979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12177:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65978,"name":"address","nodeType":"ElementaryTypeName","src":"12177:7:97","typeDescriptions":{}}},"id":65981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12166:21:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65987,"nodeType":"IfStatement","src":"12162:77:97","trueBody":{"id":65986,"nodeType":"Block","src":"12189:50:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":65983,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65523,"src":"12210:16:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12210:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65985,"nodeType":"RevertStatement","src":"12203:25:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":65990,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12260:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":65989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12252:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65988,"name":"address","nodeType":"ElementaryTypeName","src":"12252:7:97","typeDescriptions":{}}},"id":65991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12252:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":65994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12290:1:97","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":65993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12282:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65992,"name":"address","nodeType":"ElementaryTypeName","src":"12282:7:97","typeDescriptions":{}}},"id":65995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12252:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66001,"nodeType":"IfStatement","src":"12248:100:97","trueBody":{"id":66000,"nodeType":"Block","src":"12294:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":65997,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65543,"src":"12315:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12315:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65999,"nodeType":"RevertStatement","src":"12308:29:97"}]}},{"condition":{"id":66006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12361:36:97","subExpression":{"arguments":[{"id":66004,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65974,"src":"12389:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66002,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12362:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12380:8:97","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":71591,"src":"12362:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12362:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66011,"nodeType":"IfStatement","src":"12357:93:97","trueBody":{"id":66010,"nodeType":"Block","src":"12399:51:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66007,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65525,"src":"12420:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12420:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66009,"nodeType":"RevertStatement","src":"12413:26:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"12093:19:97","parameters":{"id":65975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65974,"mutability":"mutable","name":"_sender","nameLocation":"12121:7:97","nodeType":"VariableDeclaration","scope":66013,"src":"12113:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65973,"name":"address","nodeType":"ElementaryTypeName","src":"12113:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12112:17:97"},"returnParameters":{"id":65976,"nodeType":"ParameterList","parameters":[],"src":"12152:0:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66029,"nodeType":"FunctionDefinition","src":"12476:171:97","nodes":[],"body":{"id":66028,"nodeType":"Block","src":"12531:116:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66016,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12545:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12549:6:97","memberName":"sender","nodeType":"MemberAccess","src":"12545:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":66020,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12567:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":66019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12559:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66018,"name":"address","nodeType":"ElementaryTypeName","src":"12559:7:97","typeDescriptions":{}}},"id":66021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12559:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12545:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66027,"nodeType":"IfStatement","src":"12541:100:97","trueBody":{"id":66026,"nodeType":"Block","src":"12587:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66023,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65583,"src":"12608:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12608:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66025,"nodeType":"RevertStatement","src":"12601:29:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12485:21:97","parameters":{"id":66014,"nodeType":"ParameterList","parameters":[],"src":"12506:2:97"},"returnParameters":{"id":66015,"nodeType":"ParameterList","parameters":[],"src":"12531:0:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66045,"nodeType":"FunctionDefinition","src":"12653:141:97","nodes":[],"body":{"id":66044,"nodeType":"Block","src":"12721:73:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66034,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66031,"src":"12735:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12755:1:97","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":66036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12747:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66035,"name":"address","nodeType":"ElementaryTypeName","src":"12747:7:97","typeDescriptions":{}}},"id":66038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12747:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12735:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66043,"nodeType":"IfStatement","src":"12731:56:97","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66040,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65541,"src":"12766:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12766:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66042,"nodeType":"RevertStatement","src":"12759:28:97"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12662:18:97","parameters":{"id":66032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66031,"mutability":"mutable","name":"_address","nameLocation":"12689:8:97","nodeType":"VariableDeclaration","scope":66045,"src":"12681:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66030,"name":"address","nodeType":"ElementaryTypeName","src":"12681:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12680:18:97"},"returnParameters":{"id":66033,"nodeType":"ParameterList","parameters":[],"src":"12721:0:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66063,"nodeType":"FunctionDefinition","src":"12800:174:97","nodes":[],"body":{"id":66062,"nodeType":"Block","src":"12849:125:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66048,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12863:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12867:6:97","memberName":"sender","nodeType":"MemberAccess","src":"12863:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66052,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12885:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:11:97","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70287,"src":"12885:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$73057_$","typeString":"function () view external returns (contract ISafe)"}},"id":66054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12885:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":66051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12877:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66050,"name":"address","nodeType":"ElementaryTypeName","src":"12877:7:97","typeDescriptions":{}}},"id":66055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12877:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12863:54:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66061,"nodeType":"IfStatement","src":"12859:109:97","trueBody":{"id":66060,"nodeType":"Block","src":"12919:49:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66057,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65593,"src":"12940:15:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12940:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66059,"nodeType":"RevertStatement","src":"12933:24:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12809:15:97","parameters":{"id":66046,"nodeType":"ParameterList","parameters":[],"src":"12824:2:97"},"returnParameters":{"id":66047,"nodeType":"ParameterList","parameters":[],"src":"12849:0:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66093,"nodeType":"FunctionDefinition","src":"12980:238:97","nodes":[],"body":{"id":66092,"nodeType":"Block","src":"13059:159:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66072,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"13081:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}],"id":66071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13073:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66070,"name":"address","nodeType":"ElementaryTypeName","src":"13073:7:97","typeDescriptions":{}}},"id":66073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13073:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13105:1:97","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":66075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13097:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66074,"name":"address","nodeType":"ElementaryTypeName","src":"13097:7:97","typeDescriptions":{}}},"id":66077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13097:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13073:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66082,"nodeType":"IfStatement","src":"13069:76:97","trueBody":{"id":66081,"nodeType":"Block","src":"13109:36:97","statements":[{"expression":{"hexValue":"74727565","id":66079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13130:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":66069,"id":66080,"nodeType":"Return","src":"13123:11:97"}]}},{"expression":{"arguments":[{"id":66085,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66065,"src":"13190:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66088,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13205:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13197:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66086,"name":"address","nodeType":"ElementaryTypeName","src":"13197:7:97","typeDescriptions":{}}},"id":66089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13197:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66083,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"13161:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"id":66084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13173:16:97","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":69373,"src":"13161:28:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13161:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66069,"id":66091,"nodeType":"Return","src":"13154:57:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12989:17:97","parameters":{"id":66066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66065,"mutability":"mutable","name":"_user","nameLocation":"13015:5:97","nodeType":"VariableDeclaration","scope":66093,"src":"13007:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66064,"name":"address","nodeType":"ElementaryTypeName","src":"13007:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13006:15:97"},"returnParameters":{"id":66069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66093,"src":"13053:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66067,"name":"bool","nodeType":"ElementaryTypeName","src":"13053:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13052:6:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66105,"nodeType":"FunctionDefinition","src":"13224:124:97","nodes":[],"body":{"id":66104,"nodeType":"Block","src":"13297:51:97","nodes":[],"statements":[{"expression":{"id":66102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66100,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"13307:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66101,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66095,"src":"13333:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13307:34:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66103,"nodeType":"ExpressionStatement","src":"13307:34:97"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":66098,"kind":"modifierInvocation","modifierName":{"id":66097,"name":"onlyOwner","nameLocations":["13287:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"13287:9:97"},"nodeType":"ModifierInvocation","src":"13287:9:97"}],"name":"setCollateralVaultTemplate","nameLocation":"13233:26:97","parameters":{"id":66096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66095,"mutability":"mutable","name":"template","nameLocation":"13268:8:97","nodeType":"VariableDeclaration","scope":66105,"src":"13260:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66094,"name":"address","nodeType":"ElementaryTypeName","src":"13260:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13259:18:97"},"returnParameters":{"id":66099,"nodeType":"ParameterList","parameters":[],"src":"13297:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66346,"nodeType":"FunctionDefinition","src":"13674:2691:97","nodes":[],"body":{"id":66345,"nodeType":"Block","src":"13775:2590:97","nodes":[],"statements":[{"condition":{"id":66118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13789:27:97","subExpression":{"arguments":[{"id":66116,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"13808:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66115,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"13790:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13790:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66123,"nodeType":"IfStatement","src":"13785:90:97","trueBody":{"id":66122,"nodeType":"Block","src":"13818:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66119,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"13839:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13839:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66121,"nodeType":"RevertStatement","src":"13832:32:97"}]}},{"expression":{"id":66124,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66107,"src":"13929:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66125,"nodeType":"ExpressionStatement","src":"13929:5:97"},{"assignments":[66130],"declarations":[{"constant":false,"id":66130,"mutability":"mutable","name":"proposal","nameLocation":"13981:8:97","nodeType":"VariableDeclaration","scope":66345,"src":"13944:45:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":66129,"nodeType":"UserDefinedTypeName","pathNode":{"id":66128,"name":"StrategyStruct.CreateProposal","nameLocations":["13944:14:97","13959:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65411,"src":"13944:29:97"},"referencedDeclaration":65411,"src":"13944:29:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":66138,"initialValue":{"arguments":[{"id":66133,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66107,"src":"14003:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66134,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"14011:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14026:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":65411,"src":"14011:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65411_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":66136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14010:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65411_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65411_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":66131,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13992:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13996:6:97","memberName":"decode","nodeType":"MemberAccess","src":"13992:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13992:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13944:98:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66139,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14157:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14166:6:97","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65401,"src":"14157:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14176:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14157:20:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66147,"nodeType":"IfStatement","src":"14153:78:97","trueBody":{"id":66146,"nodeType":"Block","src":"14179:52:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66143,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65539,"src":"14200:18:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14200:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66145,"nodeType":"RevertStatement","src":"14193:27:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"id":66152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66148,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65785,"src":"14307:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66149,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"14323:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14338:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65394,"src":"14323:27:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65394_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":66151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14351:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"14323:35:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"14307:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66208,"nodeType":"IfStatement","src":"14303:764:97","trueBody":{"id":66207,"nodeType":"Block","src":"14360:707:97","statements":[{"expression":{"arguments":[{"expression":{"id":66154,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14393:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14402:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65403,"src":"14393:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66153,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66045,"src":"14374:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":66156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14374:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66157,"nodeType":"ExpressionStatement","src":"14374:40:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66158,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14480:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66159,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14489:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65407,"src":"14480:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14515:1:97","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":66161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14507:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66160,"name":"address","nodeType":"ElementaryTypeName","src":"14507:7:97","typeDescriptions":{}}},"id":66163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14507:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14480:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66169,"nodeType":"IfStatement","src":"14476:102:97","trueBody":{"id":66168,"nodeType":"Block","src":"14519:59:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66165,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65533,"src":"14544:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14544:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66167,"nodeType":"RevertStatement","src":"14537:26:97"}]}},{"assignments":[66172],"declarations":[{"constant":false,"id":66172,"mutability":"mutable","name":"_allo","nameLocation":"14597:5:97","nodeType":"VariableDeclaration","scope":66207,"src":"14591:11:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":66171,"nodeType":"UserDefinedTypeName","pathNode":{"id":66170,"name":"IAllo","nameLocations":["14591:5:97"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14591:5:97"},"referencedDeclaration":2610,"src":"14591:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":66176,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66173,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14605:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}},"id":66174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14610:7:97","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":64825,"src":"14605:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":66175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14605:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14591:28:97"},{"assignments":[66181],"declarations":[{"constant":false,"id":66181,"mutability":"mutable","name":"pool","nameLocation":"14651:4:97","nodeType":"VariableDeclaration","scope":66207,"src":"14633:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":66180,"nodeType":"UserDefinedTypeName","pathNode":{"id":66179,"name":"IAllo.Pool","nameLocations":["14633:5:97","14639:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14633:10:97"},"referencedDeclaration":2319,"src":"14633:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":66187,"initialValue":{"arguments":[{"expression":{"id":66184,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14672:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14681:6:97","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65401,"src":"14672:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66182,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66172,"src":"14658:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":66183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14664:7:97","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14658:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":66186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14633:55:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66188,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14706:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66189,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14715:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65407,"src":"14706:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":66190,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66181,"src":"14733:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":66191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14738:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14733:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14706:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66197,"nodeType":"IfStatement","src":"14702:235:97","trueBody":{"id":66196,"nodeType":"Block","src":"14745:192:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66193,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65535,"src":"14905:15:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14905:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66195,"nodeType":"RevertStatement","src":"14898:24:97"}]}},{"condition":{"arguments":[{"expression":{"id":66199,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14970:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14979:15:97","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65405,"src":"14970:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66198,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67532,"src":"14954:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":66201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14954:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66206,"nodeType":"IfStatement","src":"14950:107:97","trueBody":{"id":66205,"nodeType":"Block","src":"14997:60:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66202,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65537,"src":"15022:18:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15022:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66204,"nodeType":"RevertStatement","src":"15015:27:97"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":66211,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"15102:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66213,"indexExpression":{"id":66212,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"15120:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15102:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15152:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"15102:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":66210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15094:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66209,"name":"address","nodeType":"ElementaryTypeName","src":"15094:7:97","typeDescriptions":{}}},"id":66215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15094:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":66218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15175:1:97","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":66217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15167:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66216,"name":"address","nodeType":"ElementaryTypeName","src":"15167:7:97","typeDescriptions":{}}},"id":66219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15167:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15094:83:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15197:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15201:5:97","memberName":"value","nodeType":"MemberAccess","src":"15197:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":66223,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"15209:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66225,"indexExpression":{"id":66224,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"15227:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15209:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15259:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"15209:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15197:87:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15094:190:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66239,"nodeType":"IfStatement","src":"15077:390:97","trueBody":{"id":66238,"nodeType":"Block","src":"15295:172:97","statements":[{"errorCall":{"arguments":[{"expression":{"id":66230,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15356:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15360:5:97","memberName":"value","nodeType":"MemberAccess","src":"15356:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":66232,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"15367:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66234,"indexExpression":{"id":66233,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"15385:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15367:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15417:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"15367:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66229,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65601,"src":"15316:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15316:140:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66237,"nodeType":"RevertStatement","src":"15309:147:97"}]}},{"assignments":[66241],"declarations":[{"constant":false,"id":66241,"mutability":"mutable","name":"proposalId","nameLocation":"15485:10:97","nodeType":"VariableDeclaration","scope":66345,"src":"15477:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66240,"name":"uint256","nodeType":"ElementaryTypeName","src":"15477:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66244,"initialValue":{"id":66243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15498:17:97","subExpression":{"id":66242,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65773,"src":"15500:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15477:38:97"},{"assignments":[66249],"declarations":[{"constant":false,"id":66249,"mutability":"mutable","name":"p","nameLocation":"15557:1:97","nodeType":"VariableDeclaration","scope":66345,"src":"15525:33:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":66248,"nodeType":"UserDefinedTypeName","pathNode":{"id":66247,"name":"StrategyStruct.Proposal","nameLocations":["15525:14:97","15540:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"15525:23:97"},"referencedDeclaration":65460,"src":"15525:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":66253,"initialValue":{"baseExpression":{"id":66250,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"15561:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":66252,"indexExpression":{"id":66251,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"15571:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15561:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15525:57:97"},{"expression":{"id":66258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66254,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15593:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15595:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"15593:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66257,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"15608:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15593:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66259,"nodeType":"ExpressionStatement","src":"15593:25:97"},{"expression":{"id":66264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66260,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15628:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15630:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"15628:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66263,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"15642:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15628:21:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66265,"nodeType":"ExpressionStatement","src":"15628:21:97"},{"expression":{"id":66271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66266,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15659:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15661:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"15659:13:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66269,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"15675:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15684:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65403,"src":"15675:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15659:36:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66272,"nodeType":"ExpressionStatement","src":"15659:36:97"},{"expression":{"id":66278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66273,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15705:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15707:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65440,"src":"15705:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66276,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"15724:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15733:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65407,"src":"15724:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15705:42:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66279,"nodeType":"ExpressionStatement","src":"15705:42:97"},{"expression":{"id":66285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66280,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15757:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15759:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"15757:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66283,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"15777:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15786:15:97","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65405,"src":"15777:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15757:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66286,"nodeType":"ExpressionStatement","src":"15757:44:97"},{"expression":{"id":66293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66287,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15862:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15864:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"15862:16:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":66290,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"15881:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15896:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"15881:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":66292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15911:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"15881:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15862:55:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":66294,"nodeType":"ExpressionStatement","src":"15862:55:97"},{"expression":{"id":66300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66295,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15927:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15929:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"15927:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66298,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15941:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15947:6:97","memberName":"number","nodeType":"MemberAccess","src":"15941:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15927:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66301,"nodeType":"ExpressionStatement","src":"15927:26:97"},{"expression":{"id":66306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66302,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15963:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15965:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"15963:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":66305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15982:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15963:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66307,"nodeType":"ExpressionStatement","src":"15963:20:97"},{"expression":{"id":66313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66308,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"16029:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16031:8:97","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65452,"src":"16029:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66311,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"16042:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16051:8:97","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65410,"src":"16042:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"16029:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":66314,"nodeType":"ExpressionStatement","src":"16029:30:97"},{"expression":{"id":66319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66315,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"16069:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16071:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"16069:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66318,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"16097:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16069:58:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66320,"nodeType":"ExpressionStatement","src":"16069:58:97"},{"expression":{"arguments":[{"id":66327,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"16189:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66328,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"16201:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16203:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"16201:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66321,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"16137:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":66323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16153:17:97","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":72943,"src":"16137:33:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":66326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":66324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16178:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16182:5:97","memberName":"value","nodeType":"MemberAccess","src":"16178:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"16137:51:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":66330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66331,"nodeType":"ExpressionStatement","src":"16137:76:97"},{"eventCall":{"arguments":[{"id":66333,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64735,"src":"16245:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66334,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"16253:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66332,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65644,"src":"16229:15:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":66335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16229:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66336,"nodeType":"EmitStatement","src":"16224:40:97"},{"expression":{"arguments":[{"arguments":[{"id":66341,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"16346:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16338:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66339,"name":"uint160","nodeType":"ElementaryTypeName","src":"16338:7:97","typeDescriptions":{}}},"id":66342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16338:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16330:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66337,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:97","typeDescriptions":{}}},"id":66343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16330:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":66114,"id":66344,"nodeType":"Return","src":"16323:35:97"}]},"baseFunctions":[65213],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13683:18:97","overrides":{"id":66111,"nodeType":"OverrideSpecifier","overrides":[],"src":"13748:8:97"},"parameters":{"id":66110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66107,"mutability":"mutable","name":"_data","nameLocation":"13715:5:97","nodeType":"VariableDeclaration","scope":66346,"src":"13702:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66106,"name":"bytes","nodeType":"ElementaryTypeName","src":"13702:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66109,"mutability":"mutable","name":"_sender","nameLocation":"13730:7:97","nodeType":"VariableDeclaration","scope":66346,"src":"13722:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66108,"name":"address","nodeType":"ElementaryTypeName","src":"13722:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13701:37:97"},"returnParameters":{"id":66114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66346,"src":"13766:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66112,"name":"address","nodeType":"ElementaryTypeName","src":"13766:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13765:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66355,"nodeType":"FunctionDefinition","src":"16371:98:97","nodes":[],"body":{"id":66354,"nodeType":"Block","src":"16431:38:97","nodes":[],"statements":[{"expression":{"expression":{"id":66351,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"16448:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":66352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16457:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"16448:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66350,"id":66353,"nodeType":"Return","src":"16441:21:97"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16380:8:97","parameters":{"id":66347,"nodeType":"ParameterList","parameters":[],"src":"16388:2:97"},"returnParameters":{"id":66350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66349,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66355,"src":"16422:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66348,"name":"uint256","nodeType":"ElementaryTypeName","src":"16422:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16421:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":66394,"nodeType":"FunctionDefinition","src":"16475:359:97","nodes":[],"body":{"id":66393,"nodeType":"Block","src":"16518:316:97","nodes":[],"statements":[{"assignments":[66359],"declarations":[{"constant":false,"id":66359,"mutability":"mutable","name":"member","nameLocation":"16536:6:97","nodeType":"VariableDeclaration","scope":66393,"src":"16528:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66358,"name":"address","nodeType":"ElementaryTypeName","src":"16528:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66362,"initialValue":{"expression":{"id":66360,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16545:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16549:6:97","memberName":"sender","nodeType":"MemberAccess","src":"16545:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16528:27:97"},{"condition":{"id":66366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16569:26:97","subExpression":{"arguments":[{"id":66364,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66359,"src":"16588:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66363,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"16570:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16570:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66371,"nodeType":"IfStatement","src":"16565:89:97","trueBody":{"id":66370,"nodeType":"Block","src":"16597:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66367,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"16618:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16618:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66369,"nodeType":"RevertStatement","src":"16611:32:97"}]}},{"expression":{"arguments":[{"id":66375,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66359,"src":"16706:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66378,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16722:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16714:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66376,"name":"address","nodeType":"ElementaryTypeName","src":"16714:7:97","typeDescriptions":{}}},"id":66379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16714:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66372,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"16663:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16681:24:97","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":70998,"src":"16663:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16663:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66381,"nodeType":"ExpressionStatement","src":"16663:65:97"},{"expression":{"id":66391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66382,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"16738:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":66385,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66359,"src":"16805:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66388,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16821:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16813:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66386,"name":"address","nodeType":"ElementaryTypeName","src":"16813:7:97","typeDescriptions":{}}},"id":66389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16813:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66383,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"16762:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16780:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"16762:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16762:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16738:89:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66392,"nodeType":"ExpressionStatement","src":"16738:89:97"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16484:14:97","parameters":{"id":66356,"nodeType":"ParameterList","parameters":[],"src":"16498:2:97"},"returnParameters":{"id":66357,"nodeType":"ParameterList","parameters":[],"src":"16518:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66403,"nodeType":"FunctionDefinition","src":"16840:89:97","nodes":[],"body":{"id":66402,"nodeType":"Block","src":"16883:46:97","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":66398,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16911:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16915:6:97","memberName":"sender","nodeType":"MemberAccess","src":"16911:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66397,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66451,"src":"16893:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16893:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66401,"nodeType":"ExpressionStatement","src":"16893:29:97"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16849:16:97","parameters":{"id":66395,"nodeType":"ParameterList","parameters":[],"src":"16865:2:97"},"returnParameters":{"id":66396,"nodeType":"ParameterList","parameters":[],"src":"16883:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":66416,"nodeType":"FunctionDefinition","src":"16935:136:97","nodes":[],"body":{"id":66415,"nodeType":"Block","src":"16995:76:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66408,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66029,"src":"17005:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17005:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66410,"nodeType":"ExpressionStatement","src":"17005:23:97"},{"expression":{"arguments":[{"id":66412,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66405,"src":"17056:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66411,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66451,"src":"17038:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17038:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66414,"nodeType":"ExpressionStatement","src":"17038:26:97"}]},"baseFunctions":[65365],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16944:16:97","parameters":{"id":66406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66405,"mutability":"mutable","name":"_member","nameLocation":"16969:7:97","nodeType":"VariableDeclaration","scope":66416,"src":"16961:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66404,"name":"address","nodeType":"ElementaryTypeName","src":"16961:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16960:17:97"},"returnParameters":{"id":66407,"nodeType":"ParameterList","parameters":[],"src":"16995:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66451,"nodeType":"FunctionDefinition","src":"17077:359:97","nodes":[],"body":{"id":66450,"nodeType":"Block","src":"17138:298:97","nodes":[],"statements":[{"expression":{"id":66430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66421,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"17148:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":66424,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17215:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17232:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17224:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66425,"name":"address","nodeType":"ElementaryTypeName","src":"17224:7:97","typeDescriptions":{}}},"id":66428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17224:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66422,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"17172:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17190:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"17172:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17148:90:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66431,"nodeType":"ExpressionStatement","src":"17148:90:97"},{"expression":{"arguments":[{"id":66435,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17293:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66438,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17310:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17302:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66436,"name":"address","nodeType":"ElementaryTypeName","src":"17302:7:97","typeDescriptions":{}}},"id":66439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17302:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66432,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"17248:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17266:26:97","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71057,"src":"17248:44:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17248:68:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66441,"nodeType":"ExpressionStatement","src":"17248:68:97"},{"expression":{"arguments":[{"id":66443,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17380:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66442,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67278,"src":"17371:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17371:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66445,"nodeType":"ExpressionStatement","src":"17371:17:97"},{"eventCall":{"arguments":[{"id":66447,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17421:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66446,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65652,"src":"17403:17:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17403:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66449,"nodeType":"EmitStatement","src":"17398:31:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"17086:17:97","parameters":{"id":66419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66418,"mutability":"mutable","name":"_member","nameLocation":"17112:7:97","nodeType":"VariableDeclaration","scope":66451,"src":"17104:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66417,"name":"address","nodeType":"ElementaryTypeName","src":"17104:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17103:17:97"},"returnParameters":{"id":66420,"nodeType":"ParameterList","parameters":[],"src":"17138:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66544,"nodeType":"FunctionDefinition","src":"17442:1065:97","nodes":[],"body":{"id":66543,"nodeType":"Block","src":"17541:966:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66460,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66029,"src":"17596:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17596:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66462,"nodeType":"ExpressionStatement","src":"17596:23:97"},{"condition":{"id":66466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17633:27:97","subExpression":{"arguments":[{"id":66464,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"17652:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66463,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"17634:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17634:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66471,"nodeType":"IfStatement","src":"17629:90:97","trueBody":{"id":66470,"nodeType":"Block","src":"17662:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66467,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"17683:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66469,"nodeType":"RevertStatement","src":"17676:32:97"}]}},{"assignments":[66473],"declarations":[{"constant":false,"id":66473,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17736:16:97","nodeType":"VariableDeclaration","scope":66543,"src":"17728:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66472,"name":"uint256","nodeType":"ElementaryTypeName","src":"17728:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66475,"initialValue":{"hexValue":"30","id":66474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17755:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17728:28:97"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66476,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"17770:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66477,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"17785:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17800:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"17785:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17812:9:97","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65397,"src":"17785:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"17770:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66488,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"17915:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66489,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"17930:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17945:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"17930:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17957:6:97","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65396,"src":"17930:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"17915:48:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66501,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"18063:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66502,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"18078:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18093:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"18078:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18105:9:97","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65398,"src":"18078:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"18063:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66514,"nodeType":"IfStatement","src":"18059:148:97","trueBody":{"id":66513,"nodeType":"Block","src":"18116:91:97","statements":[{"expression":{"id":66511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66506,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18130:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66508,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18172:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66509,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"18181:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66507,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66730,"src":"18149:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18149:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18130:66:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66512,"nodeType":"ExpressionStatement","src":"18130:66:97"}]}},"id":66515,"nodeType":"IfStatement","src":"17911:296:97","trueBody":{"id":66500,"nodeType":"Block","src":"17965:88:97","statements":[{"expression":{"id":66498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66493,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"17979:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66495,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18018:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66496,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"18027:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66494,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66652,"src":"17998:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17998:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17979:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66499,"nodeType":"ExpressionStatement","src":"17979:63:97"}]}},"id":66516,"nodeType":"IfStatement","src":"17766:441:97","trueBody":{"id":66487,"nodeType":"Block","src":"17823:82:97","statements":[{"expression":{"id":66485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66481,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"17837:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66483,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"17879:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66482,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"17856:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17856:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17837:57:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66486,"nodeType":"ExpressionStatement","src":"17837:57:97"}]}},{"assignments":[66518],"declarations":[{"constant":false,"id":66518,"mutability":"mutable","name":"isActivated","nameLocation":"18221:11:97","nodeType":"VariableDeclaration","scope":66543,"src":"18216:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66517,"name":"bool","nodeType":"ElementaryTypeName","src":"18216:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66527,"initialValue":{"arguments":[{"id":66521,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18281:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66524,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18298:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18290:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66522,"name":"address","nodeType":"ElementaryTypeName","src":"18290:7:97","typeDescriptions":{}}},"id":66525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18290:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66519,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"18235:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18253:27:97","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":70328,"src":"18235:45:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18235:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18216:88:97"},{"condition":{"id":66528,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66518,"src":"18318:11:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66534,"nodeType":"IfStatement","src":"18314:82:97","trueBody":{"id":66533,"nodeType":"Block","src":"18331:65:97","statements":[{"expression":{"id":66531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66529,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"18345:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":66530,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18369:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18345:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66532,"nodeType":"ExpressionStatement","src":"18345:40:97"}]}},{"eventCall":{"arguments":[{"id":66536,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18425:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66537,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"18434:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66538,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18450:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66535,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65660,"src":"18410:14:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18410:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66540,"nodeType":"EmitStatement","src":"18405:62:97"},{"expression":{"id":66541,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18484:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66459,"id":66542,"nodeType":"Return","src":"18477:23:97"}]},"baseFunctions":[65374],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17451:13:97","parameters":{"id":66456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66453,"mutability":"mutable","name":"_member","nameLocation":"17473:7:97","nodeType":"VariableDeclaration","scope":66544,"src":"17465:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66452,"name":"address","nodeType":"ElementaryTypeName","src":"17465:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66455,"mutability":"mutable","name":"_amountToStake","nameLocation":"17490:14:97","nodeType":"VariableDeclaration","scope":66544,"src":"17482:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66454,"name":"uint256","nodeType":"ElementaryTypeName","src":"17482:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17464:41:97"},"returnParameters":{"id":66459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66544,"src":"17532:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66457,"name":"uint256","nodeType":"ElementaryTypeName","src":"17532:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17531:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66600,"nodeType":"FunctionDefinition","src":"18513:689:97","nodes":[],"body":{"id":66599,"nodeType":"Block","src":"18614:588:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66553,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66029,"src":"18624:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18624:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66555,"nodeType":"ExpressionStatement","src":"18624:23:97"},{"assignments":[66557],"declarations":[{"constant":false,"id":66557,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18711:16:97","nodeType":"VariableDeclaration","scope":66599,"src":"18703:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66556,"name":"uint256","nodeType":"ElementaryTypeName","src":"18703:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66559,"initialValue":{"hexValue":"30","id":66558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18730:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18703:28:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66560,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"18745:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66561,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"18760:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18775:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"18760:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18787:9:97","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65397,"src":"18760:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"18745:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66565,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"18800:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66566,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"18815:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18830:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"18815:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18842:6:97","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65396,"src":"18815:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"18800:48:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18745:103:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66585,"nodeType":"Block","src":"18946:93:97","statements":[{"expression":{"id":66583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66578,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"18960:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66580,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66546,"src":"19002:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66581,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66548,"src":"19011:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66579,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66814,"src":"18979:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18979:49:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18960:68:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66584,"nodeType":"ExpressionStatement","src":"18960:68:97"}]},"id":66586,"nodeType":"IfStatement","src":"18741:298:97","trueBody":{"id":66577,"nodeType":"Block","src":"18850:90:97","statements":[{"expression":{"id":66575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66571,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"18864:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66573,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66548,"src":"18912:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66572,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66740,"src":"18883:28:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18883:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18864:65:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66576,"nodeType":"ExpressionStatement","src":"18864:65:97"}]}},{"expression":{"id":66589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66587,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"19048:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":66588,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"19072:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19048:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66590,"nodeType":"ExpressionStatement","src":"19048:40:97"},{"eventCall":{"arguments":[{"id":66592,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66546,"src":"19118:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66593,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66548,"src":"19127:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66594,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"19145:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66591,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65668,"src":"19103:14:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19103:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66596,"nodeType":"EmitStatement","src":"19098:64:97"},{"expression":{"id":66597,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"19179:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66552,"id":66598,"nodeType":"Return","src":"19172:23:97"}]},"baseFunctions":[65383],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18522:13:97","parameters":{"id":66549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66546,"mutability":"mutable","name":"_member","nameLocation":"18544:7:97","nodeType":"VariableDeclaration","scope":66600,"src":"18536:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66545,"name":"address","nodeType":"ElementaryTypeName","src":"18536:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66548,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18561:16:97","nodeType":"VariableDeclaration","scope":66600,"src":"18553:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66547,"name":"uint256","nodeType":"ElementaryTypeName","src":"18553:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18535:43:97"},"returnParameters":{"id":66552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66600,"src":"18605:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66550,"name":"uint256","nodeType":"ElementaryTypeName","src":"18605:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18604:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66610,"nodeType":"FunctionDefinition","src":"19208:126:97","nodes":[],"body":{"id":66609,"nodeType":"Block","src":"19296:38:97","nodes":[],"statements":[{"expression":{"id":66607,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66602,"src":"19313:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66606,"id":66608,"nodeType":"Return","src":"19306:21:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"19217:22:97","parameters":{"id":66603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66602,"mutability":"mutable","name":"_amountToStake","nameLocation":"19248:14:97","nodeType":"VariableDeclaration","scope":66610,"src":"19240:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66601,"name":"uint256","nodeType":"ElementaryTypeName","src":"19240:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19239:24:97"},"returnParameters":{"id":66606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66605,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66610,"src":"19287:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66604,"name":"uint256","nodeType":"ElementaryTypeName","src":"19287:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19286:9:97"},"scope":69064,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":66652,"nodeType":"FunctionDefinition","src":"19340:632:97","nodes":[],"body":{"id":66651,"nodeType":"Block","src":"19450:522:97","nodes":[],"statements":[{"assignments":[66620],"declarations":[{"constant":false,"id":66620,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19468:16:97","nodeType":"VariableDeclaration","scope":66651,"src":"19460:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66619,"name":"uint256","nodeType":"ElementaryTypeName","src":"19460:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66622,"initialValue":{"id":66621,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66614,"src":"19487:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19460:41:97"},{"assignments":[66624],"declarations":[{"constant":false,"id":66624,"mutability":"mutable","name":"memberPower","nameLocation":"19583:11:97","nodeType":"VariableDeclaration","scope":66651,"src":"19575:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66623,"name":"uint256","nodeType":"ElementaryTypeName","src":"19575:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66633,"initialValue":{"arguments":[{"id":66627,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"19640:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66630,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19657:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19649:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66628,"name":"address","nodeType":"ElementaryTypeName","src":"19649:7:97","typeDescriptions":{}}},"id":66631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19649:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66625,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"19597:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19615:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"19597:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19597:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19575:88:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66634,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66624,"src":"19729:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66635,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66620,"src":"19743:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":66637,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"19762:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19774:9:97","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"19762:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:54:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66648,"nodeType":"IfStatement","src":"19725:139:97","trueBody":{"id":66647,"nodeType":"Block","src":"19785:79:97","statements":[{"expression":{"id":66645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66640,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66620,"src":"19799:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66641,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"19818:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19830:9:97","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"19818:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66643,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66624,"src":"19842:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19818:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19799:54:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66646,"nodeType":"ExpressionStatement","src":"19799:54:97"}]}},{"expression":{"id":66649,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66620,"src":"19949:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66618,"id":66650,"nodeType":"Return","src":"19942:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19349:19:97","parameters":{"id":66615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66612,"mutability":"mutable","name":"_member","nameLocation":"19377:7:97","nodeType":"VariableDeclaration","scope":66652,"src":"19369:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66611,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66614,"mutability":"mutable","name":"_amountToStake","nameLocation":"19394:14:97","nodeType":"VariableDeclaration","scope":66652,"src":"19386:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66613,"name":"uint256","nodeType":"ElementaryTypeName","src":"19386:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19368:41:97"},"returnParameters":{"id":66618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66617,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66652,"src":"19441:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66616,"name":"uint256","nodeType":"ElementaryTypeName","src":"19441:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19440:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66730,"nodeType":"FunctionDefinition","src":"19978:741:97","nodes":[],"body":{"id":66729,"nodeType":"Block","src":"20091:628:97","nodes":[],"statements":[{"assignments":[66662],"declarations":[{"constant":false,"id":66662,"mutability":"mutable","name":"totalStake","nameLocation":"20109:10:97","nodeType":"VariableDeclaration","scope":66729,"src":"20101:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66661,"name":"uint256","nodeType":"ElementaryTypeName","src":"20101:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66669,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66665,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66654,"src":"20162:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66663,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"20122:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20140:21:97","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":71380,"src":"20122:39:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20122:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66667,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66656,"src":"20173:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20122:65:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20101:86:97"},{"assignments":[66671],"declarations":[{"constant":false,"id":66671,"mutability":"mutable","name":"decimal","nameLocation":"20206:7:97","nodeType":"VariableDeclaration","scope":66729,"src":"20198:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66670,"name":"uint256","nodeType":"ElementaryTypeName","src":"20198:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66673,"initialValue":{"hexValue":"3138","id":66672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20216:2:97","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20198:20:97"},{"clauses":[{"block":{"id":66694,"nodeType":"Block","src":"20316:52:97","statements":[{"expression":{"id":66692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66687,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66671,"src":"20330:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66690,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66685,"src":"20348:8:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20340:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66688,"name":"uint256","nodeType":"ElementaryTypeName","src":"20340:7:97","typeDescriptions":{}}},"id":66691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20340:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20330:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66693,"nodeType":"ExpressionStatement","src":"20330:27:97"}]},"errorName":"","id":66695,"nodeType":"TryCatchClause","parameters":{"id":66686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66685,"mutability":"mutable","name":"_decimal","nameLocation":"20306:8:97","nodeType":"VariableDeclaration","scope":66695,"src":"20300:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66684,"name":"uint8","nodeType":"ElementaryTypeName","src":"20300:5:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20299:16:97"},"src":"20291:77:97"},{"block":{"id":66696,"nodeType":"Block","src":"20375:64:97","statements":[]},"errorName":"","id":66697,"nodeType":"TryCatchClause","src":"20369:70:97"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66677,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"20246:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20264:11:97","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":70283,"src":"20246:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":66679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":66676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20238:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66675,"name":"address","nodeType":"ElementaryTypeName","src":"20238:7:97","typeDescriptions":{}}},"id":66680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20238:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66674,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"20232:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":66681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":66682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20280:8:97","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"20232:56:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:58:97","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66698,"nodeType":"TryStatement","src":"20228:211:97"},{"assignments":[66700],"declarations":[{"constant":false,"id":66700,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20456:14:97","nodeType":"VariableDeclaration","scope":66729,"src":"20448:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66699,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66709,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66703,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66662,"src":"20483:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20496:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66705,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66671,"src":"20502:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20496:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20483:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66701,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"20473:4:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58094_$","typeString":"type(library Math)"}},"id":66702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20478:4:97","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57598,"src":"20473:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20473:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20448:62:97"},{"assignments":[66711],"declarations":[{"constant":false,"id":66711,"mutability":"mutable","name":"currentPoints","nameLocation":"20528:13:97","nodeType":"VariableDeclaration","scope":66729,"src":"20520:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66710,"name":"uint256","nodeType":"ElementaryTypeName","src":"20520:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66720,"initialValue":{"arguments":[{"id":66714,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66654,"src":"20587:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66717,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20604:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20596:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66715,"name":"address","nodeType":"ElementaryTypeName","src":"20596:7:97","typeDescriptions":{}}},"id":66718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20596:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66712,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"20544:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20562:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"20544:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20544:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20520:90:97"},{"assignments":[66722],"declarations":[{"constant":false,"id":66722,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20629:16:97","nodeType":"VariableDeclaration","scope":66729,"src":"20621:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66721,"name":"uint256","nodeType":"ElementaryTypeName","src":"20621:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66726,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66723,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66700,"src":"20648:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66724,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66711,"src":"20665:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20648:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20621:57:97"},{"expression":{"id":66727,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66722,"src":"20696:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66660,"id":66728,"nodeType":"Return","src":"20689:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19987:22:97","parameters":{"id":66657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66654,"mutability":"mutable","name":"_member","nameLocation":"20018:7:97","nodeType":"VariableDeclaration","scope":66730,"src":"20010:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66653,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66656,"mutability":"mutable","name":"_amountToStake","nameLocation":"20035:14:97","nodeType":"VariableDeclaration","scope":66730,"src":"20027:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66655,"name":"uint256","nodeType":"ElementaryTypeName","src":"20027:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20009:41:97"},"returnParameters":{"id":66660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66659,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66730,"src":"20082:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66658,"name":"uint256","nodeType":"ElementaryTypeName","src":"20082:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20081:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66740,"nodeType":"FunctionDefinition","src":"20725:144:97","nodes":[],"body":{"id":66739,"nodeType":"Block","src":"20829:40:97","nodes":[],"statements":[{"expression":{"id":66737,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66732,"src":"20846:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66736,"id":66738,"nodeType":"Return","src":"20839:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20734:28:97","parameters":{"id":66733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66732,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20771:16:97","nodeType":"VariableDeclaration","scope":66740,"src":"20763:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66731,"name":"uint256","nodeType":"ElementaryTypeName","src":"20763:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20762:26:97"},"returnParameters":{"id":66736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66735,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66740,"src":"20820:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66734,"name":"uint256","nodeType":"ElementaryTypeName","src":"20820:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20819:9:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66814,"nodeType":"FunctionDefinition","src":"20875:855:97","nodes":[],"body":{"id":66813,"nodeType":"Block","src":"21026:704:97","nodes":[],"statements":[{"assignments":[66750],"declarations":[{"constant":false,"id":66750,"mutability":"mutable","name":"decimal","nameLocation":"21044:7:97","nodeType":"VariableDeclaration","scope":66813,"src":"21036:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66749,"name":"uint256","nodeType":"ElementaryTypeName","src":"21036:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66752,"initialValue":{"hexValue":"3138","id":66751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21054:2:97","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"21036:20:97"},{"clauses":[{"block":{"id":66773,"nodeType":"Block","src":"21154:52:97","statements":[{"expression":{"id":66771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66766,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66750,"src":"21168:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66769,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66764,"src":"21186:8:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21178:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66767,"name":"uint256","nodeType":"ElementaryTypeName","src":"21178:7:97","typeDescriptions":{}}},"id":66770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21178:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21168:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66772,"nodeType":"ExpressionStatement","src":"21168:27:97"}]},"errorName":"","id":66774,"nodeType":"TryCatchClause","parameters":{"id":66765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66764,"mutability":"mutable","name":"_decimal","nameLocation":"21144:8:97","nodeType":"VariableDeclaration","scope":66774,"src":"21138:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66763,"name":"uint8","nodeType":"ElementaryTypeName","src":"21138:5:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21137:16:97"},"src":"21129:77:97"},{"block":{"id":66775,"nodeType":"Block","src":"21213:64:97","statements":[]},"errorName":"","id":66776,"nodeType":"TryCatchClause","src":"21207:70:97"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66756,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"21084:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21102:11:97","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":70283,"src":"21084:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":66758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21084:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":66755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21076:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66754,"name":"address","nodeType":"ElementaryTypeName","src":"21076:7:97","typeDescriptions":{}}},"id":66759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21076:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66753,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"21070:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":66760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":66761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21118:8:97","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"21070:56:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:58:97","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66777,"nodeType":"TryStatement","src":"21066:211:97"},{"assignments":[66779],"declarations":[{"constant":false,"id":66779,"mutability":"mutable","name":"newTotalStake","nameLocation":"21356:13:97","nodeType":"VariableDeclaration","scope":66813,"src":"21348:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66778,"name":"uint256","nodeType":"ElementaryTypeName","src":"21348:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66786,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66782,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66742,"src":"21412:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66780,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"21372:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21390:21:97","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":71380,"src":"21372:39:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21372:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66784,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66744,"src":"21423:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21372:67:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21348:91:97"},{"assignments":[66788],"declarations":[{"constant":false,"id":66788,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21513:14:97","nodeType":"VariableDeclaration","scope":66813,"src":"21505:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66787,"name":"uint256","nodeType":"ElementaryTypeName","src":"21505:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66797,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66791,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66779,"src":"21540:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21556:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66793,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66750,"src":"21562:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21556:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21540:29:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66789,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"21530:4:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58094_$","typeString":"type(library Math)"}},"id":66790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21535:4:97","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57598,"src":"21530:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21530:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21505:65:97"},{"assignments":[66799],"declarations":[{"constant":false,"id":66799,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21588:16:97","nodeType":"VariableDeclaration","scope":66813,"src":"21580:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66798,"name":"uint256","nodeType":"ElementaryTypeName","src":"21580:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66810,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66802,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66742,"src":"21650:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66805,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21667:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21659:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66803,"name":"address","nodeType":"ElementaryTypeName","src":"21659:7:97","typeDescriptions":{}}},"id":66806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21659:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66800,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"21607:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21625:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"21607:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21607:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66808,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66788,"src":"21676:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21607:83:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21580:110:97"},{"expression":{"id":66811,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66799,"src":"21707:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66748,"id":66812,"nodeType":"Return","src":"21700:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20884:22:97","parameters":{"id":66745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66742,"mutability":"mutable","name":"_member","nameLocation":"20915:7:97","nodeType":"VariableDeclaration","scope":66814,"src":"20907:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66741,"name":"address","nodeType":"ElementaryTypeName","src":"20907:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66744,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20932:16:97","nodeType":"VariableDeclaration","scope":66814,"src":"20924:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66743,"name":"uint256","nodeType":"ElementaryTypeName","src":"20924:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20906:43:97"},"returnParameters":{"id":66748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66814,"src":"21013:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66746,"name":"uint256","nodeType":"ElementaryTypeName","src":"21013:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21012:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66823,"nodeType":"FunctionDefinition","src":"21736:99:97","nodes":[],"body":{"id":66822,"nodeType":"Block","src":"21790:45:97","nodes":[],"statements":[{"expression":{"expression":{"id":66819,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"21807:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21819:9:97","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"21807:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66818,"id":66821,"nodeType":"Return","src":"21800:28:97"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21745:12:97","parameters":{"id":66815,"nodeType":"ParameterList","parameters":[],"src":"21757:2:97"},"returnParameters":{"id":66818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66817,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66823,"src":"21781:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66816,"name":"uint256","nodeType":"ElementaryTypeName","src":"21781:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21780:9:97"},"scope":69064,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66832,"nodeType":"FunctionDefinition","src":"21841:110:97","nodes":[],"body":{"id":66831,"nodeType":"Block","src":"21916:35:97","nodes":[],"statements":[{"expression":{"id":66829,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"21933:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":66828,"id":66830,"nodeType":"Return","src":"21926:18:97"}]},"baseFunctions":[65389],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21850:14:97","parameters":{"id":66824,"nodeType":"ParameterList","parameters":[],"src":"21864:2:97"},"returnParameters":{"id":66828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66832,"src":"21888:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66826,"nodeType":"UserDefinedTypeName","pathNode":{"id":66825,"name":"StrategyStruct.PointSystem","nameLocations":["21888:14:97","21903:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"21888:26:97"},"referencedDeclaration":65399,"src":"21888:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21887:28:97"},"scope":69064,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66897,"nodeType":"FunctionDefinition","src":"22457:650:97","nodes":[],"body":{"id":66896,"nodeType":"Block","src":"22531:576:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":66841,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"22561:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66840,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66013,"src":"22541:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":66842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22541:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66843,"nodeType":"ExpressionStatement","src":"22541:28:97"},{"condition":{"id":66847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22583:27:97","subExpression":{"arguments":[{"id":66845,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"22602:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66844,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"22584:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22584:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66852,"nodeType":"IfStatement","src":"22579:90:97","trueBody":{"id":66851,"nodeType":"Block","src":"22612:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66848,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"22633:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22633:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66850,"nodeType":"RevertStatement","src":"22626:32:97"}]}},{"assignments":[66854],"declarations":[{"constant":false,"id":66854,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22729:23:97","nodeType":"VariableDeclaration","scope":66896,"src":"22724:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66853,"name":"bool","nodeType":"ElementaryTypeName","src":"22724:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66863,"initialValue":{"arguments":[{"id":66857,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"22801:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66860,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22818:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22810:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66858,"name":"address","nodeType":"ElementaryTypeName","src":"22810:7:97","typeDescriptions":{}}},"id":66861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22810:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66855,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"22755:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22773:27:97","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":70328,"src":"22755:45:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22755:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22724:100:97"},{"condition":{"id":66865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22838:24:97","subExpression":{"id":66864,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66854,"src":"22839:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66870,"nodeType":"IfStatement","src":"22834:78:97","trueBody":{"id":66869,"nodeType":"Block","src":"22864:48:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66866,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65527,"src":"22885:14:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22885:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66868,"nodeType":"RevertStatement","src":"22878:23:97"}]}},{"assignments":[66876],"declarations":[{"constant":false,"id":66876,"mutability":"mutable","name":"pv","nameLocation":"22961:2:97","nodeType":"VariableDeclaration","scope":66896,"src":"22921:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":66874,"nodeType":"UserDefinedTypeName","pathNode":{"id":66873,"name":"StrategyStruct.ProposalSupport","nameLocations":["22921:14:97","22936:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":65465,"src":"22921:30:97"},"referencedDeclaration":65465,"src":"22921:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":66875,"nodeType":"ArrayTypeName","src":"22921:32:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":66885,"initialValue":{"arguments":[{"id":66879,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66834,"src":"22977:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":66880,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"22985:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23000:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":65465,"src":"22985:30:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65465_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":66882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22985:32:97","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":66883,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22984:34:97","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":66877,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22966:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22970:6:97","memberName":"decode","nodeType":"MemberAccess","src":"22966:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22966:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22921:98:97"},{"expression":{"arguments":[{"id":66887,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"23054:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66888,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66876,"src":"23063:2:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":66886,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67628,"src":"23029:24:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":66889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23029:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66890,"nodeType":"ExpressionStatement","src":"23029:37:97"},{"expression":{"arguments":[{"id":66892,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"23088:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66893,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66876,"src":"23097:2:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":66891,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67915,"src":"23076:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":66894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23076:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66895,"nodeType":"ExpressionStatement","src":"23076:24:97"}]},"baseFunctions":[65221],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22466:9:97","overrides":{"id":66838,"nodeType":"OverrideSpecifier","overrides":[],"src":"22522:8:97"},"parameters":{"id":66837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66834,"mutability":"mutable","name":"_data","nameLocation":"22489:5:97","nodeType":"VariableDeclaration","scope":66897,"src":"22476:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66833,"name":"bytes","nodeType":"ElementaryTypeName","src":"22476:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66836,"mutability":"mutable","name":"_sender","nameLocation":"22504:7:97","nodeType":"VariableDeclaration","scope":66897,"src":"22496:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66835,"name":"address","nodeType":"ElementaryTypeName","src":"22496:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22475:37:97"},"returnParameters":{"id":66839,"nodeType":"ParameterList","parameters":[],"src":"22531:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67065,"nodeType":"FunctionDefinition","src":"23363:1925:97","nodes":[],"body":{"id":67064,"nodeType":"Block","src":"23449:1839:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66908,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"23508:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23514:6:97","memberName":"length","nodeType":"MemberAccess","src":"23508:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":66910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23524:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23508:17:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66916,"nodeType":"IfStatement","src":"23504:76:97","trueBody":{"id":66915,"nodeType":"Block","src":"23527:53:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66912,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65563,"src":"23548:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23548:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66914,"nodeType":"RevertStatement","src":"23541:28:97"}]}},{"assignments":[66918],"declarations":[{"constant":false,"id":66918,"mutability":"mutable","name":"proposalId","nameLocation":"23598:10:97","nodeType":"VariableDeclaration","scope":67064,"src":"23590:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66917,"name":"uint256","nodeType":"ElementaryTypeName","src":"23590:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66926,"initialValue":{"arguments":[{"id":66921,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"23622:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":66923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23630:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66922,"name":"uint256","nodeType":"ElementaryTypeName","src":"23630:7:97","typeDescriptions":{}}}],"id":66924,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23629:9:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":66919,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23611:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23615:6:97","memberName":"decode","nodeType":"MemberAccess","src":"23611:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23611:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23590:49:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66927,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23654:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23668:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23654:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66934,"nodeType":"IfStatement","src":"23650:77:97","trueBody":{"id":66933,"nodeType":"Block","src":"23671:56:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66930,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"23692:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23692:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66932,"nodeType":"RevertStatement","src":"23685:31:97"}]}},{"assignments":[66939],"declarations":[{"constant":false,"id":66939,"mutability":"mutable","name":"proposal","nameLocation":"23768:8:97","nodeType":"VariableDeclaration","scope":67064,"src":"23736:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":66938,"nodeType":"UserDefinedTypeName","pathNode":{"id":66937,"name":"StrategyStruct.Proposal","nameLocations":["23736:14:97","23751:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"23736:23:97"},"referencedDeclaration":65460,"src":"23736:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":66943,"initialValue":{"baseExpression":{"id":66940,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"23779:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":66942,"indexExpression":{"id":66941,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23789:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23779:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23736:64:97"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"id":66948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66944,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65785,"src":"23815:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66945,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"23831:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23846:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65394,"src":"23831:27:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65394_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":66947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23859:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"23831:35:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"23815:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67063,"nodeType":"IfStatement","src":"23811:1411:97","trueBody":{"id":67062,"nodeType":"Block","src":"23868:1354:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66949,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"23886:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23895:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"23886:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":66951,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23909:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23886:33:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66958,"nodeType":"IfStatement","src":"23882:108:97","trueBody":{"id":66957,"nodeType":"Block","src":"23921:69:97","statements":[{"errorCall":{"arguments":[{"id":66954,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23964:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66953,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"23946:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":66955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23946:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66956,"nodeType":"RevertStatement","src":"23939:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66959,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24008:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24017:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24008:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":66961,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"24035:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24008:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66971,"nodeType":"IfStatement","src":"24004:152:97","trueBody":{"id":66970,"nodeType":"Block","src":"24047:109:97","statements":[{"errorCall":{"arguments":[{"id":66964,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24092:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66965,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24104:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24113:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24104:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66967,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"24130:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66963,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65591,"src":"24072:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":66968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24072:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66969,"nodeType":"RevertStatement","src":"24065:76:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":66977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66972,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24174:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24183:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"24174:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":66974,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"24201:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24216:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"24201:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":66976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24231:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"24201:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24174:63:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66983,"nodeType":"IfStatement","src":"24170:138:97","trueBody":{"id":66982,"nodeType":"Block","src":"24239:69:97","statements":[{"errorCall":{"arguments":[{"id":66979,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24282:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66978,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65569,"src":"24264:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":66980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24264:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66981,"nodeType":"RevertStatement","src":"24257:36:97"}]}},{"assignments":[66985],"declarations":[{"constant":false,"id":66985,"mutability":"mutable","name":"convictionLast","nameLocation":"24330:14:97","nodeType":"VariableDeclaration","scope":67062,"src":"24322:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66984,"name":"uint256","nodeType":"ElementaryTypeName","src":"24322:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66989,"initialValue":{"arguments":[{"id":66987,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24372:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66986,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68485,"src":"24347:24:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":66988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24347:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24322:61:97"},{"assignments":[66991],"declarations":[{"constant":false,"id":66991,"mutability":"mutable","name":"threshold","nameLocation":"24405:9:97","nodeType":"VariableDeclaration","scope":67062,"src":"24397:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66990,"name":"uint256","nodeType":"ElementaryTypeName","src":"24397:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66996,"initialValue":{"arguments":[{"expression":{"id":66993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24436:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24445:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24436:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66992,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68101,"src":"24417:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":66995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24417:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24397:64:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66997,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66985,"src":"24480:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":66998,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66991,"src":"24497:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24480:26:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24510:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24519:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24510:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24537:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24510:28:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24480:58:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67009,"nodeType":"IfStatement","src":"24476:137:97","trueBody":{"id":67008,"nodeType":"Block","src":"24540:73:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67005,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65581,"src":"24565:31:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24565:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67007,"nodeType":"RevertStatement","src":"24558:40:97"}]}},{"assignments":[67014],"declarations":[{"constant":false,"id":67014,"mutability":"mutable","name":"pool","nameLocation":"24645:4:97","nodeType":"VariableDeclaration","scope":67062,"src":"24627:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67013,"nodeType":"UserDefinedTypeName","pathNode":{"id":67012,"name":"IAllo.Pool","nameLocations":["24627:5:97","24633:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24627:10:97"},"referencedDeclaration":2319,"src":"24627:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67019,"initialValue":{"arguments":[{"id":67017,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64735,"src":"24665:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67015,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64729,"src":"24652:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24657:7:97","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24652:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24652:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24627:45:97"},{"expression":{"id":67023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67020,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"24687:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":67021,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24701:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24710:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24701:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24687:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67024,"nodeType":"ExpressionStatement","src":"24687:38:97"},{"expression":{"arguments":[{"expression":{"id":67026,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67014,"src":"24763:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24768:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24763:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67028,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24775:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24784:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"24775:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67030,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24797:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24806:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24797:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67025,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24747:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":67032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24747:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67033,"nodeType":"ExpressionStatement","src":"24747:75:97"},{"expression":{"id":67040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67034,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24837:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24846:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"24837:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":67037,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"24863:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":67038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24878:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"24863:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24893:8:97","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"24863:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24837:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":67041,"nodeType":"ExpressionStatement","src":"24837:64:97"},{"expression":{"arguments":[{"id":67045,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24967:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67046,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24995:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25004:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"24995:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67048,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"25031:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67050,"indexExpression":{"id":67049,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"25049:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25031:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25081:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"25031:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67042,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"24915:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24931:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"24915:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":67052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24915:205:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67053,"nodeType":"ExpressionStatement","src":"24915:205:97"},{"eventCall":{"arguments":[{"id":67055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"25152:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67056,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"25164:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25173:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"25164:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67058,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"25186:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25195:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"25186:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67054,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[65638,2858],"referencedDeclaration":65638,"src":"25140:11:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":67060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25140:71:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67061,"nodeType":"EmitStatement","src":"25135:76:97"}]}}]},"baseFunctions":[65232],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23372:11:97","overrides":{"id":66906,"nodeType":"OverrideSpecifier","overrides":[],"src":"23440:8:97"},"parameters":{"id":66905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66900,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67065,"src":"23384:16:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":66898,"name":"address","nodeType":"ElementaryTypeName","src":"23384:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66899,"nodeType":"ArrayTypeName","src":"23384:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":66902,"mutability":"mutable","name":"_data","nameLocation":"23415:5:97","nodeType":"VariableDeclaration","scope":67065,"src":"23402:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66901,"name":"bytes","nodeType":"ElementaryTypeName","src":"23402:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67065,"src":"23422:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66903,"name":"address","nodeType":"ElementaryTypeName","src":"23422:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23383:47:97"},"returnParameters":{"id":66907,"nodeType":"ParameterList","parameters":[],"src":"23449:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67119,"nodeType":"FunctionDefinition","src":"25294:743:97","nodes":[],"body":{"id":67118,"nodeType":"Block","src":"25391:646:97","nodes":[],"statements":[{"assignments":[67076],"declarations":[{"constant":false,"id":67076,"mutability":"mutable","name":"proposal","nameLocation":"25433:8:97","nodeType":"VariableDeclaration","scope":67118,"src":"25401:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67075,"nodeType":"UserDefinedTypeName","pathNode":{"id":67074,"name":"StrategyStruct.Proposal","nameLocations":["25401:14:97","25416:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"25401:23:97"},"referencedDeclaration":65460,"src":"25401:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67080,"initialValue":{"baseExpression":{"id":67077,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"25444:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67079,"indexExpression":{"id":67078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67067,"src":"25454:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25444:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25401:64:97"},{"assignments":[67082,67084],"declarations":[{"constant":false,"id":67082,"mutability":"mutable","name":"convictionLast","nameLocation":"25559:14:97","nodeType":"VariableDeclaration","scope":67118,"src":"25551:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67081,"name":"uint256","nodeType":"ElementaryTypeName","src":"25551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67084,"mutability":"mutable","name":"blockNumber","nameLocation":"25583:11:97","nodeType":"VariableDeclaration","scope":67118,"src":"25575:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67083,"name":"uint256","nodeType":"ElementaryTypeName","src":"25575:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67090,"initialValue":{"arguments":[{"id":67086,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25644:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":67087,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25654:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25663:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"25654:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67085,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"25610:33:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":67089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25610:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25550:126:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67091,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"25691:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25709:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25691:19:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67094,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"25714:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25729:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25714:16:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25691:39:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67104,"nodeType":"IfStatement","src":"25687:110:97","trueBody":{"id":67103,"nodeType":"Block","src":"25732:65:97","statements":[{"expression":{"id":67101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67098,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"25746:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67099,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25763:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25772:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"25763:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25746:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67102,"nodeType":"ExpressionStatement","src":"25746:40:97"}]}},{"assignments":[67106],"declarations":[{"constant":false,"id":67106,"mutability":"mutable","name":"threshold","nameLocation":"25814:9:97","nodeType":"VariableDeclaration","scope":67118,"src":"25806:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67105,"name":"uint256","nodeType":"ElementaryTypeName","src":"25806:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67111,"initialValue":{"arguments":[{"expression":{"id":67108,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25845:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25854:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"25845:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67107,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68101,"src":"25826:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25826:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25806:64:97"},{"expression":{"id":67116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67112,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67070,"src":"25987:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67113,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"26003:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":67114,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67106,"src":"26021:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26003:27:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25987:43:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67117,"nodeType":"ExpressionStatement","src":"25987:43:97"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25303:18:97","parameters":{"id":67068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67067,"mutability":"mutable","name":"proposalId","nameLocation":"25330:10:97","nodeType":"VariableDeclaration","scope":67119,"src":"25322:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67066,"name":"uint256","nodeType":"ElementaryTypeName","src":"25322:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25321:20:97"},"returnParameters":{"id":67071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67070,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25376:13:97","nodeType":"VariableDeclaration","scope":67119,"src":"25371:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67069,"name":"bool","nodeType":"ElementaryTypeName","src":"25371:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25370:20:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67129,"nodeType":"FunctionDefinition","src":"26327:231:97","nodes":[],"body":{"id":67128,"nodeType":"Block","src":"26426:132:97","nodes":[],"statements":[]},"baseFunctions":[65252],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26336:19:97","overrides":{"id":67123,"nodeType":"OverrideSpecifier","overrides":[],"src":"26400:8:97"},"parameters":{"id":67122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67121,"mutability":"mutable","name":"_recipientId","nameLocation":"26364:12:97","nodeType":"VariableDeclaration","scope":67129,"src":"26356:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67120,"name":"address","nodeType":"ElementaryTypeName","src":"26356:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26355:22:97"},"returnParameters":{"id":67127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67129,"src":"26418:6:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":67125,"nodeType":"UserDefinedTypeName","pathNode":{"id":67124,"name":"Status","nameLocations":["26418:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26418:6:97"},"referencedDeclaration":2815,"src":"26418:6:97","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26417:8:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67148,"nodeType":"FunctionDefinition","src":"26687:287:97","nodes":[],"body":{"id":67147,"nodeType":"Block","src":"26797:177:97","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67144,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65531,"src":"26951:14:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26951:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67146,"nodeType":"RevertStatement","src":"26944:23:97"}]},"baseFunctions":[65091],"documentation":{"id":67130,"nodeType":"StructuredDocumentation","src":"26564:118:97","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26696:10:97","overrides":{"id":67138,"nodeType":"OverrideSpecifier","overrides":[],"src":"26755:8:97"},"parameters":{"id":67137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67148,"src":"26707:16:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67131,"name":"address","nodeType":"ElementaryTypeName","src":"26707:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67132,"nodeType":"ArrayTypeName","src":"26707:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67148,"src":"26725:14:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":67134,"name":"bytes","nodeType":"ElementaryTypeName","src":"26725:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":67135,"nodeType":"ArrayTypeName","src":"26725:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26706:34:97"},"returnParameters":{"id":67143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67148,"src":"26773:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":67140,"nodeType":"UserDefinedTypeName","pathNode":{"id":67139,"name":"PayoutSummary","nameLocations":["26773:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26773:13:97"},"referencedDeclaration":2820,"src":"26773:13:97","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":67141,"nodeType":"ArrayTypeName","src":"26773:15:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26772:24:97"},"scope":69064,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":67160,"nodeType":"FunctionDefinition","src":"26980:286:97","nodes":[],"body":{"id":67159,"nodeType":"Block","src":"27148:118:97","nodes":[],"statements":[]},"baseFunctions":[65243],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26989:10:97","overrides":{"id":67154,"nodeType":"OverrideSpecifier","overrides":[],"src":"27096:8:97"},"parameters":{"id":67153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67150,"mutability":"mutable","name":"_recipientId","nameLocation":"27008:12:97","nodeType":"VariableDeclaration","scope":67160,"src":"27000:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67149,"name":"address","nodeType":"ElementaryTypeName","src":"27000:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67152,"mutability":"mutable","name":"_data","nameLocation":"27035:5:97","nodeType":"VariableDeclaration","scope":67160,"src":"27022:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67151,"name":"bytes","nodeType":"ElementaryTypeName","src":"27022:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26999:42:97"},"returnParameters":{"id":67158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67157,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67160,"src":"27122:20:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":67156,"nodeType":"UserDefinedTypeName","pathNode":{"id":67155,"name":"PayoutSummary","nameLocations":["27122:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27122:13:97"},"referencedDeclaration":2820,"src":"27122:13:97","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"27121:22:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67171,"nodeType":"FunctionDefinition","src":"27272:127:97","nodes":[],"body":{"id":67170,"nodeType":"Block","src":"27349:50:97","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":67167,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67162,"src":"27384:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67166,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65648,"src":"27364:19:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":67168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27364:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67169,"nodeType":"EmitStatement","src":"27359:33:97"}]},"baseFunctions":[65266],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27281:24:97","overrides":{"id":67164,"nodeType":"OverrideSpecifier","overrides":[],"src":"27340:8:97"},"parameters":{"id":67163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67162,"mutability":"mutable","name":"_amount","nameLocation":"27314:7:97","nodeType":"VariableDeclaration","scope":67171,"src":"27306:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67161,"name":"uint256","nodeType":"ElementaryTypeName","src":"27306:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27305:17:97"},"returnParameters":{"id":67165,"nodeType":"ParameterList","parameters":[],"src":"27349:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67180,"nodeType":"FunctionDefinition","src":"27494:143:97","nodes":[],"body":{"id":67179,"nodeType":"Block","src":"27587:50:97","nodes":[],"statements":[]},"baseFunctions":[65203],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27503:17:97","overrides":{"id":67175,"nodeType":"OverrideSpecifier","overrides":[],"src":"27563:8:97"},"parameters":{"id":67174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67173,"mutability":"mutable","name":"_allocator","nameLocation":"27529:10:97","nodeType":"VariableDeclaration","scope":67180,"src":"27521:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67172,"name":"address","nodeType":"ElementaryTypeName","src":"27521:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27520:20:97"},"returnParameters":{"id":67178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67177,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67180,"src":"27581:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67176,"name":"bool","nodeType":"ElementaryTypeName","src":"27581:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27580:6:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67190,"nodeType":"FunctionDefinition","src":"27643:86:97","nodes":[],"body":{"id":67189,"nodeType":"Block","src":"27689:40:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":67186,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67182,"src":"27714:7:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67185,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65186,"src":"27699:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":67187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27699:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67188,"nodeType":"ExpressionStatement","src":"27699:23:97"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27652:13:97","parameters":{"id":67183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67182,"mutability":"mutable","name":"_active","nameLocation":"27671:7:97","nodeType":"VariableDeclaration","scope":67190,"src":"27666:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67181,"name":"bool","nodeType":"ElementaryTypeName","src":"27666:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27665:14:97"},"returnParameters":{"id":67184,"nodeType":"ParameterList","parameters":[],"src":"27689:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67278,"nodeType":"FunctionDefinition","src":"27735:844:97","nodes":[],"body":{"id":67277,"nodeType":"Block","src":"27787:792:97","nodes":[],"statements":[{"assignments":[67199],"declarations":[{"constant":false,"id":67199,"mutability":"mutable","name":"proposalsIds","nameLocation":"27862:12:97","nodeType":"VariableDeclaration","scope":67277,"src":"27845:29:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67197,"name":"uint256","nodeType":"ElementaryTypeName","src":"27845:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67198,"nodeType":"ArrayTypeName","src":"27845:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67203,"initialValue":{"baseExpression":{"id":67200,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"27877:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67202,"indexExpression":{"id":67201,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"27898:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27877:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27845:61:97"},{"body":{"id":67275,"nodeType":"Block","src":"27966:607:97","statements":[{"assignments":[67216],"declarations":[{"constant":false,"id":67216,"mutability":"mutable","name":"proposalId","nameLocation":"27988:10:97","nodeType":"VariableDeclaration","scope":67275,"src":"27980:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67215,"name":"uint256","nodeType":"ElementaryTypeName","src":"27980:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67220,"initialValue":{"baseExpression":{"id":67217,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67199,"src":"28001:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67219,"indexExpression":{"id":67218,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67205,"src":"28014:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28001:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27980:36:97"},{"assignments":[67225],"declarations":[{"constant":false,"id":67225,"mutability":"mutable","name":"proposal","nameLocation":"28062:8:97","nodeType":"VariableDeclaration","scope":67275,"src":"28030:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67224,"nodeType":"UserDefinedTypeName","pathNode":{"id":67223,"name":"StrategyStruct.Proposal","nameLocations":["28030:14:97","28045:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"28030:23:97"},"referencedDeclaration":65460,"src":"28030:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67229,"initialValue":{"baseExpression":{"id":67226,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"28073:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67228,"indexExpression":{"id":67227,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67216,"src":"28083:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28073:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28030:64:97"},{"condition":{"arguments":[{"id":67231,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67216,"src":"28127:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67230,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67513,"src":"28112:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28112:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67274,"nodeType":"IfStatement","src":"28108:455:97","trueBody":{"id":67273,"nodeType":"Block","src":"28140:423:97","statements":[{"assignments":[67234],"declarations":[{"constant":false,"id":67234,"mutability":"mutable","name":"stakedPoints","nameLocation":"28166:12:97","nodeType":"VariableDeclaration","scope":67273,"src":"28158:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67233,"name":"uint256","nodeType":"ElementaryTypeName","src":"28158:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67239,"initialValue":{"baseExpression":{"expression":{"id":67235,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28181:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28190:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"28181:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67238,"indexExpression":{"id":67237,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"28208:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28181:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28158:58:97"},{"expression":{"id":67246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67240,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28234:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28243:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"28234:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67244,"indexExpression":{"id":67242,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"28261:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28234:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28272:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28234:39:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67247,"nodeType":"ExpressionStatement","src":"28234:39:97"},{"expression":{"id":67252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67248,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28291:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28300:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"28291:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67251,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"28316:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28291:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67253,"nodeType":"ExpressionStatement","src":"28291:37:97"},{"expression":{"id":67256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67254,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65777,"src":"28346:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67255,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"28361:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28346:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67257,"nodeType":"ExpressionStatement","src":"28346:27:97"},{"expression":{"arguments":[{"id":67259,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28418:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":67260,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"28428:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67258,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68250,"src":"28391:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":67261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28391:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67262,"nodeType":"ExpressionStatement","src":"28391:50:97"},{"eventCall":{"arguments":[{"id":67264,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"28477:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67265,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67216,"src":"28486:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":67266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28498:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":67267,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28501:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28510:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"28501:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67269,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28524:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28533:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"28524:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67263,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65680,"src":"28464:12:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28464:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67272,"nodeType":"EmitStatement","src":"28459:89:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67208,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67205,"src":"27936:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67209,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67199,"src":"27940:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27953:6:97","memberName":"length","nodeType":"MemberAccess","src":"27940:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27936:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67276,"initializationExpression":{"assignments":[67205],"declarations":[{"constant":false,"id":67205,"mutability":"mutable","name":"i","nameLocation":"27929:1:97","nodeType":"VariableDeclaration","scope":67276,"src":"27921:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67204,"name":"uint256","nodeType":"ElementaryTypeName","src":"27921:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67207,"initialValue":{"hexValue":"30","id":67206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27933:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27921:13:97"},"loopExpression":{"expression":{"id":67213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27961:3:97","subExpression":{"id":67212,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67205,"src":"27961:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67214,"nodeType":"ExpressionStatement","src":"27961:3:97"},"nodeType":"ForStatement","src":"27916:657:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27744:8:97","parameters":{"id":67193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67192,"mutability":"mutable","name":"_member","nameLocation":"27761:7:97","nodeType":"VariableDeclaration","scope":67278,"src":"27753:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67191,"name":"address","nodeType":"ElementaryTypeName","src":"27753:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27752:17:97"},"returnParameters":{"id":67194,"nodeType":"ParameterList","parameters":[],"src":"27787:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67356,"nodeType":"FunctionDefinition","src":"29263:1145:97","nodes":[],"body":{"id":67355,"nodeType":"Block","src":"29793:615:97","nodes":[],"statements":[{"assignments":[67311],"declarations":[{"constant":false,"id":67311,"mutability":"mutable","name":"proposal","nameLocation":"29835:8:97","nodeType":"VariableDeclaration","scope":67355,"src":"29803:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67310,"nodeType":"UserDefinedTypeName","pathNode":{"id":67309,"name":"StrategyStruct.Proposal","nameLocations":["29803:14:97","29818:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"29803:23:97"},"referencedDeclaration":65460,"src":"29803:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67315,"initialValue":{"baseExpression":{"id":67312,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"29846:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67314,"indexExpression":{"id":67313,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67281,"src":"29856:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29846:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29803:65:97"},{"expression":{"id":67327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67316,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67301,"src":"29879:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67317,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"29891:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29900:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"29891:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29919:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29891:29:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":67323,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"29946:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29955:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"29946:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67322,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68101,"src":"29927:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29927:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29891:80:97","trueExpression":{"hexValue":"30","id":67321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29923:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29879:92:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67328,"nodeType":"ExpressionStatement","src":"29879:92:97"},{"expression":{"components":[{"expression":{"id":67329,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30002:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30011:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"30002:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67331,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30034:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30043:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"30034:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67333,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30068:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30077:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65440,"src":"30068:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67335,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30105:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30114:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"30105:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67337,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30143:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30152:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"30143:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30178:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30187:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"30178:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":67341,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30215:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"30215:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67343,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30247:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30256:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"30247:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67345,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67301,"src":"30284:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":67346,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30307:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30316:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"30307:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67350,"indexExpression":{"expression":{"id":67348,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30334:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30338:6:97","memberName":"sender","nodeType":"MemberAccess","src":"30334:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30307:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67351,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30359:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30368:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"30359:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67353,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29988:413:97","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$65419_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67306,"id":67354,"nodeType":"Return","src":"29981:420:97"}]},"documentation":{"id":67279,"nodeType":"StructuredDocumentation","src":"28585:673:97","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"29272:11:97","parameters":{"id":67282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67281,"mutability":"mutable","name":"_proposalId","nameLocation":"29292:11:97","nodeType":"VariableDeclaration","scope":67356,"src":"29284:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67280,"name":"uint256","nodeType":"ElementaryTypeName","src":"29284:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29283:21:97"},"returnParameters":{"id":67306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67284,"mutability":"mutable","name":"submitter","nameLocation":"29389:9:97","nodeType":"VariableDeclaration","scope":67356,"src":"29381:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67283,"name":"address","nodeType":"ElementaryTypeName","src":"29381:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67286,"mutability":"mutable","name":"beneficiary","nameLocation":"29420:11:97","nodeType":"VariableDeclaration","scope":67356,"src":"29412:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67285,"name":"address","nodeType":"ElementaryTypeName","src":"29412:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67288,"mutability":"mutable","name":"requestedToken","nameLocation":"29453:14:97","nodeType":"VariableDeclaration","scope":67356,"src":"29445:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67287,"name":"address","nodeType":"ElementaryTypeName","src":"29445:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67290,"mutability":"mutable","name":"requestedAmount","nameLocation":"29489:15:97","nodeType":"VariableDeclaration","scope":67356,"src":"29481:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67289,"name":"uint256","nodeType":"ElementaryTypeName","src":"29481:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67292,"mutability":"mutable","name":"stakedAmount","nameLocation":"29526:12:97","nodeType":"VariableDeclaration","scope":67356,"src":"29518:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67291,"name":"uint256","nodeType":"ElementaryTypeName","src":"29518:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67295,"mutability":"mutable","name":"proposalStatus","nameLocation":"29582:14:97","nodeType":"VariableDeclaration","scope":67356,"src":"29552:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":67294,"nodeType":"UserDefinedTypeName","pathNode":{"id":67293,"name":"StrategyStruct.ProposalStatus","nameLocations":["29552:14:97","29567:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"29552:29:97"},"referencedDeclaration":65419,"src":"29552:29:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":67297,"mutability":"mutable","name":"blockLast","nameLocation":"29618:9:97","nodeType":"VariableDeclaration","scope":67356,"src":"29610:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67296,"name":"uint256","nodeType":"ElementaryTypeName","src":"29610:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67299,"mutability":"mutable","name":"convictionLast","nameLocation":"29649:14:97","nodeType":"VariableDeclaration","scope":67356,"src":"29641:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67298,"name":"uint256","nodeType":"ElementaryTypeName","src":"29641:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67301,"mutability":"mutable","name":"threshold","nameLocation":"29685:9:97","nodeType":"VariableDeclaration","scope":67356,"src":"29677:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67300,"name":"uint256","nodeType":"ElementaryTypeName","src":"29677:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67303,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29716:17:97","nodeType":"VariableDeclaration","scope":67356,"src":"29708:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67302,"name":"uint256","nodeType":"ElementaryTypeName","src":"29708:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67305,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"29755:23:97","nodeType":"VariableDeclaration","scope":67356,"src":"29747:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67304,"name":"uint256","nodeType":"ElementaryTypeName","src":"29747:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29367:421:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67377,"nodeType":"FunctionDefinition","src":"30414:206:97","nodes":[],"body":{"id":67376,"nodeType":"Block","src":"30504:116:97","nodes":[],"statements":[{"assignments":[67368],"declarations":[{"constant":false,"id":67368,"mutability":"mutable","name":"proposal","nameLocation":"30546:8:97","nodeType":"VariableDeclaration","scope":67376,"src":"30514:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67367,"nodeType":"UserDefinedTypeName","pathNode":{"id":67366,"name":"StrategyStruct.Proposal","nameLocations":["30514:14:97","30529:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"30514:23:97"},"referencedDeclaration":65460,"src":"30514:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67372,"initialValue":{"baseExpression":{"id":67369,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"30557:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67371,"indexExpression":{"id":67370,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"30567:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30557:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30514:65:97"},{"expression":{"expression":{"id":67373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67368,"src":"30596:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30605:8:97","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65452,"src":"30596:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":67363,"id":67375,"nodeType":"Return","src":"30589:24:97"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30423:11:97","parameters":{"id":67359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67358,"mutability":"mutable","name":"_proposalId","nameLocation":"30443:11:97","nodeType":"VariableDeclaration","scope":67377,"src":"30435:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67357,"name":"uint256","nodeType":"ElementaryTypeName","src":"30435:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30434:21:97"},"returnParameters":{"id":67363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67362,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67377,"src":"30487:15:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":67361,"nodeType":"UserDefinedTypeName","pathNode":{"id":67360,"name":"Metadata","nameLocations":["30487:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30487:8:97"},"referencedDeclaration":3098,"src":"30487:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30486:17:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67393,"nodeType":"FunctionDefinition","src":"30821:184:97","nodes":[],"body":{"id":67392,"nodeType":"Block","src":"30929:76:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":67388,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67380,"src":"30978:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67389,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"30991:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67387,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67478,"src":"30946:31:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":67390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30946:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67386,"id":67391,"nodeType":"Return","src":"30939:59:97"}]},"documentation":{"id":67378,"nodeType":"StructuredDocumentation","src":"30626:190:97","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"30830:21:97","parameters":{"id":67383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67380,"mutability":"mutable","name":"_proposalId","nameLocation":"30860:11:97","nodeType":"VariableDeclaration","scope":67393,"src":"30852:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67379,"name":"uint256","nodeType":"ElementaryTypeName","src":"30852:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67382,"mutability":"mutable","name":"_voter","nameLocation":"30881:6:97","nodeType":"VariableDeclaration","scope":67393,"src":"30873:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67381,"name":"address","nodeType":"ElementaryTypeName","src":"30873:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30851:37:97"},"returnParameters":{"id":67386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67393,"src":"30920:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67384,"name":"uint256","nodeType":"ElementaryTypeName","src":"30920:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30919:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67406,"nodeType":"FunctionDefinition","src":"31011:153:97","nodes":[],"body":{"id":67405,"nodeType":"Block","src":"31105:59:97","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":67400,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"31122:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67402,"indexExpression":{"id":67401,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67395,"src":"31132:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31122:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31145:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"31122:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67399,"id":67404,"nodeType":"Return","src":"31115:42:97"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"31020:23:97","parameters":{"id":67396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67395,"mutability":"mutable","name":"_proposalId","nameLocation":"31052:11:97","nodeType":"VariableDeclaration","scope":67406,"src":"31044:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67394,"name":"uint256","nodeType":"ElementaryTypeName","src":"31044:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31043:21:97"},"returnParameters":{"id":67399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67406,"src":"31096:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67397,"name":"uint256","nodeType":"ElementaryTypeName","src":"31096:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31095:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67418,"nodeType":"FunctionDefinition","src":"31232:135:97","nodes":[],"body":{"id":67417,"nodeType":"Block","src":"31317:50:97","nodes":[],"statements":[{"expression":{"baseExpression":{"id":67413,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65809,"src":"31334:18:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67415,"indexExpression":{"id":67414,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67408,"src":"31353:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31334:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67412,"id":67416,"nodeType":"Return","src":"31327:33:97"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"31241:21:97","parameters":{"id":67409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67408,"mutability":"mutable","name":"_voter","nameLocation":"31271:6:97","nodeType":"VariableDeclaration","scope":67418,"src":"31263:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67407,"name":"address","nodeType":"ElementaryTypeName","src":"31263:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31262:16:97"},"returnParameters":{"id":67412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67418,"src":"31308:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67410,"name":"uint256","nodeType":"ElementaryTypeName","src":"31308:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31307:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67461,"nodeType":"FunctionDefinition","src":"31373:874:97","nodes":[],"body":{"id":67460,"nodeType":"Block","src":"31723:524:97","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":67434,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31754:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67436,"indexExpression":{"id":67435,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"31772:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31754:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31804:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"31754:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":67438,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31828:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67440,"indexExpression":{"id":67439,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"31846:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31828:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31878:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"31828:62:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67442,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31904:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67444,"indexExpression":{"id":67443,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"31922:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31904:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31954:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"31904:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67446,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31993:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67448,"indexExpression":{"id":67447,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"32011:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31993:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32043:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"31993:76:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67450,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"32083:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67452,"indexExpression":{"id":67451,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"32101:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32083:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32133:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"32083:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67454,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"32160:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67456,"indexExpression":{"id":67455,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"32178:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32160:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32210:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"32160:70:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67458,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31740:500:97","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$72931_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67433,"id":67459,"nodeType":"Return","src":"31733:507:97"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31382:19:97","parameters":{"id":67419,"nodeType":"ParameterList","parameters":[],"src":"31401:2:97"},"returnParameters":{"id":67433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67422,"mutability":"mutable","name":"arbitrator","nameLocation":"31492:10:97","nodeType":"VariableDeclaration","scope":67461,"src":"31480:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":67421,"nodeType":"UserDefinedTypeName","pathNode":{"id":67420,"name":"IArbitrator","nameLocations":["31480:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"31480:11:97"},"referencedDeclaration":72931,"src":"31480:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":67424,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31524:12:97","nodeType":"VariableDeclaration","scope":67461,"src":"31516:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67423,"name":"address","nodeType":"ElementaryTypeName","src":"31516:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67426,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31558:25:97","nodeType":"VariableDeclaration","scope":67461,"src":"31550:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67425,"name":"uint256","nodeType":"ElementaryTypeName","src":"31550:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67428,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31605:26:97","nodeType":"VariableDeclaration","scope":67461,"src":"31597:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67427,"name":"uint256","nodeType":"ElementaryTypeName","src":"31597:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67430,"mutability":"mutable","name":"defaultRuling","nameLocation":"31653:13:97","nodeType":"VariableDeclaration","scope":67461,"src":"31645:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67429,"name":"uint256","nodeType":"ElementaryTypeName","src":"31645:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67432,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31688:20:97","nodeType":"VariableDeclaration","scope":67461,"src":"31680:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67431,"name":"uint256","nodeType":"ElementaryTypeName","src":"31680:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31466:252:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67478,"nodeType":"FunctionDefinition","src":"32253:226:97","nodes":[],"body":{"id":67477,"nodeType":"Block","src":"32407:72:97","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":67470,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"32424:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67472,"indexExpression":{"id":67471,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"32434:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32447:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"32424:40:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67475,"indexExpression":{"id":67474,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67465,"src":"32465:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:48:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67469,"id":67476,"nodeType":"Return","src":"32417:55:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"32262:31:97","parameters":{"id":67466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67463,"mutability":"mutable","name":"_proposalId","nameLocation":"32302:11:97","nodeType":"VariableDeclaration","scope":67478,"src":"32294:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67462,"name":"uint256","nodeType":"ElementaryTypeName","src":"32294:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67465,"mutability":"mutable","name":"_voter","nameLocation":"32323:6:97","nodeType":"VariableDeclaration","scope":67478,"src":"32315:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67464,"name":"address","nodeType":"ElementaryTypeName","src":"32315:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32293:37:97"},"returnParameters":{"id":67469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67478,"src":"32394:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67467,"name":"uint256","nodeType":"ElementaryTypeName","src":"32394:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32393:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67488,"nodeType":"FunctionDefinition","src":"32485:153:97","nodes":[],"body":{"id":67487,"nodeType":"Block","src":"32557:81:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67483,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"32574:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":67484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32592:20:97","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":71767,"src":"32574:38:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":67485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32574:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67482,"id":67486,"nodeType":"Return","src":"32567:47:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32494:20:97","parameters":{"id":67479,"nodeType":"ParameterList","parameters":[],"src":"32514:2:97"},"returnParameters":{"id":67482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67488,"src":"32548:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67480,"name":"uint256","nodeType":"ElementaryTypeName","src":"32548:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32547:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67513,"nodeType":"FunctionDefinition","src":"32644:193:97","nodes":[],"body":{"id":67512,"nodeType":"Block","src":"32726:111:97","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67495,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"32743:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67497,"indexExpression":{"id":67496,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67490,"src":"32753:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32743:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32766:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"32743:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32779:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32743:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67501,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"32784:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67503,"indexExpression":{"id":67502,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67490,"src":"32794:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32784:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32807:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"32784:32:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32828:1:97","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":67506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32820:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67505,"name":"address","nodeType":"ElementaryTypeName","src":"32820:7:97","typeDescriptions":{}}},"id":67508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32820:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32784:46:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32743:87:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67494,"id":67511,"nodeType":"Return","src":"32736:94:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32653:14:97","parameters":{"id":67491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67490,"mutability":"mutable","name":"_proposalID","nameLocation":"32676:11:97","nodeType":"VariableDeclaration","scope":67513,"src":"32668:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67489,"name":"uint256","nodeType":"ElementaryTypeName","src":"32668:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32667:21:97"},"returnParameters":{"id":67494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67513,"src":"32720:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67492,"name":"bool","nodeType":"ElementaryTypeName","src":"32720:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32719:6:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67532,"nodeType":"FunctionDefinition","src":"32843:191:97","nodes":[],"body":{"id":67531,"nodeType":"Block","src":"32946:88:97","nodes":[],"statements":[{"expression":{"id":67529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67520,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67518,"src":"32956:14:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67521,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"32973:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67522,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32982:8:97","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65484,"src":"32973:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67523,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"32993:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67525,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67515,"src":"33007:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67526,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"33026:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33007:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:54:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32956:71:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67530,"nodeType":"ExpressionStatement","src":"32956:71:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"32852:15:97","parameters":{"id":67516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67515,"mutability":"mutable","name":"_requestedAmount","nameLocation":"32876:16:97","nodeType":"VariableDeclaration","scope":67532,"src":"32868:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67514,"name":"uint256","nodeType":"ElementaryTypeName","src":"32868:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32867:26:97"},"returnParameters":{"id":67519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67518,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"32930:14:97","nodeType":"VariableDeclaration","scope":67532,"src":"32925:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67517,"name":"bool","nodeType":"ElementaryTypeName","src":"32925:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32924:21:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67628,"nodeType":"FunctionDefinition","src":"33040:1548:97","nodes":[],"body":{"id":67627,"nodeType":"Block","src":"33170:1418:97","nodes":[],"statements":[{"assignments":[67542],"declarations":[{"constant":false,"id":67542,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"33187:15:97","nodeType":"VariableDeclaration","scope":67627,"src":"33180:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67541,"name":"int256","nodeType":"ElementaryTypeName","src":"33180:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67544,"initialValue":{"hexValue":"30","id":67543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33205:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33180:26:97"},{"body":{"id":67589,"nodeType":"Block","src":"33270:576:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67556,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33343:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67558,"indexExpression":{"id":67557,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33360:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33343:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33363:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65462,"src":"33343:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33377:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33343:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67564,"nodeType":"IfStatement","src":"33339:187:97","trueBody":{"id":67563,"nodeType":"Block","src":"33380:146:97","statements":[{"id":67562,"nodeType":"Continue","src":"33503:8:97"}]}},{"assignments":[67566],"declarations":[{"constant":false,"id":67566,"mutability":"mutable","name":"proposalId","nameLocation":"33547:10:97","nodeType":"VariableDeclaration","scope":67589,"src":"33539:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67565,"name":"uint256","nodeType":"ElementaryTypeName","src":"33539:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67571,"initialValue":{"expression":{"baseExpression":{"id":67567,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33560:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67569,"indexExpression":{"id":67568,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33577:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33560:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33580:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65462,"src":"33560:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33539:51:97"},{"condition":{"id":67575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33608:27:97","subExpression":{"arguments":[{"id":67573,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67566,"src":"33624:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67572,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67513,"src":"33609:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33609:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67581,"nodeType":"IfStatement","src":"33604:167:97","trueBody":{"id":67580,"nodeType":"Block","src":"33637:134:97","statements":[{"errorCall":{"arguments":[{"id":67577,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67566,"src":"33680:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67576,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"33662:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33662:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67579,"nodeType":"RevertStatement","src":"33655:36:97"}]}},{"expression":{"id":67587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67582,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67542,"src":"33784:15:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":67583,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33803:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67585,"indexExpression":{"id":67584,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33820:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33803:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33823:12:97","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65464,"src":"33803:32:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33784:51:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":67588,"nodeType":"ExpressionStatement","src":"33784:51:97"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67549,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33236:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67550,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33240:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33257:6:97","memberName":"length","nodeType":"MemberAccess","src":"33240:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33236:27:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67590,"initializationExpression":{"assignments":[67546],"declarations":[{"constant":false,"id":67546,"mutability":"mutable","name":"i","nameLocation":"33229:1:97","nodeType":"VariableDeclaration","scope":67590,"src":"33221:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67545,"name":"uint256","nodeType":"ElementaryTypeName","src":"33221:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67548,"initialValue":{"hexValue":"30","id":67547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33233:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33221:13:97"},"loopExpression":{"expression":{"id":67554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33265:3:97","subExpression":{"id":67553,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33265:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67555,"nodeType":"ExpressionStatement","src":"33265:3:97"},"nodeType":"ForStatement","src":"33216:630:97"},{"assignments":[67592],"declarations":[{"constant":false,"id":67592,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"33950:21:97","nodeType":"VariableDeclaration","scope":67627,"src":"33942:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67591,"name":"uint256","nodeType":"ElementaryTypeName","src":"33942:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67599,"initialValue":{"arguments":[{"arguments":[{"id":67595,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"34008:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67594,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"33986:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":67596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33986:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67597,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67542,"src":"34018:15:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67593,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"33974:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33974:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33942:92:97"},{"assignments":[67601],"declarations":[{"constant":false,"id":67601,"mutability":"mutable","name":"participantBalance","nameLocation":"34124:18:97","nodeType":"VariableDeclaration","scope":67627,"src":"34116:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67600,"name":"uint256","nodeType":"ElementaryTypeName","src":"34116:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67610,"initialValue":{"arguments":[{"id":67604,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"34188:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67607,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"34205:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":67606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34197:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67605,"name":"address","nodeType":"ElementaryTypeName","src":"34197:7:97","typeDescriptions":{}}},"id":67608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34197:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67602,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"34145:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":67603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34163:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"34145:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34145:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34116:95:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67611,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"34377:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67612,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67601,"src":"34401:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34377:42:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67620,"nodeType":"IfStatement","src":"34373:147:97","trueBody":{"id":67619,"nodeType":"Block","src":"34421:99:97","statements":[{"errorCall":{"arguments":[{"id":67615,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"34467:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67616,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67601,"src":"34490:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67614,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65561,"src":"34442:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34442:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67618,"nodeType":"RevertStatement","src":"34435:74:97"}]}},{"expression":{"id":67625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67621,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65809,"src":"34530:18:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67623,"indexExpression":{"id":67622,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"34549:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34530:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67624,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"34560:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34530:51:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67626,"nodeType":"ExpressionStatement","src":"34530:51:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"33049:24:97","parameters":{"id":67539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67534,"mutability":"mutable","name":"_sender","nameLocation":"33082:7:97","nodeType":"VariableDeclaration","scope":67628,"src":"33074:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67533,"name":"address","nodeType":"ElementaryTypeName","src":"33074:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67538,"mutability":"mutable","name":"_proposalSupport","nameLocation":"33131:16:97","nodeType":"VariableDeclaration","scope":67628,"src":"33091:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67536,"nodeType":"UserDefinedTypeName","pathNode":{"id":67535,"name":"StrategyStruct.ProposalSupport","nameLocations":["33091:14:97","33106:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":65465,"src":"33091:30:97"},"referencedDeclaration":65465,"src":"33091:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67537,"nodeType":"ArrayTypeName","src":"33091:32:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"33073:75:97"},"returnParameters":{"id":67540,"nodeType":"ParameterList","parameters":[],"src":"33170:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67915,"nodeType":"FunctionDefinition","src":"34594:3487:97","nodes":[],"body":{"id":67914,"nodeType":"Block","src":"34707:3374:97","nodes":[],"statements":[{"assignments":[67641],"declarations":[{"constant":false,"id":67641,"mutability":"mutable","name":"proposalsIds","nameLocation":"34734:12:97","nodeType":"VariableDeclaration","scope":67914,"src":"34717:29:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67639,"name":"uint256","nodeType":"ElementaryTypeName","src":"34717:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67640,"nodeType":"ArrayTypeName","src":"34717:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67642,"nodeType":"VariableDeclarationStatement","src":"34717:29:97"},{"body":{"id":67912,"nodeType":"Block","src":"34810:3265:97","statements":[{"assignments":[67655],"declarations":[{"constant":false,"id":67655,"mutability":"mutable","name":"proposalId","nameLocation":"34832:10:97","nodeType":"VariableDeclaration","scope":67912,"src":"34824:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67654,"name":"uint256","nodeType":"ElementaryTypeName","src":"34824:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67660,"initialValue":{"expression":{"baseExpression":{"id":67656,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"34845:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67658,"indexExpression":{"id":67657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"34862:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34845:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34865:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65462,"src":"34845:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34824:51:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67661,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"34948:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34961:6:97","memberName":"length","nodeType":"MemberAccess","src":"34948:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34971:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34948:24:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67763,"nodeType":"Block","src":"35100:764:97","statements":[{"assignments":[67681],"declarations":[{"constant":false,"id":67681,"mutability":"mutable","name":"exist","nameLocation":"35123:5:97","nodeType":"VariableDeclaration","scope":67763,"src":"35118:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67680,"name":"bool","nodeType":"ElementaryTypeName","src":"35118:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67683,"initialValue":{"hexValue":"66616c7365","id":67682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35131:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35118:18:97"},{"body":{"id":67711,"nodeType":"Block","src":"35204:268:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67695,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35255:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67697,"indexExpression":{"id":67696,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35268:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35255:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":67698,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35274:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35255:29:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67710,"nodeType":"IfStatement","src":"35251:203:97","trueBody":{"id":67709,"nodeType":"Block","src":"35286:168:97","statements":[{"expression":{"id":67702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67700,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67681,"src":"35312:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35320:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35312:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67703,"nodeType":"ExpressionStatement","src":"35312:12:97"},{"errorCall":{"arguments":[{"id":67705,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35383:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67706,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35395:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67704,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65579,"src":"35357:25:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35357:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67708,"nodeType":"RevertStatement","src":"35350:47:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67688,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35174:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67689,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35178:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35191:6:97","memberName":"length","nodeType":"MemberAccess","src":"35178:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35174:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67712,"initializationExpression":{"assignments":[67685],"declarations":[{"constant":false,"id":67685,"mutability":"mutable","name":"j","nameLocation":"35167:1:97","nodeType":"VariableDeclaration","scope":67712,"src":"35159:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67684,"name":"uint256","nodeType":"ElementaryTypeName","src":"35159:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67687,"initialValue":{"hexValue":"30","id":67686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35171:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35159:13:97"},"loopExpression":{"expression":{"id":67693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35199:3:97","subExpression":{"id":67692,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35199:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67694,"nodeType":"ExpressionStatement","src":"35199:3:97"},"nodeType":"ForStatement","src":"35154:318:97"},{"condition":{"id":67714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35493:6:97","subExpression":{"id":67713,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67681,"src":"35494:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67762,"nodeType":"IfStatement","src":"35489:361:97","trueBody":{"id":67761,"nodeType":"Block","src":"35501:349:97","statements":[{"assignments":[67719],"declarations":[{"constant":false,"id":67719,"mutability":"mutable","name":"temp","nameLocation":"35540:4:97","nodeType":"VariableDeclaration","scope":67761,"src":"35523:21:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67717,"name":"uint256","nodeType":"ElementaryTypeName","src":"35523:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67718,"nodeType":"ArrayTypeName","src":"35523:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67728,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67723,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35561:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35574:6:97","memberName":"length","nodeType":"MemberAccess","src":"35561:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35583:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35561:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35547:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67720,"name":"uint256","nodeType":"ElementaryTypeName","src":"35551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67721,"nodeType":"ArrayTypeName","src":"35551:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35547:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35523:62:97"},{"body":{"id":67748,"nodeType":"Block","src":"35657:74:97","statements":[{"expression":{"id":67746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67740,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"35683:4:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67742,"indexExpression":{"id":67741,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35688:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35683:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":67743,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35693:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67745,"indexExpression":{"id":67744,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35706:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35693:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35683:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67747,"nodeType":"ExpressionStatement","src":"35683:25:97"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67733,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35627:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67734,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35631:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35644:6:97","memberName":"length","nodeType":"MemberAccess","src":"35631:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35627:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67749,"initializationExpression":{"assignments":[67730],"declarations":[{"constant":false,"id":67730,"mutability":"mutable","name":"j","nameLocation":"35620:1:97","nodeType":"VariableDeclaration","scope":67749,"src":"35612:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67729,"name":"uint256","nodeType":"ElementaryTypeName","src":"35612:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67732,"initialValue":{"hexValue":"30","id":67731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35624:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35612:13:97"},"loopExpression":{"expression":{"id":67738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35652:3:97","subExpression":{"id":67737,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35652:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67739,"nodeType":"ExpressionStatement","src":"35652:3:97"},"nodeType":"ForStatement","src":"35607:124:97"},{"expression":{"id":67755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67750,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"35752:4:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67753,"indexExpression":{"expression":{"id":67751,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35757:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35770:6:97","memberName":"length","nodeType":"MemberAccess","src":"35757:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35752:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67754,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35780:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35752:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67756,"nodeType":"ExpressionStatement","src":"35752:38:97"},{"expression":{"id":67759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35812:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67758,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"35827:4:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35812:19:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67760,"nodeType":"ExpressionStatement","src":"35812:19:97"}]}}]},"id":67764,"nodeType":"IfStatement","src":"34944:920:97","trueBody":{"id":67679,"nodeType":"Block","src":"34974:120:97","statements":[{"expression":{"id":67671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67665,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"34992:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":67669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35021:1:97","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"}],"id":67668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35007:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67666,"name":"uint256","nodeType":"ElementaryTypeName","src":"35011:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67667,"nodeType":"ArrayTypeName","src":"35011:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35007:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"34992:31:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67672,"nodeType":"ExpressionStatement","src":"34992:31:97"},{"expression":{"id":67677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67673,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35041:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67675,"indexExpression":{"hexValue":"30","id":67674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35054:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35041:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67676,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35059:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35041:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67678,"nodeType":"ExpressionStatement","src":"35041:28:97"}]}},{"assignments":[67766],"declarations":[{"constant":false,"id":67766,"mutability":"mutable","name":"delta","nameLocation":"35884:5:97","nodeType":"VariableDeclaration","scope":67912,"src":"35877:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67765,"name":"int256","nodeType":"ElementaryTypeName","src":"35877:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67771,"initialValue":{"expression":{"baseExpression":{"id":67767,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"35892:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67769,"indexExpression":{"id":67768,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"35909:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35892:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35912:12:97","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65464,"src":"35892:32:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"35877:47:97"},{"assignments":[67776],"declarations":[{"constant":false,"id":67776,"mutability":"mutable","name":"proposal","nameLocation":"35971:8:97","nodeType":"VariableDeclaration","scope":67912,"src":"35939:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67775,"nodeType":"UserDefinedTypeName","pathNode":{"id":67774,"name":"StrategyStruct.Proposal","nameLocations":["35939:14:97","35954:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"35939:23:97"},"referencedDeclaration":65460,"src":"35939:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67780,"initialValue":{"baseExpression":{"id":67777,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"35982:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67779,"indexExpression":{"id":67778,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35992:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35982:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35939:64:97"},{"assignments":[67782],"declarations":[{"constant":false,"id":67782,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"36113:20:97","nodeType":"VariableDeclaration","scope":67912,"src":"36105:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67781,"name":"uint256","nodeType":"ElementaryTypeName","src":"36105:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67787,"initialValue":{"baseExpression":{"expression":{"id":67783,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"36136:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36145:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"36136:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67786,"indexExpression":{"id":67785,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36163:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36136:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36105:66:97"},{"assignments":[67789],"declarations":[{"constant":false,"id":67789,"mutability":"mutable","name":"stakedPoints","nameLocation":"36344:12:97","nodeType":"VariableDeclaration","scope":67912,"src":"36336:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67788,"name":"uint256","nodeType":"ElementaryTypeName","src":"36336:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67794,"initialValue":{"arguments":[{"id":67791,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"36371:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67792,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67766,"src":"36393:5:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67790,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"36359:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36359:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36336:63:97"},{"expression":{"id":67801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67795,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"36534:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36543:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"36534:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67799,"indexExpression":{"id":67797,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36561:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36534:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67800,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"36572:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36534:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67802,"nodeType":"ExpressionStatement","src":"36534:50:97"},{"assignments":[67804],"declarations":[{"constant":false,"id":67804,"mutability":"mutable","name":"hasProposal","nameLocation":"36823:11:97","nodeType":"VariableDeclaration","scope":67912,"src":"36818:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67803,"name":"bool","nodeType":"ElementaryTypeName","src":"36818:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67806,"initialValue":{"hexValue":"66616c7365","id":67805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36837:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"36818:24:97"},{"body":{"id":67835,"nodeType":"Block","src":"36923:179:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":67820,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"36945:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67822,"indexExpression":{"id":67821,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36966:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67824,"indexExpression":{"id":67823,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67808,"src":"36975:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67825,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"36981:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67826,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36990:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"36981:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36945:55:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67834,"nodeType":"IfStatement","src":"36941:147:97","trueBody":{"id":67833,"nodeType":"Block","src":"37002:86:97","statements":[{"expression":{"id":67830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67828,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"37024:11:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37038:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"37024:18:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67831,"nodeType":"ExpressionStatement","src":"37024:18:97"},{"id":67832,"nodeType":"Break","src":"37064:5:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67811,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67808,"src":"36876:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67812,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"36880:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67814,"indexExpression":{"id":67813,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36901:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36880:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36910:6:97","memberName":"length","nodeType":"MemberAccess","src":"36880:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36876:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67836,"initializationExpression":{"assignments":[67808],"declarations":[{"constant":false,"id":67808,"mutability":"mutable","name":"k","nameLocation":"36869:1:97","nodeType":"VariableDeclaration","scope":67836,"src":"36861:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67807,"name":"uint256","nodeType":"ElementaryTypeName","src":"36861:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67810,"initialValue":{"hexValue":"30","id":67809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36873:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36861:13:97"},"loopExpression":{"expression":{"id":67818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36918:3:97","subExpression":{"id":67817,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67808,"src":"36918:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67819,"nodeType":"ExpressionStatement","src":"36918:3:97"},"nodeType":"ForStatement","src":"36856:246:97"},{"condition":{"id":67838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37119:12:97","subExpression":{"id":67837,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"37120:11:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67848,"nodeType":"IfStatement","src":"37115:106:97","trueBody":{"id":67847,"nodeType":"Block","src":"37133:88:97","statements":[{"expression":{"arguments":[{"expression":{"id":67843,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37186:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67844,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37195:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"37186:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":67839,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"37151:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67841,"indexExpression":{"id":67840,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"37172:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37151:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37181:4:97","memberName":"push","nodeType":"MemberAccess","src":"37151:34:97","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":67845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37151:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67846,"nodeType":"ExpressionStatement","src":"37151:55:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67849,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37376:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":67850,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37400:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37376:36:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67881,"nodeType":"Block","src":"37581:161:97","statements":[{"expression":{"id":67871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67867,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65777,"src":"37599:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67868,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37614:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67869,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37637:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37614:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37599:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67872,"nodeType":"ExpressionStatement","src":"37599:50:97"},{"expression":{"id":67879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67873,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37667:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37676:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"37667:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67876,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37692:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67877,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37715:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37692:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37667:60:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67880,"nodeType":"ExpressionStatement","src":"37667:60:97"}]},"id":67882,"nodeType":"IfStatement","src":"37372:370:97","trueBody":{"id":67866,"nodeType":"Block","src":"37414:161:97","statements":[{"expression":{"id":67856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67852,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65777,"src":"37432:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67853,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37447:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67854,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37462:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37447:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37432:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67857,"nodeType":"ExpressionStatement","src":"37432:50:97"},{"expression":{"id":67864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67858,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37500:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67860,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37509:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"37500:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67861,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37525:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67862,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37540:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37525:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37500:60:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67865,"nodeType":"ExpressionStatement","src":"37500:60:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67883,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37759:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37768:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"37759:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37781:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37759:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67910,"nodeType":"Block","src":"37856:209:97","statements":[{"expression":{"arguments":[{"id":67896,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37901:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":67897,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37911:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67895,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68250,"src":"37874:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":67898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37874:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67899,"nodeType":"ExpressionStatement","src":"37874:58:97"},{"eventCall":{"arguments":[{"id":67901,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"37968:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67902,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"37977:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67903,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37989:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67904,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"38003:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67905,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38012:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"38003:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67906,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"38026:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67907,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38035:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"38026:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67900,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65680,"src":"37955:12:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37955:95:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67909,"nodeType":"EmitStatement","src":"37950:100:97"}]},"id":67911,"nodeType":"IfStatement","src":"37755:310:97","trueBody":{"id":67894,"nodeType":"Block","src":"37784:66:97","statements":[{"expression":{"id":67892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67887,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37802:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37811:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"37802:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67890,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"37823:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":67891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37829:6:97","memberName":"number","nodeType":"MemberAccess","src":"37823:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37802:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67893,"nodeType":"ExpressionStatement","src":"37802:33:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67647,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"34776:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67648,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"34780:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34797:6:97","memberName":"length","nodeType":"MemberAccess","src":"34780:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34776:27:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67913,"initializationExpression":{"assignments":[67644],"declarations":[{"constant":false,"id":67644,"mutability":"mutable","name":"i","nameLocation":"34769:1:97","nodeType":"VariableDeclaration","scope":67913,"src":"34761:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67643,"name":"uint256","nodeType":"ElementaryTypeName","src":"34761:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67646,"initialValue":{"hexValue":"30","id":67645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34773:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34761:13:97"},"loopExpression":{"expression":{"id":67652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34805:3:97","subExpression":{"id":67651,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"34805:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67653,"nodeType":"ExpressionStatement","src":"34805:3:97"},"nodeType":"ForStatement","src":"34756:3319:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34603:11:97","parameters":{"id":67635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67630,"mutability":"mutable","name":"_sender","nameLocation":"34623:7:97","nodeType":"VariableDeclaration","scope":67915,"src":"34615:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67629,"name":"address","nodeType":"ElementaryTypeName","src":"34615:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67634,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34672:16:97","nodeType":"VariableDeclaration","scope":67915,"src":"34632:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67632,"nodeType":"UserDefinedTypeName","pathNode":{"id":67631,"name":"StrategyStruct.ProposalSupport","nameLocations":["34632:14:97","34647:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":65465,"src":"34632:30:97"},"referencedDeclaration":65465,"src":"34632:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67633,"nodeType":"ArrayTypeName","src":"34632:32:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"34614:75:97"},"returnParameters":{"id":67636,"nodeType":"ParameterList","parameters":[],"src":"34707:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67950,"nodeType":"FunctionDefinition","src":"38087:284:97","nodes":[],"body":{"id":67949,"nodeType":"Block","src":"38181:190:97","nodes":[],"statements":[{"assignments":[67925],"declarations":[{"constant":false,"id":67925,"mutability":"mutable","name":"result","nameLocation":"38198:6:97","nodeType":"VariableDeclaration","scope":67949,"src":"38191:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67924,"name":"int256","nodeType":"ElementaryTypeName","src":"38191:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67932,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67928,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67917,"src":"38214:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38207:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":67926,"name":"int256","nodeType":"ElementaryTypeName","src":"38207:6:97","typeDescriptions":{}}},"id":67929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38207:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67930,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67919,"src":"38226:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"38207:25:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"38191:41:97"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67933,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67925,"src":"38247:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":67934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38256:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38247:10:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67943,"nodeType":"IfStatement","src":"38243:90:97","trueBody":{"id":67942,"nodeType":"Block","src":"38259:74:97","statements":[{"errorCall":{"arguments":[{"id":67937,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67917,"src":"38297:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67938,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67919,"src":"38307:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":67939,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67925,"src":"38315:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67936,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65551,"src":"38280:16:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":67940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38280:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67941,"nodeType":"RevertStatement","src":"38273:49:97"}]}},{"expression":{"arguments":[{"id":67946,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67925,"src":"38357:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38349:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67944,"name":"uint256","nodeType":"ElementaryTypeName","src":"38349:7:97","typeDescriptions":{}}},"id":67947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38349:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67923,"id":67948,"nodeType":"Return","src":"38342:22:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"38096:11:97","parameters":{"id":67920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67917,"mutability":"mutable","name":"_support","nameLocation":"38116:8:97","nodeType":"VariableDeclaration","scope":67950,"src":"38108:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67916,"name":"uint256","nodeType":"ElementaryTypeName","src":"38108:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67919,"mutability":"mutable","name":"_delta","nameLocation":"38133:6:97","nodeType":"VariableDeclaration","scope":67950,"src":"38126:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67918,"name":"int256","nodeType":"ElementaryTypeName","src":"38126:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"38107:33:97"},"returnParameters":{"id":67923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67950,"src":"38172:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67921,"name":"uint256","nodeType":"ElementaryTypeName","src":"38172:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38171:9:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68008,"nodeType":"FunctionDefinition","src":"38788:1191:97","nodes":[],"body":{"id":68007,"nodeType":"Block","src":"38951:1028:97","nodes":[],"statements":[{"assignments":[67963],"declarations":[{"constant":false,"id":67963,"mutability":"mutable","name":"t","nameLocation":"38969:1:97","nodeType":"VariableDeclaration","scope":68007,"src":"38961:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67962,"name":"uint256","nodeType":"ElementaryTypeName","src":"38961:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67965,"initialValue":{"id":67964,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67953,"src":"38973:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38961:23:97"},{"assignments":[67967],"declarations":[{"constant":false,"id":67967,"mutability":"mutable","name":"atTWO_128","nameLocation":"39307:9:97","nodeType":"VariableDeclaration","scope":68007,"src":"39299:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67966,"name":"uint256","nodeType":"ElementaryTypeName","src":"39299:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67978,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67969,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"39325:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39334:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"39325:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":67971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39343:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39325:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67973,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39324:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":67974,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"39350:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39324:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67976,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67963,"src":"39353:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67968,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68201,"src":"39319:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":67977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39319:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39299:56:97"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67979,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67967,"src":"39851:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67980,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"39863:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39851:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67982,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39850:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67983,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"39878:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67984,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"39891:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67986,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"39896:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67987,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67967,"src":"39906:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39896:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67989,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39895:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67991,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39877:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67992,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"39921:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":67993,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"39925:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39934:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"39925:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39921:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67996,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39920:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39877:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67998,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39876:65:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39850:91:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68000,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39849:93:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68001,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65751,"src":"39945:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39849:103:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68003,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39848:105:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39969:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39848:124:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67961,"id":68006,"nodeType":"Return","src":"39841:131:97"}]},"documentation":{"id":67951,"nodeType":"StructuredDocumentation","src":"38377:406:97","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"38797:19:97","parameters":{"id":67958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67953,"mutability":"mutable","name":"_timePassed","nameLocation":"38825:11:97","nodeType":"VariableDeclaration","scope":68008,"src":"38817:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67952,"name":"uint256","nodeType":"ElementaryTypeName","src":"38817:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67955,"mutability":"mutable","name":"_lastConv","nameLocation":"38846:9:97","nodeType":"VariableDeclaration","scope":68008,"src":"38838:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67954,"name":"uint256","nodeType":"ElementaryTypeName","src":"38838:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67957,"mutability":"mutable","name":"_oldAmount","nameLocation":"38865:10:97","nodeType":"VariableDeclaration","scope":68008,"src":"38857:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67956,"name":"uint256","nodeType":"ElementaryTypeName","src":"38857:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38816:60:97"},"returnParameters":{"id":67961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68008,"src":"38938:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67959,"name":"uint256","nodeType":"ElementaryTypeName","src":"38938:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38937:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68101,"nodeType":"FunctionDefinition","src":"40560:1549:97","nodes":[],"body":{"id":68100,"nodeType":"Block","src":"40663:1446:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68016,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"40797:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40811:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"40797:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68023,"nodeType":"IfStatement","src":"40793:66:97","trueBody":{"id":68022,"nodeType":"Block","src":"40814:45:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68019,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65529,"src":"40835:11:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40835:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68021,"nodeType":"RevertStatement","src":"40828:20:97"}]}},{"condition":{"arguments":[{"id":68025,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68011,"src":"41315:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68024,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67532,"src":"41299:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41299:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68031,"nodeType":"IfStatement","src":"41295:91:97","trueBody":{"id":68030,"nodeType":"Block","src":"41334:52:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68027,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65537,"src":"41355:18:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41355:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68029,"nodeType":"RevertStatement","src":"41348:27:97"}]}},{"assignments":[68033],"declarations":[{"constant":false,"id":68033,"mutability":"mutable","name":"denom","nameLocation":"41542:5:97","nodeType":"VariableDeclaration","scope":68100,"src":"41534:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68032,"name":"uint256","nodeType":"ElementaryTypeName","src":"41534:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68052,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68034,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"41551:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41560:8:97","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65484,"src":"41551:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41571:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41576:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41571:7:97","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41551:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68040,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41550:29:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68041,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41582:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68043,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68011,"src":"41587:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41606:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41611:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41606:7:97","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41587:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68048,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41586:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68049,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"41617:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41586:41:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:77:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41534:93:97"},{"expression":{"id":68087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68053,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"41637:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68054,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"41669:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41678:6:97","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65486,"src":"41669:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41688:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41669:22:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68058,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41668:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68059,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41695:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41668:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68061,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41667:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68062,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68033,"src":"41702:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68063,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68033,"src":"41710:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41702:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68065,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41701:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41720:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41701:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41700:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41667:56:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68070,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41666:58:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68071,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41727:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41666:62:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68073,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41665:64:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68074,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41733:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68075,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"41737:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41746:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"41737:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41733:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68078,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41732:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41665:87:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68080,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41664:89:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":68081,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68209,"src":"41772:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":68082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41772:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41664:136:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41650:160:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41814:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41650:166:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41637:179:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68088,"nodeType":"ExpressionStatement","src":"41637:179:97"},{"expression":{"id":68098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68089,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"42006:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68090,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"42019:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68091,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"42032:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42041:18:97","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65490,"src":"42032:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42019:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":68095,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"42075:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42084:18:97","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65490,"src":"42075:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42019:83:97","trueExpression":{"id":68094,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"42062:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42006:96:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68099,"nodeType":"ExpressionStatement","src":"42006:96:97"}]},"documentation":{"id":68009,"nodeType":"StructuredDocumentation","src":"39985:570:97","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"40569:18:97","parameters":{"id":68012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68011,"mutability":"mutable","name":"_requestedAmount","nameLocation":"40596:16:97","nodeType":"VariableDeclaration","scope":68101,"src":"40588:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68010,"name":"uint256","nodeType":"ElementaryTypeName","src":"40588:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40587:26:97"},"returnParameters":{"id":68015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68014,"mutability":"mutable","name":"_threshold","nameLocation":"40651:10:97","nodeType":"VariableDeclaration","scope":68101,"src":"40643:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68013,"name":"uint256","nodeType":"ElementaryTypeName","src":"40643:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40642:20:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68136,"nodeType":"FunctionDefinition","src":"42370:277:97","nodes":[],"body":{"id":68135,"nodeType":"Block","src":"42456:191:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68112,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68104,"src":"42474:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68113,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"42480:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42474:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":68115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42489:42:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":68111,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42466:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42466:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68117,"nodeType":"ExpressionStatement","src":"42466:66:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68119,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68106,"src":"42550:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68120,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"42555:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42550:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":68122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42564:30:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":68118,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42542:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42542:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68124,"nodeType":"ExpressionStatement","src":"42542:53:97"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68125,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68104,"src":"42614:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68126,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68106,"src":"42619:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42614:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68128,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42613:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68129,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65751,"src":"42625:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42613:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68131,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42612:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42637:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"42612:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68110,"id":68134,"nodeType":"Return","src":"42605:35:97"}]},"documentation":{"id":68102,"nodeType":"StructuredDocumentation","src":"42115:250:97","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"42379:4:97","parameters":{"id":68107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68104,"mutability":"mutable","name":"_a","nameLocation":"42392:2:97","nodeType":"VariableDeclaration","scope":68136,"src":"42384:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68103,"name":"uint256","nodeType":"ElementaryTypeName","src":"42384:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68106,"mutability":"mutable","name":"_b","nameLocation":"42404:2:97","nodeType":"VariableDeclaration","scope":68136,"src":"42396:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68105,"name":"uint256","nodeType":"ElementaryTypeName","src":"42396:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42383:24:97"},"returnParameters":{"id":68110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68109,"mutability":"mutable","name":"_result","nameLocation":"42447:7:97","nodeType":"VariableDeclaration","scope":68136,"src":"42439:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68108,"name":"uint256","nodeType":"ElementaryTypeName","src":"42439:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42438:17:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68201,"nodeType":"FunctionDefinition","src":"42869:455:97","nodes":[],"body":{"id":68200,"nodeType":"Block","src":"42955:369:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68147,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68139,"src":"42973:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68148,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"42978:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42973:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":68150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42987:30:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":68146,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42965:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42965:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68152,"nodeType":"ExpressionStatement","src":"42965:53:97"},{"assignments":[68154],"declarations":[{"constant":false,"id":68154,"mutability":"mutable","name":"a","nameLocation":"43036:1:97","nodeType":"VariableDeclaration","scope":68200,"src":"43028:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68153,"name":"uint256","nodeType":"ElementaryTypeName","src":"43028:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68156,"initialValue":{"id":68155,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68139,"src":"43040:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43028:14:97"},{"assignments":[68158],"declarations":[{"constant":false,"id":68158,"mutability":"mutable","name":"b","nameLocation":"43060:1:97","nodeType":"VariableDeclaration","scope":68200,"src":"43052:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68157,"name":"uint256","nodeType":"ElementaryTypeName","src":"43052:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68160,"initialValue":{"id":68159,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68141,"src":"43064:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43052:14:97"},{"expression":{"id":68163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68161,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68144,"src":"43076:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68162,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"43086:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43076:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68164,"nodeType":"ExpressionStatement","src":"43076:17:97"},{"body":{"id":68198,"nodeType":"Block","src":"43117:201:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68168,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43135:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":68169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43139:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43135:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43144:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43135:10:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68196,"nodeType":"Block","src":"43225:83:97","statements":[{"expression":{"id":68190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68185,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68144,"src":"43243:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68187,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68144,"src":"43258:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68188,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43267:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68186,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68136,"src":"43253:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43253:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43243:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68191,"nodeType":"ExpressionStatement","src":"43243:26:97"},{"expression":{"id":68194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68192,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43287:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":68193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43292:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43287:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68195,"nodeType":"ExpressionStatement","src":"43287:6:97"}]},"id":68197,"nodeType":"IfStatement","src":"43131:177:97","trueBody":{"id":68184,"nodeType":"Block","src":"43147:72:97","statements":[{"expression":{"id":68178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68173,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43165:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68175,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43174:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68176,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43177:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68174,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68136,"src":"43169:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43169:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43165:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68179,"nodeType":"ExpressionStatement","src":"43165:14:97"},{"expression":{"id":68182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68180,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43197:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":68181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43203:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43197:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68183,"nodeType":"ExpressionStatement","src":"43197:7:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68165,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43110:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43114:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43110:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68199,"nodeType":"WhileStatement","src":"43103:215:97"}]},"documentation":{"id":68137,"nodeType":"StructuredDocumentation","src":"42653:211:97","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"42878:4:97","parameters":{"id":68142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68139,"mutability":"mutable","name":"_a","nameLocation":"42891:2:97","nodeType":"VariableDeclaration","scope":68201,"src":"42883:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68138,"name":"uint256","nodeType":"ElementaryTypeName","src":"42883:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68141,"mutability":"mutable","name":"_b","nameLocation":"42903:2:97","nodeType":"VariableDeclaration","scope":68201,"src":"42895:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68140,"name":"uint256","nodeType":"ElementaryTypeName","src":"42895:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42882:24:97"},"returnParameters":{"id":68145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68144,"mutability":"mutable","name":"_result","nameLocation":"42946:7:97","nodeType":"VariableDeclaration","scope":68201,"src":"42938:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68143,"name":"uint256","nodeType":"ElementaryTypeName","src":"42938:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42937:17:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68209,"nodeType":"FunctionDefinition","src":"43330:120:97","nodes":[],"body":{"id":68208,"nodeType":"Block","src":"43406:44:97","nodes":[],"statements":[{"expression":{"id":68206,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"43423:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68205,"id":68207,"nodeType":"Return","src":"43416:27:97"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"43339:26:97","parameters":{"id":68202,"nodeType":"ParameterList","parameters":[],"src":"43365:2:97"},"returnParameters":{"id":68205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68204,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68209,"src":"43397:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68203,"name":"uint256","nodeType":"ElementaryTypeName","src":"43397:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43396:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68250,"nodeType":"FunctionDefinition","src":"43640:424:97","nodes":[],"body":{"id":68249,"nodeType":"Block","src":"43776:288:97","nodes":[],"statements":[{"assignments":[68219,68221],"declarations":[{"constant":false,"id":68219,"mutability":"mutable","name":"conviction","nameLocation":"43795:10:97","nodeType":"VariableDeclaration","scope":68249,"src":"43787:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68218,"name":"uint256","nodeType":"ElementaryTypeName","src":"43787:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68221,"mutability":"mutable","name":"blockNumber","nameLocation":"43815:11:97","nodeType":"VariableDeclaration","scope":68249,"src":"43807:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68220,"name":"uint256","nodeType":"ElementaryTypeName","src":"43807:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68226,"initialValue":{"arguments":[{"id":68223,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68213,"src":"43864:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68224,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68215,"src":"43875:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68222,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"43830:33:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43830:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"43786:100:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68227,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68219,"src":"43900:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43914:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43900:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68230,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68221,"src":"43919:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43934:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43919:16:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43900:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68236,"nodeType":"IfStatement","src":"43896:72:97","trueBody":{"id":68235,"nodeType":"Block","src":"43937:31:97","statements":[{"functionReturnParameters":68217,"id":68234,"nodeType":"Return","src":"43951:7:97"}]}},{"expression":{"id":68241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68237,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68213,"src":"43977:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43987:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"43977:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68240,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68221,"src":"43999:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43977:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68242,"nodeType":"ExpressionStatement","src":"43977:33:97"},{"expression":{"id":68247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68243,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68213,"src":"44020:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44030:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"44020:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68246,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68219,"src":"44047:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44020:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68248,"nodeType":"ExpressionStatement","src":"44020:37:97"}]},"documentation":{"id":68210,"nodeType":"StructuredDocumentation","src":"43456:179:97","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"43649:26:97","parameters":{"id":68216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68213,"mutability":"mutable","name":"_proposal","nameLocation":"43708:9:97","nodeType":"VariableDeclaration","scope":68250,"src":"43676:41:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68212,"nodeType":"UserDefinedTypeName","pathNode":{"id":68211,"name":"StrategyStruct.Proposal","nameLocations":["43676:14:97","43691:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"43676:23:97"},"referencedDeclaration":65460,"src":"43676:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68215,"mutability":"mutable","name":"_oldStaked","nameLocation":"43727:10:97","nodeType":"VariableDeclaration","scope":68250,"src":"43719:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68214,"name":"uint256","nodeType":"ElementaryTypeName","src":"43719:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43675:63:97"},"returnParameters":{"id":68217,"nodeType":"ParameterList","parameters":[],"src":"43776:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68297,"nodeType":"FunctionDefinition","src":"44070:845:97","nodes":[],"body":{"id":68296,"nodeType":"Block","src":"44284:631:97","nodes":[],"statements":[{"expression":{"id":68265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68262,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44294:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68263,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44308:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44314:6:97","memberName":"number","nodeType":"MemberAccess","src":"44308:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44294:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68266,"nodeType":"ExpressionStatement","src":"44294:26:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68268,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44337:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44347:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"44337:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68270,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44360:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44337:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68267,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"44330:6:97","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":68272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44330:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68273,"nodeType":"ExpressionStatement","src":"44330:42:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68274,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44386:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44396:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"44386:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68276,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44409:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44386:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68283,"nodeType":"IfStatement","src":"44382:173:97","trueBody":{"id":68282,"nodeType":"Block","src":"44422:133:97","statements":[{"expression":{"components":[{"hexValue":"30","id":68278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44510:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":68279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44513:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":68280,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44509:6:97","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":68261,"id":68281,"nodeType":"Return","src":"44502:13:97"}]}},{"expression":{"id":68294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68284,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68258,"src":"44608:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68286,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44764:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68287,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44778:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44788:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"44778:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44764:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68290,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44850:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44860:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"44850:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68292,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68255,"src":"44888:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68285,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68008,"src":"44621:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":68293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44621:287:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44608:300:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68295,"nodeType":"ExpressionStatement","src":"44608:300:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"44079:33:97","parameters":{"id":68256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68253,"mutability":"mutable","name":"_proposal","nameLocation":"44145:9:97","nodeType":"VariableDeclaration","scope":68297,"src":"44113:41:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68252,"nodeType":"UserDefinedTypeName","pathNode":{"id":68251,"name":"StrategyStruct.Proposal","nameLocations":["44113:14:97","44128:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"44113:23:97"},"referencedDeclaration":65460,"src":"44113:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68255,"mutability":"mutable","name":"_oldStaked","nameLocation":"44164:10:97","nodeType":"VariableDeclaration","scope":68297,"src":"44156:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68254,"name":"uint256","nodeType":"ElementaryTypeName","src":"44156:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44112:63:97"},"returnParameters":{"id":68261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68258,"mutability":"mutable","name":"conviction","nameLocation":"44247:10:97","nodeType":"VariableDeclaration","scope":68297,"src":"44239:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68257,"name":"uint256","nodeType":"ElementaryTypeName","src":"44239:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68260,"mutability":"mutable","name":"blockNumber","nameLocation":"44267:11:97","nodeType":"VariableDeclaration","scope":68297,"src":"44259:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68259,"name":"uint256","nodeType":"ElementaryTypeName","src":"44259:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44238:41:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68449,"nodeType":"FunctionDefinition","src":"44921:2409:97","nodes":[],"body":{"id":68448,"nodeType":"Block","src":"45084:2246:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68306,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45111:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68307,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45129:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"45111:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45153:1:97","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":68309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45145:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68308,"name":"address","nodeType":"ElementaryTypeName","src":"45145:7:97","typeDescriptions":{}}},"id":68311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45145:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45111:44:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68315,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45167:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45185:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"45167:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45159:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68313,"name":"address","nodeType":"ElementaryTypeName","src":"45159:7:97","typeDescriptions":{}}},"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45159:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45208:1:97","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":68319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45200:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68318,"name":"address","nodeType":"ElementaryTypeName","src":"45200:7:97","typeDescriptions":{}}},"id":68321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45200:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45159:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:99:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68324,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45252:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45270:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"45252:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68326,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45286:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68328,"indexExpression":{"id":68327,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45304:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45286:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45336:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"45286:62:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45252:96:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"id":68337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68331,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45376:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45394:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"45376:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68333,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45408:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68335,"indexExpression":{"id":68334,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45426:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45408:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45458:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"45408:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"src":"45376:92:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:216:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68339,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45496:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45514:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"45496:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68341,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45571:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68343,"indexExpression":{"id":68342,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45589:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45571:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45621:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"45571:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45496:150:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:394:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68347,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45674:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45692:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"45674:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68349,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45750:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68351,"indexExpression":{"id":68350,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45768:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45750:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45800:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"45750:76:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45674:152:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:574:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68355,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45854:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45872:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"45854:31:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68357,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45889:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68359,"indexExpression":{"id":68358,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45907:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45889:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45939:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"45889:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45854:98:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:700:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68363,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45980:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45998:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"45980:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68365,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46050:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68367,"indexExpression":{"id":68366,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46068:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46050:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46100:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"46050:70:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45980:140:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:868:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":68371,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45230:908:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:1027:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68439,"nodeType":"IfStatement","src":"45094:2158:97","trueBody":{"id":68438,"nodeType":"Block","src":"46149:1103:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68373,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46184:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68375,"indexExpression":{"id":68374,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46202:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46184:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46234:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46184:62:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68377,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46250:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46268:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46250:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46184:96:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"id":68386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68380,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46304:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68382,"indexExpression":{"id":68381,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46322:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46304:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46354:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46304:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68384,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46368:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46386:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46368:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"src":"46304:92:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46184:212:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68412,"nodeType":"IfStatement","src":"46163:522:97","trueBody":{"id":68411,"nodeType":"Block","src":"46411:274:97","statements":[{"expression":{"arguments":[{"expression":{"id":68393,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46471:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46489:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46471:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":68388,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46429:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46447:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46429:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"id":68392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46458:12:97","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":72930,"src":"46429:41:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":68395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46429:73:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68396,"nodeType":"ExpressionStatement","src":"46429:73:97"},{"eventCall":{"arguments":[{"arguments":[{"id":68400,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46576:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":68399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46568:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68398,"name":"address","nodeType":"ElementaryTypeName","src":"46568:7:97","typeDescriptions":{}}},"id":68401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46568:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":68404,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46591:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46609:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46591:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46583:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68402,"name":"address","nodeType":"ElementaryTypeName","src":"46583:7:97","typeDescriptions":{}}},"id":68406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46583:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68407,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46622:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46640:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46622:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68397,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"46525:21:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":68409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46525:145:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68410,"nodeType":"EmitStatement","src":"46520:150:97"}]}},{"expression":{"id":68414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46699:32:97","subExpression":{"id":68413,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46699:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68415,"nodeType":"ExpressionStatement","src":"46699:32:97"},{"expression":{"id":68420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68416,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46745:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68418,"indexExpression":{"id":68417,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46763:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"46745:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68419,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46797:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"46745:69:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68421,"nodeType":"ExpressionStatement","src":"46745:69:97"},{"eventCall":{"arguments":[{"id":68423,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46875:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68424,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46923:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46941:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46923:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"expression":{"id":68426,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46969:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46987:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46969:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68428,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47017:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47035:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"47017:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68430,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47078:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47096:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"47078:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68432,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47140:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47158:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"47140:31:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68434,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47189:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47207:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"47189:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68422,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"46834:23:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$72931_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":68436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46834:407:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68437,"nodeType":"EmitStatement","src":"46829:412:97"}]}},{"expression":{"id":68442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68440,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"47262:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68441,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"47273:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"47262:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68443,"nodeType":"ExpressionStatement","src":"47262:20:97"},{"eventCall":{"arguments":[{"id":68445,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"47313:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68444,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65685,"src":"47297:15:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$65491_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory)"}},"id":68446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47297:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68447,"nodeType":"EmitStatement","src":"47292:31:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"44930:14:97","parameters":{"id":68304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68300,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"44993:17:97","nodeType":"VariableDeclaration","scope":68449,"src":"44954:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68299,"nodeType":"UserDefinedTypeName","pathNode":{"id":68298,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["44954:14:97","44969:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"44954:31:97"},"referencedDeclaration":65482,"src":"44954:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68303,"mutability":"mutable","name":"_cvParams","nameLocation":"45051:9:97","nodeType":"VariableDeclaration","scope":68449,"src":"45020:40:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68302,"nodeType":"UserDefinedTypeName","pathNode":{"id":68301,"name":"StrategyStruct.CVParams","nameLocations":["45020:14:97","45035:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"45020:23:97"},"referencedDeclaration":65491,"src":"45020:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"44944:122:97"},"returnParameters":{"id":68305,"nodeType":"ParameterList","parameters":[],"src":"45084:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68485,"nodeType":"FunctionDefinition","src":"47336:639:97","nodes":[],"body":{"id":68484,"nodeType":"Block","src":"47423:552:97","nodes":[],"statements":[{"assignments":[68460],"declarations":[{"constant":false,"id":68460,"mutability":"mutable","name":"proposal","nameLocation":"47465:8:97","nodeType":"VariableDeclaration","scope":68484,"src":"47433:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68459,"nodeType":"UserDefinedTypeName","pathNode":{"id":68458,"name":"StrategyStruct.Proposal","nameLocations":["47433:14:97","47448:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"47433:23:97"},"referencedDeclaration":65460,"src":"47433:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68464,"initialValue":{"baseExpression":{"id":68461,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"47476:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68463,"indexExpression":{"id":68462,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68451,"src":"47486:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47476:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"47433:64:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68465,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47512:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47521:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"47512:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68467,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68451,"src":"47535:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47512:33:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68474,"nodeType":"IfStatement","src":"47508:100:97","trueBody":{"id":68473,"nodeType":"Block","src":"47547:61:97","statements":[{"errorCall":{"arguments":[{"id":68470,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68451,"src":"47586:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68469,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"47568:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47568:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68472,"nodeType":"RevertStatement","src":"47561:36:97"}]}},{"expression":{"arguments":[{"id":68476,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47896:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":68477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47906:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47915:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"47906:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68475,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68250,"src":"47869:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47869:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68480,"nodeType":"ExpressionStatement","src":"47869:59:97"},{"expression":{"expression":{"id":68481,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47945:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47954:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"47945:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68455,"id":68483,"nodeType":"Return","src":"47938:30:97"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"47345:24:97","parameters":{"id":68452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68451,"mutability":"mutable","name":"proposalId","nameLocation":"47378:10:97","nodeType":"VariableDeclaration","scope":68485,"src":"47370:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68450,"name":"uint256","nodeType":"ElementaryTypeName","src":"47370:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47369:20:97"},"returnParameters":{"id":68455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68485,"src":"47414:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68453,"name":"uint256","nodeType":"ElementaryTypeName","src":"47414:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47413:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":68505,"nodeType":"FunctionDefinition","src":"47981:141:97","nodes":[],"body":{"id":68504,"nodeType":"Block","src":"48061:61:97","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68492,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68487,"src":"48080:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68493,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"48089:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48080:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68495,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48079:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68496,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"48095:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68497,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"48099:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48108:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"48099:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48095:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68500,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48094:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48079:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68502,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48078:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68491,"id":68503,"nodeType":"Return","src":"48071:44:97"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"47990:16:97","parameters":{"id":68488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68487,"mutability":"mutable","name":"amount","nameLocation":"48015:6:97","nodeType":"VariableDeclaration","scope":68505,"src":"48007:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68486,"name":"uint256","nodeType":"ElementaryTypeName","src":"48007:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48006:16:97"},"returnParameters":{"id":68491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68490,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68505,"src":"48052:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68489,"name":"uint256","nodeType":"ElementaryTypeName","src":"48052:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48051:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68524,"nodeType":"FunctionDefinition","src":"48473:189:97","nodes":[],"body":{"id":68523,"nodeType":"Block","src":"48536:126:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68510,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66063,"src":"48546:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48546:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68512,"nodeType":"ExpressionStatement","src":"48546:17:97"},{"expression":{"arguments":[{"id":68514,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68507,"src":"48592:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68513,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66045,"src":"48573:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":68515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48573:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68516,"nodeType":"ExpressionStatement","src":"48573:32:97"},{"expression":{"id":68521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68517,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"48615:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68519,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68507,"src":"48642:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68518,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69416,"src":"48629:12:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$69416_$","typeString":"type(contract ISybilScorer)"}},"id":68520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48629:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"src":"48615:40:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"id":68522,"nodeType":"ExpressionStatement","src":"48615:40:97"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"48482:14:97","parameters":{"id":68508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68507,"mutability":"mutable","name":"_sybilScorer","nameLocation":"48505:12:97","nodeType":"VariableDeclaration","scope":68524,"src":"48497:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68506,"name":"address","nodeType":"ElementaryTypeName","src":"48497:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48496:22:97"},"returnParameters":{"id":68509,"nodeType":"ParameterList","parameters":[],"src":"48536:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68542,"nodeType":"FunctionDefinition","src":"48668:250:97","nodes":[],"body":{"id":68541,"nodeType":"Block","src":"48830:88:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68533,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66063,"src":"48840:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48840:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68535,"nodeType":"ExpressionStatement","src":"48840:17:97"},{"expression":{"arguments":[{"id":68537,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68527,"src":"48882:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":68538,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68530,"src":"48901:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68536,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68449,"src":"48867:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65482_memory_ptr_$_t_struct$_CVParams_$65491_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":68539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48867:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68540,"nodeType":"ExpressionStatement","src":"48867:44:97"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"48677:13:97","parameters":{"id":68531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68527,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"48739:17:97","nodeType":"VariableDeclaration","scope":68542,"src":"48700:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68526,"nodeType":"UserDefinedTypeName","pathNode":{"id":68525,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["48700:14:97","48715:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"48700:31:97"},"referencedDeclaration":65482,"src":"48700:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68530,"mutability":"mutable","name":"_cvParams","nameLocation":"48797:9:97","nodeType":"VariableDeclaration","scope":68542,"src":"48766:40:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68529,"nodeType":"UserDefinedTypeName","pathNode":{"id":68528,"name":"StrategyStruct.CVParams","nameLocations":["48766:14:97","48781:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"48766:23:97"},"referencedDeclaration":65491,"src":"48766:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"48690:122:97"},"returnParameters":{"id":68532,"nodeType":"ParameterList","parameters":[],"src":"48830:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68735,"nodeType":"FunctionDefinition","src":"48924:2405:97","nodes":[],"body":{"id":68734,"nodeType":"Block","src":"49110:2219:97","nodes":[],"statements":[{"assignments":[68557],"declarations":[{"constant":false,"id":68557,"mutability":"mutable","name":"proposal","nameLocation":"49152:8:97","nodeType":"VariableDeclaration","scope":68734,"src":"49120:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68556,"nodeType":"UserDefinedTypeName","pathNode":{"id":68555,"name":"StrategyStruct.Proposal","nameLocations":["49120:14:97","49135:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"49120:23:97"},"referencedDeclaration":65460,"src":"49120:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68561,"initialValue":{"baseExpression":{"id":68558,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"49163:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68560,"indexExpression":{"id":68559,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49173:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49163:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49120:64:97"},{"assignments":[68566],"declarations":[{"constant":false,"id":68566,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"49233:16:97","nodeType":"VariableDeclaration","scope":68734,"src":"49194:55:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68565,"nodeType":"UserDefinedTypeName","pathNode":{"id":68564,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["49194:14:97","49209:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"49194:31:97"},"referencedDeclaration":65482,"src":"49194:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68571,"initialValue":{"baseExpression":{"id":68567,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"49252:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68570,"indexExpression":{"expression":{"id":68568,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"49270:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49279:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"49270:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49252:51:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49194:109:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68574,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"49326:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49343:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"49326:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49318:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68572,"name":"address","nodeType":"ElementaryTypeName","src":"49318:7:97","typeDescriptions":{}}},"id":68576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49318:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":68579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49366:1:97","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":68578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49358:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68577,"name":"address","nodeType":"ElementaryTypeName","src":"49358:7:97","typeDescriptions":{}}},"id":68580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49358:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49318:50:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68586,"nodeType":"IfStatement","src":"49314:112:97","trueBody":{"id":68585,"nodeType":"Block","src":"49370:56:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68582,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65609,"src":"49391:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49391:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68584,"nodeType":"RevertStatement","src":"49384:31:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68587,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"49603:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49612:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"49603:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68589,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49626:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49603:33:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68596,"nodeType":"IfStatement","src":"49599:100:97","trueBody":{"id":68595,"nodeType":"Block","src":"49638:61:97","statements":[{"errorCall":{"arguments":[{"id":68592,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49677:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68591,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"49659:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49659:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68594,"nodeType":"RevertStatement","src":"49652:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":68602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68597,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"49712:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68598,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49721:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"49712:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68599,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"49739:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49754:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"49739:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49769:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"49739:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49712:63:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68608,"nodeType":"IfStatement","src":"49708:130:97","trueBody":{"id":68607,"nodeType":"Block","src":"49777:61:97","statements":[{"errorCall":{"arguments":[{"id":68604,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49816:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68603,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65569,"src":"49798:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49798:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68606,"nodeType":"RevertStatement","src":"49791:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68609,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49851:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49855:5:97","memberName":"value","nodeType":"MemberAccess","src":"49851:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68611,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"49863:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49880:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"49863:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49851:55:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68622,"nodeType":"IfStatement","src":"49847:171:97","trueBody":{"id":68621,"nodeType":"Block","src":"49908:110:97","statements":[{"errorCall":{"arguments":[{"expression":{"id":68615,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49952:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49956:5:97","memberName":"value","nodeType":"MemberAccess","src":"49952:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68617,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"49963:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49980:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"49963:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68614,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65601,"src":"49929:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49929:78:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68620,"nodeType":"RevertStatement","src":"49922:85:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68623,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50137:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50146:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"50137:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":68625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50171:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50137:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68627,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50192:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50201:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"50192:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68629,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65763,"src":"50225:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:53:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68631,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50248:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50254:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"50248:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:71:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50137:126:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68647,"nodeType":"IfStatement","src":"50120:325:97","trueBody":{"id":68646,"nodeType":"Block","src":"50274:171:97","statements":[{"errorCall":{"arguments":[{"id":68636,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"50337:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68637,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50349:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50358:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"50349:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68639,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65763,"src":"50382:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:53:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68641,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50405:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50411:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"50405:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:71:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68635,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65623,"src":"50295:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50295:139:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68645,"nodeType":"RevertStatement","src":"50288:146:97"}]}},{"assignments":[68649],"declarations":[{"constant":false,"id":68649,"mutability":"mutable","name":"arbitrationFee","nameLocation":"50463:14:97","nodeType":"VariableDeclaration","scope":68734,"src":"50455:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68648,"name":"uint256","nodeType":"ElementaryTypeName","src":"50455:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68655,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68650,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50480:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50484:5:97","memberName":"value","nodeType":"MemberAccess","src":"50480:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68652,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"50492:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50509:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"50492:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50480:55:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50455:80:97"},{"expression":{"arguments":[{"id":68662,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"50632:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68663,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50644:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50648:6:97","memberName":"sender","nodeType":"MemberAccess","src":"50644:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68656,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"50546:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50562:17:97","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":72943,"src":"50546:33:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":68661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":68659,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"50587:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68660,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50604:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"50587:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50546:85:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":68665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50546:109:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68666,"nodeType":"ExpressionStatement","src":"50546:109:97"},{"expression":{"id":68676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68667,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"50666:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68673,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65760,"src":"50743:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68674,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68548,"src":"50759:10:97","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68668,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"50678:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50695:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"50678:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"id":68670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50706:13:97","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":72878,"src":"50678:41:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":68671,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68649,"src":"50727:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50678:64:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50678:92:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50666:104:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68677,"nodeType":"ExpressionStatement","src":"50666:104:97"},{"expression":{"id":68684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68678,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50781:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50790:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"50781:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68681,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"50807:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50822:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"50807:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50837:8:97","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65417,"src":"50807:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"50781:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68685,"nodeType":"ExpressionStatement","src":"50781:64:97"},{"expression":{"id":68692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68686,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50855:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50864:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"50855:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50876:9:97","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":65421,"src":"50855:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68691,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"50888:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50855:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68693,"nodeType":"ExpressionStatement","src":"50855:42:97"},{"expression":{"id":68701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68694,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50907:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50916:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"50907:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50928:16:97","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65423,"src":"50907:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68699,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50947:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50953:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"50947:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50907:55:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68702,"nodeType":"ExpressionStatement","src":"50907:55:97"},{"expression":{"id":68710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68703,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50972:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50981:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"50972:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50993:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"50972:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68708,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51006:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51010:6:97","memberName":"sender","nodeType":"MemberAccess","src":"51006:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"50972:44:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68711,"nodeType":"ExpressionStatement","src":"50972:44:97"},{"expression":{"id":68716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68712,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65818,"src":"51026:21:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68714,"indexExpression":{"id":68713,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"51048:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51026:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68715,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"51061:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51026:45:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68717,"nodeType":"ExpressionStatement","src":"51026:45:97"},{"expression":{"id":68719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51082:14:97","subExpression":{"id":68718,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65771,"src":"51082:12:97","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68720,"nodeType":"ExpressionStatement","src":"51082:14:97"},{"eventCall":{"arguments":[{"expression":{"id":68722,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"51142:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51159:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"51142:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"id":68724,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"51183:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68725,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"51207:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68726,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51230:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51234:6:97","memberName":"sender","nodeType":"MemberAccess","src":"51230:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68728,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68546,"src":"51254:7:97","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":68729,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"51275:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51284:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"51275:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68731,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51296:16:97","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65423,"src":"51275:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68721,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65710,"src":"51112:16:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$72931_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":68732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51112:210:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68733,"nodeType":"EmitStatement","src":"51107:215:97"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"48933:15:97","parameters":{"id":68549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68544,"mutability":"mutable","name":"proposalId","nameLocation":"48957:10:97","nodeType":"VariableDeclaration","scope":68735,"src":"48949:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68543,"name":"uint256","nodeType":"ElementaryTypeName","src":"48949:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68546,"mutability":"mutable","name":"context","nameLocation":"48985:7:97","nodeType":"VariableDeclaration","scope":68735,"src":"48969:23:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":68545,"name":"string","nodeType":"ElementaryTypeName","src":"48969:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68548,"mutability":"mutable","name":"_extraData","nameLocation":"49009:10:97","nodeType":"VariableDeclaration","scope":68735,"src":"48994:25:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":68547,"name":"bytes","nodeType":"ElementaryTypeName","src":"48994:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48948:72:97"},"returnParameters":{"id":68552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68551,"mutability":"mutable","name":"disputeId","nameLocation":"49095:9:97","nodeType":"VariableDeclaration","scope":68735,"src":"49087:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68550,"name":"uint256","nodeType":"ElementaryTypeName","src":"49087:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49086:19:97"},"scope":69064,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":68991,"nodeType":"FunctionDefinition","src":"51335:2994:97","nodes":[],"body":{"id":68990,"nodeType":"Block","src":"51412:2917:97","nodes":[],"statements":[{"assignments":[68744],"declarations":[{"constant":false,"id":68744,"mutability":"mutable","name":"proposalId","nameLocation":"51430:10:97","nodeType":"VariableDeclaration","scope":68990,"src":"51422:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68743,"name":"uint256","nodeType":"ElementaryTypeName","src":"51422:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68748,"initialValue":{"baseExpression":{"id":68745,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65818,"src":"51443:21:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68747,"indexExpression":{"id":68746,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68737,"src":"51465:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51443:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51422:54:97"},{"assignments":[68753],"declarations":[{"constant":false,"id":68753,"mutability":"mutable","name":"proposal","nameLocation":"51518:8:97","nodeType":"VariableDeclaration","scope":68990,"src":"51486:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68752,"nodeType":"UserDefinedTypeName","pathNode":{"id":68751,"name":"StrategyStruct.Proposal","nameLocations":["51486:14:97","51501:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"51486:23:97"},"referencedDeclaration":65460,"src":"51486:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68757,"initialValue":{"baseExpression":{"id":68754,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"51529:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68756,"indexExpression":{"id":68755,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51539:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51529:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51486:64:97"},{"assignments":[68762],"declarations":[{"constant":false,"id":68762,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"51599:16:97","nodeType":"VariableDeclaration","scope":68990,"src":"51560:55:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68761,"nodeType":"UserDefinedTypeName","pathNode":{"id":68760,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["51560:14:97","51575:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"51560:31:97"},"referencedDeclaration":65482,"src":"51560:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68767,"initialValue":{"baseExpression":{"id":68763,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"51618:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68766,"indexExpression":{"expression":{"id":68764,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"51636:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51645:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"51636:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51618:51:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51560:109:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68768,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51684:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51698:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51684:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68776,"nodeType":"IfStatement","src":"51680:82:97","trueBody":{"id":68775,"nodeType":"Block","src":"51701:61:97","statements":[{"errorCall":{"arguments":[{"id":68772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51740:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68771,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"51722:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51722:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68774,"nodeType":"RevertStatement","src":"51715:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":68782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68777,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"51775:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51784:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"51775:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68779,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"51802:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51817:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"51802:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51832:8:97","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65417,"src":"51802:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"51775:65:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68788,"nodeType":"IfStatement","src":"51771:134:97","trueBody":{"id":68787,"nodeType":"Block","src":"51842:63:97","statements":[{"errorCall":{"arguments":[{"id":68784,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51883:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68783,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65607,"src":"51863:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51863:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68786,"nodeType":"RevertStatement","src":"51856:38:97"}]}},{"assignments":[68790],"declarations":[{"constant":false,"id":68790,"mutability":"mutable","name":"isTimeOut","nameLocation":"51920:9:97","nodeType":"VariableDeclaration","scope":68990,"src":"51915:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68789,"name":"bool","nodeType":"ElementaryTypeName","src":"51915:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68800,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68791,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"51932:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51938:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"51932:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68793,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"51950:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51959:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"51950:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51971:16:97","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65423,"src":"51950:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":68796,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"51990:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52007:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"51990:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51950:77:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51932:95:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"51915:112:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"52042:10:97","subExpression":{"id":68801,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68790,"src":"52043:9:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68803,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"52056:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52060:6:97","memberName":"sender","nodeType":"MemberAccess","src":"52056:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":68807,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52078:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68808,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52095:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"52078:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52070:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68805,"name":"address","nodeType":"ElementaryTypeName","src":"52070:7:97","typeDescriptions":{}}},"id":68809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52070:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52056:50:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52042:64:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68816,"nodeType":"IfStatement","src":"52038:118:97","trueBody":{"id":68815,"nodeType":"Block","src":"52108:48:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68812,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65603,"src":"52129:14:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52129:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68814,"nodeType":"RevertStatement","src":"52122:23:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68817,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68790,"src":"52170:9:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68818,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"52183:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52194:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52183:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52170:25:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68881,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"52967:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":68882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52978:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52967:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68910,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"53339:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":68911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53350:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53339:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68970,"nodeType":"IfStatement","src":"53335:834:97","trueBody":{"id":68969,"nodeType":"Block","src":"53353:816:97","statements":[{"expression":{"id":68919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68913,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53367:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53376:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"53367:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68916,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"53393:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53408:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"53393:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53423:8:97","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"53393:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53367:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68920,"nodeType":"ExpressionStatement","src":"53367:64:97"},{"expression":{"arguments":[{"id":68924,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53497:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":68925,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53509:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53518:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"53509:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53530:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"53509:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68928,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"53542:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53559:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"53542:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68921,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53445:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53461:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"53445:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53445:154:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68931,"nodeType":"ExpressionStatement","src":"53445:154:97"},{"expression":{"arguments":[{"id":68935,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53668:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68936,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53696:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53705:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"53696:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68940,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"53740:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":68941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53758:11:97","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70287,"src":"53740:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$73057_$","typeString":"function () view external returns (contract ISafe)"}},"id":68942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53740:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":68939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53732:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68938,"name":"address","nodeType":"ElementaryTypeName","src":"53732:7:97","typeDescriptions":{}}},"id":68943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53732:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68944,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"53790:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68946,"indexExpression":{"id":68945,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"53808:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53790:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68947,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53840:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"53790:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":68948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53868:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53790:79:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68932,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53613:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53629:21:97","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":72963,"src":"53613:37:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":68950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53613:270:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68951,"nodeType":"ExpressionStatement","src":"53613:270:97"},{"expression":{"arguments":[{"id":68955,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53952:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68956,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53980:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53989:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"53980:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":68958,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"54016:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54025:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"54016:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54037:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"54016:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68961,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"54065:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68963,"indexExpression":{"id":68962,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"54083:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54065:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54115:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"54065:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":68965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54143:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54065:79:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68952,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53897:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53913:21:97","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":72963,"src":"53897:37:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":68967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53897:261:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68968,"nodeType":"ExpressionStatement","src":"53897:261:97"}]}},"id":68971,"nodeType":"IfStatement","src":"52963:1206:97","trueBody":{"id":68909,"nodeType":"Block","src":"52981:348:97","statements":[{"expression":{"id":68890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68884,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52995:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53004:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"52995:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68887,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"53021:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53036:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"53021:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53051:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"53021:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52995:62:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68891,"nodeType":"ExpressionStatement","src":"52995:62:97"},{"expression":{"arguments":[{"id":68895,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53126:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":68896,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53154:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53163:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"53154:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53175:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"53154:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68901,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"53211:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":68902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53229:11:97","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70287,"src":"53211:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$73057_$","typeString":"function () view external returns (contract ISafe)"}},"id":68903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53211:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":68900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53203:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68899,"name":"address","nodeType":"ElementaryTypeName","src":"53203:7:97","typeDescriptions":{}}},"id":68904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53203:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68905,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"53261:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53278:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"53261:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68892,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53071:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53087:21:97","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":72963,"src":"53071:37:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":68907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53071:247:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68908,"nodeType":"ExpressionStatement","src":"53071:247:97"}]}},"id":68972,"nodeType":"IfStatement","src":"52166:2003:97","trueBody":{"id":68880,"nodeType":"Block","src":"52197:760:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68822,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52215:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52232:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"52215:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52249:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52215:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68830,"nodeType":"IfStatement","src":"52211:102:97","trueBody":{"id":68829,"nodeType":"Block","src":"52252:61:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68826,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65617,"src":"52277:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52277:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68828,"nodeType":"RevertStatement","src":"52270:28:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68831,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52330:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52347:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"52330:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":68833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52364:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52330:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68844,"nodeType":"IfStatement","src":"52326:136:97","trueBody":{"id":68843,"nodeType":"Block","src":"52367:95:97","statements":[{"expression":{"id":68841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68835,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52385:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52394:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"52385:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68838,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"52411:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52426:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"52411:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52441:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"52411:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52385:62:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68842,"nodeType":"ExpressionStatement","src":"52385:62:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68845,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52479:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68846,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52496:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"52479:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":68847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52513:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52479:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68868,"nodeType":"IfStatement","src":"52475:304:97","trueBody":{"id":68867,"nodeType":"Block","src":"52516:263:97","statements":[{"expression":{"id":68855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68849,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52534:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52543:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"52534:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68852,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"52560:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52575:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"52560:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52590:8:97","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"52560:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52534:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68856,"nodeType":"ExpressionStatement","src":"52534:64:97"},{"expression":{"arguments":[{"id":68860,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"52672:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68861,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52684:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52693:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"52684:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68863,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52704:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52721:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"52704:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68857,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"52616:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52632:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"52616:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52616:148:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68866,"nodeType":"ExpressionStatement","src":"52616:148:97"}]}},{"expression":{"arguments":[{"id":68872,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"52844:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":68873,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52856:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52865:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"52856:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52877:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"52856:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68876,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52889:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68877,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52906:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"52889:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68869,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"52792:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52808:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"52792:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52792:154:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68879,"nodeType":"ExpressionStatement","src":"52792:154:97"}]}},{"expression":{"id":68974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"54179:14:97","subExpression":{"id":68973,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65771,"src":"54179:12:97","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68975,"nodeType":"ExpressionStatement","src":"54179:14:97"},{"expression":{"id":68981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68976,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"54203:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54212:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"54203:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68979,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54236:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54242:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"54236:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"54203:48:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68982,"nodeType":"ExpressionStatement","src":"54203:48:97"},{"eventCall":{"arguments":[{"expression":{"id":68984,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"54273:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54290:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"54273:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"id":68986,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68737,"src":"54302:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68987,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"54314:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68983,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72818,"src":"54266:6:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$72931_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":68988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54266:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68989,"nodeType":"EmitStatement","src":"54261:61:97"}]},"baseFunctions":[72826],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"51344:4:97","overrides":{"id":68741,"nodeType":"OverrideSpecifier","overrides":[],"src":"51403:8:97"},"parameters":{"id":68740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68737,"mutability":"mutable","name":"_disputeID","nameLocation":"51357:10:97","nodeType":"VariableDeclaration","scope":68991,"src":"51349:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68736,"name":"uint256","nodeType":"ElementaryTypeName","src":"51349:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68739,"mutability":"mutable","name":"_ruling","nameLocation":"51377:7:97","nodeType":"VariableDeclaration","scope":68991,"src":"51369:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68738,"name":"uint256","nodeType":"ElementaryTypeName","src":"51369:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51348:37:97"},"returnParameters":{"id":68742,"nodeType":"ParameterList","parameters":[],"src":"51412:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69059,"nodeType":"FunctionDefinition","src":"54335:732:97","nodes":[],"body":{"id":69058,"nodeType":"Block","src":"54396:671:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":69003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68996,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54410:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68998,"indexExpression":{"id":68997,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54420:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54410:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54432:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"54410:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69000,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"54450:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":69001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54465:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"54450:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54480:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"54450:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54410:76:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69009,"nodeType":"IfStatement","src":"54406:143:97","trueBody":{"id":69008,"nodeType":"Block","src":"54488:61:97","statements":[{"errorCall":{"arguments":[{"id":69005,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54527:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69004,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65569,"src":"54509:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54509:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69007,"nodeType":"RevertStatement","src":"54502:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69010,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54563:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69012,"indexExpression":{"id":69011,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54573:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54563:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69013,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54585:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"54563:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69014,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54598:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54602:6:97","memberName":"sender","nodeType":"MemberAccess","src":"54598:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"54563:45:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69027,"nodeType":"IfStatement","src":"54559:141:97","trueBody":{"id":69026,"nodeType":"Block","src":"54610:90:97","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":69018,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54645:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69020,"indexExpression":{"id":69019,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54655:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54645:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54667:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"54645:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69022,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54678:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54682:6:97","memberName":"sender","nodeType":"MemberAccess","src":"54678:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69017,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"54631:13:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":69024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54631:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69025,"nodeType":"RevertStatement","src":"54624:65:97"}]}},{"expression":{"arguments":[{"id":69031,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54758:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":69032,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54782:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69034,"indexExpression":{"id":69033,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54792:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54782:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54804:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"54782:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":69036,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"54827:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69041,"indexExpression":{"expression":{"baseExpression":{"id":69037,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54845:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69039,"indexExpression":{"id":69038,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54855:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54845:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69040,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54867:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"54845:45:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54827:64:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54892:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"54827:90:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69028,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"54710:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":69030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54726:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"54710:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54710:217:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69044,"nodeType":"ExpressionStatement","src":"54710:217:97"},{"expression":{"id":69052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69045,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54938:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69047,"indexExpression":{"id":69046,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54948:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54938:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54960:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"54938:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69049,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"54977:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":69050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54992:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"54977:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55007:9:97","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65415,"src":"54977:39:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54938:78:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69053,"nodeType":"ExpressionStatement","src":"54938:78:97"},{"eventCall":{"arguments":[{"id":69055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"55049:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69054,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65722,"src":"55031:17:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55031:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69057,"nodeType":"EmitStatement","src":"55026:34:97"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"54344:14:97","parameters":{"id":68994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68993,"mutability":"mutable","name":"proposalId","nameLocation":"54367:10:97","nodeType":"VariableDeclaration","scope":69059,"src":"54359:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68992,"name":"uint256","nodeType":"ElementaryTypeName","src":"54359:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54358:20:97"},"returnParameters":{"id":68995,"nodeType":"ParameterList","parameters":[],"src":"54396:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69063,"nodeType":"VariableDeclaration","src":"55073:25:97","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"55093:5:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":69060,"name":"uint256","nodeType":"ElementaryTypeName","src":"55073:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69062,"length":{"hexValue":"3530","id":69061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55081:2:97","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"55073:11:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":65514,"name":"BaseStrategyUpgradeable","nameLocations":["4010:23:97"],"nodeType":"IdentifierPath","referencedDeclaration":65327,"src":"4010:23:97"},"id":65515,"nodeType":"InheritanceSpecifier","src":"4010:23:97"},{"baseName":{"id":65516,"name":"IArbitrable","nameLocations":["4035:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72827,"src":"4035:11:97"},"id":65517,"nodeType":"InheritanceSpecifier","src":"4035:11:97"},{"baseName":{"id":65518,"name":"IPointStrategy","nameLocations":["4048:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65390,"src":"4048:14:97"},"id":65519,"nodeType":"InheritanceSpecifier","src":"4048:14:97"},{"baseName":{"id":65520,"name":"ERC165","nameLocations":["4064:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":57022,"src":"4064:6:97"},"id":65521,"nodeType":"InheritanceSpecifier","src":"4064:6:97"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":65513,"nodeType":"StructuredDocumentation","src":"3939:44:97","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69064,57022,57228,65390,72827,65327,3089,3317,3106,2969,70005,54969,54622,54271,54281,52200,52993,52449],"name":"CVStrategyV0_0","nameLocation":"3992:14:97","scope":69065,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65523,65525,65527,65529,65531,65533,65535,65537,65539,65541,65543,65551,65553,65555,65561,65563,65565,65569,65573,65579,65581,65583,65591,65593,65595,65601,65603,65607,65609,65615,65617,65623,69928]}],"license":"AGPL-3.0-only"},"id":97} \ No newline at end of file +{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"DISPUTE_COOLDOWN_SEC","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"RULING_OPTIONS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"arbitrableConfigs","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cancelProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICollateralVault"}],"stateMutability":"view"},{"type":"function","name":"currentArbitrableConfigVersion","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cvParams","inputs":[],"outputs":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputeCount","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"disputeIdToProposalId","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"context","type":"string","internalType":"string"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getArbitrableConfig","inputs":[],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDecay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"disputeInfo","type":"tuple","internalType":"struct StrategyStruct.ProposalDisputeInfo","components":[{"name":"disputeId","type":"uint256","internalType":"uint256"},{"name":"disputeTimestamp","type":"uint256","internalType":"uint256"},{"name":"challenger","type":"address","internalType":"address"}]},{"name":"lastDisputeCompletion","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"registryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rule","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ArbitrableConfigUpdated","inputs":[{"name":"currentArbitrableConfigVersion","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRuling","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CVParamsUpdated","inputs":[{"name":"cvParams","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"DisputeRequest","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_arbitrableDisputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_externalDisputeID","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCancelled","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalDisputed","inputs":[{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"disputeId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challenger","type":"address","indexed":false,"internalType":"address"},{"name":"context","type":"string","indexed":false,"internalType":"string"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TribunaSafeRegistered","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"address"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"ArbitratorCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"DefaultRulingNotSet","inputs":[]},{"type":"error","name":"DisputeCooldownNotPassed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_remainingSec","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"InsufficientCollateral","inputs":[{"name":"sentAmount","type":"uint256","internalType":"uint256"},{"name":"requiredAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyArbitrator","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"OnlySubmitter","inputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotDisputed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a0806040523461003257306080526156b190816200003882396080518181816121e3015281816122cd01526126140152f35b600080fdfe60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613d3657806301ffc9a714613cdf578063059351cd14613c88578063062f9ece14613bd75780630a6f0ee9146138805780630ba95909146119bb5780630bece79c146138575780630c0512e9146138395780630f529ba21461381b578063125fd1d9146137fd57806315cc481e146137d4578063184b9559146136255780631aa91a9e146136065780631ddf1e23146135ec5780632506b870146135b5578063255ffb381461358b5780632bbe0cae146130bb5780632dbd6fdd1461138e5780632ed04b2b14612e49578063311a6c56146128a9578063339604591461288b578063346db8cb14612866578063351d9f96146128405780633659cfe6146125ef57806338fff2d0146125d1578063406244d8146125b557806341bb76051461255d57806342fda9c71461253f5780634ab4ba42146125215780634d31d0871461104c5780634f1ef2861461228f57806352d1902d146121d057806359a5db8b146121b15780635db64b99146113b95780636003e4141461218857806360d5dedc146120cd578063626c47e8146120b15780636453d9c414612087578063715018a61461203b578063782aadff14611ca0578063814516ad14611ba8578063817b1cd214611b8a578063824ea8ed14611b1d578063868c57b814611ac75780638da5cb5b14611a9a578063950559d714611a4f5780639a1c157c14611a31578063a0cf0aea14611a02578063a28889e1146119d9578063a47ff7e5146119bb578063a574cea414611965578063aba9ffee14611263578063ac1ed7b914611917578063b0d3713a146118d2578063b2b878d01461180f578063b41596ec14611477578063b5f620ce1461141b578063b6c61f31146113f2578063bcc5b93b146113b9578063c32921711461138e578063c4d66de81461135c578063c7f758a814611281578063d1e3623214611263578063dc96ff2d14611236578063df868ed314611213578063e0a8f6f5146110bc578063e0dd2c3814611072578063eb11af931461104c578063edd146cc14610b79578063ef2920fc146104a3578063f2fde38b14610412578063f5b0dfb7146103b9578063f5be3f7c1461039c5763ffa1ad7414610352575061000e565b3461039957806003193601126103995761039560405161037181613f24565b60038152620302e360ec1b602082015260405191829160208352602083019061408d565b0390f35b80fd5b50346103995780600319360112610399576020604051611c208152f35b5034610399576020366003190112610399577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103f96145cf565b610405816069546145ac565b606955604051908152a180f35b50346103995760203660031901126103995761042c614131565b6104346142ef565b6001600160a01b0381161561044f5761044c9061434e565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b506104ad36614239565b906104b66145cf565b6104be6145f5565b6001600160a01b0382811691908215610b675760785416938415610b555760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610b09578391610b38575b5015610b265761051b866147d6565b15610b145760405163011de97360e61b815285818061053e308b600484016147bc565b03818b5afa908115610b09578391610adc575b5015610aca578351840193858501908681870312610ac25780870151906001600160401b038211610ac657019481603f87011215610ac257868601519061059782614147565b966105a56040519889613f5a565b82885260408989019360061b820101938411610abe57604001915b838310610a8c5750505050819682975b855189101561064d576105e38987614c98565b515115610643576105f48987614c98565b51516105ff81614cac565b1561062c575061062061062691886106178c8a614c98565b51015190614d04565b98614611565b976105d0565b85906040519063c1d17bef60e01b82526004820152fd5b9761062690614611565b9580939761066c61068a93949698878b52607c845260408b2054614d20565b936040518080958194637817ee4f60e01b83523090600484016147bc565b03915afa908115610a81578791610a4f575b50808211610a325750828695949552607c82526040862055606091829186945b8651861015610a2e576106cf8688614c98565b51519380511560001461091b5750604051946106ea86613f24565b6001865282860183368237865115610906578590529490945b8261070e888a614c98565b51015195858a52607b845260408a209260098401918660005282865261073a604060002054998a614d20565b92876000528652826040600020558b809b81938754945b8a8452607d8a526040842080548210156108f357610770828892614294565b90549060031b1c1461078e57610787604091614611565b9050610751565b50999391509a9593919b5060019994995b1561088d575b506108069493929190808411610854576107bf8482614873565b6107cc60709182546145ac565b90556107d88482614873565b6107e7600285019182546145ac565b90555b600783019283541560001461080d575050509050439055614611565b94956106bc565b60a0935061082a60008051602061557c8339815191529582614ff4565b6003600282015491015491604051938a85528985015260408401528a8301526080820152a1614611565b61085e8185614873565b61086b6070918254614873565b90556108778185614873565b61088660028501918254614873565b90556107ea565b878d52607d875260408d20805490600160401b8210156108e057816108c09160016108069a999897969594018155614294565b819291549060031b91821b91600019901b191617905590919293946107a5565b634e487b7160e01b8f5260416004528d8ffd5b5050999391509a9593919b99949961079f565b82634e487b7160e01b60005260326004526000fd5b9491889497989693919698855b875181101561096d578961093c828a614c98565b51146109505761094b90614611565b610928565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b509794989691939692909215610986575b949094610703565b948051906001808301809311610a1b5761099f83614147565b926109ad6040519485613f5a565b8084526109bc601f1991614147565b0136868501378a815b6109df575b50506109d886915183614c98565b529461097e565b829a949a51811015610a1357806109f9610a0a9285614c98565b51610a048287614c98565b52614611565b819a949a6109c5565b9993996109ca565b634e487b7160e01b8b526011600452838bfd5b8780f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610a7a575b610a668183613f5a565b81010312610a7557518761069c565b600080fd5b503d610a5c565b6040513d89823e3d90fd5b6040898484030112610abe57886040918251610aa781613f24565b8551815282860151838201528152019201916105c0565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610afc9150863d8811610b02575b610af48183613f5a565b8101906147a4565b38610551565b503d610aea565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610b4f9150863d8811610b0257610af48183613f5a565b3861050c565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610399576040366003190112610399576024356001600160401b038111610fda57610baa90369060040161421e565b610bb26145cf565b610bba6145cf565b60685461103a576004351561102857600435606855606a546e5af43d82803e903d91602b57fd5bf3606c54610bee81614611565b606c5560405160208101913360601b8352603482015260348152610c1181613f3f565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017855260789290921b6001600160781b031916176020526001600160a01b03906037600985f5168015610fe957607980546001600160a01b031981168317909155839190821617803b15610fda5781809160046040518094819363204a7f0760e21b83525af18015610fde57610fc6575b5050808051810103906101e08212610fac576040519160e083016001600160401b03811184821017610fb0578060405260808212610ac657610ce881613ef6565b60208301518152604083015161010085015260608301516101208501526080830151610140850152835260a08201516003811015610ac657602084015260c08201516004811015610ac6576040840152602060bf19820112610ac257604051906001600160401b036020830190811190831117610fb05781602060c0930160405260e08401518152606085015260df190112610fac57604051610d8a81613edb565b6101008201516001600160a01b0381168103610ac6578152610daf6101208301614620565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610e056101e0610df86101c08401614620565b928360a086015201614620565b60c08301526001600160a01b031615610b555760a0810151607880546001600160a01b0319166001600160a01b039290921691909117905560208101516003811015610f985760765460408301516004811015610f8457917fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b939160ff61ff006102009560081b1692169061ffff1916171760765560608101515160775560018060a01b0360c08201511660018060a01b0319607a541617607a55610ed06080820151825190615079565b604051906004358252610ee7602083018251614634565b610ef9602082015160a0840190614287565b610f0b604082015160c084019061427a565b6060818101515160e084015260808083015180516001600160a01b03908116610100870152602082015181166101208701526040820151610140870152928101516101608601529081015161018085015260a0908101516101a085015282015181166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b83526021600452602483fd5b8280fd5b634e487b7160e01b600052604160045260246000fd5b610fcf90613f11565b610fda578138610ca7565b5080fd5b6040513d84823e3d90fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b503461039957602036600319011261039957602090611069614131565b50604051908152f35b50346103995760403660031901126103995760096040611090614105565b926004358152607b60205220019060018060a01b03166000526020526020604060002054604051908152f35b503461039957602080600319360112610fda5760043590818352607b8152600160ff6008604086200154166110f08161404a565b036111fa57818352607b815260408320600501546001600160a01b039081163381036111d757508084916079541690848352607b8452601060408420916005830154169101548352607f84526002604084200154823b15610ac25761116f9284928360405180968195829463099ea56b60e41b84528c60048501614c77565b03925af18015610fde576111c3575b50829052607b81526040808420600801805460ff19166003179055519182527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c91a180f35b6111cc90613f11565b610fac57823861117e565b604051634544dc9160e11b81529081906111f6903390600484016147bc565b0390fd5b6040516344980d8f60e01b815260048101839052602490fd5b5034610399578060031936011261039957602060ff606754166040519015158152f35b503461039957602036600319011261039957600260406020926004358152607b8452200154604051908152f35b50346103995780600319360112610399576020607154604051908152f35b503461039957602036600319011261039957610160906004358152607b60205260408120600181015491821560001461134c57905b60018060a01b03918260058301541693836004840154169360068401541690600284015460ff6008860154169060078601549260038701549433600052600988016020526010604060002054980154986040519a8b5260208b015260408a0152606089015260808801526113298161404a565b60a087015260c086015260e0850152610100840152610120830152610140820152f35b5061135682614e69565b906112b6565b50346103995760203660031901126103995761044c611379614131565b61138960ff845460081c1661454c565b61434e565b5034610399578060031936011261039957602060ff60765460081c166113b7604051809261427a565bf35b5034610399576020366003190112610399576020906040906001600160a01b036113e1614131565b168152607c83522054604051908152f35b5034610399578060031936011261039957607a546040516001600160a01b039091168152602090f35b503461039957602036600319011261039957600435801515809103610fda5760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610399576001600160401b0390602435828111610fda576114a59036906004016142c2565b604492919235848111610fac576114c09036906004016142c2565b93909460043594858552607b602052604085209460108601548152607f6020526040812092604051926114f284613edb565b60018060a01b0394858154168086528660018301541660208701526002820154604087015260056003830154926060880193845260048101546080890152015460a0870152156117fd57898954036117e4576008890191600160ff8454166115598161404a565b036117cb5781518034106117ad5750600f8a015480151580611785575b61174f5750611586825134614873565b918760795416905190803b1561174b576115ba87918e60405194858094819363240ff7c560e11b8352339060048401614769565b03925af180156117405761172c575b509a6020916116039b9c8888511691604051809e8195829463c13517e160e01b84526003600485015260406024850152604484019161541a565b03925af1988915610b095783996116f8575b50805460ff19166005179055600c870188905542600d8801908155600e90970180546001600160a01b03191633179055878252607e60205260408220899055606d5491818316908183146116e45750927f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d97959260209a97959260016116d39601169060018060401b03191617606d55511693549260405195869586528986015287604086015233606086015260c0608086015260c085019161541a565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9098506020813d602011611724575b8161171460209383613f5a565b81010312610a7557519738611615565b3d9150611707565b6117368691613f11565b610ac657386115c9565b6040513d88823e3d90fd5b8680fd5b8b86611c2083018093116116e4575061176b6044924290614873565b60405191638d2f6c3160e01b835260048301526024820152fd5b50611c208101808211611799574210611576565b634e487b7160e01b87526011600452602487fd5b60449060405190632c1f8ef160e21b82523460048301526024820152fd5b6040516344980d8f60e01b8152600481018c9052602490fd5b60405163c1d17bef60e01b8152600481018b9052602490fd5b604051636c291fd360e01b8152600490fd5b5034610399576040366003190112610399576001600160401b0390600435828111610fda5761184290369060040161415e565b5060248035838111610fac5736602382011215610fac5780600401359161186883614147565b946118766040519687613f5a565b8386528160208097019460051b8401019436861161039957828401945b8686106118ac5760405163d623472560e01b8152600490fd5b8535838111610fac5788916118c783928736918a010161421e565b815201950194611893565b5034610399576020366003190112610399576118ec614131565b6118f46142ef565b606a80546001600160a01b0319166001600160a01b039290921691909117905580f35b503461039957602036600319011261039957611931614131565b6119396153aa565b61194281614782565b607a80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610399576020366003190112610399576119a7600a60406103959360606020835161199181613f24565b83815201526004358152607b6020522001613f7d565b6040519182916020835260208301906140b2565b50346103995780600319360112610399576020607754604051908152f35b5034610399578060031936011261039957606d546040516001600160401b039091168152602090f35b5034610399578060031936011261039957602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103995780600319360112610399576020607454604051908152f35b5034610399576020366003190112610399576004356298968091828202918083048414901517156116e45760745483039283116116e4576020611a928484614b14565b604051908152f35b50346103995780600319360112610399576020611ab5615463565b6040516001600160a01b039091168152f35b503461039957604036600319011261039957611ae1614131565b6001600160a01b03168152607d6020526040812080546024359290831015610399576020611b0f8484614294565b90546040519160031b1c8152f35b50346103995760203660031901126103995760406020916004358152607b835220611b4c600282015482615026565b81929192159081611b81575b50611b75575b6001611b6b910154614e69565b1115604051908152f35b60038101549150611b5e565b90501538611b58565b50346103995780600319360112610399576020607054604051908152f35b5034610399578060031936011261039957611bc2336147d6565b15610b14576078546001600160a01b039082908216803b15610fda57816040518092630d4a8b4960e01b8252818381611bff3033600484016147bc565b03925af18015610fde57611c8c575b50506078541660206040518092637817ee4f60e01b82528180611c353033600484016147bc565b03915afa8015610fde578290611c59575b611c5391506071546145ac565b60715580f35b506020813d8211611c84575b81611c7260209383613f5a565b81010312610a7557611c539051611c46565b3d9150611c65565b611c9590613f11565b610fda578138611c0e565b503461039957604036600319011261039957611cba614131565b602435611cc561484d565b611cce826147d6565b15610b14578260ff60765460081c166004811015610f845760028103611db857505080915b60785460405163011de97360e61b81529060209082906001600160a01b03168180611d223088600484016147bc565b03915afa908115611dad57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611d90575b50611d7c575b611d718460405193849384614a9d565b0390a1604051908152f35b611d88846071546145ac565b607155611d61565b611da79150863d8111610b0257610af48183613f5a565b38611d5b565b6040513d87823e3d90fd5b60018103611e64575050607854604051637817ee4f60e01b8152829160209082906001600160a01b03168180611df2308a600484016147bc565b03915afa908115611dad578591611e33575b50611e0f83826145ac565b607754809111611e22575b505091611cf3565b611e2c9250614873565b3880611e1a565b90506020813d8211611e5c575b81611e4d60209383613f5a565b81010312610a75575138611e04565b3d9150611e40565b90929060021901611cf3576078546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610a81578590889061200a575b611eba92506145ac565b6040516336d8759760e21b81529060128483600481895afa908115611fff57611f239486611f1893611f1e968d91611fd2575b5060046040518094819363313ce56760e01b8352165afa8b9181611fa3575b50611f98575b50614af3565b90614b01565b614b34565b816040518094637817ee4f60e01b82528180611f43308b600484016147bc565b03915afa918215611740578692611f66575b50611f609250614873565b91611cf3565b90915082813d8311611f91575b611f7d8183613f5a565b81010312610a7557611f6091519038611f55565b503d611f73565b60ff91501638611f12565b611fc4919250883d8a11611fcb575b611fbc8183613f5a565b810190614ada565b9038611f0c565b503d611fb2565b611ff29150823d8411611ff8575b611fea8183613f5a565b810190614abb565b38611eed565b503d611fe0565b6040513d8b823e3d90fd5b50508281813d8311612034575b6120218183613f5a565b81010312610a755784611eba9151611eb0565b503d612017565b50346103995780600319360112610399576120546142ef565b603380546001600160a01b031981169091556000906001600160a01b031660008051602061559c8339815191528280a380f35b50346103995760203660031901126103995761044c6120a4614131565b6120ac61484d565b614880565b5034610399578060031936011261039957602060405160038152f35b5034610399576060366003190112610399576120e7614131565b6024356001600160401b038111610fac5736602382011215610fac576121179036906024816004013591016141e7565b9061213c61212361411b565b61138960ff865460081c166121378161454c565b61454c565b60018060a01b031660018060a01b0319606554161760655560405161217f81612171602082019460208652604083019061408d565b03601f198101835282613f5a565b51902060665580f35b50346103995780600319360112610399576078546040516001600160a01b039091168152602090f35b5034610399576020366003190112610399576020611a92600435614e69565b50346103995780600319360112610399577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361222957602060405160008051602061555c8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b506040366003190112610399576122a4614131565b6024356001600160401b038111610fac576122c390369060040161421e565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169291906122fd30851415614385565b61231a60008051602061555c8339815191529482865416146143d4565b612322615463565b81339116036124fc576000805160206154fc8339815191525460ff161561234f57505061044c9150614423565b8216604051936352d1902d60e01b85526020948581600481865afa600091816124cd575b506123c25760405162461bcd60e51b815260048101879052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9492939403612488576123d484614423565b6000805160206155bc833981519152600080a2815115801590612480575b6123fd575b50505080f35b61246e926000806040519461241186613f3f565b6027865260008051602061561c83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612477573d612451816141cc565b9061245f6040519283613f5a565b8152600081943d92013e6144b3565b503880806123f7565b606092506144b3565b5060016123f2565b60405162461bcd60e51b815260048101839052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d83116124f5575b6124e48183613f5a565b810103126103995750519038612373565b503d6124da565b6111f6612507615463565b60405163163678e960e01b815291829133600484016147bc565b50346103995780600319360112610399576020606954604051908152f35b50346103995780600319360112610399576020606654604051908152f35b5034610399576020366003190112610399576040906004358152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995780600319360112610399576020604051600a8152f35b50346103995780600319360112610399576020606854604051908152f35b503461039957602080600319360112610fda5761260a614131565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661264130821415614385565b61265e60008051602061555c8339815191529183835416146143d4565b612666615463565b82339116036124fc57604051848101929091906001600160401b03841183851017610fb0578360405286835260ff6000805160206154fc83398151915254166000146126ba575050505061044c9150614423565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612811575b5061272d5760405162461bcd60e51b815260048101889052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95939495036127cc5761273f82614423565b6000805160206155bc833981519152600080a28251158015906127c4575b612769575b5050505080f35b6000806127ba956040519561277d87613f3f565b6027875260008051602061561c83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612477573d612451816141cc565b5038808080612762565b50600061275d565b60405162461bcd60e51b815260048101849052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612839575b6128288183613f5a565b8101031261039957505190386126de565b503d61281e565b5034610399578060031936011261039957602060ff607654166113b76040518092614287565b5034610399576060366003190112610399576020611a92604435602435600435614d5b565b50346103995780600319360112610399576020606c54604051908152f35b50346103995760403660031901126103995760043590818152602091607e8352604082205492838352607b8152604083209360108501548452607f82526040842090604051906128f882613edb565b60018060a01b0392838154168352600184818301541686850152600282015490604085019182526003830154926060860193845260056004820154916080880192835201549160a087019283528515612e305760088c0192835490600560ff83166129628161404a565b03612e1757600d8e01549051612977916145ac565b42118015908180612e0a575b612df85790612dee575b15612b2e5750815115612b1c576002915190808214612b0d575b5014612a92575b505083607954169084600e8a015416905192823b15612a8e57916129ed93918980946040519687958694859363099ea56b60e41b855260048501614c77565b03925af1801561174057908691612a7a575b50505b606d546001600160401b038082169791908815612a66577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769596979860001901169060018060401b03191617606d55600f429101555116916040516024358152a380f35b634e487b7160e01b88526011600452602488fd5b612a8390613f11565b610ac65784386129ff565b8880fd5b600660ff1982541617905584607954168560058b015416915191813b15612b0957918991612ad8938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015612afe57908891156129ae57612af390613f11565b61174b5786386129ae565b6040513d8a823e3d90fd5b8980fd5b835460ff1916178355386129a7565b604051630dd466dd60e41b8152600490fd5b9150919250602435828114600014612c0a57505060ff198254161790558360795416600485600e8b0154169287876078541660405193848092633629edcd60e11b82525afa918215612bff578a92612be0575b5051823b15612b0957604051638969ab5360e01b8152948a94869493859387938593612bb3938d16916004860161543b565b03925af1801561174057908691612bcc575b5050612a02565b612bd590613f11565b610ac6578438612bc5565b612bf8919250883d8a11611ff857611fea8183613f5a565b9038612b81565b6040513d8c823e3d90fd5b91949291600214612c20575b5050505050612a02565b60069060ff1916179055846079541691600e8a019286845416915191813b15612d8557918a91612c68938360405180968195829463099ea56b60e41b84528a60048501614c77565b03925af18015611fff57908991612dd6575b5050846079541690600460058b0192878454169089896078541660405194858092633629edcd60e11b82525afa928315612dcb578c93612dac575b50606f548c52607f8a52600260408d200154871c91813b15612da857918c91612cfc93838c60405196879586948593638969ab5360e01b9b8c865216908c6004860161543b565b03925af18015612d9d57908b91612d89575b50508680806079541694541694541694606f548b52607f8952600260408c200154901c833b15612d85578a94939291612d5786926040519889978896879586526004860161543b565b03925af1801561174057908691612d71575b808080612c16565b612d7a90613f11565b610ac6578438612d69565b8a80fd5b612d9290613f11565b612b09578938612d0e565b6040513d8d823e3d90fd5b8c80fd5b612dc49193508a3d8c11611ff857611fea8183613f5a565b9138612cb5565b6040513d8e823e3d90fd5b612ddf90613f11565b612dea578738612c7a565b8780fd5b506024351561298d565b604051631777988560e11b8152600490fd5b508a8a5116331415612983565b604051634b011ca960e11b815260048101899052602490fd5b60405163c1d17bef60e01b815260048101879052602490fd5b503461039957604036600319011261039957612e63614131565b60243591612e6f61484d565b60ff60765460081c1660048110156130a7576002811490811561309c575b5015612ec8575060008051602061551c83398151915282602093925b612eb584607154614873565b607155611d718460405193849384614a9d565b6078546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611dad5782918791879161307f575b5060046040518094819363313ce56760e01b8352165afa859181613060575b50613055575b506040516316308e2560e11b815290861660048201528481602481865afa90811561304a579087918591613017575b5091611f18612f6f611f1e93612f7595614873565b91614af3565b92806040518093637817ee4f60e01b82528180612f96308b600484016147bc565b03915afa92831561300b5792612fcb575b505092612fc560008051602061551c83398151915292602095614873565b92612ea9565b9080959250813d8311613004575b612fe38183613f5a565b81010312610a75579251612fc560008051602061551c833981519152612fa7565b503d612fd9565b604051903d90823e3d90fd5b809250868092503d8311613043575b6130308183613f5a565b81010312610a7557518690611f18612f5a565b503d613026565b6040513d86823e3d90fd5b60ff16915038612f2b565b613078919250873d8911611fcb57611fbc8183613f5a565b9038612f25565b6130969150823d8411611ff857611fea8183613f5a565b38612f06565b600191501438612e8d565b634e487b7160e01b82526021600452602482fd5b506130c536614239565b90916130cf6145cf565b6130d76145f5565b6130e0826147d6565b15610b145782518301906020938481840312610fda57808501516001600160401b0391828211610ac257019260a084820312610fac576040519160a0830183811082821117610fb05760405286850151835261313e60408601614620565b928781019384526060860151956040820196875261315e60808201614620565b936060830194855260a082015190848211612dea5761318392908b0191018a01614657565b608082019081528151156135795760ff60765416916003831015613565576001809314613432575b50606f548652607f89526040862080546001600160a01b039891908916151580613425575b61340357506131e0606e54614611565b9889606e55898852607b8b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b850193015180519182116133ef5761326b8454613ea1565b601f81116133a8575b508990601f831160011461334857928293918392899461333d575b50501b916000199060031b1c19161790555b6010606f5491015582806079541691541690803b15610fac576132dc918391604051808095819463240ff7c560e11b83528a60048401614769565b039134905af18015610fde57613329575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6133338291613f11565b61039957806132ed565b01519250388061328f565b8488528a8820919083601f1981168a8e5b888383106133905750505010613377575b505050811b0190556132a1565b015160001960f88460031b161c1916905538808061336a565b8686015188559096019594850194879350018e613359565b8488528a8820601f840160051c8101918c85106133e5575b601f0160051c019084905b8281106133d9575050613274565b600081550184906133cb565b90915081906133c0565b634e487b7160e01b87526041600452602487fd5b6002604491015460405190632c1f8ef160e21b82523460048301526024820152fd5b50600281015434106131d0565b85516001600160a01b039190613449908316614782565b818651161561355357604051630ae6240f60e11b8152908b82600481305afa918215611fff5791899184938392613514575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa918215612afe5788926134f0575b5060408187511692015116036134de576134c28751614cdb565b6134cc57386131ab565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b61350d9192503d808a833e6135058183613f5a565b8101906146d2565b90386134a8565b92509250508b81813d831161354c575b61352e8183613f5a565b81010312612a8e57518281168103612a8e578291899190602461347b565b503d613524565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b50346103995760203660031901126103995760406020916004358152607e83522054604051908152f35b5034610399578060031936011261039957608060725460735460745460755491604051938452602084015260408301526060820152f35b503461039957806003193601126103995761044c33614880565b5034610399576020366003190112610399576020611a92600435615364565b50346103995760603660031901126103995761363f614131565b613647614105565b9061365061411b565b83549260ff8460081c1615938480956137c7575b80156137b0575b156137545760ff198116600117865584613743575b506136bc6040519261369184613f24565b600a8452694356537472617465677960b01b602085015261138960ff885460081c166121378161454c565b60018060a01b03918260018060a01b031994168460655416176065556040516136f581612171602082019460208652604083019061408d565b5190206066551690606a541617606a5561370c5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538613680565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561366b5750600160ff82161461366b565b50600160ff821610613664565b50346103995780600319360112610399576065546040516001600160a01b039091168152602090f35b50346103995780600319360112610399576020606f54604051908152f35b50346103995780600319360112610399576020604051629896808152f35b50346103995780600319360112610399576020606e54604051908152f35b50346103995780600319360112610399576079546040516001600160a01b039091168152602090f35b5034610399576060366003190112610399576001600160401b0390600435828111610fda576138b390369060040161415e565b506024918235908111610fda576138ce90369060040161421e565b6138d661411b565b506138df6145cf565b6138e76145f5565b805115613bc557602081805181010312610fda5760200151918215613bb357828252607b602052604082209260ff607654166003811015613ba05760011461392d578280f35b80845403613b8b576001840191825460695490818111613b6a5750506008850194600160ff87541661395e8161404a565b03613b535761396c83615364565b9184549261397984614e69565b1180613b4a575b613b385760018060a01b039286846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610a81579160409185938992613b18575b506139d090606954614873565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613ad8575081809381925af115613acb575b600460ff1982541617905581600581607954169201541690606f548652607f602052600260408720015491813b1561174b57918691613a67938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015611dad57613aa6575b50613a9c9060008051602061565c83398151915294955416925460405193849384614c77565b0390a18038808280f35b9060008051602061565c83398151915294613ac3613a9c93613f11565b945090613a76565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d156001885114171615613b0b5785603452613a10565b6390b8ec1886526004601cfd5b6139d0919250613b31903d808c833e6135058183613f5a565b91906139c3565b60405163199cf26160e31b8152600490fd5b50821515613980565b5090604051906344980d8f60e01b82526004820152fd5b6064939260405193632c31d85b60e11b855260048501528301526044820152fd5b6040519063c1d17bef60e01b82526004820152fd5b634e487b7160e01b845260216004528284fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b50346103995736600319016101408112610fda5760c01361039957604051613bfe81613edb565b6004356001600160a01b0381168103610fac578152613c1b614105565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112610fda5760405161044c91613c5c82613ef6565b60c435825260e4356020830152610104356040830152610124356060830152613c836153aa565b615079565b5034610399578060031936011261039957604090606f548152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995760203660031901126103995760043563ffffffff60e01b8116809103610fda5760209063f1801e6160e01b8114908115613d25575b506040519015158152f35b6301ffc9a760e01b14905082613d1a565b5034610399576020366003190112610399576004358152607b60205260408120908154906001830154600284015493600381015460018060a01b0360048301541660018060a01b0360058401541660018060a01b036006850154169060078501549260ff60088701541694613dad600a8801613f7d565b604051909b909960608b01906001600160401b0382118c831017613e8d57506040908152600c8901548b52600d89015460208c810191909152600e8a01546001600160a01b03168c830152600f8a01546010909a015482519d8e52908d019a909a528b015260608a0152608089015260a088015260c087015260e086015293948594613e559190613e3d8161404a565b6101008701526101e0806101208801528601906140b2565b835161014086015260208401516101608601526040909301516001600160a01b03166101808501526101a08401526101c08301520390f35b634e487b7160e01b81526041600452602490fd5b90600182811c92168015613ed1575b6020831014613ebb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613eb0565b60c081019081106001600160401b03821117610fb057604052565b608081019081106001600160401b03821117610fb057604052565b6001600160401b038111610fb057604052565b604081019081106001600160401b03821117610fb057604052565b606081019081106001600160401b03821117610fb057604052565b601f909101601f19168101906001600160401b03821190821017610fb057604052565b9060405191613f8b83613f24565b8281548152600180920191604051928391600091805490613fab82613ea1565b808652918381169081156140215750600114613fd8575b50505060209291613fd4910384613f5a565b0152565b909493925060005260209081600020946000915b81831061400957509394509192509082010181613fd46020613fc2565b86548884018501529586019587945091830191613fec565b60ff191660208781019190915292151560051b860183019450859350613fd4929150613fc29050565b6007111561405457565b634e487b7160e01b600052602160045260246000fd5b60005b83811061407d5750506000910152565b818101518382015260200161406d565b906020916140a68151809281855285808601910161406a565b601f01601f1916010190565b90604060206140cf9380518452015191816020820152019061408d565b90565b9260a09491979695929760c0850198600180881b0380921686521660208501526040840152606083015260808201520152565b602435906001600160a01b0382168203610a7557565b604435906001600160a01b0382168203610a7557565b600435906001600160a01b0382168203610a7557565b6001600160401b038111610fb05760051b60200190565b81601f82011215610a755780359161417583614147565b926141836040519485613f5a565b808452602092838086019260051b820101928311610a75578301905b8282106141ad575050505090565b81356001600160a01b0381168103610a7557815290830190830161419f565b6001600160401b038111610fb057601f01601f191660200190565b9291926141f3826141cc565b916142016040519384613f5a565b829481845281830111610a75578281602093846000960137010152565b9080601f83011215610a75578160206140cf933591016141e7565b6040600319820112610a7557600435906001600160401b038211610a75576142639160040161421e565b906024356001600160a01b0381168103610a755790565b9060048210156140545752565b9060038210156140545752565b80548210156142ac5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610a75578235916001600160401b038311610a755760208381860195010111610a7557565b6142f7615463565b336001600160a01b039091160361430a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061559c833981519152600080a3565b1561438c57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156143db57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156144585760008051602061555c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561451557508151156144c7575090565b3b156144d05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156145285750805190602001fd5b60405162461bcd60e51b8152602060048201529081906111f690602483019061408d565b1561455357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116145b957565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b031633036145e357565b60405163075fd2b160e01b8152600490fd5b606854156145ff57565b604051630f68fe6360e21b8152600490fd5b60001981146145b95760010190565b51906001600160a01b0382168203610a7557565b606080918051845260208101516020850152604081015160408501520151910152565b9190604083820312610a755760405161466f81613f24565b83518152602084015190938491906001600160401b038211610a7557019082601f83011215610a75578151916146a4836141cc565b936146b26040519586613f5a565b83855260208483010111610a7557602092613fd49184808701910161406a565b90602082820312610a755781516001600160401b0392838211610a75570160c081830312610a75576040519261470784613edb565b8151845260208201516001600160a01b0381168103610a7557602085015261473160408301614620565b60408501526060820151908111610a755760a092614750918301614657565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561479257565b6040516303988b8160e61b8152600490fd5b90816020910312610a7557518015158103610a755790565b6001600160a01b0391821681529116602082015260400190565b607a546001600160a01b031680156148465761480c9160209160405180809581946302154c3d60e51b83523090600484016147bc565b03915afa90811561483a57600091614822575090565b6140cf915060203d8111610b0257610af48183613f5a565b6040513d6000823e3d90fd5b5050600190565b6078546001600160a01b0316330361486157565b6040516357848b5160e11b8152600490fd5b919082039182116145b957565b60785460408051637817ee4f60e01b81526020949391926000926001600160a01b039290918316908781806148b93087600484016147bc565b0381855afa8015614a93578590614a64575b6148d89150607154614873565b607155803b15610ac25783855180926322bcf99960e01b82528183816149023089600484016147bc565b03925af18015614a5a57614a47575b5016808252607d8552828220948351808783829954938481520190865283862092865b85828210614a315750505061494b92500387613f5a565b825b8651811015614a0157806149646149849289614c98565b51808652607b845286862061497882614cac565b614989575b5050614611565b61494d565b60008051602061557c8339815191529160a0918760005260098101875260038a6000208a815491556149db60028401916149c4818454614873565b835560706149d3828254614873565b905584614ff4565b54910154908a519289845288840152898b84015260608301526080820152a1388061497d565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c955093019201614934565b614a5390939193613f11565b9138614911565b85513d86823e3d90fd5b508781813d8311614a8c575b614a7a8183613f5a565b81010312610ac6576148d890516148cb565b503d614a70565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610a7557516001600160a01b0381168103610a755790565b90816020910312610a75575160ff81168103610a755790565b604d81116145b957600a0a90565b818102929181159184041417156145b957565b8115614b1e570490565b634e487b7160e01b600052601260045260246000fd5b8015614c7157614bff816000908360801c80614c65575b508060401c80614c58575b508060201c80614c4b575b508060101c80614c3e575b508060081c80614c31575b508060041c80614c24575b508060021c80614c17575b50600191828092811c614c10575b1c1b614ba78185614b14565b01811c614bb48185614b14565b01811c614bc18185614b14565b01811c614bce8185614b14565b01811c614bdb8185614b14565b01811c614be88185614b14565b01811c614bf58185614b14565b01901c8092614b14565b80821015614c0b575090565b905090565b0181614b9b565b6002915091019038614b8d565b6004915091019038614b82565b6008915091019038614b77565b6010915091019038614b6c565b6020915091019038614b61565b6040915091019038614b56565b91505060809038614b4b565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b80518210156142ac5760209160051b010190565b600052607b6020526040600020805415159081614cc7575090565b600501546001600160a01b03161515919050565b614cea60725460695490614b01565b62989680918281029281840414901517156145b957111590565b919091600083820193841291129080158216911516176145b957565b614d2a8282614d04565b9160008312614d3857505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607454906298968093848360801b0490600160801b9182811015614e25578583965b614de4575050614d8f9085614b01565b93858302928084048714901517156145b95781039081116145b957614db391614b01565b9083039283116145b957614dd092614dca91614b14565b906145ac565b6001607f1b81019081106145b95760801c90565b600191818316614e045780614df891614f3d565b911c90815b9091614d7f565b809250614e119197614f3d565b9560001981019081116145b9579081614dfd565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614f2b57614e7b82614cdb565b6134cc57607254604081901b92600160401b92918015908504841417156145b9578060401b9281840414901517156145b957614ebd614ec991614ee493614b14565b62989680809404614873565b614edb8360735460801b049180614b01565b60401c90614b14565b818102908082048314901517156145b95760745482039182116145b957614f1791614f0e91614b14565b60715490614b01565b60401c607554808211600014614c0b575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614f9e57811015614f5a57614dd091614b01565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614fff9082615026565b909182158061501e575b6150195760039160078201550155565b505050565b508115615009565b43916007820154918383116150635783831461505757600361504b6150549486614873565b91015490614d5b565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b60208181018051919290916001600160a01b039060009082168015159081615357575b816152b5575b506150ea575b50505050816080916000805160206154dc8339815191529351607255810151607355604081015160745560608101516075556150e76040518092614634565ba1565b606f548152607f855260409081812083600182015416908480885116809314918215926152a3575b50506151da575b50936005608096946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b99615151606f54614611565b80606f558152607f8a522091808451169560018060a01b0319918783865416178555600185019151168092825416179055818401519182600285015560608501519384600382015560a08d8701519687600484015501519687910155606f549681519788528a88015286015260608501528884015260a083015260c0820152a1918193386150a8565b8385511690813b15610fac578291602483928651948593849263446adb9960e11b845260048401525af1801561529957946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b999560059560809c9a61528a575b507fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f60608b86885116878b51169086519230845283015285820152a195999b505094509450949650615119565b61529390613f11565b3861523d565b83513d84823e3d90fd5b90915054168486511614158438615112565b606f548352607f8752604083206001810154851690911480159250615345575b8115615332575b811561531f575b811561530c575b81156152f8575b50386150a2565b9050600560a08501519101541415386152f1565b60808501516004820154141591506152ea565b60608501516003820154141591506152e3565b60408501516002820154141591506152dc565b905082845116838254161415906152d5565b845184161515915061509c565b80600052607b6020526040600020908082540361539257508061538d6002600393015482614ff4565b015490565b6024906040519063c1d17bef60e01b82526004820152fd5b607854604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa90811561483a576000916153fc575b501633036153ea57565b604051637430763f60e11b8152600490fd5b615414915060203d8111611ff857611fea8183613f5a565b386153e0565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b6033546001600160a01b0316803b6154785790565b604051638da5cb5b60e01b8152602081600481855afa600091816154a0575b50614c0b575090565b90916020823d82116154d3575b816154ba60209383613f5a565b8101031261039957506154cc90614620565b9038615497565b3d91506154ad56feec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3be677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d5345524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a264697066735822122088d4cf443e3b0376e77af0154d172c4379f1c9707d180c119bcb0a806a1fc7ea64736f6c63430008130033","sourceMap":"3983:51118:95:-:0;;;;;;;1088:4:61;1080:13;;3983:51118:95;;;;;;1080:13:61;3983:51118:95;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613d3657806301ffc9a714613cdf578063059351cd14613c88578063062f9ece14613bd75780630a6f0ee9146138805780630ba95909146119bb5780630bece79c146138575780630c0512e9146138395780630f529ba21461381b578063125fd1d9146137fd57806315cc481e146137d4578063184b9559146136255780631aa91a9e146136065780631ddf1e23146135ec5780632506b870146135b5578063255ffb381461358b5780632bbe0cae146130bb5780632dbd6fdd1461138e5780632ed04b2b14612e49578063311a6c56146128a9578063339604591461288b578063346db8cb14612866578063351d9f96146128405780633659cfe6146125ef57806338fff2d0146125d1578063406244d8146125b557806341bb76051461255d57806342fda9c71461253f5780634ab4ba42146125215780634d31d0871461104c5780634f1ef2861461228f57806352d1902d146121d057806359a5db8b146121b15780635db64b99146113b95780636003e4141461218857806360d5dedc146120cd578063626c47e8146120b15780636453d9c414612087578063715018a61461203b578063782aadff14611ca0578063814516ad14611ba8578063817b1cd214611b8a578063824ea8ed14611b1d578063868c57b814611ac75780638da5cb5b14611a9a578063950559d714611a4f5780639a1c157c14611a31578063a0cf0aea14611a02578063a28889e1146119d9578063a47ff7e5146119bb578063a574cea414611965578063aba9ffee14611263578063ac1ed7b914611917578063b0d3713a146118d2578063b2b878d01461180f578063b41596ec14611477578063b5f620ce1461141b578063b6c61f31146113f2578063bcc5b93b146113b9578063c32921711461138e578063c4d66de81461135c578063c7f758a814611281578063d1e3623214611263578063dc96ff2d14611236578063df868ed314611213578063e0a8f6f5146110bc578063e0dd2c3814611072578063eb11af931461104c578063edd146cc14610b79578063ef2920fc146104a3578063f2fde38b14610412578063f5b0dfb7146103b9578063f5be3f7c1461039c5763ffa1ad7414610352575061000e565b3461039957806003193601126103995761039560405161037181613f24565b60038152620302e360ec1b602082015260405191829160208352602083019061408d565b0390f35b80fd5b50346103995780600319360112610399576020604051611c208152f35b5034610399576020366003190112610399577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103f96145cf565b610405816069546145ac565b606955604051908152a180f35b50346103995760203660031901126103995761042c614131565b6104346142ef565b6001600160a01b0381161561044f5761044c9061434e565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b506104ad36614239565b906104b66145cf565b6104be6145f5565b6001600160a01b0382811691908215610b675760785416938415610b555760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610b09578391610b38575b5015610b265761051b866147d6565b15610b145760405163011de97360e61b815285818061053e308b600484016147bc565b03818b5afa908115610b09578391610adc575b5015610aca578351840193858501908681870312610ac25780870151906001600160401b038211610ac657019481603f87011215610ac257868601519061059782614147565b966105a56040519889613f5a565b82885260408989019360061b820101938411610abe57604001915b838310610a8c5750505050819682975b855189101561064d576105e38987614c98565b515115610643576105f48987614c98565b51516105ff81614cac565b1561062c575061062061062691886106178c8a614c98565b51015190614d04565b98614611565b976105d0565b85906040519063c1d17bef60e01b82526004820152fd5b9761062690614611565b9580939761066c61068a93949698878b52607c845260408b2054614d20565b936040518080958194637817ee4f60e01b83523090600484016147bc565b03915afa908115610a81578791610a4f575b50808211610a325750828695949552607c82526040862055606091829186945b8651861015610a2e576106cf8688614c98565b51519380511560001461091b5750604051946106ea86613f24565b6001865282860183368237865115610906578590529490945b8261070e888a614c98565b51015195858a52607b845260408a209260098401918660005282865261073a604060002054998a614d20565b92876000528652826040600020558b809b81938754945b8a8452607d8a526040842080548210156108f357610770828892614294565b90549060031b1c1461078e57610787604091614611565b9050610751565b50999391509a9593919b5060019994995b1561088d575b506108069493929190808411610854576107bf8482614873565b6107cc60709182546145ac565b90556107d88482614873565b6107e7600285019182546145ac565b90555b600783019283541560001461080d575050509050439055614611565b94956106bc565b60a0935061082a60008051602061557c8339815191529582614ff4565b6003600282015491015491604051938a85528985015260408401528a8301526080820152a1614611565b61085e8185614873565b61086b6070918254614873565b90556108778185614873565b61088660028501918254614873565b90556107ea565b878d52607d875260408d20805490600160401b8210156108e057816108c09160016108069a999897969594018155614294565b819291549060031b91821b91600019901b191617905590919293946107a5565b634e487b7160e01b8f5260416004528d8ffd5b5050999391509a9593919b99949961079f565b82634e487b7160e01b60005260326004526000fd5b9491889497989693919698855b875181101561096d578961093c828a614c98565b51146109505761094b90614611565b610928565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b509794989691939692909215610986575b949094610703565b948051906001808301809311610a1b5761099f83614147565b926109ad6040519485613f5a565b8084526109bc601f1991614147565b0136868501378a815b6109df575b50506109d886915183614c98565b529461097e565b829a949a51811015610a1357806109f9610a0a9285614c98565b51610a048287614c98565b52614611565b819a949a6109c5565b9993996109ca565b634e487b7160e01b8b526011600452838bfd5b8780f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610a7a575b610a668183613f5a565b81010312610a7557518761069c565b600080fd5b503d610a5c565b6040513d89823e3d90fd5b6040898484030112610abe57886040918251610aa781613f24565b8551815282860151838201528152019201916105c0565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610afc9150863d8811610b02575b610af48183613f5a565b8101906147a4565b38610551565b503d610aea565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610b4f9150863d8811610b0257610af48183613f5a565b3861050c565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610399576040366003190112610399576024356001600160401b038111610fda57610baa90369060040161421e565b610bb26145cf565b610bba6145cf565b60685461103a576004351561102857600435606855606a546e5af43d82803e903d91602b57fd5bf3606c54610bee81614611565b606c5560405160208101913360601b8352603482015260348152610c1181613f3f565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017855260789290921b6001600160781b031916176020526001600160a01b03906037600985f5168015610fe957607980546001600160a01b031981168317909155839190821617803b15610fda5781809160046040518094819363204a7f0760e21b83525af18015610fde57610fc6575b5050808051810103906101e08212610fac576040519160e083016001600160401b03811184821017610fb0578060405260808212610ac657610ce881613ef6565b60208301518152604083015161010085015260608301516101208501526080830151610140850152835260a08201516003811015610ac657602084015260c08201516004811015610ac6576040840152602060bf19820112610ac257604051906001600160401b036020830190811190831117610fb05781602060c0930160405260e08401518152606085015260df190112610fac57604051610d8a81613edb565b6101008201516001600160a01b0381168103610ac6578152610daf6101208301614620565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610e056101e0610df86101c08401614620565b928360a086015201614620565b60c08301526001600160a01b031615610b555760a0810151607880546001600160a01b0319166001600160a01b039290921691909117905560208101516003811015610f985760765460408301516004811015610f8457917fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b939160ff61ff006102009560081b1692169061ffff1916171760765560608101515160775560018060a01b0360c08201511660018060a01b0319607a541617607a55610ed06080820151825190615079565b604051906004358252610ee7602083018251614634565b610ef9602082015160a0840190614287565b610f0b604082015160c084019061427a565b6060818101515160e084015260808083015180516001600160a01b03908116610100870152602082015181166101208701526040820151610140870152928101516101608601529081015161018085015260a0908101516101a085015282015181166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b83526021600452602483fd5b8280fd5b634e487b7160e01b600052604160045260246000fd5b610fcf90613f11565b610fda578138610ca7565b5080fd5b6040513d84823e3d90fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b503461039957602036600319011261039957602090611069614131565b50604051908152f35b50346103995760403660031901126103995760096040611090614105565b926004358152607b60205220019060018060a01b03166000526020526020604060002054604051908152f35b503461039957602080600319360112610fda5760043590818352607b8152600160ff6008604086200154166110f08161404a565b036111fa57818352607b815260408320600501546001600160a01b039081163381036111d757508084916079541690848352607b8452601060408420916005830154169101548352607f84526002604084200154823b15610ac25761116f9284928360405180968195829463099ea56b60e41b84528c60048501614c77565b03925af18015610fde576111c3575b50829052607b81526040808420600801805460ff19166003179055519182527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c91a180f35b6111cc90613f11565b610fac57823861117e565b604051634544dc9160e11b81529081906111f6903390600484016147bc565b0390fd5b6040516344980d8f60e01b815260048101839052602490fd5b5034610399578060031936011261039957602060ff606754166040519015158152f35b503461039957602036600319011261039957600260406020926004358152607b8452200154604051908152f35b50346103995780600319360112610399576020607154604051908152f35b503461039957602036600319011261039957610160906004358152607b60205260408120600181015491821560001461134c57905b60018060a01b03918260058301541693836004840154169360068401541690600284015460ff6008860154169060078601549260038701549433600052600988016020526010604060002054980154986040519a8b5260208b015260408a0152606089015260808801526113298161404a565b60a087015260c086015260e0850152610100840152610120830152610140820152f35b5061135682614e69565b906112b6565b50346103995760203660031901126103995761044c611379614131565b61138960ff845460081c1661454c565b61434e565b5034610399578060031936011261039957602060ff60765460081c166113b7604051809261427a565bf35b5034610399576020366003190112610399576020906040906001600160a01b036113e1614131565b168152607c83522054604051908152f35b5034610399578060031936011261039957607a546040516001600160a01b039091168152602090f35b503461039957602036600319011261039957600435801515809103610fda5760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610399576001600160401b0390602435828111610fda576114a59036906004016142c2565b604492919235848111610fac576114c09036906004016142c2565b93909460043594858552607b602052604085209460108601548152607f6020526040812092604051926114f284613edb565b60018060a01b0394858154168086528660018301541660208701526002820154604087015260056003830154926060880193845260048101546080890152015460a0870152156117fd57898954036117e4576008890191600160ff8454166115598161404a565b036117cb5781518034106117ad5750600f8a015480151580611785575b61174f5750611586825134614873565b918760795416905190803b1561174b576115ba87918e60405194858094819363240ff7c560e11b8352339060048401614769565b03925af180156117405761172c575b509a6020916116039b9c8888511691604051809e8195829463c13517e160e01b84526003600485015260406024850152604484019161541a565b03925af1988915610b095783996116f8575b50805460ff19166005179055600c870188905542600d8801908155600e90970180546001600160a01b03191633179055878252607e60205260408220899055606d5491818316908183146116e45750927f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d97959260209a97959260016116d39601169060018060401b03191617606d55511693549260405195869586528986015287604086015233606086015260c0608086015260c085019161541a565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9098506020813d602011611724575b8161171460209383613f5a565b81010312610a7557519738611615565b3d9150611707565b6117368691613f11565b610ac657386115c9565b6040513d88823e3d90fd5b8680fd5b8b86611c2083018093116116e4575061176b6044924290614873565b60405191638d2f6c3160e01b835260048301526024820152fd5b50611c208101808211611799574210611576565b634e487b7160e01b87526011600452602487fd5b60449060405190632c1f8ef160e21b82523460048301526024820152fd5b6040516344980d8f60e01b8152600481018c9052602490fd5b60405163c1d17bef60e01b8152600481018b9052602490fd5b604051636c291fd360e01b8152600490fd5b5034610399576040366003190112610399576001600160401b0390600435828111610fda5761184290369060040161415e565b5060248035838111610fac5736602382011215610fac5780600401359161186883614147565b946118766040519687613f5a565b8386528160208097019460051b8401019436861161039957828401945b8686106118ac5760405163d623472560e01b8152600490fd5b8535838111610fac5788916118c783928736918a010161421e565b815201950194611893565b5034610399576020366003190112610399576118ec614131565b6118f46142ef565b606a80546001600160a01b0319166001600160a01b039290921691909117905580f35b503461039957602036600319011261039957611931614131565b6119396153aa565b61194281614782565b607a80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610399576020366003190112610399576119a7600a60406103959360606020835161199181613f24565b83815201526004358152607b6020522001613f7d565b6040519182916020835260208301906140b2565b50346103995780600319360112610399576020607754604051908152f35b5034610399578060031936011261039957606d546040516001600160401b039091168152602090f35b5034610399578060031936011261039957602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103995780600319360112610399576020607454604051908152f35b5034610399576020366003190112610399576004356298968091828202918083048414901517156116e45760745483039283116116e4576020611a928484614b14565b604051908152f35b50346103995780600319360112610399576020611ab5615463565b6040516001600160a01b039091168152f35b503461039957604036600319011261039957611ae1614131565b6001600160a01b03168152607d6020526040812080546024359290831015610399576020611b0f8484614294565b90546040519160031b1c8152f35b50346103995760203660031901126103995760406020916004358152607b835220611b4c600282015482615026565b81929192159081611b81575b50611b75575b6001611b6b910154614e69565b1115604051908152f35b60038101549150611b5e565b90501538611b58565b50346103995780600319360112610399576020607054604051908152f35b5034610399578060031936011261039957611bc2336147d6565b15610b14576078546001600160a01b039082908216803b15610fda57816040518092630d4a8b4960e01b8252818381611bff3033600484016147bc565b03925af18015610fde57611c8c575b50506078541660206040518092637817ee4f60e01b82528180611c353033600484016147bc565b03915afa8015610fde578290611c59575b611c5391506071546145ac565b60715580f35b506020813d8211611c84575b81611c7260209383613f5a565b81010312610a7557611c539051611c46565b3d9150611c65565b611c9590613f11565b610fda578138611c0e565b503461039957604036600319011261039957611cba614131565b602435611cc561484d565b611cce826147d6565b15610b14578260ff60765460081c166004811015610f845760028103611db857505080915b60785460405163011de97360e61b81529060209082906001600160a01b03168180611d223088600484016147bc565b03915afa908115611dad57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611d90575b50611d7c575b611d718460405193849384614a9d565b0390a1604051908152f35b611d88846071546145ac565b607155611d61565b611da79150863d8111610b0257610af48183613f5a565b38611d5b565b6040513d87823e3d90fd5b60018103611e64575050607854604051637817ee4f60e01b8152829160209082906001600160a01b03168180611df2308a600484016147bc565b03915afa908115611dad578591611e33575b50611e0f83826145ac565b607754809111611e22575b505091611cf3565b611e2c9250614873565b3880611e1a565b90506020813d8211611e5c575b81611e4d60209383613f5a565b81010312610a75575138611e04565b3d9150611e40565b90929060021901611cf3576078546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610a81578590889061200a575b611eba92506145ac565b6040516336d8759760e21b81529060128483600481895afa908115611fff57611f239486611f1893611f1e968d91611fd2575b5060046040518094819363313ce56760e01b8352165afa8b9181611fa3575b50611f98575b50614af3565b90614b01565b614b34565b816040518094637817ee4f60e01b82528180611f43308b600484016147bc565b03915afa918215611740578692611f66575b50611f609250614873565b91611cf3565b90915082813d8311611f91575b611f7d8183613f5a565b81010312610a7557611f6091519038611f55565b503d611f73565b60ff91501638611f12565b611fc4919250883d8a11611fcb575b611fbc8183613f5a565b810190614ada565b9038611f0c565b503d611fb2565b611ff29150823d8411611ff8575b611fea8183613f5a565b810190614abb565b38611eed565b503d611fe0565b6040513d8b823e3d90fd5b50508281813d8311612034575b6120218183613f5a565b81010312610a755784611eba9151611eb0565b503d612017565b50346103995780600319360112610399576120546142ef565b603380546001600160a01b031981169091556000906001600160a01b031660008051602061559c8339815191528280a380f35b50346103995760203660031901126103995761044c6120a4614131565b6120ac61484d565b614880565b5034610399578060031936011261039957602060405160038152f35b5034610399576060366003190112610399576120e7614131565b6024356001600160401b038111610fac5736602382011215610fac576121179036906024816004013591016141e7565b9061213c61212361411b565b61138960ff865460081c166121378161454c565b61454c565b60018060a01b031660018060a01b0319606554161760655560405161217f81612171602082019460208652604083019061408d565b03601f198101835282613f5a565b51902060665580f35b50346103995780600319360112610399576078546040516001600160a01b039091168152602090f35b5034610399576020366003190112610399576020611a92600435614e69565b50346103995780600319360112610399577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361222957602060405160008051602061555c8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b506040366003190112610399576122a4614131565b6024356001600160401b038111610fac576122c390369060040161421e565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169291906122fd30851415614385565b61231a60008051602061555c8339815191529482865416146143d4565b612322615463565b81339116036124fc576000805160206154fc8339815191525460ff161561234f57505061044c9150614423565b8216604051936352d1902d60e01b85526020948581600481865afa600091816124cd575b506123c25760405162461bcd60e51b815260048101879052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9492939403612488576123d484614423565b6000805160206155bc833981519152600080a2815115801590612480575b6123fd575b50505080f35b61246e926000806040519461241186613f3f565b6027865260008051602061561c83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612477573d612451816141cc565b9061245f6040519283613f5a565b8152600081943d92013e6144b3565b503880806123f7565b606092506144b3565b5060016123f2565b60405162461bcd60e51b815260048101839052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d83116124f5575b6124e48183613f5a565b810103126103995750519038612373565b503d6124da565b6111f6612507615463565b60405163163678e960e01b815291829133600484016147bc565b50346103995780600319360112610399576020606954604051908152f35b50346103995780600319360112610399576020606654604051908152f35b5034610399576020366003190112610399576040906004358152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995780600319360112610399576020604051600a8152f35b50346103995780600319360112610399576020606854604051908152f35b503461039957602080600319360112610fda5761260a614131565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661264130821415614385565b61265e60008051602061555c8339815191529183835416146143d4565b612666615463565b82339116036124fc57604051848101929091906001600160401b03841183851017610fb0578360405286835260ff6000805160206154fc83398151915254166000146126ba575050505061044c9150614423565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612811575b5061272d5760405162461bcd60e51b815260048101889052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95939495036127cc5761273f82614423565b6000805160206155bc833981519152600080a28251158015906127c4575b612769575b5050505080f35b6000806127ba956040519561277d87613f3f565b6027875260008051602061561c83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612477573d612451816141cc565b5038808080612762565b50600061275d565b60405162461bcd60e51b815260048101849052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612839575b6128288183613f5a565b8101031261039957505190386126de565b503d61281e565b5034610399578060031936011261039957602060ff607654166113b76040518092614287565b5034610399576060366003190112610399576020611a92604435602435600435614d5b565b50346103995780600319360112610399576020606c54604051908152f35b50346103995760403660031901126103995760043590818152602091607e8352604082205492838352607b8152604083209360108501548452607f82526040842090604051906128f882613edb565b60018060a01b0392838154168352600184818301541686850152600282015490604085019182526003830154926060860193845260056004820154916080880192835201549160a087019283528515612e305760088c0192835490600560ff83166129628161404a565b03612e1757600d8e01549051612977916145ac565b42118015908180612e0a575b612df85790612dee575b15612b2e5750815115612b1c576002915190808214612b0d575b5014612a92575b505083607954169084600e8a015416905192823b15612a8e57916129ed93918980946040519687958694859363099ea56b60e41b855260048501614c77565b03925af1801561174057908691612a7a575b50505b606d546001600160401b038082169791908815612a66577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769596979860001901169060018060401b03191617606d55600f429101555116916040516024358152a380f35b634e487b7160e01b88526011600452602488fd5b612a8390613f11565b610ac65784386129ff565b8880fd5b600660ff1982541617905584607954168560058b015416915191813b15612b0957918991612ad8938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015612afe57908891156129ae57612af390613f11565b61174b5786386129ae565b6040513d8a823e3d90fd5b8980fd5b835460ff1916178355386129a7565b604051630dd466dd60e41b8152600490fd5b9150919250602435828114600014612c0a57505060ff198254161790558360795416600485600e8b0154169287876078541660405193848092633629edcd60e11b82525afa918215612bff578a92612be0575b5051823b15612b0957604051638969ab5360e01b8152948a94869493859387938593612bb3938d16916004860161543b565b03925af1801561174057908691612bcc575b5050612a02565b612bd590613f11565b610ac6578438612bc5565b612bf8919250883d8a11611ff857611fea8183613f5a565b9038612b81565b6040513d8c823e3d90fd5b91949291600214612c20575b5050505050612a02565b60069060ff1916179055846079541691600e8a019286845416915191813b15612d8557918a91612c68938360405180968195829463099ea56b60e41b84528a60048501614c77565b03925af18015611fff57908991612dd6575b5050846079541690600460058b0192878454169089896078541660405194858092633629edcd60e11b82525afa928315612dcb578c93612dac575b50606f548c52607f8a52600260408d200154871c91813b15612da857918c91612cfc93838c60405196879586948593638969ab5360e01b9b8c865216908c6004860161543b565b03925af18015612d9d57908b91612d89575b50508680806079541694541694541694606f548b52607f8952600260408c200154901c833b15612d85578a94939291612d5786926040519889978896879586526004860161543b565b03925af1801561174057908691612d71575b808080612c16565b612d7a90613f11565b610ac6578438612d69565b8a80fd5b612d9290613f11565b612b09578938612d0e565b6040513d8d823e3d90fd5b8c80fd5b612dc49193508a3d8c11611ff857611fea8183613f5a565b9138612cb5565b6040513d8e823e3d90fd5b612ddf90613f11565b612dea578738612c7a565b8780fd5b506024351561298d565b604051631777988560e11b8152600490fd5b508a8a5116331415612983565b604051634b011ca960e11b815260048101899052602490fd5b60405163c1d17bef60e01b815260048101879052602490fd5b503461039957604036600319011261039957612e63614131565b60243591612e6f61484d565b60ff60765460081c1660048110156130a7576002811490811561309c575b5015612ec8575060008051602061551c83398151915282602093925b612eb584607154614873565b607155611d718460405193849384614a9d565b6078546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611dad5782918791879161307f575b5060046040518094819363313ce56760e01b8352165afa859181613060575b50613055575b506040516316308e2560e11b815290861660048201528481602481865afa90811561304a579087918591613017575b5091611f18612f6f611f1e93612f7595614873565b91614af3565b92806040518093637817ee4f60e01b82528180612f96308b600484016147bc565b03915afa92831561300b5792612fcb575b505092612fc560008051602061551c83398151915292602095614873565b92612ea9565b9080959250813d8311613004575b612fe38183613f5a565b81010312610a75579251612fc560008051602061551c833981519152612fa7565b503d612fd9565b604051903d90823e3d90fd5b809250868092503d8311613043575b6130308183613f5a565b81010312610a7557518690611f18612f5a565b503d613026565b6040513d86823e3d90fd5b60ff16915038612f2b565b613078919250873d8911611fcb57611fbc8183613f5a565b9038612f25565b6130969150823d8411611ff857611fea8183613f5a565b38612f06565b600191501438612e8d565b634e487b7160e01b82526021600452602482fd5b506130c536614239565b90916130cf6145cf565b6130d76145f5565b6130e0826147d6565b15610b145782518301906020938481840312610fda57808501516001600160401b0391828211610ac257019260a084820312610fac576040519160a0830183811082821117610fb05760405286850151835261313e60408601614620565b928781019384526060860151956040820196875261315e60808201614620565b936060830194855260a082015190848211612dea5761318392908b0191018a01614657565b608082019081528151156135795760ff60765416916003831015613565576001809314613432575b50606f548652607f89526040862080546001600160a01b039891908916151580613425575b61340357506131e0606e54614611565b9889606e55898852607b8b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b850193015180519182116133ef5761326b8454613ea1565b601f81116133a8575b508990601f831160011461334857928293918392899461333d575b50501b916000199060031b1c19161790555b6010606f5491015582806079541691541690803b15610fac576132dc918391604051808095819463240ff7c560e11b83528a60048401614769565b039134905af18015610fde57613329575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6133338291613f11565b61039957806132ed565b01519250388061328f565b8488528a8820919083601f1981168a8e5b888383106133905750505010613377575b505050811b0190556132a1565b015160001960f88460031b161c1916905538808061336a565b8686015188559096019594850194879350018e613359565b8488528a8820601f840160051c8101918c85106133e5575b601f0160051c019084905b8281106133d9575050613274565b600081550184906133cb565b90915081906133c0565b634e487b7160e01b87526041600452602487fd5b6002604491015460405190632c1f8ef160e21b82523460048301526024820152fd5b50600281015434106131d0565b85516001600160a01b039190613449908316614782565b818651161561355357604051630ae6240f60e11b8152908b82600481305afa918215611fff5791899184938392613514575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa918215612afe5788926134f0575b5060408187511692015116036134de576134c28751614cdb565b6134cc57386131ab565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b61350d9192503d808a833e6135058183613f5a565b8101906146d2565b90386134a8565b92509250508b81813d831161354c575b61352e8183613f5a565b81010312612a8e57518281168103612a8e578291899190602461347b565b503d613524565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b50346103995760203660031901126103995760406020916004358152607e83522054604051908152f35b5034610399578060031936011261039957608060725460735460745460755491604051938452602084015260408301526060820152f35b503461039957806003193601126103995761044c33614880565b5034610399576020366003190112610399576020611a92600435615364565b50346103995760603660031901126103995761363f614131565b613647614105565b9061365061411b565b83549260ff8460081c1615938480956137c7575b80156137b0575b156137545760ff198116600117865584613743575b506136bc6040519261369184613f24565b600a8452694356537472617465677960b01b602085015261138960ff885460081c166121378161454c565b60018060a01b03918260018060a01b031994168460655416176065556040516136f581612171602082019460208652604083019061408d565b5190206066551690606a541617606a5561370c5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538613680565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561366b5750600160ff82161461366b565b50600160ff821610613664565b50346103995780600319360112610399576065546040516001600160a01b039091168152602090f35b50346103995780600319360112610399576020606f54604051908152f35b50346103995780600319360112610399576020604051629896808152f35b50346103995780600319360112610399576020606e54604051908152f35b50346103995780600319360112610399576079546040516001600160a01b039091168152602090f35b5034610399576060366003190112610399576001600160401b0390600435828111610fda576138b390369060040161415e565b506024918235908111610fda576138ce90369060040161421e565b6138d661411b565b506138df6145cf565b6138e76145f5565b805115613bc557602081805181010312610fda5760200151918215613bb357828252607b602052604082209260ff607654166003811015613ba05760011461392d578280f35b80845403613b8b576001840191825460695490818111613b6a5750506008850194600160ff87541661395e8161404a565b03613b535761396c83615364565b9184549261397984614e69565b1180613b4a575b613b385760018060a01b039286846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610a81579160409185938992613b18575b506139d090606954614873565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613ad8575081809381925af115613acb575b600460ff1982541617905581600581607954169201541690606f548652607f602052600260408720015491813b1561174b57918691613a67938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015611dad57613aa6575b50613a9c9060008051602061565c83398151915294955416925460405193849384614c77565b0390a18038808280f35b9060008051602061565c83398151915294613ac3613a9c93613f11565b945090613a76565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d156001885114171615613b0b5785603452613a10565b6390b8ec1886526004601cfd5b6139d0919250613b31903d808c833e6135058183613f5a565b91906139c3565b60405163199cf26160e31b8152600490fd5b50821515613980565b5090604051906344980d8f60e01b82526004820152fd5b6064939260405193632c31d85b60e11b855260048501528301526044820152fd5b6040519063c1d17bef60e01b82526004820152fd5b634e487b7160e01b845260216004528284fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b50346103995736600319016101408112610fda5760c01361039957604051613bfe81613edb565b6004356001600160a01b0381168103610fac578152613c1b614105565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112610fda5760405161044c91613c5c82613ef6565b60c435825260e4356020830152610104356040830152610124356060830152613c836153aa565b615079565b5034610399578060031936011261039957604090606f548152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995760203660031901126103995760043563ffffffff60e01b8116809103610fda5760209063f1801e6160e01b8114908115613d25575b506040519015158152f35b6301ffc9a760e01b14905082613d1a565b5034610399576020366003190112610399576004358152607b60205260408120908154906001830154600284015493600381015460018060a01b0360048301541660018060a01b0360058401541660018060a01b036006850154169060078501549260ff60088701541694613dad600a8801613f7d565b604051909b909960608b01906001600160401b0382118c831017613e8d57506040908152600c8901548b52600d89015460208c810191909152600e8a01546001600160a01b03168c830152600f8a01546010909a015482519d8e52908d019a909a528b015260608a0152608089015260a088015260c087015260e086015293948594613e559190613e3d8161404a565b6101008701526101e0806101208801528601906140b2565b835161014086015260208401516101608601526040909301516001600160a01b03166101808501526101a08401526101c08301520390f35b634e487b7160e01b81526041600452602490fd5b90600182811c92168015613ed1575b6020831014613ebb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613eb0565b60c081019081106001600160401b03821117610fb057604052565b608081019081106001600160401b03821117610fb057604052565b6001600160401b038111610fb057604052565b604081019081106001600160401b03821117610fb057604052565b606081019081106001600160401b03821117610fb057604052565b601f909101601f19168101906001600160401b03821190821017610fb057604052565b9060405191613f8b83613f24565b8281548152600180920191604051928391600091805490613fab82613ea1565b808652918381169081156140215750600114613fd8575b50505060209291613fd4910384613f5a565b0152565b909493925060005260209081600020946000915b81831061400957509394509192509082010181613fd46020613fc2565b86548884018501529586019587945091830191613fec565b60ff191660208781019190915292151560051b860183019450859350613fd4929150613fc29050565b6007111561405457565b634e487b7160e01b600052602160045260246000fd5b60005b83811061407d5750506000910152565b818101518382015260200161406d565b906020916140a68151809281855285808601910161406a565b601f01601f1916010190565b90604060206140cf9380518452015191816020820152019061408d565b90565b9260a09491979695929760c0850198600180881b0380921686521660208501526040840152606083015260808201520152565b602435906001600160a01b0382168203610a7557565b604435906001600160a01b0382168203610a7557565b600435906001600160a01b0382168203610a7557565b6001600160401b038111610fb05760051b60200190565b81601f82011215610a755780359161417583614147565b926141836040519485613f5a565b808452602092838086019260051b820101928311610a75578301905b8282106141ad575050505090565b81356001600160a01b0381168103610a7557815290830190830161419f565b6001600160401b038111610fb057601f01601f191660200190565b9291926141f3826141cc565b916142016040519384613f5a565b829481845281830111610a75578281602093846000960137010152565b9080601f83011215610a75578160206140cf933591016141e7565b6040600319820112610a7557600435906001600160401b038211610a75576142639160040161421e565b906024356001600160a01b0381168103610a755790565b9060048210156140545752565b9060038210156140545752565b80548210156142ac5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610a75578235916001600160401b038311610a755760208381860195010111610a7557565b6142f7615463565b336001600160a01b039091160361430a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061559c833981519152600080a3565b1561438c57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156143db57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156144585760008051602061555c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561451557508151156144c7575090565b3b156144d05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156145285750805190602001fd5b60405162461bcd60e51b8152602060048201529081906111f690602483019061408d565b1561455357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116145b957565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b031633036145e357565b60405163075fd2b160e01b8152600490fd5b606854156145ff57565b604051630f68fe6360e21b8152600490fd5b60001981146145b95760010190565b51906001600160a01b0382168203610a7557565b606080918051845260208101516020850152604081015160408501520151910152565b9190604083820312610a755760405161466f81613f24565b83518152602084015190938491906001600160401b038211610a7557019082601f83011215610a75578151916146a4836141cc565b936146b26040519586613f5a565b83855260208483010111610a7557602092613fd49184808701910161406a565b90602082820312610a755781516001600160401b0392838211610a75570160c081830312610a75576040519261470784613edb565b8151845260208201516001600160a01b0381168103610a7557602085015261473160408301614620565b60408501526060820151908111610a755760a092614750918301614657565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561479257565b6040516303988b8160e61b8152600490fd5b90816020910312610a7557518015158103610a755790565b6001600160a01b0391821681529116602082015260400190565b607a546001600160a01b031680156148465761480c9160209160405180809581946302154c3d60e51b83523090600484016147bc565b03915afa90811561483a57600091614822575090565b6140cf915060203d8111610b0257610af48183613f5a565b6040513d6000823e3d90fd5b5050600190565b6078546001600160a01b0316330361486157565b6040516357848b5160e11b8152600490fd5b919082039182116145b957565b60785460408051637817ee4f60e01b81526020949391926000926001600160a01b039290918316908781806148b93087600484016147bc565b0381855afa8015614a93578590614a64575b6148d89150607154614873565b607155803b15610ac25783855180926322bcf99960e01b82528183816149023089600484016147bc565b03925af18015614a5a57614a47575b5016808252607d8552828220948351808783829954938481520190865283862092865b85828210614a315750505061494b92500387613f5a565b825b8651811015614a0157806149646149849289614c98565b51808652607b845286862061497882614cac565b614989575b5050614611565b61494d565b60008051602061557c8339815191529160a0918760005260098101875260038a6000208a815491556149db60028401916149c4818454614873565b835560706149d3828254614873565b905584614ff4565b54910154908a519289845288840152898b84015260608301526080820152a1388061497d565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c955093019201614934565b614a5390939193613f11565b9138614911565b85513d86823e3d90fd5b508781813d8311614a8c575b614a7a8183613f5a565b81010312610ac6576148d890516148cb565b503d614a70565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610a7557516001600160a01b0381168103610a755790565b90816020910312610a75575160ff81168103610a755790565b604d81116145b957600a0a90565b818102929181159184041417156145b957565b8115614b1e570490565b634e487b7160e01b600052601260045260246000fd5b8015614c7157614bff816000908360801c80614c65575b508060401c80614c58575b508060201c80614c4b575b508060101c80614c3e575b508060081c80614c31575b508060041c80614c24575b508060021c80614c17575b50600191828092811c614c10575b1c1b614ba78185614b14565b01811c614bb48185614b14565b01811c614bc18185614b14565b01811c614bce8185614b14565b01811c614bdb8185614b14565b01811c614be88185614b14565b01811c614bf58185614b14565b01901c8092614b14565b80821015614c0b575090565b905090565b0181614b9b565b6002915091019038614b8d565b6004915091019038614b82565b6008915091019038614b77565b6010915091019038614b6c565b6020915091019038614b61565b6040915091019038614b56565b91505060809038614b4b565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b80518210156142ac5760209160051b010190565b600052607b6020526040600020805415159081614cc7575090565b600501546001600160a01b03161515919050565b614cea60725460695490614b01565b62989680918281029281840414901517156145b957111590565b919091600083820193841291129080158216911516176145b957565b614d2a8282614d04565b9160008312614d3857505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607454906298968093848360801b0490600160801b9182811015614e25578583965b614de4575050614d8f9085614b01565b93858302928084048714901517156145b95781039081116145b957614db391614b01565b9083039283116145b957614dd092614dca91614b14565b906145ac565b6001607f1b81019081106145b95760801c90565b600191818316614e045780614df891614f3d565b911c90815b9091614d7f565b809250614e119197614f3d565b9560001981019081116145b9579081614dfd565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614f2b57614e7b82614cdb565b6134cc57607254604081901b92600160401b92918015908504841417156145b9578060401b9281840414901517156145b957614ebd614ec991614ee493614b14565b62989680809404614873565b614edb8360735460801b049180614b01565b60401c90614b14565b818102908082048314901517156145b95760745482039182116145b957614f1791614f0e91614b14565b60715490614b01565b60401c607554808211600014614c0b575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614f9e57811015614f5a57614dd091614b01565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614fff9082615026565b909182158061501e575b6150195760039160078201550155565b505050565b508115615009565b43916007820154918383116150635783831461505757600361504b6150549486614873565b91015490614d5b565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b60208181018051919290916001600160a01b039060009082168015159081615357575b816152b5575b506150ea575b50505050816080916000805160206154dc8339815191529351607255810151607355604081015160745560608101516075556150e76040518092614634565ba1565b606f548152607f855260409081812083600182015416908480885116809314918215926152a3575b50506151da575b50936005608096946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b99615151606f54614611565b80606f558152607f8a522091808451169560018060a01b0319918783865416178555600185019151168092825416179055818401519182600285015560608501519384600382015560a08d8701519687600484015501519687910155606f549681519788528a88015286015260608501528884015260a083015260c0820152a1918193386150a8565b8385511690813b15610fac578291602483928651948593849263446adb9960e11b845260048401525af1801561529957946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b999560059560809c9a61528a575b507fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f60608b86885116878b51169086519230845283015285820152a195999b505094509450949650615119565b61529390613f11565b3861523d565b83513d84823e3d90fd5b90915054168486511614158438615112565b606f548352607f8752604083206001810154851690911480159250615345575b8115615332575b811561531f575b811561530c575b81156152f8575b50386150a2565b9050600560a08501519101541415386152f1565b60808501516004820154141591506152ea565b60608501516003820154141591506152e3565b60408501516002820154141591506152dc565b905082845116838254161415906152d5565b845184161515915061509c565b80600052607b6020526040600020908082540361539257508061538d6002600393015482614ff4565b015490565b6024906040519063c1d17bef60e01b82526004820152fd5b607854604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa90811561483a576000916153fc575b501633036153ea57565b604051637430763f60e11b8152600490fd5b615414915060203d8111611ff857611fea8183613f5a565b386153e0565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b6033546001600160a01b0316803b6154785790565b604051638da5cb5b60e01b8152602081600481855afa600091816154a0575b50614c0b575090565b90916020823d82116154d3575b816154ba60209383613f5a565b8101031261039957506154cc90614620565b9038615497565b3d91506154ad56feec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3be677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d5345524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a264697066735822122088d4cf443e3b0376e77af0154d172c4379f1c9707d180c119bcb0a806a1fc7ea64736f6c63430008130033","sourceMap":"3983:51118:95:-:0;;;;;;;;;-1:-1:-1;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13992:50;3983:51118;13992:50;;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8632:7;3983:51118;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;27364:28;3983:51118;;;2245:64:94;;:::i;:::-;5597:21;3983:51118:95;5597:21:94;3983:51118:95;5597:21:94;:::i;:::-;;3983:51118:95;;;;;;27364:28;3983:51118;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;3983:51118:95;;2423:22:42;3983:51118:95;;2517:8:42;;;:::i;:::-;3983:51118:95;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;:::i;:::-;2245:64:94;;;:::i;:::-;3110:78;;:::i;:::-;-1:-1:-1;;;;;3983:51118:95;;;;;12166:21;;12162:77;;12260:17;3983:51118;;12252:40;;;12248:100;;3983:51118;;-1:-1:-1;;;12362:35:95;;3983:51118;12362:35;;3983:51118;;;12362:35;;3983:51118;;689:66:57;12362:35:95;3983:51118;;;12362:35;;;;;;;;;;;;3983:51118;12361:36;;12357:93;;22584:26;;;:::i;:::-;22583:27;22579:90;;3983:51118;;-1:-1:-1;;;22755:69:95;;22818:4;3983:51118;;22755:69;22818:4;22755:69;3983:51118;22755:69;;;:::i;:::-;;;;;;;;;;;;;;;3983:51118;22838:24;;22834:78;;3983:51118;;22966:53;;;;;;3983:51118;;;;;;;;22966:53;;;3983:51118;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;33180:26;;;;;33221:13;;33216:630;33265:3;3983:51118;;33236:27;;;;;33343:19;;;;:::i;:::-;;3983:51118;33343:35;33339:187;;33560:19;;;;:::i;:::-;;3983:51118;33609:26;;;:::i;:::-;33608:27;33604:167;;33803:19;33784:51;33265:3;33803:19;;;;;;:::i;:::-;;:32;3983:51118;33784:51;;:::i;:::-;33265:3;;:::i;:::-;33221:13;;;33604:167;3983:51118;;;;23946:29;;;;33662;;3983:51118;33662:29;;3983:51118;33662:29;33339:187;33503:8;33265:3;33503:8;33265:3;:::i;33236:27::-;;;;;33974:60;34145:66;33236:27;;;;3983:51118;;;31334:18;3983:51118;;;;;;33974:60;:::i;:::-;3983:51118;;;689:66:57;;;;;;;;34145::95;;22818:4;34145:66;3983:51118;34145:66;;;:::i;:::-;;;;;;;;;;;;;;33216:630;34377:42;;;;34373:147;;3983:51118;;;;;;;31334:18;3983:51118;;;;;;;34717:29;;34761:13;;34756:3319;34805:3;3983:51118;;34776:27;;;;;34845:19;;;;:::i;:::-;;3983:51118;;;;34948:24;34944:920;34948:19;;;3983:51118;;;;;;;:::i;:::-;;;;;;;;;;;34992:31;3983:51118;;;;;;;34944:920;;;;35892:19;;;;;:::i;:::-;;:32;3983:51118;;;;;35982:9;3983:51118;;;;;36136:26;;;;3983:51118;;;;;;;36359:40;3983:51118;;;;36359:40;;;:::i;:::-;3983:51118;;;;;;;;;;;36818:24;;36861:13;;3983:51118;;;36856:246;36918:3;3983:51118;;;36880:20;3983:51118;;;;;;;36876:40;;;;;36945:32;;;;;:::i;:::-;3983:51118;;;;;;36945:55;36941:147;;36918:3;3983:51118;36918:3;;:::i;:::-;36861:13;;;;36941:147;37024:18;;;;;;;;;;;3983:51118;37024:18;;;36856:246;37119:12;37115:106;;36856:246;-1:-1:-1;34805:3:95;;37376:36;;;;;;;;;37447:35;;;;:::i;:::-;37432:50;;3983:51118;;;37432:50;:::i;:::-;3983:51118;;37525:35;;;;:::i;:::-;37500:60;:21;;;3983:51118;;;37500:60;:::i;:::-;3983:51118;;37372:370;37759:18;;;3983:51118;;;37759:23;37755:310;37759:18;;;37823:12;;;;;;3983:51118;;34805:3;:::i;:::-;34761:13;;;;37755:310;3983:51118;37911:20;;;-1:-1:-1;;;;;;;;;;;37911:20:95;;;:::i;:::-;3983:51118;38003:21;;;3983:51118;38026:23;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;37955:95;34805:3;:::i;37372:370::-;37614:35;;;;:::i;:::-;37599:50;;3983:51118;;;37599:50;:::i;:::-;3983:51118;;37692:35;;;;:::i;:::-;37667:60;:21;;;3983:51118;;;37667:60;:::i;:::-;3983:51118;;37372:370;;37115:106;3983:51118;;;36880:20;3983:51118;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;34805:3;3983:51118;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;37115:106;;;;;;;3983:51118;-1:-1:-1;;;3983:51118:95;;;;;;;;36876:40;;;;;;;;;;;;;;;;;3983:51118;;;;;;;;;;;;34944:920;35118:18;;;;;;;;;;35159:13;;35199:3;3983:51118;;35174:23;;;;;35255:15;;;;;:::i;:::-;3983:51118;35255:29;35251:203;;35199:3;;;:::i;:::-;35159:13;;35251:203;35312:12;3983:51118;35312:12;;3983:51118;;35357:40;;;;;;3983:51118;35357:40;;3983:51118;;;;35357:40;35174:23;;;;;;;;;;;;35493:6;35489:361;;35154:318;34944:920;;;;;35489:361;3983:51118;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;1756:17:94;;3983:51118:95;;:::i;:::-;;;;;;;35612:13;;3983:51118;;;35607:124;3983:51118;;35752:38;3983:51118;;;35752:38;;:::i;:::-;3983:51118;35489:361;;;35652:3;3983:51118;;;;;35627:23;;;;;35693:15;;35652:3;35693:15;;;:::i;:::-;3983:51118;35683:25;;;;:::i;:::-;3983:51118;35652:3;:::i;:::-;35612:13;;;;;;35627:23;;;;;;3983:51118;-1:-1:-1;;;3983:51118:95;;;;;;;;34776:27;;3983:51118;;34373:147;3983:51118;;;;;;34442:67;;;;;;3983:51118;34442:67;;3983:51118;;;;34442:67;34145:66;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;34145:66;;;3983:51118;;;;34145:66;;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;3983:51118:95;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22834:78;3983:51118;;-1:-1:-1;;;22885:16:95;;3983:51118;;22885:16;22755:69;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;22579:90:95;3983:51118;;-1:-1:-1;;;22633:25:95;;3983:51118;;22633:25;12357:93;3983:51118;;-1:-1:-1;;;12420:19:95;;3983:51118;;12420:19;12362:35;;;;;;;;;;;;;;:::i;:::-;;;;12248:100;3983:51118;;-1:-1:-1;;;12315:22:95;;3983:51118;;12315:22;12162:77;3983:51118;;-1:-1:-1;;;12210:18:95;;3983:51118;;12210:18;3983:51118;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;:::i;:::-;2245:64:94;;:::i;:::-;;;:::i;:::-;5083:6;3983:51118:95;5079:45:94;;3983:51118:95;;5211:12:94;5207:34;;3983:51118:95;;5083:6:94;3983:51118:95;10671:23;3983:51118;2273:565:43;10696:12:95;3983:51118;10696:12;;;:::i;:::-;;3983:51118;;;;4867:36:6;;4884:10;;3983:51118:95;;;;;;;;;4867:36:6;;;;;:::i;:::-;3983:51118:95;4857:47:6;;2273:565:43;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2273:565:43;;3983:51118:95;2273:565:43;-1:-1:-1;;;;;3983:51118:95;2273:565:43;;;;3983:51118:95;2855:22:43;;3983:51118:95;;10618:92;3983:51118;;-1:-1:-1;;;;;;3983:51118:95;;;;;;;;;;;;;10720:28;;;;;3983:51118;;;;;;689:66:57;;;;;;;10720:28:95;;;;;;;;;;3983:51118;;;;;;10803:52;;3983:51118;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;10803:52;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;-1:-1:-1;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;3983:51118:95;10870:34;10866:94;;3983:51118;;;;2273:565:43;3983:51118:95;;-1:-1:-1;;;;;;3983:51118:95;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;11044:30;3983:51118;;;;;;;;;;;;11277:26;3983:51118;;;;;;;;;;;;;;;;;11044:30;3983:51118;;;;11136:14;3983:51118;11122:28;3983:51118;;;;;;;;;;;;;;;;;11160:42;3983:51118;;;11160:42;3983:51118;11249:11;3983:51118;;;11228:19;11249:11;;;;:::i;:::-;3983:51118;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11277:26;3983:51118;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;10720:28;;;;:::i;:::-;3983:51118;;10720:28;;;;3983:51118;;;;10720:28;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;3983:51118:95;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;5207:34:94;3983:51118:95;;-1:-1:-1;;;5232:9:94;;3983:51118:95;;5232:9:94;5079:45;3983:51118:95;;-1:-1:-1;;;5103:21:94;;3983:51118:95;;5103:21:94;3983:51118:95;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;32424:40;3983:51118;;;:::i;:::-;;;;;;32424:9;3983:51118;;;32424:40;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;54410:9;3983:51118;;;;54410:36;3983:51118;;;54410:36;3983:51118;;;;;:::i;:::-;54410:76;54406:143;;3983:51118;;;54410:9;3983:51118;;;;;54563:31;;3983:51118;-1:-1:-1;;;;;3983:51118:95;;;54598:10;54563:45;;54559:141;;3983:51118;;;;54710:15;3983:51118;;;;;;54410:9;3983:51118;;54845:45;3983:51118;;;54782:31;54563;54782;;3983:51118;;54845:45;;3983:51118;;;54827:17;3983:51118;;54827:90;3983:51118;;;54827:90;3983:51118;54710:217;;;;;;3983:51118;;;;;;689:66:57;;;;;;;;;54710:217:95;;;3983:51118;54710:217;;;:::i;:::-;;;;;;;;;;;3983:51118;-1:-1:-1;3983:51118:95;;;54410:9;3983:51118;;;;;;54410:36;54938;3983:51118;;-1:-1:-1;;3983:51118:95;;;;;;;;;55031:29;;;3983:51118;;54710:217;;;;:::i;:::-;3983:51118;;54710:217;;;;54559:141;3983:51118;;-1:-1:-1;;;54631:58:95;;3983:51118;;;54631:58;;54598:10;;3983:51118;54631:58;;;:::i;:::-;;;;54406:143;3983:51118;;-1:-1:-1;;;54509:29:95;;3983:51118;54509:29;;3983:51118;;;;;54509:29;3983:51118;;;;;;;;;;;;;;;11182:10:94;689:66:57;3983:51118:95;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;31122:35;3983:51118;;;;;;;31122:9;3983:51118;;;31122:35;3983:51118;;;;;;;;;;;;;;;;;;;;;43423:20;3983:51118;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;;29846:9;3983:51118;;;;;;29891:24;;3983:51118;29891:80;:29;;:80;:29;;;:80;;3983:51118;;;;;30002:18;;;;;3983:51118;;30034:20;;3983:51118;30034:20;;3983:51118;;30068:23;;;;3983:51118;;30143:21;;;;3983:51118;;30178:23;;;3983:51118;;30215:18;;;;3983:51118;30247:23;3983:51118;30247:23;;3983:51118;30334:10;;3983:51118;;30307:26;;;3983:51118;;30359:32;3983:51118;;;;30359:32;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;29891:80;29927:44;;;;:::i;:::-;29891:80;;;3983:51118;;;;;;;-1:-1:-1;;3983:51118:95;;;;499:12:101;3983:51118:95;;:::i;:::-;5366:69:44;3983:51118:95;;;;;;5366:69:44;:::i;:::-;499:12:101;:::i;3983:51118:95:-;;;;;;;;;;;;;;;21933:11;3983:51118;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;:::i;:::-;;;;31334:18;3983:51118;;;;;;;;;;;;;;;;;;;;;;;9475:31;3983:51118;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;;;;;;;10911:19:94;3983:51118:95;;;10876:20:94;3983:51118:95;;;;;;10876:20:94;3983:51118:95;;;;;;10911:19:94;3983:51118:95;;;-1:-1:-1;3983:51118:95;;-1:-1:-1;;3983:51118:95;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;49163:9;3983:51118;;;;;49270:32;;;;3983:51118;;;49252:17;3983:51118;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49318:50;49314:112;;3983:51118;;;49603:33;49599:100;;49712:23;;;3983:51118;;;;;;;;;:::i;:::-;49712:63;49708:130;;3983:51118;;49851:9;;:55;49847:171;;50137:30;;;;3983:51118;50137:35;;;:126;;;3983:51118;50120:325;;3983:51118;50480:55;3983:51118;;49851:9;50480:55;:::i;:::-;3983:51118;;50546:15;3983:51118;;;;50546:109;;;;;;;3983:51118;;;;;689:66:57;;;;;;;;;50546:109:95;;50644:10;50546:109;3983:51118;50546:109;;;:::i;:::-;;;;;;;;;;;3983:51118;;;;;;;;;;;;;;;689:66:57;;;;;;;;;50678:92:95;;3983:51118;;50678:92;;3983:51118;;;;;;;;;;;:::i;:::-;50678:92;;;;;;;;;;;;;3983:51118;-1:-1:-1;3983:51118:95;;-1:-1:-1;;3983:51118:95;;;;;50855:20;;;3983:51118;;;50947:15;50907:37;;;3983:51118;;;50972:31;;;;3983:51118;;-1:-1:-1;;;;;;3983:51118:95;50644:10;3983:51118;;;;;;51026:21;3983:51118;;;;;;;;51082:14;3983:51118;;;;;;;;;;;;;51112:210;3983:51118;;;;;;;;;;;;;;;;;;;;;;51082:14;3983:51118;;;;;;;;;;;;;;;;;;;;;;50644:10;3983:51118;;;;;;;;;;;;;;:::i;:::-;;;;;;51112:210;;;3983:51118;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;50678:92;;;;3983:51118;50678:92;;3983:51118;50678:92;;;;;;3983:51118;50678:92;;;:::i;:::-;;;3983:51118;;;;;50678:92;;;;;;;-1:-1:-1;50678:92:95;;50546:109;;;;;:::i;:::-;3983:51118;;50546:109;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;50546:109:95;3983:51118;;;50120:325;3983:51118;;8632:7;3983:51118;;;;;;;50405:15;50349:71;3983:51118;50405:15;;50349:71;;:::i;:::-;3983:51118;;50295:139;;;;;;3983:51118;50295:139;;3983:51118;;;;;50295:139;50137:126;3983:51118;8632:7;3983:51118;;;;;;;50248:15;-1:-1:-1;50137:126:95;;3983:51118;-1:-1:-1;;;3983:51118:95;;;;;;;;49847:171;3983:51118;;;;15316:140;;;;49929:78;;49851:9;3983:51118;49929:78;;3983:51118;;;;;49929:78;49708:130;3983:51118;;-1:-1:-1;;;49798:29:95;;3983:51118;49798:29;;3983:51118;;;;;49798:29;49599:100;3983:51118;;-1:-1:-1;;;49659:29:95;;3983:51118;49659:29;;3983:51118;;;;;49659:29;49314:112;3983:51118;;-1:-1:-1;;;49391:24:95;;3983:51118;;49391:24;3983:51118;;;;;;;-1:-1:-1;;3983:51118:95;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;26951:16:95;;3983:51118;;26951:16;3983:51118;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;13307:34:95;3983:51118;;-1:-1:-1;;;;;;3983:51118:95;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;:::i;:::-;48473:189;;:::i;:::-;48592:12;;;:::i;:::-;48615:40;3983:51118;;-1:-1:-1;;;;;;3983:51118:95;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;30596:17;3983:51118;;;;;;;;;;:::i;:::-;;;;;;;;;;30557:9;3983:51118;;;30596:17;3983:51118;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;9293:51;3983:51118;;;;;;;;;;;;;;;;;;;;8856:26;3983:51118;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;3983:51118:95;;;;;;;;;;;;;;;;;16448:14;3983:51118;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;8138:8;3983:51118;;;;;;;;;;;;;;;;48099:14;3983:51118;;;;;;;;;48079:35;;;;:::i;:::-;3983:51118;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;:::i;:::-;-1:-1:-1;;;;;3983:51118:95;;;9780:57;3983:51118;;;;;;;;;;;9780:57;;;;;3983:51118;9780:57;;;;:::i;:::-;3983:51118;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;;;25444:9;3983:51118;;;25610:66;25654:21;;;3983:51118;25610:66;;:::i;:::-;25550:126;;;25691:19;;:39;;;;3983:51118;25687:110;;;3983:51118;;25826:44;25845:24;;3983:51118;25826:44;:::i;:::-;-1:-1:-1;26003:27:95;3983:51118;;;;;;25687:110;3983:51118;25763:23;;3983:51118;;-1:-1:-1;25687:110:95;;25691:39;25714:16;;;25691:39;;;3983:51118;;;;;;;;;;;;;;8976:26;3983:51118;;;;;;;;;;;;;;;;;;;;16570:25;16545:10;16570:25;:::i;:::-;16569:26;16565:89;;16663:17;3983:51118;-1:-1:-1;;;;;3983:51118:95;;;;;16663:65;;;;;3983:51118;;;689:66:57;;;;;16663:65:95;;16722:4;;;16663:65;16722:4;16545:10;3983:51118;16663:65;;;:::i;:::-;;;;;;;;;;;3983:51118;;;16663:17;3983:51118;;16762:65;3983:51118;;689:66:57;;;;;16762:65:95;;16722:4;;16762:65;16722:4;16545:10;3983:51118;16762:65;;;:::i;:::-;;;;;;;;;;;;;3983:51118;16738:89;3983:51118;;16738:89;3983:51118;16738:89;:::i;:::-;;3983:51118;;;16762:65;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;16738:89;3983:51118;;16762:65;;;;;-1:-1:-1;16762:65:95;;16663;;;;:::i;:::-;3983:51118;;16663:65;;;;3983:51118;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;:::i;:::-;;;17532:7;;:::i;:::-;17634:26;;;:::i;:::-;17633:27;17629:90;;17728:28;3983:51118;17770:11;3983:51118;;;;;;;;;;17785:36;17770:51;;17785:36;;17837:57;;;17766:441;;18235:17;3983:51118;;;-1:-1:-1;;;18235:69:95;;3983:51118;;;;;-1:-1:-1;;;;;3983:51118:95;;;18235:69;18298:4;18235:69;3983:51118;18235:69;;;:::i;:::-;;;;;;;;;;;18410:57;18235:69;;;3983:51118;18235:69;;;;17766:441;18314:82;;;17766:441;18410:57;3983:51118;;;18410:57;;;;;:::i;:::-;;;;3983:51118;;;;;;18314:82;18345:40;3983:51118;18345:40;3983:51118;18345:40;:::i;:::-;;3983:51118;18314:82;;18235:69;;;;;;;;;;;;;;:::i;:::-;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;17766:441:95;3983:51118;17915:48;;3983:51118;;-1:-1:-1;;19597:17:95;3983:51118;;;-1:-1:-1;;;19597:66:95;;19460:41;;3983:51118;;;;-1:-1:-1;;;;;3983:51118:95;;;19597:66;19657:4;19597:66;3983:51118;19597:66;;;:::i;:::-;;;;;;;;;;;;;;17911:296;19729:30;;;;;:::i;:::-;19762:11;3983:51118;19729:54;;;19725:139;;17911:296;17979:63;;17911:296;17766:441;;19725:139;19818:35;;;;:::i;:::-;19725:139;;;;19597:66;;;3983:51118;19597:66;;;;;;;;;3983:51118;19597:66;;;:::i;:::-;;;3983:51118;;;;;19597:66;;;;;;-1:-1:-1;19597:66:95;;17911:296;18063:51;;;-1:-1:-1;;18063:51:95;17766:441;18059:148;20122:17;3983:51118;;;-1:-1:-1;;;20122:48:95;;-1:-1:-1;;;;;3983:51118:95;;;;20122:48;;3983:51118;;;-1:-1:-1;3983:51118:95;;;;;;;;;;;20122:48;;;;;;;;;;;;18059:148;20122:65;;;;:::i;:::-;3983:51118;;-1:-1:-1;;;20246:31:95;;3983:51118;20216:2;20246:31;3983:51118;;;20246:31;;;;;;;;20473:37;20246:31;;20496:13;20246:31;20483:26;20246:31;;;;;18059:148;3983:51118;;;;689:66:57;;;;;;;20232:58:95;;3983:51118;20232:58;;;;;;;18059:148;20228:211;;;18059:148;20496:13;;:::i;:::-;20483:26;;:::i;:::-;20473:37;:::i;:::-;3983:51118;;;689:66:57;;;;;20544::95;;20604:4;;20544:66;20604:4;20544:66;3983:51118;20544:66;;;:::i;:::-;;;;;;;;;;;;;;18059:148;20648:30;;;;;:::i;:::-;18059:148;17766:441;;20544:66;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;20648:30;3983:51118;;20544:66;;;;;;;;;20228:211;3983:51118;;;;20228:211;;;20232:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;20246:31;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;20122:48:95;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;20122:65;3983:51118;;20122:48;;;;;;;3983:51118;;;;;;;;;;;;;1324:62:42;;:::i;:::-;2779:6;3983:51118:95;;-1:-1:-1;;;;;;3983:51118:95;;;;;;;-1:-1:-1;;;;;3983:51118:95;-1:-1:-1;;;;;;;;;;;3983:51118:95;;2827:40:42;3983:51118:95;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;17056:7;3983:51118;;:::i;:::-;16935:136;;:::i;:::-;17056:7;:::i;3983:51118::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;499:12:101;3983:51118:95;;:::i;:::-;5366:69:44;3983:51118:95;;;;;;5366:69:44;;;:::i;:::-;;:::i;499:12:101:-;3983:51118:95;;;;;;;;;;;;1704:19:94;3983:51118:95;;;1704:19:94;3983:51118:95;;;1756:17:94;;3983:51118:95;;1756:17:94;;3983:51118:95;;;;;;;;;:::i;:::-;1756:17:94;;;;;;;;;:::i;:::-;3983:51118:95;1746:28:94;;1733:41;3983:51118:95;;;;;;;;;;;;;;;;9377:46;3983:51118;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2089:6:61;-1:-1:-1;;;;;3983:51118:95;2080:4:61;2072:23;3983:51118:95;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;-1:-1:-1;3983:51118:95;;-1:-1:-1;;3983:51118:95;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;3983:51118:95;;;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:101;;:::i;:::-;1219:10;;3983:51118:95;;1208:21:101;1204:94;;-1:-1:-1;;;;;;;;;;;689:66:57;3983:51118:95;;;;;2993:17:57;;;;;;:::i;2906:504::-;3983:51118:95;;;;689:66:57;;;;3046:52;;;;;;3983:51118:95;3046:52:57;;;;3983:51118:95;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;3983:51118:95;;-1:-1:-1;;;3262:56:57;;3983:51118:95;3262:56:57;;689:66;;;;3983:51118:95;689:66:57;;3983:51118:95;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;3983:51118:95;1889:27:57;;3983:51118:95;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;3983:51118:95;;2204:112:57;7307:69:73;3983:51118:95;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;-1:-1:-1;;;3983:51118:95;;;;7265:25:73;;;;;;;;;3983:51118:95;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:73;:::i;:::-;;2204:112:57;;;;;3983:51118:95;;;-1:-1:-1;7307:69:73;:::i;2208:28:57:-;;3983:51118:95;2208:28:57;;689:66;3983:51118:95;;-1:-1:-1;;;689:66:57;;3983:51118:95;689:66:57;;;;;;3983:51118:95;689:66:57;;3983:51118:95;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;;3046:52;;;;;;;;;1204:94:101;1252:35;1279:7;;:::i;:::-;3983:51118:95;;-1:-1:-1;;;1252:35:101;;3983:51118:95;;;1219:10:101;3983:51118:95;1252:35:101;;;:::i;3983:51118:95:-;;;;;;;;;;;;;;4032:10:94;3983:51118:95;;;;;;;;;;;;;;;;;;;;;3833:10:94;3983:51118:95;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;;9937:76;3983:51118;;;;;;;;;;;;;9937:76;3983:51118;9937:76;;3983:51118;;9937:76;;;;3983:51118;9937:76;3983:51118;9937:76;;3983:51118;9937:76;3983:51118;9937:76;;3983:51118;9937:76;;3983:51118;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8449:2;3983:51118;;;;;;;;;;;;;;;;;3647:6:94;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;3983:51118:95;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:101;;:::i;:::-;1219:10;;3983:51118:95;;1208:21:101;1204:94;;3983:51118:95;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;689:66:57;3983:51118:95;2906:504:57;3983:51118:95;;;2993:17:57;;;;;;;;:::i;2906:504::-;3983:51118:95;;;;;;;;689:66:57;;;3046:52;;;;3983:51118:95;3046:52:57;;;;3983:51118:95;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;3983:51118:95;;-1:-1:-1;;;3262:56:57;;3983:51118:95;3262:56:57;;689:66;;;;;;;3983:51118:95;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;3983:51118:95;1889:27:57;;3983:51118:95;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;3983:51118:95;;2204:112:57;3983:51118:95;;7307:69:73;3983:51118:95;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;-1:-1:-1;;;3983:51118:95;;;;7265:25:73;;;;;;3983:51118:95;;;;;;;;:::i;7307:69:73:-;;2204:112:57;;;;;;2208:28;;3983:51118:95;2208:28:57;;689:66;3983:51118:95;;-1:-1:-1;;;689:66:57;;3983:51118:95;689:66:57;;;;;;;;;3983:51118:95;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;;3046:52;;;;;;;;;3983:51118:95;;;;;;;;;;;;;;;9136:47;3983:51118;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;8825:25;3983:51118;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;;;;51443:21;3983:51118;;;;;;;;;;51529:9;3983:51118;;;;;51636:32;;;;3983:51118;;;51618:17;3983:51118;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51684:15;;51680:82;;51775:23;;;3983:51118;;;;;;;;;;;:::i;:::-;51775:65;51771:134;;51950:37;;;3983:51118;;;51950:77;;;:::i;:::-;51932:15;:95;52042:10;;;;;:64;;3983:51118;52038:118;;52170:25;;;3983:51118;52166:2003;;;3983:51118;;;52215:35;52211:102;;3983:51118;;;52330:35;;;;52326:136;;52166:2003;52479:35;;52475:304;;52166:2003;3983:51118;;;52792:15;3983:51118;;52856:31;;;;;3983:51118;;;;52792:154;;;;;;3983:51118;52792:154;3983:51118;;;;;;;689:66:57;;;;;;;;;;52792:154:95;;3983:51118;52792:154;;;:::i;:::-;;;;;;;;;;;;;;52166:2003;;;;54179:14;3983:51118;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;54266:56;3983:51118;;;;;;;;;;;;;;;;;54179:14;3983:51118;54203:30;51932:15;54203:30;;3983:51118;;;;;;;;;;54266:56;3983:51118;;;-1:-1:-1;;;3983:51118:95;;;;;;;;52792:154;;;;:::i;:::-;3983:51118;;52792:154;;;;;3983:51118;;;52475:304;52560:38;3983:51118;;;;;;;;;52616:15;3983:51118;;52684:18;3983:51118;52684:18;;3983:51118;;;;52616:148;;;;;;3983:51118;;;52616:148;3983:51118;;;;689:66:57;;;;;;;;;52616:148:95;;;3983:51118;52616:148;;;:::i;:::-;;;;;;;;;;;;;52475:304;52616:148;;;;:::i;:::-;3983:51118;;52616:148;;52475:304;;52616:148;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;52616:148:95;3983:51118;;;52326:136;3983:51118;;-1:-1:-1;;3983:51118:95;;;;52326:136;;;52211:102;3983:51118;;-1:-1:-1;;;52277:21:95;;3983:51118;;52277:21;52166:2003;3983:51118;;;;;;;52967:12;;;52963:1206;3983:51118;;;;;;;;;;;;;;53071:15;3983:51118;;;53154:31;;;;3983:51118;;;;;53211:17;3983:51118;;;;689:66:57;;;;;;;53211:31:95;;;;;;;;;;;;;52963:1206;3983:51118;;53071:247;;;;;3983:51118;;-1:-1:-1;;;53071:247:95;;3983:51118;;;;;;;;;;;;53071:247;;3983:51118;;;;53071:247;;;:::i;:::-;;;;;;;;;;;;;;52963:1206;;;52166:2003;;53071:247;;;;:::i;:::-;3983:51118;;53071:247;;;;53211:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;52963:1206:95;53339:12;;;;3983:51118;53339:12;53335:834;;52963:1206;;;;;;52166:2003;;53335:834;53393:38;3983:51118;;;;;;;;53445:15;3983:51118;;53509:31;;;;3983:51118;;;;;;;53445:154;;;;;;3983:51118;;;53445:154;3983:51118;;;;689:66:57;;;;;;;;;53445:154:95;;;3983:51118;53445:154;;;:::i;:::-;;;;;;;;;;;;;;53335:834;3983:51118;;;53445:15;3983:51118;;53696:18;3983:51118;;53696:18;;3983:51118;;;;;;;;53740:17;3983:51118;;;;689:66:57;;;;;;;53740:31:95;;;;;;;;;;;;;53335:834;3983:51118;53808:30;3983:51118;;;51618:17;3983:51118;;;;;;53790:75;3983:51118;;;53613:270;;;;;;3983:51118;;;53613:270;3983:51118;;;;;689:66:57;;;;;;;;;;53613:270:95;;;;3983:51118;53613:270;;3983:51118;53613:270;;;:::i;:::-;;;;;;;;;;;;;;53335:834;3983:51118;;;;;53445:15;3983:51118;;;;;;;;;53808:30;3983:51118;;;51618:17;3983:51118;;;;;;54065:75;3983:51118;;;53897:261;;;;;3983:51118;;;;;53897:261;3983:51118;;;;53897:261;;;;;;;;;3983:51118;53897:261;;;:::i;:::-;;;;;;;;;;;;;;53335:834;;;;;;53897:261;;;;:::i;:::-;3983:51118;;53897:261;;;;;3983:51118;;;53613:270;;;;:::i;:::-;3983:51118;;53613:270;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;53613:270:95;3983:51118;;;53740:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;53445:154:95;;;;:::i;:::-;3983:51118;;53445:154;;;;3983:51118;;;;52170:25;3983:51118;;;52183:12;52170:25;;52038:118;3983:51118;;-1:-1:-1;;;52129:16:95;;3983:51118;;52129:16;52042:64;3983:51118;;;;;52056:10;:50;;52042:64;;51771:134;3983:51118;;-1:-1:-1;;;51863:31:95;;3983:51118;51863:31;;3983:51118;;;;;51863:31;51680:82;3983:51118;;-1:-1:-1;;;51722:29:95;;3983:51118;51722:29;;3983:51118;;;;;51722:29;3983:51118;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;:::i;:::-;;;18605:7;;;:::i;:::-;3983:51118;18745:11;3983:51118;;;;;;;;;;18760:36;18745:51;;:103;;;;;3983:51118;-1:-1:-1;18741:298:95;;;18864:65;-1:-1:-1;;;;;;;;;;;18864:65:95;3983:51118;18864:65;18741:298;;19048:40;3983:51118;19048:40;3983:51118;19048:40;:::i;:::-;;3983:51118;19103:59;3983:51118;;;19103:59;;;;;:::i;18741:298::-;21084:17;3983:51118;;;-1:-1:-1;;;21084:31:95;;3983:51118;;;-1:-1:-1;;;;;3983:51118:95;;;;21054:2;;3983:51118;;;;;;21084:31;;;;;;;;;;;;;;;18741:298;3983:51118;;;;689:66:57;;;;;;;21070:58:95;;3983:51118;21070:58;;;;;;;18741:298;21066:211;;;18741:298;-1:-1:-1;3983:51118:95;;-1:-1:-1;;;21372:48:95;;3983:51118;;;;21372:48;;3983:51118;21372:48;3983:51118;;;21372:48;;;;;;;;;;;;;;;18741:298;21372:67;;21556:13;21372:67;21540:29;21372:67;21530:40;21372:67;;:::i;:::-;21556:13;;:::i;21530:40::-;3983:51118;;;;689:66:57;;;;;21607::95;;21667:4;;21607:66;21667:4;21607:66;3983:51118;21607:66;;;:::i;:::-;;;;;;;;;;;;;18741:298;21607:83;;;;-1:-1:-1;;;;;;;;;;;21607:83:95;3983:51118;21607:83;;:::i;:::-;18741:298;;;21607:66;;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;;21607:83;-1:-1:-1;;;;;;;;;;;21607:66:95;;;;;;;;3983:51118;;689:66:57;;;;;;;;21372:48:95;;;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;;;21556:13;21372:48;;;;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;21066:211:95;3983:51118;;;-1:-1:-1;21066:211:95;;;21070:58;;;;;;;;;;;;;;;:::i;:::-;;;;;21084:31;;;;;;;;;;;;;;:::i;:::-;;;;18745:103;3983:51118;18800:48;;;18745:103;;;3983:51118;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;:::i;:::-;2245:64:94;;;;:::i;:::-;3110:78;;:::i;:::-;13790:26:95;;;:::i;:::-;13789:27;13785:90;;3983:51118;;13992:50;;;;3983:51118;;;;;;;;13992:50;;;3983:51118;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;13992:50;;;;3983:51118;;;;:::i;:::-;;;;;;;;;14157:20;14153:78;;3983:51118;14307:12;3983:51118;;;;;;;;;;14307:51;;;14303:764;;3983:51118;-1:-1:-1;15120:30:95;3983:51118;;;15102:17;3983:51118;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;15094:83;;;:190;;3983:51118;15077:390;;3983:51118;15498:17;;3983:51118;15498:17;:::i;:::-;3983:51118;;15498:17;3983:51118;;;;15561:9;3983:51118;;;;;;;;;;15628:11;;;;3983:51118;;;;;;;;;;;;;;;;;;;;15659:13;;3983:51118;;;;;;;;;;15705:16;;;3983:51118;;;;;;;;15757:17;;;3983:51118;15862:16;;;3983:51118;;;;;;;;;15941:12;15927:11;;;3983:51118;15963:16;3983:51118;15963:16;;3983:51118;16042:17;3983:51118;;;16029:10;;;3983:51118;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16069:25;15120:30;3983:51118;16069:25;;3983:51118;;;16137:15;3983:51118;;;;;16137:76;;;;;;;3983:51118;;;;;689:66:57;;;;;;;;16137:76:95;;;3983:51118;16137:76;;;:::i;:::-;;16178:9;;16137:76;;;;;;;;;3983:51118;;;16229:35;3983:51118;16245:6;3983:51118;;;;;;;;;;;16229:35;3983:51118;;;;;;;16137:76;;;;;:::i;:::-;3983:51118;;16137:76;;;3983:51118;;;;-1:-1:-1;3983:51118:95;;;;;;;;;;;;1756:17:94;3983:51118:95;-1:-1:-1;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:95;;;;;;;;;;;;;;15628:11;3983:51118;;;;;;;;;;;;15628:11;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:95;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;15077:390;15367:75;3983:51118;15367:75;;3983:51118;;;15316:140;;;;;;15356:9;3983:51118;15316:140;;3983:51118;;;;;15316:140;15094:190;15209:75;;;;3983:51118;15197:9;:87;15094:190;;14303:764;3983:51118;;-1:-1:-1;;;;;3983:51118:95;;14393:20;;3983:51118;;14393:20;:::i;:::-;3983:51118;;;;14480:37;14476:102;;3983:51118;;-1:-1:-1;;;14605:14:95;;3983:51118;14605:4;3983:51118;;;14605:4;:14;;;;;;;;;;;;;;;;14303:764;3983:51118;;;;;;689:66:57;;;;;;;;14658:30:95;;3983:51118;14658:30;;3983:51118;;14658:30;;;;;;;;;;;14303:764;3983:51118;;;;;;14733:10;;3983:51118;;14706:37;14702:235;;14954:41;3983:51118;;14954:41;:::i;:::-;14950:107;;14303:764;;;14950:107;3983:51118;;-1:-1:-1;;;15022:20:95;;3983:51118;;15022:20;14702:235;3983:51118;;-1:-1:-1;;;14905:17:95;;3983:51118;;14905:17;14658:30;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;14605:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;;;;;;;;;14605:14;;;;;3983:51118;14605:14;;;;;;;14476:102;3983:51118;;-1:-1:-1;;;14544:19:95;;3983:51118;;14544:19;3983:51118;-1:-1:-1;;;3983:51118:95;;;;;;;;14153:78;3983:51118;;-1:-1:-1;;;14200:20:95;;3983:51118;;14200:20;3983:51118;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;;;9875:56;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;9050:39;3983:51118;9050:39;3983:51118;9050:39;3983:51118;9050:39;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16911:10;;;:::i;3983:51118::-;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;3301:14:44;3347:34;;;;;;3983:51118:95;3346:108:44;;;;3983:51118:95;;;;-1:-1:-1;;3983:51118:95;;3551:1:44;3983:51118:95;;;;3562:65:44;;3983:51118:95;;499:12:101;3983:51118:95;;;;;;:::i;:::-;;;;-1:-1:-1;;;3983:51118:95;;;;5366:69:44;3983:51118:95;;;;;;5366:69:44;;;:::i;499:12:101:-;3983:51118:95;;;;;;;;;;;;;;;;1704:19:94;3983:51118:95;;;1704:19:94;3983:51118:95;;;1756:17:94;;3983:51118:95;;1756:17:94;;3983:51118:95;;;;;;;;;:::i;1756:17:94:-;3983:51118:95;1746:28:94;;1733:41;3983:51118:95;;;10431:50;3983:51118;;;10431:50;3983:51118;3647:99:44;;3983:51118:95;;3647:99:44;3983:51118:95;;;;;;;3721:14:44;3983:51118:95;;;3551:1:44;3983:51118:95;;3721:14:44;3983:51118:95;;3562:65:44;-1:-1:-1;;3983:51118:95;;;;;3562:65:44;;;3983:51118:95;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;3346:108:44;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;3983:51118:95;3452:1:44;3983:51118:95;;;3436:17:44;3346:108;;3347:34;3983:51118:95;3380:1:44;3983:51118:95;;;3365:16:44;3347:34;;3983:51118:95;;;;;;;;;;;;;3475:4:94;3983:51118:95;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;8924:45;3983:51118;;;;;;;;;;;;;;;;;;;;;;;8138:8;3983:51118;;;;;;;;;;;;;;;;;8888:30;3983:51118;;;;;;;;;;;;;;;;;;;;9430:39;3983:51118;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;2245:64:94;;:::i;:::-;3110:78;;:::i;:::-;3983:51118:95;;23508:17;23504:76;;3983:51118;;;;23611:28;;3983:51118;;;;;23611:28;3983:51118;23654:15;;;23650:77;;3983:51118;;;23779:9;3983:51118;;;;;;;23815:12;3983:51118;;;;;;;;;23815:51;23811:1411;;3983:51118;;;23811:1411;3983:51118;;;23886:33;23882:108;;3983:51118;24008:24;;3983:51118;;;24035:10;3983:51118;24008:37;;;;24004:152;;24174:23;;;;;3983:51118;;;;;;;;;:::i;:::-;24174:63;24170:138;;24347:36;;;:::i;:::-;3983:51118;;;24417:44;;;;:::i;:::-;-1:-1:-1;24480:58:95;;;23811:1411;24476:137;;3983:51118;;;;;;;;24652:4;3983:51118;;;24665:6;3983:51118;;;;689:66:57;;;;;;;24652:20:95;;3983:51118;24652:20;;3983:51118;24652:20;;;;;;;;3983:51118;24652:20;;;;;;;23811:1411;3983:51118;24687:38;3983:51118;24035:10;3983:51118;24687:38;:::i;:::-;24035:10;3983:51118;24763:10;3983:51118;;24775:20;3983:51118;24775:20;;3983:51118;;;;;;;;6815:16:10;4445:42:9;6815:16:10;;6811:173;4445:42:9;;;2570:369:14;;;;;;;;;;;6811:173:10;3983:51118:95;;;;;;;;;;24995:18;3983:51118;24915:15;3983:51118;;24995:18;;3983:51118;;;25049:30;3983:51118;;;25031:17;3983:51118;;25031:75;3983:51118;;;25031:75;3983:51118;24915:205;;;;;;3983:51118;;;24915:205;3983:51118;;;;689:66:57;;;;;;;;;24915:205:95;;;3983:51118;24915:205;;;:::i;:::-;;;;;;;;;;;6811:173:10;3983:51118:95;25140:71;3983:51118;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;;;;;25140:71;;;;;:::i;:::-;;;;23811:1411;;;3983:51118;;;24915:205;;-1:-1:-1;;;;;;;;;;;24915:205:95;;25140:71;24915:205;;:::i;:::-;;;;;;2570:369:14;;;;3983:51118:95;2570:369:14;;6811:173:10;11581:1056:14;;;3983:51118:95;11581:1056:14;3983:51118:95;11581:1056:14;;;;;;;;;;;;;;3983:51118:95;11581:1056:14;;;;;;;;;;;6811:173:10;;11581:1056:14;;;;3983:51118:95;11581:1056:14;;24652:20:95;24687:38;24652:20;;;;;;;;;;;;;;:::i;:::-;;;;;24476:137;3983:51118;;-1:-1:-1;;;24565:33:95;;3983:51118;;24565:33;24480:58;24510:28;;;;24480:58;;24170:138;3983:51118;;;;24264:29;;;;;;3983:51118;24264:29;;3983:51118;24264:29;24004:152;3983:51118;;;;;24072:69;;;;;;3983:51118;24072:69;;3983:51118;;;;;;;;24072:69;23882:108;3983:51118;;23946:29;;;;;;3983:51118;23946:29;;3983:51118;23946:29;3983:51118;-1:-1:-1;;;3983:51118:95;;;;;;;;23650:77;3983:51118;;-1:-1:-1;;;23692:24:95;;3983:51118;;23692:24;23504:76;3983:51118;;-1:-1:-1;;;23548:21:95;;3983:51118;;23548:21;3983:51118;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;-1:-1:-1;3983:51118:95;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48901:9;;3983:51118;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;48668:250;;:::i;:::-;48901:9;:::i;3983:51118::-;;;;;;;;;;;;;;;31772:30;3983:51118;;;31754:17;3983:51118;;;;;;;;;;;;;31828:62;3983:51118;31828:62;;3983:51118;;31904:75;;;;3983:51118;31993:76;3983:51118;31993:76;;3983:51118;32160:70;3983:51118;32083:63;;3983:51118;32160:70;;3983:51118;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11819:47:95;;;:87;;;;3983:51118;;;;;;;;;;11819:87;-1:-1:-1;;;937:40:77;;-1:-1:-1;11819:87:95;;;3983:51118;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;9573:60;3983:51118;;;;;;;;9573:60;3983:51118;9573:60;;3983:51118;9573:60;;;3983:51118;9573:60;3983:51118;9573:60;;3983:51118;;;;;;;9573:60;;3983:51118;;;;;;;9573:60;;;3983:51118;;;;;;;9573:60;;;3983:51118;;9573:60;;;;3983:51118;9573:60;3983:51118;9573:60;;;3983:51118;;9573:60;;;;;;:::i;:::-;3983:51118;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;-1:-1:-1;3983:51118:95;;;;9573:60;;;3983:51118;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;9573:60;;;3983:51118;9573:60;;;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;:::o;:::-;-1:-1:-1;;;;;3983:51118:95;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;:::o;:::-;1756:17:94;3983:51118:95;;;-1:-1:-1;;3983:51118:95;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:95;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;-1:-1:-1;3983:51118:95;;;;-1:-1:-1;3983:51118:95;;-1:-1:-1;3983:51118:95;;;;;;;-1:-1:-1;3983:51118:95;;-1:-1:-1;3983:51118:95;;-1:-1:-1;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:95;;;;;;;-1:-1:-1;;3983:51118:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:95;;-1:-1:-1;3983:51118:95;;;-1:-1:-1;3983:51118:95;;-1:-1:-1;3983:51118:95;;;-1:-1:-1;3983:51118:95;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3983:51118:95;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1756:17:94;3983:51118:95;-1:-1:-1;;3983:51118:95;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;:::o;:::-;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;1756:17:94;3983:51118:95;-1:-1:-1;;3983:51118:95;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;3983:51118:95;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;3983:51118:95;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;3983:51118:95;;-1:-1:-1;3983:51118:95;;;-1:-1:-1;3983:51118:95;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;:::o;1620:130:42:-;1683:7;;:::i;:::-;965:10:48;-1:-1:-1;;;;;3983:51118:95;;;1683:23:42;3983:51118:95;;1620:130:42:o;3983:51118:95:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;3983:51118:95;;-1:-1:-1;;;;;3983:51118:95;;;-1:-1:-1;;;;;;3983:51118:95;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;3983:51118:95:-;;;;:::o;:::-;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;-1:-1:-1;;;3983:51118:95;;;;;;;1406:259:57;1702:19:73;;:23;3983:51118:95;;-1:-1:-1;;;;;;;;;;;3983:51118:95;;-1:-1:-1;;;;;;3983:51118:95;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;1406:259:57:o;3983:51118:95:-;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;7671:628:73;;;;7875:418;;;3983:51118:95;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;3983:51118:95;;8201:17:73;:::o;3983:51118:95:-;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;7875:418:73;3983:51118:95;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;3983:51118:95;;-1:-1:-1;;;9324:20:73;;3983:51118:95;9324:20:73;;;3983:51118:95;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;9469:119:94;9553:4;3983:51118:95;-1:-1:-1;;;;;3983:51118:95;9531:10:94;:27;9527:54;;9469:119::o;9527:54::-;3983:51118:95;;-1:-1:-1;;;9567:14:94;;;;;10458:113;10527:6;3983:51118:95;10527:11:94;10523:41;;10458:113::o;10523:41::-;3983:51118:95;;-1:-1:-1;;;10547:17:94;;;;;3983:51118:95;-1:-1:-1;;3983:51118:95;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;3983:51118:95;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:66:57;;3983:51118:95;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;689:66:57;3983:51118:95;;;;;689:66:57;3983:51118:95;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;:::o;12653:141::-;-1:-1:-1;;;;;3983:51118:95;12735:22;12731:56;;12653:141::o;12731:56::-;3983:51118;;-1:-1:-1;;;12766:21:95;;;;;3983:51118;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;:::o;12980:238::-;13081:11;3983:51118;-1:-1:-1;;;;;3983:51118:95;13073:34;;13069:76;;13161:50;3983:51118;13161:50;3983:51118;;;689:66:57;;;;;;;;13161:50:95;;13205:4;13161:50;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;13161:50:95;;;13154:57;12980:238;:::o;13161:50::-;;;;;;;;;;;;;;:::i;:::-;3983:51118;;689:66:57;-1:-1:-1;689:66:57;;;;;13069:76:95;13123:11;;3983:51118;13123:11;:::o;12476:171::-;12567:17;3983:51118;-1:-1:-1;;;;;3983:51118:95;12545:10;:40;12541:100;;12476:171::o;12541:100::-;3983:51118;;-1:-1:-1;;;12608:22:95;;;;;3983:51118;;;;;;;;;;:::o;17077:359::-;17172:17;3983:51118;;;;-1:-1:-1;;;17172:66:95;;;;17077:359;3983:51118;;-1:-1:-1;;;;;;;3983:51118:95;17077:359;;3983:51118;;;17172:66;3983:51118;;17172:66;17232:4;17077:359;17172:66;;;;:::i;:::-;;;;;;;;;;;;;;17077:359;17148:90;3983:51118;;17148:90;3983:51118;17148:90;:::i;:::-;;3983:51118;17248:68;;;;;3983:51118;;;689:66:57;;;;;17248:68:95;;17232:4;;;17248:68;17232:4;17248:68;17172:66;17248:68;;;:::i;:::-;;;;;;;;;;;17077:359;3983:51118;;;;;27877:20;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27921:13;27961:3;3983:51118;;27936:23;;;;;28001:15;;27961:3;28001:15;;;:::i;:::-;3983:51118;;;;28073:9;3983:51118;;;;;28112:26;;;:::i;:::-;28108:455;;27961:3;;;;:::i;:::-;27921:13;;28108:455;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;-1:-1:-1;3983:51118:95;28181:26;;;3983:51118;;28524:23;3983:51118;-1:-1:-1;3983:51118:95;;;;;;28428:12;28291:21;;;3983:51118;28291:37;3983:51118;;;28291:37;:::i;:::-;3983:51118;;28346:27;;3983:51118;;;28346:27;:::i;:::-;3983:51118;;28428:12;;:::i;:::-;3983:51118;28524:23;;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;28464:84;28108:455;;;;27936:23;;;;;;17403:26;27936:23;;;3983:51118;;;;17403:26;17077:359::o;3983:51118::-;;;;;;;;;;;;-1:-1:-1;3983:51118:95;;;;;;17248:68;;;;;;;:::i;:::-;;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;17172::95;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118;;;;17148:90;3983:51118;;17172:66;;;;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;6530:1642:80;6601:6;;6597:45;;8144:10;7344:7;6606:1;3983:51118:95;;8769:3:80;3983:51118:95;8760:16:80;8756:99;;6530:1642;3983:51118:95;;8881:2:80;3983:51118:95;8872:15:80;8868:96;;6530:1642;3983:51118:95;;8990:2:80;3983:51118:95;8981:15:80;8977:96;;6530:1642;3983:51118:95;;9099:2:80;3983:51118:95;9090:15:80;9086:96;;6530:1642;3983:51118:95;;9208:1:80;3983:51118:95;9199:14:80;9195:93;;6530:1642;3983:51118:95;;9314:1:80;3983:51118:95;9305:14:80;9301:93;;6530:1642;3983:51118:95;;9420:1:80;3983:51118:95;9411:14:80;9407:93;;6530:1642;9526:1;;3983:51118:95;;;;;;9513:64:80;;6530:1642;3983:51118:95;;7801:10:80;;;;:::i;:::-;3983:51118:95;;;7850:10:80;;;;:::i;:::-;3983:51118:95;;;7899:10:80;;;;:::i;:::-;3983:51118:95;;;7948:10:80;;;;:::i;:::-;3983:51118:95;;;7997:10:80;;;;:::i;:::-;3983:51118:95;;;8046:10:80;;;;:::i;:::-;3983:51118:95;;;8095:10:80;;;;:::i;:::-;3983:51118:95;;;8144:10:80;;;:::i;:::-;672:5;;;;;;:13;6530:1642;:::o;672:13::-;;;6530:1642;:::o;9513:64::-;3983:51118:95;9513:64:80;;;9407:93;9420:1;9445:11;;3983:51118:95;;9407:93:80;;;;9301;9314:1;9339:11;;3983:51118:95;;9301:93:80;;;;9195;9208:1;9233:11;;3983:51118:95;;9195:93:80;;;;9086:96;9099:2;9125:12;;3983:51118:95;;9086:96:80;;;;8977;8990:2;9016:12;;3983:51118:95;;8977:96:80;;;;8868;8881:2;8907:12;;3983:51118:95;;8868:96:80;;;;8756:99;8796:13;;;8769:3;8756:99;;;;6597:45;6623:8;6606:1;6623:8;:::o;3983:51118:95:-;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;32644:193::-;-1:-1:-1;3983:51118:95;32743:9;3983:51118;;;-1:-1:-1;3983:51118:95;;;32743:37;;:87;;;;32736:94;32644:193;:::o;32743:87::-;32784:32;;3983:51118;-1:-1:-1;;;;;3983:51118:95;32784:46;;;32644:193;-1:-1:-1;32644:193:95:o;32843:191::-;32973:30;:8;3983:51118;32993:10;3983:51118;32973:30;;:::i;:::-;8138:8;3983:51118;;;;;;;;;;;;;;;32973:54;;32843:191;:::o;3983:51118::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;38087:284::-;38207:25;;;;:::i;:::-;38247:10;38256:1;38247:10;;38243:90;;38342:22;;38087:284;:::o;38243:90::-;3983:51118;;;;;38280:42;;;;;;;;;3983:51118;;;;;;;;;38280:42;38788:1191;;;39325:14;3983:51118;8138:8;;3983:51118;;;39343:3;3983:51118;;39319:36;3983:51118;8196:35;;42973:12;;;;3983:51118;;;43076:17;;43103:215;43110:5;;;39851:21;;;;;;:::i;:::-;3983:51118;;;;;;;;;;;;;;;;;;;;;;;39878:38;;;:::i;:::-;3983:51118;;;;;;;;39850:91;39877:63;;;;:::i;:::-;39850:91;;:::i;:::-;-1:-1:-1;;;3983:51118:95;;;;-1:-1:-1;3983:51118:95;;39343:3;3983:51118;38788:1191;:::o;43103:215::-;3983:51118;;43135:5;;;43139:1;;43169:10;;;;:::i;:::-;3983:51118;;43131:177;;;43103:215;;;;43131:177;43253:16;;;;;;;:::i;:::-;3983:51118;-1:-1:-1;;3983:51118:95;;;;;;;43131:177;;;;3983:51118;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;40560:1549;40797:10;3983:51118;40797:15;;40793:66;;41299:33;;;:::i;:::-;41295:91;;41551:8;3983:51118;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;;;;;41586:41;41550:77;41586:41;41667:56;41586:41;;:::i;:::-;8138:8;3983:51118;;;41550:77;:::i;:::-;41702:13;3983:51118;41669:15;3983:51118;41688:3;3983:51118;;41702:13;;;:::i;:::-;3983:51118;;41667:56;;:::i;:::-;3983:51118;;;;;;;;;;;;;;;41737:14;3983:51118;;;;;;;;41664:136;41665:87;;;;:::i;:::-;43423:20;3983:51118;41664:136;;:::i;:::-;3983:51118;;42032:27;3983:51118;42019:40;;;:83;:40;;;:83;40560:1549;:::o;40793:66::-;3983:51118;;-1:-1:-1;;;40835:13:95;;;;;42370:277;;-1:-1:-1;;;42474:13:95;;;3983:51118;;42550:12;;3983:51118;;;42614:7;;;:::i;3983:51118::-;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;;;;;;;;;;;-1:-1:-1;;;3983:51118:95;;;;;;;43640:424;;43830:56;43640:424;43830:56;;:::i;:::-;43900:15;;;;:35;;;43640:424;43896:72;;44020:24;43977:19;;;;3983:51118;44020:24;3983:51118;43640:424::o;43896:72::-;43951:7;;;:::o;43900:35::-;43919:16;;;43900:35;;44070:845;44308:12;44337:19;;;;3983:51118;44337:34;;;;3983:51118;;44386:34;;;44382:173;;44850:24;44764:33;44621:287;44764:33;;;:::i;:::-;44850:24;;3983:51118;44621:287;;:::i;:::-;44070:845;:::o;44382:173::-;44502:13;;;;-1:-1:-1;44502:13:95;-1:-1:-1;44502:13:95;:::o;3983:51118::-;;;;-1:-1:-1;3983:51118:95;;;;;-1:-1:-1;3983:51118:95;44921:2409;45111:30;;;;3983:51118;;45111:30;;;;-1:-1:-1;;;;;3983:51118:95;-1:-1:-1;;3983:51118:95;;45111:44;;;;;:99;;44921:2409;45111:1027;;;44921:2409;45094:2158;;;44921:2409;3983:51118;;;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:95;;47262:20;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;47297:26;44921:2409::o;45094:2158::-;46202:30;3983:51118;;;46184:17;3983:51118;;;;;;;46184:62;3983:51118;46184:62;;3983:51118;;;;;;;;46184:96;;;;;;:212;;;45094:2158;46163:522;;;;45094:2158;3983:51118;;;;;;-1:-1:-1;;;;;;;;;;;3983:51118:95;;;;-1:-1:-1;;;;;;;;;;;3983:51118:95;;46699:32;46202:30;3983:51118;46699:32;:::i;:::-;3983:51118;46202:30;3983:51118;;;46184:17;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46202:30;3983:51118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46834:407;45094:2158;;;;;;46163:522;3983:51118;;;;46429:73;;;;;;3983:51118;;;;;;;689:66:57;;;;;;;;46429:73:95;;;;;3983:51118;46429:73;;;;;;;-1:-1:-1;;;;;;;;;;;46429:73:95;;3983:51118;46429:73;-1:-1:-1;;;;;;;;;;;46429:73:95;;;3983:51118;46429:73;3983:51118;46429:73;;;;46163:522;3983:51118;46525:145;3983:51118;;;;;;;;;;;;;46576:4;;3983:51118;;;;;;;;;46525:145;46163:522;;;;;;;;;;;;;;46429:73;;;;:::i;:::-;;;;;3983:51118;;689:66:57;3983:51118:95;;689:66:57;;;;46184:212:95;3983:51118;;;;;;;;;46304:92;;46184:212;;;;45111:1027;45304:30;3983:51118;;;45286:17;3983:51118;;;;;;45286:62;;3983:51118;;;45252:96;;;;;;-1:-1:-1;45252:216:95;;45111:1027;45252:394;;;;45111:1027;45252:574;;;;45111:1027;45252:700;;;;45111:1027;45252:868;;;;45111:1027;;;;;45252:868;45980:38;;46050:70;3983:51118;45980:38;;3983:51118;46050:70;;3983:51118;45980:140;;45252:868;;;:700;45854:31;;;3983:51118;45889:63;;;3983:51118;45854:98;;;-1:-1:-1;45252:700:95;;:574;45674:44;;;3983:51118;45750:76;;;3983:51118;45674:152;;;-1:-1:-1;45252:574:95;;:394;3983:51118;45496:43;;3983:51118;45571:75;;;3983:51118;45496:150;;;-1:-1:-1;45252:394:95;;:216;3983:51118;;;;;;;;;;45376:92;;45252:216;;;45111:99;3983:51118;;;;45159:51;;;-1:-1:-1;45111:99:95;;47336:639;3983:51118;-1:-1:-1;3983:51118:95;47476:9;3983:51118;;;-1:-1:-1;3983:51118:95;;;;;47512:33;47508:100;;47906:21;;;;47945:23;47906:21;;3983:51118;47906:21;;:::i;:::-;47945:23;3983:51118;47336:639;:::o;47508:100::-;3983:51118;;;;23946:29;;;;47568;;;;;3983:51118;47568:29;12800:174;12885:17;3983:51118;;;-1:-1:-1;;;12885:31:95;;-1:-1:-1;;;;;3983:51118:95;12885:31;;3983:51118;;12885:31;;3983:51118;;;;12885:31;;;;;;;-1:-1:-1;12885:31:95;;;12800:174;3983:51118;;12863:10;:54;12859:109;;12800:174::o;12859:109::-;3983:51118;;-1:-1:-1;;;12940:17:95;;12885:31;;12940:17;12885:31;;;;;;;;;;;;;;:::i;:::-;;;;3983:51118;;;;;;;;;;;;;-1:-1:-1;3983:51118:95;;;;;;1756:17:94;3983:51118:95;-1:-1:-1;;3983:51118:95;;;;:::o;:::-;;;;-1:-1:-1;;;;;3983:51118:95;;;;;;;;;;;;;;;;;;;;;;;:::o;525:604:101:-;1534:6:42;3983:51118:95;-1:-1:-1;;;;;3983:51118:95;707:33:101;;;;822:19;:::o;703:420::-;3983:51118:95;;-1:-1:-1;;;876:40:101;;;3983:51118:95;876:40:101;3983:51118:95;876:40:101;;;-1:-1:-1;;876:40:101;;;703:420;-1:-1:-1;872:241:101;;1079:19;;:::o;876:40::-;;;;;;;;;;;;;;;;;:::i;:::-;;;3983:51118:95;;;;;;;;:::i;:::-;876:40:101;;;;;;;-1:-1:-1;876:40:101;","linkReferences":{},"immutableReferences":{"54869":[{"start":8675,"length":32},{"start":8909,"length":32},{"start":9748,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","DISPUTE_COOLDOWN_SEC()":"f5be3f7c","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","RULING_OPTIONS()":"626c47e8","VERSION()":"ffa1ad74","activatePoints()":"814516ad","allocate(bytes,address)":"ef2920fc","arbitrableConfigs(uint256)":"41bb7605","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","cancelProposal(uint256)":"e0a8f6f5","cloneNonce()":"33960459","collateralVault()":"0bece79c","currentArbitrableConfigVersion()":"125fd1d9","cvParams()":"2506b870","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","disputeCount()":"a28889e1","disputeIdToProposalId(uint256)":"255ffb38","disputeProposal(uint256,string,bytes)":"b41596ec","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getArbitrableConfig()":"059351cd","getDecay()":"9a1c157c","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address,address,address)":"184b9559","init(address,string,address)":"60d5dedc","initialize(address)":"c4d66de8","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","registryCommunity()":"6003e414","renounceOwnership()":"715018a6","rule(uint256,uint256)":"311a6c56","setCollateralVaultTemplate(address)":"b0d3713a","setPoolActive(bool)":"b5f620ce","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256))":"062f9ece","setSybilScorer(address)":"ac1ed7b9","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DefaultRulingNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_remainingSec\",\"type\":\"uint256\"}],\"name\":\"DisputeCooldownNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlySubmitter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotDisputed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentArbitrableConfigVersion\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"name\":\"ArbitrableConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"}],\"name\":\"CVParamsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_arbitrableDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_externalDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_templateId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_templateUri\",\"type\":\"string\"}],\"name\":\"DisputeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ProposalDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"}],\"name\":\"TribunaSafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_COOLDOWN_SEC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RULING_OPTIONS\",\"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\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"arbitrableConfigs\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"cancelProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVault\",\"outputs\":[{\"internalType\":\"contract ICollateralVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentArbitrableConfigVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cvParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputeIdToProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"disputeProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getArbitrableConfig\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.ProposalDisputeInfo\",\"name\":\"disputeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"lastDisputeCompletion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"CVStrategyV0_0\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeRequest(address,uint256,uint256,uint256,string)\":{\"details\":\"To be emitted when a dispute is created to link the correct meta-evidence to the disputeID.\",\"params\":{\"_arbitrableDisputeID\":\"The identifier of the dispute in the Arbitrable contract.\",\"_arbitrator\":\"The arbitrator of the contract.\",\"_externalDisputeID\":\"An identifier created outside Kleros by the protocol requesting arbitration.\",\"_templateId\":\"The identifier of the dispute template. Should not be used with _templateUri.\",\"_templateUri\":\"The URI to the dispute template. For example on IPFS: starting with '/ipfs/'. Should not be used with _templateId.\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrator\":\"The arbitrator giving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"arbitrableConfigVersion\":\"Proposal arbitrable config id\",\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\",\"voterStakedPoints\":\"Voter staked points\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string,address)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"rule(uint256,uint256)\":{\"details\":\"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.\",\"params\":{\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 is reserved for \\\"Not able/wanting to make a decision\\\".\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string,address)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"CVStrategyV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"ArbitratorCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"DefaultRulingNotSet"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_remainingSec","type":"uint256"}],"type":"error","name":"DisputeCooldownNotPassed"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[{"internalType":"uint256","name":"sentAmount","type":"uint256"},{"internalType":"uint256","name":"requiredAmount","type":"uint256"}],"type":"error","name":"InsufficientCollateral"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyArbitrator"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"OnlySubmitter"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotDisputed"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"currentArbitrableConfigVersion","type":"uint256","indexed":false},{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRuling","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256","indexed":false}],"type":"event","name":"ArbitrableConfigUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}],"indexed":false}],"type":"event","name":"CVParamsUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_arbitrableDisputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_externalDisputeID","type":"uint256","indexed":false},{"internalType":"uint256","name":"_templateId","type":"uint256","indexed":false},{"internalType":"string","name":"_templateUri","type":"string","indexed":false}],"type":"event","name":"DisputeRequest","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCancelled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"disputeId","type":"uint256","indexed":false},{"internalType":"address","name":"challenger","type":"address","indexed":false},{"internalType":"string","name":"context","type":"string","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ProposalDisputed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false}],"type":"event","name":"TribunaSafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DISPUTE_COOLDOWN_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RULING_OPTIONS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"arbitrableConfigs","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelProposal"},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVault","outputs":[{"internalType":"contract ICollateralVault","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentArbitrableConfigVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cvParams","outputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputeIdToProposalId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"context","type":"string"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"disputeProposal","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getArbitrableConfig","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum StrategyStruct.ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"struct StrategyStruct.ProposalDisputeInfo","name":"disputeInfo","type":"tuple","components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"disputeTimestamp","type":"uint256"},{"internalType":"address","name":"challenger","type":"address"}]},{"internalType":"uint256","name":"lastDisputeCompletion","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rule"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct StrategyStruct.CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"arbitrableConfigVersion":"Proposal arbitrable config id","beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold","voterStakedPoints":"Voter staked points"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string,address)":{"params":{"_allo":"Address of the Allo contract."}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"rule(uint256,uint256)":{"details":"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.","params":{"_disputeID":"The identifier of the dispute in the Arbitrator contract.","_ruling":"Ruling given by the arbitrator. Note that 0 is reserved for \"Not able/wanting to make a decision\"."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string,address)":{"notice":"Constructor to set the Allo contract and \"strategyId'."},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"CVStrategyV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":65833,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":65835,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":65837,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":65839,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":65841,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":66869,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":66871,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"surpressStateMutabilityWarning","offset":0,"slot":"107","type":"t_uint256"},{"astId":66873,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cloneNonce","offset":0,"slot":"108","type":"t_uint256"},{"astId":66875,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeCount","offset":0,"slot":"109","type":"t_uint64"},{"astId":66877,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalCounter","offset":0,"slot":"110","type":"t_uint256"},{"astId":66879,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"currentArbitrableConfigVersion","offset":0,"slot":"111","type":"t_uint256"},{"astId":66881,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalStaked","offset":0,"slot":"112","type":"t_uint256"},{"astId":66883,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalPointsActivated","offset":0,"slot":"113","type":"t_uint256"},{"astId":66886,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cvParams","offset":0,"slot":"114","type":"t_struct(CVParams)66595_storage"},{"astId":66889,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalType","offset":0,"slot":"118","type":"t_enum(ProposalType)66498"},{"astId":66892,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointSystem","offset":1,"slot":"118","type":"t_enum(PointSystem)66503"},{"astId":66895,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointConfig","offset":0,"slot":"119","type":"t_struct(PointSystemConfig)66572_storage"},{"astId":66898,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"registryCommunity","offset":0,"slot":"120","type":"t_contract(RegistryCommunityV0_0)73113"},{"astId":66901,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVault","offset":0,"slot":"121","type":"t_contract(ICollateralVault)74798"},{"astId":66904,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"sybilScorer","offset":0,"slot":"122","type":"t_contract(ISybilScorer)70536"},{"astId":66909,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposals","offset":0,"slot":"123","type":"t_mapping(t_uint256,t_struct(Proposal)66564_storage)"},{"astId":66913,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalVoterStakePct","offset":0,"slot":"124","type":"t_mapping(t_address,t_uint256)"},{"astId":66918,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedProposals","offset":0,"slot":"125","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":66922,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeIdToProposalId","offset":0,"slot":"126","type":"t_mapping(t_uint256,t_uint256)"},{"astId":66927,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfigs","offset":0,"slot":"127","type":"t_mapping(t_uint256,t_struct(ArbitrableConfig)66586_storage)"},{"astId":70167,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"128","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"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_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(IArbitrator)74765":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ICollateralVault)74798":{"encoding":"inplace","label":"contract ICollateralVault","numberOfBytes":"20"},"t_contract(ISybilScorer)70536":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_contract(RegistryCommunityV0_0)73113":{"encoding":"inplace","label":"contract RegistryCommunityV0_0","numberOfBytes":"20"},"t_enum(PointSystem)66503":{"encoding":"inplace","label":"enum StrategyStruct.PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)66523":{"encoding":"inplace","label":"enum StrategyStruct.ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)66498":{"encoding":"inplace","label":"enum StrategyStruct.ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"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_struct(ArbitrableConfig)66586_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)","numberOfBytes":"32","value":"t_struct(ArbitrableConfig)66586_storage"},"t_mapping(t_uint256,t_struct(Proposal)66564_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)66564_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(ArbitrableConfig)66586_storage":{"encoding":"inplace","label":"struct StrategyStruct.ArbitrableConfig","numberOfBytes":"192","members":[{"astId":66575,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)74765"},{"astId":66577,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"tribunalSafe","offset":0,"slot":"1","type":"t_address"},{"astId":66579,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitterCollateralAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":66581,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challengerCollateralAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":66583,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRuling","offset":0,"slot":"4","type":"t_uint256"},{"astId":66585,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRulingTimeout","offset":0,"slot":"5","type":"t_uint256"}]},"t_struct(CVParams)66595_storage":{"encoding":"inplace","label":"struct StrategyStruct.CVParams","numberOfBytes":"128","members":[{"astId":66588,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxRatio","offset":0,"slot":"0","type":"t_uint256"},{"astId":66590,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"weight","offset":0,"slot":"1","type":"t_uint256"},{"astId":66592,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"decay","offset":0,"slot":"2","type":"t_uint256"},{"astId":66594,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"minThresholdPoints","offset":0,"slot":"3","type":"t_uint256"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)66572_storage":{"encoding":"inplace","label":"struct StrategyStruct.PointSystemConfig","numberOfBytes":"32","members":[{"astId":66571,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)66564_storage":{"encoding":"inplace","label":"struct StrategyStruct.Proposal","numberOfBytes":"544","members":[{"astId":66532,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":66534,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":66536,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":66538,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":66540,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":66542,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":66544,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":66546,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":66549,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)66523"},{"astId":66553,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":66556,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"},{"astId":66559,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeInfo","offset":0,"slot":"12","type":"t_struct(ProposalDisputeInfo)66530_storage"},{"astId":66561,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"lastDisputeCompletion","offset":0,"slot":"15","type":"t_uint256"},{"astId":66563,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfigVersion","offset":0,"slot":"16","type":"t_uint256"}]},"t_struct(ProposalDisputeInfo)66530_storage":{"encoding":"inplace","label":"struct StrategyStruct.ProposalDisputeInfo","numberOfBytes":"96","members":[{"astId":66525,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeId","offset":0,"slot":"0","type":"t_uint256"},{"astId":66527,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeTimestamp","offset":0,"slot":"1","type":"t_uint256"},{"astId":66529,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challenger","offset":0,"slot":"2","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":70169,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[66431],"CVStrategyV0_0":[70168],"Clone":[3002],"ERC165":[57030],"ERC20":[55747],"IAllo":[2610],"IArbitrable":[74661],"IArbitrator":[74765],"ICollateralVault":[74798],"IERC165":[57236],"IPointStrategy":[66494],"ISybilScorer":[70536],"Math":[58102],"Metadata":[3098],"OwnableUpgradeable":[52200],"PassportData":[70454],"RegistryCommunityV0_0":[73113],"StrategyStruct":[66616],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"42:55060:95","nodes":[{"id":66433,"nodeType":"PragmaDirective","src":"42:24:95","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":66435,"nodeType":"ImportDirective","src":"68:71:95","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":66434,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66438,"nodeType":"ImportDirective","src":"140:82:95","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":66436,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":66437,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66440,"nodeType":"ImportDirective","src":"223:85:95","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":73114,"symbolAliases":[{"foreign":{"id":66439,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73113,"src":"231:21:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66443,"nodeType":"ImportDirective","src":"309:87:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":57031,"symbolAliases":[{"foreign":{"id":66441,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57030,"src":"317:6:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":66442,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57236,"src":"325:7:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66445,"nodeType":"ImportDirective","src":"397:68:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":55748,"symbolAliases":[{"foreign":{"id":66444,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"405:5:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66447,"nodeType":"ImportDirective","src":"466:58:95","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":74766,"symbolAliases":[{"foreign":{"id":66446,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74765,"src":"474:11:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66449,"nodeType":"ImportDirective","src":"525:58:95","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":74662,"symbolAliases":[{"foreign":{"id":66448,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"533:11:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66451,"nodeType":"ImportDirective","src":"584:65:95","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":66450,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66453,"nodeType":"ImportDirective","src":"700:65:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":58103,"symbolAliases":[{"foreign":{"id":66452,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"708:4:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66456,"nodeType":"ImportDirective","src":"766:63:95","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":70537,"symbolAliases":[{"foreign":{"id":66454,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"774:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":66455,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70454,"src":"788:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66458,"nodeType":"ImportDirective","src":"831:88:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":66457,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"839:15:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66460,"nodeType":"ImportDirective","src":"920:71:95","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":66432,"symbolAliases":[{"foreign":{"id":66459,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66431,"src":"928:23:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66462,"nodeType":"ImportDirective","src":"992:101:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":66461,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"1000:18:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66464,"nodeType":"ImportDirective","src":"1094:68:95","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":74799,"symbolAliases":[{"foreign":{"id":66463,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74798,"src":"1102:16:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66494,"nodeType":"ContractDefinition","src":"1164:358:95","nodes":[{"id":66469,"nodeType":"FunctionDefinition","src":"1195:52:95","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1204:16:95","parameters":{"id":66467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66466,"mutability":"mutable","name":"_member","nameLocation":"1229:7:95","nodeType":"VariableDeclaration","scope":66469,"src":"1221:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66465,"name":"address","nodeType":"ElementaryTypeName","src":"1221:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1220:17:95"},"returnParameters":{"id":66468,"nodeType":"ParameterList","parameters":[],"src":"1246:0:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66478,"nodeType":"FunctionDefinition","src":"1253:91:95","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1262:13:95","parameters":{"id":66474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66471,"mutability":"mutable","name":"_member","nameLocation":"1284:7:95","nodeType":"VariableDeclaration","scope":66478,"src":"1276:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66470,"name":"address","nodeType":"ElementaryTypeName","src":"1276:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66473,"mutability":"mutable","name":"_amountToStake","nameLocation":"1301:14:95","nodeType":"VariableDeclaration","scope":66478,"src":"1293:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66472,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1275:41:95"},"returnParameters":{"id":66477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66478,"src":"1335:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66475,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1334:9:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66487,"nodeType":"FunctionDefinition","src":"1350:92:95","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1359:13:95","parameters":{"id":66483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66480,"mutability":"mutable","name":"_member","nameLocation":"1381:7:95","nodeType":"VariableDeclaration","scope":66487,"src":"1373:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66479,"name":"address","nodeType":"ElementaryTypeName","src":"1373:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66482,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1398:15:95","nodeType":"VariableDeclaration","scope":66487,"src":"1390:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66481,"name":"uint256","nodeType":"ElementaryTypeName","src":"1390:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1372:42:95"},"returnParameters":{"id":66486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66487,"src":"1433:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66484,"name":"uint256","nodeType":"ElementaryTypeName","src":"1433:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1432:9:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66493,"nodeType":"FunctionDefinition","src":"1448:72:95","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1457:14:95","parameters":{"id":66488,"nodeType":"ParameterList","parameters":[],"src":"1471:2:95"},"returnParameters":{"id":66492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66493,"src":"1492:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66490,"nodeType":"UserDefinedTypeName","pathNode":{"id":66489,"name":"StrategyStruct.PointSystem","nameLocations":["1492:14:95","1507:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"1492:26:95"},"referencedDeclaration":66503,"src":"1492:26:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1491:28:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[66494],"name":"IPointStrategy","nameLocation":"1174:14:95","scope":70169,"usedErrors":[]},{"id":66616,"nodeType":"ContractDefinition","src":"1524:2413:95","nodes":[{"id":66498,"nodeType":"EnumDefinition","src":"1553:79:95","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":66495,"name":"Signaling","nameLocation":"1581:9:95","nodeType":"EnumValue","src":"1581:9:95"},{"id":66496,"name":"Funding","nameLocation":"1600:7:95","nodeType":"EnumValue","src":"1600:7:95"},{"id":66497,"name":"Streaming","nameLocation":"1617:9:95","nodeType":"EnumValue","src":"1617:9:95"}],"name":"ProposalType","nameLocation":"1558:12:95"},{"id":66503,"nodeType":"EnumDefinition","src":"1638:92:95","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":66499,"name":"Fixed","nameLocation":"1665:5:95","nodeType":"EnumValue","src":"1665:5:95"},{"id":66500,"name":"Capped","nameLocation":"1680:6:95","nodeType":"EnumValue","src":"1680:6:95"},{"id":66501,"name":"Unlimited","nameLocation":"1696:9:95","nodeType":"EnumValue","src":"1696:9:95"},{"id":66502,"name":"Quadratic","nameLocation":"1715:9:95","nodeType":"EnumValue","src":"1715:9:95"}],"name":"PointSystem","nameLocation":"1643:11:95"},{"id":66515,"nodeType":"StructDefinition","src":"1736:243:95","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":66505,"mutability":"mutable","name":"poolId","nameLocation":"1807:6:95","nodeType":"VariableDeclaration","scope":66515,"src":"1799:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66504,"name":"uint256","nodeType":"ElementaryTypeName","src":"1799:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66507,"mutability":"mutable","name":"beneficiary","nameLocation":"1831:11:95","nodeType":"VariableDeclaration","scope":66515,"src":"1823:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66506,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66509,"mutability":"mutable","name":"amountRequested","nameLocation":"1898:15:95","nodeType":"VariableDeclaration","scope":66515,"src":"1890:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66508,"name":"uint256","nodeType":"ElementaryTypeName","src":"1890:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66511,"mutability":"mutable","name":"requestedToken","nameLocation":"1931:14:95","nodeType":"VariableDeclaration","scope":66515,"src":"1923:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66510,"name":"address","nodeType":"ElementaryTypeName","src":"1923:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66514,"mutability":"mutable","name":"metadata","nameLocation":"1964:8:95","nodeType":"VariableDeclaration","scope":66515,"src":"1955:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":66513,"nodeType":"UserDefinedTypeName","pathNode":{"id":66512,"name":"Metadata","nameLocations":["1955:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1955:8:95"},"referencedDeclaration":3098,"src":"1955:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1743:14:95","scope":66616,"visibility":"public"},{"id":66523,"nodeType":"EnumDefinition","src":"1985:391:95","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":66516,"name":"Inactive","nameLocation":"2015:8:95","nodeType":"EnumValue","src":"2015:8:95"},{"id":66517,"name":"Active","nameLocation":"2045:6:95","nodeType":"EnumValue","src":"2045:6:95"},{"id":66518,"name":"Paused","nameLocation":"2108:6:95","nodeType":"EnumValue","src":"2108:6:95"},{"id":66519,"name":"Cancelled","nameLocation":"2173:9:95","nodeType":"EnumValue","src":"2173:9:95"},{"id":66520,"name":"Executed","nameLocation":"2226:8:95","nodeType":"EnumValue","src":"2226:8:95"},{"id":66521,"name":"Disputed","nameLocation":"2277:8:95","nodeType":"EnumValue","src":"2277:8:95"},{"id":66522,"name":"Rejected","nameLocation":"2328:8:95","nodeType":"EnumValue","src":"2328:8:95"}],"name":"ProposalStatus","nameLocation":"1990:14:95"},{"id":66530,"nodeType":"StructDefinition","src":"2382:123:95","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":66525,"mutability":"mutable","name":"disputeId","nameLocation":"2427:9:95","nodeType":"VariableDeclaration","scope":66530,"src":"2419:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66524,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66527,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2454:16:95","nodeType":"VariableDeclaration","scope":66530,"src":"2446:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66526,"name":"uint256","nodeType":"ElementaryTypeName","src":"2446:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66529,"mutability":"mutable","name":"challenger","nameLocation":"2488:10:95","nodeType":"VariableDeclaration","scope":66530,"src":"2480:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66528,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2389:19:95","scope":66616,"visibility":"public"},{"id":66564,"nodeType":"StructDefinition","src":"2511:526:95","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":66532,"mutability":"mutable","name":"proposalId","nameLocation":"2545:10:95","nodeType":"VariableDeclaration","scope":66564,"src":"2537:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66531,"name":"uint256","nodeType":"ElementaryTypeName","src":"2537:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66534,"mutability":"mutable","name":"requestedAmount","nameLocation":"2573:15:95","nodeType":"VariableDeclaration","scope":66564,"src":"2565:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66533,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66536,"mutability":"mutable","name":"stakedAmount","nameLocation":"2606:12:95","nodeType":"VariableDeclaration","scope":66564,"src":"2598:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66535,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66538,"mutability":"mutable","name":"convictionLast","nameLocation":"2636:14:95","nodeType":"VariableDeclaration","scope":66564,"src":"2628:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66537,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66540,"mutability":"mutable","name":"beneficiary","nameLocation":"2668:11:95","nodeType":"VariableDeclaration","scope":66564,"src":"2660:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66539,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66542,"mutability":"mutable","name":"submitter","nameLocation":"2697:9:95","nodeType":"VariableDeclaration","scope":66564,"src":"2689:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66541,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66544,"mutability":"mutable","name":"requestedToken","nameLocation":"2724:14:95","nodeType":"VariableDeclaration","scope":66564,"src":"2716:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66543,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66546,"mutability":"mutable","name":"blockLast","nameLocation":"2756:9:95","nodeType":"VariableDeclaration","scope":66564,"src":"2748:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66545,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66549,"mutability":"mutable","name":"proposalStatus","nameLocation":"2790:14:95","nodeType":"VariableDeclaration","scope":66564,"src":"2775:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":66548,"nodeType":"UserDefinedTypeName","pathNode":{"id":66547,"name":"ProposalStatus","nameLocations":["2775:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66523,"src":"2775:14:95"},"referencedDeclaration":66523,"src":"2775:14:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":66553,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2842:17:95","nodeType":"VariableDeclaration","scope":66564,"src":"2814:45:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":66552,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66550,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2814:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66551,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":66556,"mutability":"mutable","name":"metadata","nameLocation":"2901:8:95","nodeType":"VariableDeclaration","scope":66564,"src":"2892:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":66555,"nodeType":"UserDefinedTypeName","pathNode":{"id":66554,"name":"Metadata","nameLocations":["2892:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2892:8:95"},"referencedDeclaration":3098,"src":"2892:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":66559,"mutability":"mutable","name":"disputeInfo","nameLocation":"2939:11:95","nodeType":"VariableDeclaration","scope":66564,"src":"2919:31:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":66558,"nodeType":"UserDefinedTypeName","pathNode":{"id":66557,"name":"ProposalDisputeInfo","nameLocations":["2919:19:95"],"nodeType":"IdentifierPath","referencedDeclaration":66530,"src":"2919:19:95"},"referencedDeclaration":66530,"src":"2919:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":66561,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2968:21:95","nodeType":"VariableDeclaration","scope":66564,"src":"2960:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66560,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66563,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"3007:23:95","nodeType":"VariableDeclaration","scope":66564,"src":"2999:31:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66562,"name":"uint256","nodeType":"ElementaryTypeName","src":"2999:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2518:8:95","scope":66616,"visibility":"public"},{"id":66569,"nodeType":"StructDefinition","src":"3043:126:95","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":66566,"mutability":"mutable","name":"proposalId","nameLocation":"3084:10:95","nodeType":"VariableDeclaration","scope":66569,"src":"3076:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66565,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66568,"mutability":"mutable","name":"deltaSupport","nameLocation":"3111:12:95","nodeType":"VariableDeclaration","scope":66569,"src":"3104:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":66567,"name":"int256","nodeType":"ElementaryTypeName","src":"3104:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3050:15:95","scope":66616,"visibility":"public"},{"id":66572,"nodeType":"StructDefinition","src":"3175:89:95","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":66571,"mutability":"mutable","name":"maxAmount","nameLocation":"3248:9:95","nodeType":"VariableDeclaration","scope":66572,"src":"3240:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66570,"name":"uint256","nodeType":"ElementaryTypeName","src":"3240:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3182:17:95","scope":66616,"visibility":"public"},{"id":66586,"nodeType":"StructDefinition","src":"3270:249:95","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":66575,"mutability":"mutable","name":"arbitrator","nameLocation":"3316:10:95","nodeType":"VariableDeclaration","scope":66586,"src":"3304:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":66574,"nodeType":"UserDefinedTypeName","pathNode":{"id":66573,"name":"IArbitrator","nameLocations":["3304:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"3304:11:95"},"referencedDeclaration":74765,"src":"3304:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":66577,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3344:12:95","nodeType":"VariableDeclaration","scope":66586,"src":"3336:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66576,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66579,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3374:25:95","nodeType":"VariableDeclaration","scope":66586,"src":"3366:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66578,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66581,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3417:26:95","nodeType":"VariableDeclaration","scope":66586,"src":"3409:34:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66580,"name":"uint256","nodeType":"ElementaryTypeName","src":"3409:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66583,"mutability":"mutable","name":"defaultRuling","nameLocation":"3461:13:95","nodeType":"VariableDeclaration","scope":66586,"src":"3453:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66582,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66585,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3492:20:95","nodeType":"VariableDeclaration","scope":66586,"src":"3484:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66584,"name":"uint256","nodeType":"ElementaryTypeName","src":"3484:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3277:16:95","scope":66616,"visibility":"public"},{"id":66595,"nodeType":"StructDefinition","src":"3525:132:95","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":66588,"mutability":"mutable","name":"maxRatio","nameLocation":"3559:8:95","nodeType":"VariableDeclaration","scope":66595,"src":"3551:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66587,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66590,"mutability":"mutable","name":"weight","nameLocation":"3585:6:95","nodeType":"VariableDeclaration","scope":66595,"src":"3577:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66589,"name":"uint256","nodeType":"ElementaryTypeName","src":"3577:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66592,"mutability":"mutable","name":"decay","nameLocation":"3609:5:95","nodeType":"VariableDeclaration","scope":66595,"src":"3601:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66591,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66594,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3632:18:95","nodeType":"VariableDeclaration","scope":66595,"src":"3624:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66593,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3532:8:95","scope":66616,"visibility":"public"},{"id":66615,"nodeType":"StructDefinition","src":"3663:272:95","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":66598,"mutability":"mutable","name":"cvParams","nameLocation":"3706:8:95","nodeType":"VariableDeclaration","scope":66615,"src":"3697:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":66597,"nodeType":"UserDefinedTypeName","pathNode":{"id":66596,"name":"CVParams","nameLocations":["3697:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"3697:8:95"},"referencedDeclaration":66595,"src":"3697:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":66601,"mutability":"mutable","name":"proposalType","nameLocation":"3737:12:95","nodeType":"VariableDeclaration","scope":66615,"src":"3724:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":66600,"nodeType":"UserDefinedTypeName","pathNode":{"id":66599,"name":"ProposalType","nameLocations":["3724:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":66498,"src":"3724:12:95"},"referencedDeclaration":66498,"src":"3724:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":66604,"mutability":"mutable","name":"pointSystem","nameLocation":"3771:11:95","nodeType":"VariableDeclaration","scope":66615,"src":"3759:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66603,"nodeType":"UserDefinedTypeName","pathNode":{"id":66602,"name":"PointSystem","nameLocations":["3759:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"3759:11:95"},"referencedDeclaration":66503,"src":"3759:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":66607,"mutability":"mutable","name":"pointConfig","nameLocation":"3810:11:95","nodeType":"VariableDeclaration","scope":66615,"src":"3792:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":66606,"nodeType":"UserDefinedTypeName","pathNode":{"id":66605,"name":"PointSystemConfig","nameLocations":["3792:17:95"],"nodeType":"IdentifierPath","referencedDeclaration":66572,"src":"3792:17:95"},"referencedDeclaration":66572,"src":"3792:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":66610,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3848:16:95","nodeType":"VariableDeclaration","scope":66615,"src":"3831:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":66609,"nodeType":"UserDefinedTypeName","pathNode":{"id":66608,"name":"ArbitrableConfig","nameLocations":["3831:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"3831:16:95"},"referencedDeclaration":66586,"src":"3831:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":66612,"mutability":"mutable","name":"registryCommunity","nameLocation":"3882:17:95","nodeType":"VariableDeclaration","scope":66615,"src":"3874:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66611,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66614,"mutability":"mutable","name":"sybilScorer","nameLocation":"3917:11:95","nodeType":"VariableDeclaration","scope":66615,"src":"3909:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66613,"name":"address","nodeType":"ElementaryTypeName","src":"3909:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3670:16:95","scope":66616,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[66616],"name":"StrategyStruct","nameLocation":"1532:14:95","scope":70169,"usedErrors":[]},{"id":70168,"nodeType":"ContractDefinition","src":"3983:51118:95","nodes":[{"id":66627,"nodeType":"ErrorDefinition","src":"4243:25:95","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4249:16:95","parameters":{"id":66626,"nodeType":"ParameterList","parameters":[],"src":"4265:2:95"}},{"id":66629,"nodeType":"ErrorDefinition","src":"4287:26:95","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4293:17:95","parameters":{"id":66628,"nodeType":"ParameterList","parameters":[],"src":"4310:2:95"}},{"id":66631,"nodeType":"ErrorDefinition","src":"4331:23:95","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4337:14:95","parameters":{"id":66630,"nodeType":"ParameterList","parameters":[],"src":"4351:2:95"}},{"id":66633,"nodeType":"ErrorDefinition","src":"4373:20:95","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4379:11:95","parameters":{"id":66632,"nodeType":"ParameterList","parameters":[],"src":"4390:2:95"}},{"id":66635,"nodeType":"ErrorDefinition","src":"4412:23:95","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4418:14:95","parameters":{"id":66634,"nodeType":"ParameterList","parameters":[],"src":"4432:2:95"}},{"id":66637,"nodeType":"ErrorDefinition","src":"4453:26:95","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4459:17:95","parameters":{"id":66636,"nodeType":"ParameterList","parameters":[],"src":"4476:2:95"}},{"id":66639,"nodeType":"ErrorDefinition","src":"4497:24:95","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4503:15:95","parameters":{"id":66638,"nodeType":"ParameterList","parameters":[],"src":"4518:2:95"}},{"id":66641,"nodeType":"ErrorDefinition","src":"4540:27:95","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4546:18:95","parameters":{"id":66640,"nodeType":"ParameterList","parameters":[],"src":"4564:2:95"}},{"id":66643,"nodeType":"ErrorDefinition","src":"4586:27:95","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4592:18:95","parameters":{"id":66642,"nodeType":"ParameterList","parameters":[],"src":"4610:2:95"}},{"id":66645,"nodeType":"ErrorDefinition","src":"4631:28:95","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4637:19:95","parameters":{"id":66644,"nodeType":"ParameterList","parameters":[],"src":"4656:2:95"}},{"id":66647,"nodeType":"ErrorDefinition","src":"4677:29:95","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4683:20:95","parameters":{"id":66646,"nodeType":"ParameterList","parameters":[],"src":"4703:2:95"}},{"id":66655,"nodeType":"ErrorDefinition","src":"4725:72:95","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4731:16:95","parameters":{"id":66654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66649,"mutability":"mutable","name":"_support","nameLocation":"4756:8:95","nodeType":"VariableDeclaration","scope":66655,"src":"4748:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66648,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66651,"mutability":"mutable","name":"_delta","nameLocation":"4773:6:95","nodeType":"VariableDeclaration","scope":66655,"src":"4766:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":66650,"name":"int256","nodeType":"ElementaryTypeName","src":"4766:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":66653,"mutability":"mutable","name":"_result","nameLocation":"4788:7:95","nodeType":"VariableDeclaration","scope":66655,"src":"4781:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":66652,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4747:49:95"}},{"id":66657,"nodeType":"ErrorDefinition","src":"4816:25:95","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4822:16:95","parameters":{"id":66656,"nodeType":"ParameterList","parameters":[],"src":"4838:2:95"}},{"id":66659,"nodeType":"ErrorDefinition","src":"4860:32:95","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4866:23:95","parameters":{"id":66658,"nodeType":"ParameterList","parameters":[],"src":"4889:2:95"}},{"id":66665,"nodeType":"ErrorDefinition","src":"4911:77:95","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4917:24:95","parameters":{"id":66664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66661,"mutability":"mutable","name":"pointsSupport","nameLocation":"4950:13:95","nodeType":"VariableDeclaration","scope":66665,"src":"4942:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66660,"name":"uint256","nodeType":"ElementaryTypeName","src":"4942:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66663,"mutability":"mutable","name":"pointsBalance","nameLocation":"4973:13:95","nodeType":"VariableDeclaration","scope":66665,"src":"4965:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66662,"name":"uint256","nodeType":"ElementaryTypeName","src":"4965:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4941:46:95"}},{"id":66667,"nodeType":"ErrorDefinition","src":"5008:28:95","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5014:19:95","parameters":{"id":66666,"nodeType":"ParameterList","parameters":[],"src":"5033:2:95"}},{"id":66669,"nodeType":"ErrorDefinition","src":"5054:31:95","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5060:22:95","parameters":{"id":66668,"nodeType":"ParameterList","parameters":[],"src":"5082:2:95"}},{"id":66673,"nodeType":"ErrorDefinition","src":"5103:45:95","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5109:17:95","parameters":{"id":66672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66671,"mutability":"mutable","name":"_proposalId","nameLocation":"5135:11:95","nodeType":"VariableDeclaration","scope":66673,"src":"5127:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66670,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:21:95"}},{"id":66677,"nodeType":"ErrorDefinition","src":"5167:45:95","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5173:17:95","parameters":{"id":66676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66675,"mutability":"mutable","name":"_proposalId","nameLocation":"5199:11:95","nodeType":"VariableDeclaration","scope":66677,"src":"5191:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66674,"name":"uint256","nodeType":"ElementaryTypeName","src":"5191:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5190:21:95"}},{"id":66683,"nodeType":"ErrorDefinition","src":"5231:68:95","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5237:25:95","parameters":{"id":66682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66679,"mutability":"mutable","name":"_proposalId","nameLocation":"5271:11:95","nodeType":"VariableDeclaration","scope":66683,"src":"5263:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66678,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66681,"mutability":"mutable","name":"index","nameLocation":"5292:5:95","nodeType":"VariableDeclaration","scope":66683,"src":"5284:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66680,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5262:36:95"}},{"id":66685,"nodeType":"ErrorDefinition","src":"5317:40:95","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5323:31:95","parameters":{"id":66684,"nodeType":"ParameterList","parameters":[],"src":"5354:2:95"}},{"id":66687,"nodeType":"ErrorDefinition","src":"5376:29:95","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5382:20:95","parameters":{"id":66686,"nodeType":"ParameterList","parameters":[],"src":"5402:2:95"}},{"id":66695,"nodeType":"ErrorDefinition","src":"5424:94:95","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5430:19:95","parameters":{"id":66694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66689,"mutability":"mutable","name":"_proposalId","nameLocation":"5458:11:95","nodeType":"VariableDeclaration","scope":66695,"src":"5450:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66688,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66691,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5479:16:95","nodeType":"VariableDeclaration","scope":66695,"src":"5471:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66690,"name":"uint256","nodeType":"ElementaryTypeName","src":"5471:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66693,"mutability":"mutable","name":"_poolAmount","nameLocation":"5505:11:95","nodeType":"VariableDeclaration","scope":66695,"src":"5497:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66692,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5449:68:95"}},{"id":66697,"nodeType":"ErrorDefinition","src":"5536:24:95","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5542:15:95","parameters":{"id":66696,"nodeType":"ParameterList","parameters":[],"src":"5557:2:95"}},{"id":66699,"nodeType":"ErrorDefinition","src":"5565:32:95","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5571:23:95","parameters":{"id":66698,"nodeType":"ParameterList","parameters":[],"src":"5594:2:95"}},{"id":66705,"nodeType":"ErrorDefinition","src":"5602:73:95","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5608:22:95","parameters":{"id":66704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66701,"mutability":"mutable","name":"sentAmount","nameLocation":"5639:10:95","nodeType":"VariableDeclaration","scope":66705,"src":"5631:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66700,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66703,"mutability":"mutable","name":"requiredAmount","nameLocation":"5659:14:95","nodeType":"VariableDeclaration","scope":66705,"src":"5651:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66702,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5630:44:95"}},{"id":66707,"nodeType":"ErrorDefinition","src":"5680:23:95","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5686:14:95","parameters":{"id":66706,"nodeType":"ParameterList","parameters":[],"src":"5700:2:95"}},{"id":66711,"nodeType":"ErrorDefinition","src":"5708:47:95","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5714:19:95","parameters":{"id":66710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66709,"mutability":"mutable","name":"_proposalId","nameLocation":"5742:11:95","nodeType":"VariableDeclaration","scope":66711,"src":"5734:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66708,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:21:95"}},{"id":66713,"nodeType":"ErrorDefinition","src":"5760:31:95","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5766:22:95","parameters":{"id":66712,"nodeType":"ParameterList","parameters":[],"src":"5788:2:95"}},{"id":66719,"nodeType":"ErrorDefinition","src":"5796:55:95","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5802:13:95","parameters":{"id":66718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66715,"mutability":"mutable","name":"submitter","nameLocation":"5824:9:95","nodeType":"VariableDeclaration","scope":66719,"src":"5816:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66714,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66717,"mutability":"mutable","name":"sender","nameLocation":"5843:6:95","nodeType":"VariableDeclaration","scope":66719,"src":"5835:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66716,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5815:35:95"}},{"id":66721,"nodeType":"ErrorDefinition","src":"5937:28:95","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5943:19:95","parameters":{"id":66720,"nodeType":"ParameterList","parameters":[],"src":"5962:2:95"}},{"id":66727,"nodeType":"ErrorDefinition","src":"5970:75:95","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5976:24:95","parameters":{"id":66726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66723,"mutability":"mutable","name":"_proposalId","nameLocation":"6009:11:95","nodeType":"VariableDeclaration","scope":66727,"src":"6001:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66722,"name":"uint256","nodeType":"ElementaryTypeName","src":"6001:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66725,"mutability":"mutable","name":"_remainingSec","nameLocation":"6030:13:95","nodeType":"VariableDeclaration","scope":66727,"src":"6022:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66724,"name":"uint256","nodeType":"ElementaryTypeName","src":"6022:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6000:44:95"}},{"id":66734,"nodeType":"EventDefinition","src":"6217:74:95","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6223:13:95","parameters":{"id":66733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66729,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6245:6:95","nodeType":"VariableDeclaration","scope":66734,"src":"6237:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66728,"name":"uint256","nodeType":"ElementaryTypeName","src":"6237:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66732,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6285:4:95","nodeType":"VariableDeclaration","scope":66734,"src":"6253:36:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":66731,"nodeType":"UserDefinedTypeName","pathNode":{"id":66730,"name":"StrategyStruct.InitializeParams","nameLocations":["6253:14:95","6268:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"6253:31:95"},"referencedDeclaration":66615,"src":"6253:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6236:54:95"}},{"id":66742,"nodeType":"EventDefinition","src":"6296:75:95","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6302:11:95","parameters":{"id":66741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66736,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6322:10:95","nodeType":"VariableDeclaration","scope":66742,"src":"6314:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66735,"name":"uint256","nodeType":"ElementaryTypeName","src":"6314:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66738,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6342:11:95","nodeType":"VariableDeclaration","scope":66742,"src":"6334:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66737,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66740,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6363:6:95","nodeType":"VariableDeclaration","scope":66742,"src":"6355:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66739,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6313:57:95"}},{"id":66748,"nodeType":"EventDefinition","src":"6376:58:95","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6382:15:95","parameters":{"id":66747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66744,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6406:6:95","nodeType":"VariableDeclaration","scope":66748,"src":"6398:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66743,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66746,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6422:10:95","nodeType":"VariableDeclaration","scope":66748,"src":"6414:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66745,"name":"uint256","nodeType":"ElementaryTypeName","src":"6414:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:36:95"}},{"id":66752,"nodeType":"EventDefinition","src":"6439:42:95","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6445:19:95","parameters":{"id":66751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66750,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6473:6:95","nodeType":"VariableDeclaration","scope":66752,"src":"6465:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66749,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:16:95"}},{"id":66756,"nodeType":"EventDefinition","src":"6486:40:95","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6492:17:95","parameters":{"id":66755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66754,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6518:6:95","nodeType":"VariableDeclaration","scope":66756,"src":"6510:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66753,"name":"address","nodeType":"ElementaryTypeName","src":"6510:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6509:16:95"}},{"id":66764,"nodeType":"EventDefinition","src":"6531:85:95","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6537:14:95","parameters":{"id":66763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66758,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6560:6:95","nodeType":"VariableDeclaration","scope":66764,"src":"6552:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66757,"name":"address","nodeType":"ElementaryTypeName","src":"6552:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66760,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6576:12:95","nodeType":"VariableDeclaration","scope":66764,"src":"6568:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66759,"name":"uint256","nodeType":"ElementaryTypeName","src":"6568:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66762,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6598:16:95","nodeType":"VariableDeclaration","scope":66764,"src":"6590:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66761,"name":"uint256","nodeType":"ElementaryTypeName","src":"6590:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:64:95"}},{"id":66772,"nodeType":"EventDefinition","src":"6621:87:95","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6627:14:95","parameters":{"id":66771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66766,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6650:6:95","nodeType":"VariableDeclaration","scope":66772,"src":"6642:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66765,"name":"address","nodeType":"ElementaryTypeName","src":"6642:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66768,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6666:14:95","nodeType":"VariableDeclaration","scope":66772,"src":"6658:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66767,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66770,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6690:16:95","nodeType":"VariableDeclaration","scope":66772,"src":"6682:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66769,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6641:66:95"}},{"id":66784,"nodeType":"EventDefinition","src":"6713:134:95","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6719:12:95","parameters":{"id":66783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66774,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6749:4:95","nodeType":"VariableDeclaration","scope":66784,"src":"6741:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66773,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66776,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6763:10:95","nodeType":"VariableDeclaration","scope":66784,"src":"6755:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66775,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66778,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6783:6:95","nodeType":"VariableDeclaration","scope":66784,"src":"6775:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66777,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66780,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6799:17:95","nodeType":"VariableDeclaration","scope":66784,"src":"6791:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66779,"name":"uint256","nodeType":"ElementaryTypeName","src":"6791:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66782,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6826:14:95","nodeType":"VariableDeclaration","scope":66784,"src":"6818:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66781,"name":"uint256","nodeType":"ElementaryTypeName","src":"6818:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6731:115:95"}},{"id":66789,"nodeType":"EventDefinition","src":"6852:56:95","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6858:15:95","parameters":{"id":66788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66787,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6898:8:95","nodeType":"VariableDeclaration","scope":66789,"src":"6874:32:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":66786,"nodeType":"UserDefinedTypeName","pathNode":{"id":66785,"name":"StrategyStruct.CVParams","nameLocations":["6874:14:95","6889:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"6874:23:95"},"referencedDeclaration":66595,"src":"6874:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"6873:34:95"}},{"id":66793,"nodeType":"EventDefinition","src":"6913:49:95","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6919:15:95","parameters":{"id":66792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66791,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6943:17:95","nodeType":"VariableDeclaration","scope":66793,"src":"6935:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66790,"name":"address","nodeType":"ElementaryTypeName","src":"6935:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6934:27:95"}},{"id":66799,"nodeType":"EventDefinition","src":"6967:76:95","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6973:25:95","parameters":{"id":66798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66795,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7007:6:95","nodeType":"VariableDeclaration","scope":66799,"src":"6999:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66794,"name":"uint256","nodeType":"ElementaryTypeName","src":"6999:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66797,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7023:18:95","nodeType":"VariableDeclaration","scope":66799,"src":"7015:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66796,"name":"uint256","nodeType":"ElementaryTypeName","src":"7015:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6998:44:95"}},{"id":66814,"nodeType":"EventDefinition","src":"7048:195:95","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7054:16:95","parameters":{"id":66813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66802,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7092:10:95","nodeType":"VariableDeclaration","scope":66814,"src":"7080:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":66801,"nodeType":"UserDefinedTypeName","pathNode":{"id":66800,"name":"IArbitrator","nameLocations":["7080:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"7080:11:95"},"referencedDeclaration":74765,"src":"7080:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":66804,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7120:10:95","nodeType":"VariableDeclaration","scope":66814,"src":"7112:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66803,"name":"uint256","nodeType":"ElementaryTypeName","src":"7112:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66806,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7148:9:95","nodeType":"VariableDeclaration","scope":66814,"src":"7140:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66805,"name":"uint256","nodeType":"ElementaryTypeName","src":"7140:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66808,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7175:10:95","nodeType":"VariableDeclaration","scope":66814,"src":"7167:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66807,"name":"address","nodeType":"ElementaryTypeName","src":"7167:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66810,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7202:7:95","nodeType":"VariableDeclaration","scope":66814,"src":"7195:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66809,"name":"string","nodeType":"ElementaryTypeName","src":"7195:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":66812,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7227:9:95","nodeType":"VariableDeclaration","scope":66814,"src":"7219:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66811,"name":"uint256","nodeType":"ElementaryTypeName","src":"7219:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:172:95"}},{"id":66822,"nodeType":"EventDefinition","src":"7248:88:95","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7254:21:95","parameters":{"id":66821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66816,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7284:8:95","nodeType":"VariableDeclaration","scope":66822,"src":"7276:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66815,"name":"address","nodeType":"ElementaryTypeName","src":"7276:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66818,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7302:10:95","nodeType":"VariableDeclaration","scope":66822,"src":"7294:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66817,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66820,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7322:12:95","nodeType":"VariableDeclaration","scope":66822,"src":"7314:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66819,"name":"address","nodeType":"ElementaryTypeName","src":"7314:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7275:60:95"}},{"id":66826,"nodeType":"EventDefinition","src":"7341:44:95","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7347:17:95","parameters":{"id":66825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66824,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7373:10:95","nodeType":"VariableDeclaration","scope":66826,"src":"7365:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66823,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7364:20:95"}},{"id":66843,"nodeType":"EventDefinition","src":"7390:302:95","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7396:23:95","parameters":{"id":66842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66828,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7437:30:95","nodeType":"VariableDeclaration","scope":66843,"src":"7429:38:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66827,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66831,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7489:10:95","nodeType":"VariableDeclaration","scope":66843,"src":"7477:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":66830,"nodeType":"UserDefinedTypeName","pathNode":{"id":66829,"name":"IArbitrator","nameLocations":["7477:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"7477:11:95"},"referencedDeclaration":74765,"src":"7477:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":66833,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7517:12:95","nodeType":"VariableDeclaration","scope":66843,"src":"7509:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66832,"name":"address","nodeType":"ElementaryTypeName","src":"7509:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66835,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7547:25:95","nodeType":"VariableDeclaration","scope":66843,"src":"7539:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66834,"name":"uint256","nodeType":"ElementaryTypeName","src":"7539:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66837,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7590:26:95","nodeType":"VariableDeclaration","scope":66843,"src":"7582:34:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66836,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66839,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7634:13:95","nodeType":"VariableDeclaration","scope":66843,"src":"7626:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66838,"name":"uint256","nodeType":"ElementaryTypeName","src":"7626:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66841,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7665:20:95","nodeType":"VariableDeclaration","scope":66843,"src":"7657:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66840,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7419:272:95"}},{"id":66846,"nodeType":"VariableDeclaration","src":"8066:38:95","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"8089:7:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66844,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":66845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8099:5:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":66849,"nodeType":"VariableDeclaration","src":"8110:36:95","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"8134:1:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66847,"name":"uint256","nodeType":"ElementaryTypeName","src":"8110:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":66848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8138:8:95","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":66852,"nodeType":"VariableDeclaration","src":"8160:71:95","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"8186:7:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66850,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":66851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8196:35:95","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":66855,"nodeType":"VariableDeclaration","src":"8247:70:95","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8273:7:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66853,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":66854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8283:34:95","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":66858,"nodeType":"VariableDeclaration","src":"8333:54:95","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8359:6:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66856,"name":"uint256","nodeType":"ElementaryTypeName","src":"8333:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":66857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:19:95","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":66861,"nodeType":"VariableDeclaration","src":"8402:49:95","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8426:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66859,"name":"uint256","nodeType":"ElementaryTypeName","src":"8402:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":66860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8449:2:95","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":66864,"nodeType":"VariableDeclaration","src":"8537:42:95","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8561:14:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66862,"name":"uint256","nodeType":"ElementaryTypeName","src":"8537:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":66863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8578:1:95","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":66867,"nodeType":"VariableDeclaration","src":"8585:54:95","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8609:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66865,"name":"uint256","nodeType":"ElementaryTypeName","src":"8585:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":66866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8632:7:95","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":66869,"nodeType":"VariableDeclaration","src":"8646:40:95","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8663:23:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66868,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":66871,"nodeType":"VariableDeclaration","src":"8734:47:95","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8751:30:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66870,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":66873,"nodeType":"VariableDeclaration","src":"8825:25:95","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8840:10:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66872,"name":"uint256","nodeType":"ElementaryTypeName","src":"8825:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66875,"nodeType":"VariableDeclaration","src":"8856:26:95","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8870:12:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":66874,"name":"uint64","nodeType":"ElementaryTypeName","src":"8856:6:95","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":66877,"nodeType":"VariableDeclaration","src":"8888:30:95","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8903:15:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66876,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66879,"nodeType":"VariableDeclaration","src":"8924:45:95","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8939:30:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66878,"name":"uint256","nodeType":"ElementaryTypeName","src":"8924:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66881,"nodeType":"VariableDeclaration","src":"8976:26:95","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8991:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66880,"name":"uint256","nodeType":"ElementaryTypeName","src":"8976:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66883,"nodeType":"VariableDeclaration","src":"9008:35:95","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"9023:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66882,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66886,"nodeType":"VariableDeclaration","src":"9050:39:95","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"9081:8:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":66885,"nodeType":"UserDefinedTypeName","pathNode":{"id":66884,"name":"StrategyStruct.CVParams","nameLocations":["9050:14:95","9065:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"9050:23:95"},"referencedDeclaration":66595,"src":"9050:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":66889,"nodeType":"VariableDeclaration","src":"9136:47:95","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"9171:12:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":66888,"nodeType":"UserDefinedTypeName","pathNode":{"id":66887,"name":"StrategyStruct.ProposalType","nameLocations":["9136:14:95","9151:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":66498,"src":"9136:27:95"},"referencedDeclaration":66498,"src":"9136:27:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":66892,"nodeType":"VariableDeclaration","src":"9242:45:95","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9276:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66891,"nodeType":"UserDefinedTypeName","pathNode":{"id":66890,"name":"StrategyStruct.PointSystem","nameLocations":["9242:14:95","9257:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"9242:26:95"},"referencedDeclaration":66503,"src":"9242:26:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":66895,"nodeType":"VariableDeclaration","src":"9293:51:95","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9333:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":66894,"nodeType":"UserDefinedTypeName","pathNode":{"id":66893,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9293:14:95","9308:17:95"],"nodeType":"IdentifierPath","referencedDeclaration":66572,"src":"9293:32:95"},"referencedDeclaration":66572,"src":"9293:32:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":66898,"nodeType":"VariableDeclaration","src":"9377:46:95","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9406:17:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":66897,"nodeType":"UserDefinedTypeName","pathNode":{"id":66896,"name":"RegistryCommunityV0_0","nameLocations":["9377:21:95"],"nodeType":"IdentifierPath","referencedDeclaration":73113,"src":"9377:21:95"},"referencedDeclaration":73113,"src":"9377:21:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":66901,"nodeType":"VariableDeclaration","src":"9430:39:95","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9454:15:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"},"typeName":{"id":66900,"nodeType":"UserDefinedTypeName","pathNode":{"id":66899,"name":"ICollateralVault","nameLocations":["9430:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":74798,"src":"9430:16:95"},"referencedDeclaration":74798,"src":"9430:16:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":66904,"nodeType":"VariableDeclaration","src":"9475:31:95","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9495:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"},"typeName":{"id":66903,"nodeType":"UserDefinedTypeName","pathNode":{"id":66902,"name":"ISybilScorer","nameLocations":["9475:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":70536,"src":"9475:12:95"},"referencedDeclaration":70536,"src":"9475:12:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":66909,"nodeType":"VariableDeclaration","src":"9573:60:95","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9624:9:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":66908,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66905,"name":"uint256","nodeType":"ElementaryTypeName","src":"9581:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9573:43:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66907,"nodeType":"UserDefinedTypeName","pathNode":{"id":66906,"name":"StrategyStruct.Proposal","nameLocations":["9592:14:95","9607:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"9592:23:95"},"referencedDeclaration":66564,"src":"9592:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":66913,"nodeType":"VariableDeclaration","src":"9689:53:95","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9724:18:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":66912,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66910,"name":"address","nodeType":"ElementaryTypeName","src":"9697:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9689:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66911,"name":"uint256","nodeType":"ElementaryTypeName","src":"9708:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":66918,"nodeType":"VariableDeclaration","src":"9780:57:95","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9817:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":66917,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66914,"name":"address","nodeType":"ElementaryTypeName","src":"9788:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9780:29:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":66915,"name":"uint256","nodeType":"ElementaryTypeName","src":"9799:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66916,"nodeType":"ArrayTypeName","src":"9799:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":66922,"nodeType":"VariableDeclaration","src":"9875:56:95","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9910:21:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":66921,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66919,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9875:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66920,"name":"uint256","nodeType":"ElementaryTypeName","src":"9894:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":66927,"nodeType":"VariableDeclaration","src":"9937:76:95","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9996:17:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"typeName":{"id":66926,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66923,"name":"uint256","nodeType":"ElementaryTypeName","src":"9945:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9937:51:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66925,"nodeType":"UserDefinedTypeName","pathNode":{"id":66924,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9956:14:95","9971:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"9956:31:95"},"referencedDeclaration":66586,"src":"9956:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}}},"visibility":"public"},{"id":66951,"nodeType":"FunctionDefinition","src":"10266:222:95","nodes":[],"body":{"id":66950,"nodeType":"Block","src":"10373:115:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":66941,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66929,"src":"10394:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":66942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10401:12:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":66943,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66933,"src":"10415:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66938,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10383:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$70168_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":66940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10389:4:95","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":65875,"src":"10383:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":66944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10383:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66945,"nodeType":"ExpressionStatement","src":"10383:38:95"},{"expression":{"id":66948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66946,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66869,"src":"10431:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66947,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66931,"src":"10457:24:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10431:50:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66949,"nodeType":"ExpressionStatement","src":"10431:50:95"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":66936,"kind":"modifierInvocation","modifierName":{"id":66935,"name":"initializer","nameLocations":["10361:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"10361:11:95"},"nodeType":"ModifierInvocation","src":"10361:11:95"}],"name":"init","nameLocation":"10275:4:95","parameters":{"id":66934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66929,"mutability":"mutable","name":"_allo","nameLocation":"10288:5:95","nodeType":"VariableDeclaration","scope":66951,"src":"10280:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66928,"name":"address","nodeType":"ElementaryTypeName","src":"10280:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66931,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10303:24:95","nodeType":"VariableDeclaration","scope":66951,"src":"10295:32:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66930,"name":"address","nodeType":"ElementaryTypeName","src":"10295:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66933,"mutability":"mutable","name":"owner","nameLocation":"10337:5:95","nodeType":"VariableDeclaration","scope":66951,"src":"10329:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66932,"name":"address","nodeType":"ElementaryTypeName","src":"10329:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10279:64:95"},"returnParameters":{"id":66937,"nodeType":"ParameterList","parameters":[],"src":"10373:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67047,"nodeType":"FunctionDefinition","src":"10494:816:95","nodes":[],"body":{"id":67046,"nodeType":"Block","src":"10569:741:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":66961,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66953,"src":"10599:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66960,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66011,"src":"10579:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":66962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10579:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66963,"nodeType":"ExpressionStatement","src":"10579:28:95"},{"expression":{"id":66973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66964,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"10618:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66968,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66869,"src":"10671:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10696:12:95","subExpression":{"id":66969,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66873,"src":"10696:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66966,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10653:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":66967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10659:11:95","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10653:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":66971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10653:56:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66965,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74798,"src":"10636:16:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$74798_$","typeString":"type(contract ICollateralVault)"}},"id":66972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10636:74:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"src":"10618:92:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":66974,"nodeType":"ExpressionStatement","src":"10618:92:95"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66975,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"10720:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":66977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10736:10:95","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":74770,"src":"10720:26:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66979,"nodeType":"ExpressionStatement","src":"10720:28:95"},{"assignments":[66984],"declarations":[{"constant":false,"id":66984,"mutability":"mutable","name":"ip","nameLocation":"10798:2:95","nodeType":"VariableDeclaration","scope":67046,"src":"10759:41:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":66983,"nodeType":"UserDefinedTypeName","pathNode":{"id":66982,"name":"StrategyStruct.InitializeParams","nameLocations":["10759:14:95","10774:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"10759:31:95"},"referencedDeclaration":66615,"src":"10759:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":66992,"initialValue":{"arguments":[{"id":66987,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66955,"src":"10814:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66988,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"10822:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":66989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10837:16:95","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":66615,"src":"10822:31:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$66615_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":66990,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10821:33:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$66615_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$66615_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":66985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10803:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10807:6:95","memberName":"decode","nodeType":"MemberAccess","src":"10803:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10803:52:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10759:96:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66993,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"10870:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10873:17:95","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":66612,"src":"10870:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10902:1:95","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":66996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10894:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66995,"name":"address","nodeType":"ElementaryTypeName","src":"10894:7:95","typeDescriptions":{}}},"id":66998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10894:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10870:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67004,"nodeType":"IfStatement","src":"10866:94:95","trueBody":{"id":67003,"nodeType":"Block","src":"10906:54:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67000,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66647,"src":"10927:20:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10927:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67002,"nodeType":"RevertStatement","src":"10920:29:95"}]}},{"expression":{"id":67010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67005,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"10970:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":67007,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11012:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67008,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11015:17:95","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":66612,"src":"11012:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67006,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73113,"src":"10990:21:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$73113_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":67009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:43:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"src":"10970:63:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67011,"nodeType":"ExpressionStatement","src":"10970:63:95"},{"expression":{"id":67015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67012,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66889,"src":"11044:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67013,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11059:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11062:12:95","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":66601,"src":"11059:15:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"11044:30:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"id":67016,"nodeType":"ExpressionStatement","src":"11044:30:95"},{"expression":{"id":67020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67017,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"11084:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67018,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11098:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11101:11:95","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":66604,"src":"11098:14:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"11084:28:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"id":67021,"nodeType":"ExpressionStatement","src":"11084:28:95"},{"expression":{"id":67025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67022,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"11122:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67023,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11136:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11139:11:95","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":66607,"src":"11136:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"11122:28:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67026,"nodeType":"ExpressionStatement","src":"11122:28:95"},{"expression":{"id":67032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67027,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"11160:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":67029,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11187:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11190:11:95","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":66614,"src":"11187:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67028,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"11174:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70536_$","typeString":"type(contract ISybilScorer)"}},"id":67031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11174:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"src":"11160:42:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"id":67033,"nodeType":"ExpressionStatement","src":"11160:42:95"},{"expression":{"arguments":[{"expression":{"id":67035,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11228:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11231:16:95","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":66610,"src":"11228:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":67037,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11249:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11252:8:95","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":66598,"src":"11249:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":67034,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69553,"src":"11213:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$66586_memory_ptr_$_t_struct$_CVParams_$66595_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":67039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11213:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67040,"nodeType":"ExpressionStatement","src":"11213:48:95"},{"eventCall":{"arguments":[{"id":67042,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66953,"src":"11291:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67043,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11300:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":67041,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66734,"src":"11277:13:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$66615_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11277:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67045,"nodeType":"EmitStatement","src":"11272:31:95"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":66958,"kind":"modifierInvocation","modifierName":{"id":66957,"name":"onlyAllo","nameLocations":["10560:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":65883,"src":"10560:8:95"},"nodeType":"ModifierInvocation","src":"10560:8:95"}],"name":"initialize","nameLocation":"10503:10:95","parameters":{"id":66956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66953,"mutability":"mutable","name":"_poolId","nameLocation":"10522:7:95","nodeType":"VariableDeclaration","scope":67047,"src":"10514:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66952,"name":"uint256","nodeType":"ElementaryTypeName","src":"10514:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66955,"mutability":"mutable","name":"_data","nameLocation":"10544:5:95","nodeType":"VariableDeclaration","scope":67047,"src":"10531:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66954,"name":"bytes","nodeType":"ElementaryTypeName","src":"10531:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10513:37:95"},"returnParameters":{"id":66959,"nodeType":"ParameterList","parameters":[],"src":"10569:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67051,"nodeType":"FunctionDefinition","src":"11481:83:95","nodes":[],"body":{"id":67050,"nodeType":"Block","src":"11509:55:95","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":67048,"nodeType":"ParameterList","parameters":[],"src":"11489:2:95"},"returnParameters":{"id":67049,"nodeType":"ParameterList","parameters":[],"src":"11509:0:95"},"scope":70168,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":67055,"nodeType":"FunctionDefinition","src":"11570:135:95","nodes":[],"body":{"id":67054,"nodeType":"Block","src":"11597:108:95","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":67052,"nodeType":"ParameterList","parameters":[],"src":"11577:2:95"},"returnParameters":{"id":67053,"nodeType":"ParameterList","parameters":[],"src":"11597:0:95"},"scope":70168,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":67076,"nodeType":"FunctionDefinition","src":"11711:202:95","nodes":[],"body":{"id":67075,"nodeType":"Block","src":"11802:111:95","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":67068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67063,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67057,"src":"11819:11:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":67065,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"11839:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}],"id":67064,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11834:4:95","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":67066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11834:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$66494","typeString":"type(contract IPointStrategy)"}},"id":67067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11855:11:95","memberName":"interfaceId","nodeType":"MemberAccess","src":"11834:32:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11819:47:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":67071,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67057,"src":"11894:11:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67069,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11870:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$70168_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":67070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11876:17:95","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57029,"src":"11870:23:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":67072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11870:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11819:87:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67062,"id":67074,"nodeType":"Return","src":"11812:94:95"}]},"baseFunctions":[57029],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11720:17:95","overrides":{"id":67059,"nodeType":"OverrideSpecifier","overrides":[],"src":"11778:8:95"},"parameters":{"id":67058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67057,"mutability":"mutable","name":"interfaceId","nameLocation":"11745:11:95","nodeType":"VariableDeclaration","scope":67076,"src":"11738:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":67056,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11738:6:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11737:20:95"},"returnParameters":{"id":67062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67076,"src":"11796:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67060,"name":"bool","nodeType":"ElementaryTypeName","src":"11796:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11795:6:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67117,"nodeType":"FunctionDefinition","src":"12084:386:95","nodes":[],"body":{"id":67116,"nodeType":"Block","src":"12152:318:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67081,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"12166:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12185:1:95","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":67083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12177:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67082,"name":"address","nodeType":"ElementaryTypeName","src":"12177:7:95","typeDescriptions":{}}},"id":67085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12166:21:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67091,"nodeType":"IfStatement","src":"12162:77:95","trueBody":{"id":67090,"nodeType":"Block","src":"12189:50:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67087,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66627,"src":"12210:16:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12210:18:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67089,"nodeType":"RevertStatement","src":"12203:25:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67094,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12260:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":67093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12252:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67092,"name":"address","nodeType":"ElementaryTypeName","src":"12252:7:95","typeDescriptions":{}}},"id":67095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12252:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12290:1:95","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":67097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12282:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67096,"name":"address","nodeType":"ElementaryTypeName","src":"12282:7:95","typeDescriptions":{}}},"id":67099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12252:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67105,"nodeType":"IfStatement","src":"12248:100:95","trueBody":{"id":67104,"nodeType":"Block","src":"12294:54:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67101,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66647,"src":"12315:20:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12315:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67103,"nodeType":"RevertStatement","src":"12308:29:95"}]}},{"condition":{"id":67110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12361:36:95","subExpression":{"arguments":[{"id":67108,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"12389:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67106,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12362:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12380:8:95","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":72730,"src":"12362:26:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":67109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12362:35:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67115,"nodeType":"IfStatement","src":"12357:93:95","trueBody":{"id":67114,"nodeType":"Block","src":"12399:51:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67111,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66629,"src":"12420:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12420:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67113,"nodeType":"RevertStatement","src":"12413:26:95"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"12093:19:95","parameters":{"id":67079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67078,"mutability":"mutable","name":"_sender","nameLocation":"12121:7:95","nodeType":"VariableDeclaration","scope":67117,"src":"12113:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67077,"name":"address","nodeType":"ElementaryTypeName","src":"12113:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12112:17:95"},"returnParameters":{"id":67080,"nodeType":"ParameterList","parameters":[],"src":"12152:0:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67133,"nodeType":"FunctionDefinition","src":"12476:171:95","nodes":[],"body":{"id":67132,"nodeType":"Block","src":"12531:116:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67120,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12545:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12549:6:95","memberName":"sender","nodeType":"MemberAccess","src":"12545:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":67124,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12567:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":67123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12559:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67122,"name":"address","nodeType":"ElementaryTypeName","src":"12559:7:95","typeDescriptions":{}}},"id":67125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12559:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12545:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67131,"nodeType":"IfStatement","src":"12541:100:95","trueBody":{"id":67130,"nodeType":"Block","src":"12587:54:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67127,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66687,"src":"12608:20:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12608:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67129,"nodeType":"RevertStatement","src":"12601:29:95"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12485:21:95","parameters":{"id":67118,"nodeType":"ParameterList","parameters":[],"src":"12506:2:95"},"returnParameters":{"id":67119,"nodeType":"ParameterList","parameters":[],"src":"12531:0:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67149,"nodeType":"FunctionDefinition","src":"12653:141:95","nodes":[],"body":{"id":67148,"nodeType":"Block","src":"12721:73:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67138,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67135,"src":"12735:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12755:1:95","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":67140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12747:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67139,"name":"address","nodeType":"ElementaryTypeName","src":"12747:7:95","typeDescriptions":{}}},"id":67142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12747:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12735:22:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67147,"nodeType":"IfStatement","src":"12731:56:95","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67144,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66645,"src":"12766:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12766:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67146,"nodeType":"RevertStatement","src":"12759:28:95"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12662:18:95","parameters":{"id":67136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67135,"mutability":"mutable","name":"_address","nameLocation":"12689:8:95","nodeType":"VariableDeclaration","scope":67149,"src":"12681:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67134,"name":"address","nodeType":"ElementaryTypeName","src":"12681:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12680:18:95"},"returnParameters":{"id":67137,"nodeType":"ParameterList","parameters":[],"src":"12721:0:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67167,"nodeType":"FunctionDefinition","src":"12800:174:95","nodes":[],"body":{"id":67166,"nodeType":"Block","src":"12849:125:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67152,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12863:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12867:6:95","memberName":"sender","nodeType":"MemberAccess","src":"12863:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67156,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12885:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:11:95","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71426,"src":"12885:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74891_$","typeString":"function () view external returns (contract ISafe)"}},"id":67158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12885:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":67155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12877:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67154,"name":"address","nodeType":"ElementaryTypeName","src":"12877:7:95","typeDescriptions":{}}},"id":67159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12877:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12863:54:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67165,"nodeType":"IfStatement","src":"12859:109:95","trueBody":{"id":67164,"nodeType":"Block","src":"12919:49:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67161,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66697,"src":"12940:15:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12940:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67163,"nodeType":"RevertStatement","src":"12933:24:95"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12809:15:95","parameters":{"id":67150,"nodeType":"ParameterList","parameters":[],"src":"12824:2:95"},"returnParameters":{"id":67151,"nodeType":"ParameterList","parameters":[],"src":"12849:0:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67197,"nodeType":"FunctionDefinition","src":"12980:238:95","nodes":[],"body":{"id":67196,"nodeType":"Block","src":"13059:159:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67176,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"13081:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}],"id":67175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13073:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67174,"name":"address","nodeType":"ElementaryTypeName","src":"13073:7:95","typeDescriptions":{}}},"id":67177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13073:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13105:1:95","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":67179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13097:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67178,"name":"address","nodeType":"ElementaryTypeName","src":"13097:7:95","typeDescriptions":{}}},"id":67181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13097:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13073:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67186,"nodeType":"IfStatement","src":"13069:76:95","trueBody":{"id":67185,"nodeType":"Block","src":"13109:36:95","statements":[{"expression":{"hexValue":"74727565","id":67183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13130:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":67173,"id":67184,"nodeType":"Return","src":"13123:11:95"}]}},{"expression":{"arguments":[{"id":67189,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67169,"src":"13190:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67192,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13205:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13197:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67190,"name":"address","nodeType":"ElementaryTypeName","src":"13197:7:95","typeDescriptions":{}}},"id":67193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13197:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67187,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"13161:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"id":67188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13173:16:95","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70493,"src":"13161:28:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13161:50:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67173,"id":67195,"nodeType":"Return","src":"13154:57:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12989:17:95","parameters":{"id":67170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67169,"mutability":"mutable","name":"_user","nameLocation":"13015:5:95","nodeType":"VariableDeclaration","scope":67197,"src":"13007:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67168,"name":"address","nodeType":"ElementaryTypeName","src":"13007:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13006:15:95"},"returnParameters":{"id":67173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67172,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67197,"src":"13053:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67171,"name":"bool","nodeType":"ElementaryTypeName","src":"13053:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13052:6:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67209,"nodeType":"FunctionDefinition","src":"13224:124:95","nodes":[],"body":{"id":67208,"nodeType":"Block","src":"13297:51:95","nodes":[],"statements":[{"expression":{"id":67206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67204,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66869,"src":"13307:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67205,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67199,"src":"13333:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13307:34:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67207,"nodeType":"ExpressionStatement","src":"13307:34:95"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":67202,"kind":"modifierInvocation","modifierName":{"id":67201,"name":"onlyOwner","nameLocations":["13287:9:95"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"13287:9:95"},"nodeType":"ModifierInvocation","src":"13287:9:95"}],"name":"setCollateralVaultTemplate","nameLocation":"13233:26:95","parameters":{"id":67200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67199,"mutability":"mutable","name":"template","nameLocation":"13268:8:95","nodeType":"VariableDeclaration","scope":67209,"src":"13260:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67198,"name":"address","nodeType":"ElementaryTypeName","src":"13260:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13259:18:95"},"returnParameters":{"id":67203,"nodeType":"ParameterList","parameters":[],"src":"13297:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67450,"nodeType":"FunctionDefinition","src":"13674:2691:95","nodes":[],"body":{"id":67449,"nodeType":"Block","src":"13775:2590:95","nodes":[],"statements":[{"condition":{"id":67222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13789:27:95","subExpression":{"arguments":[{"id":67220,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67213,"src":"13808:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67219,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"13790:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13790:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67227,"nodeType":"IfStatement","src":"13785:90:95","trueBody":{"id":67226,"nodeType":"Block","src":"13818:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67223,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"13839:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13839:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67225,"nodeType":"RevertStatement","src":"13832:32:95"}]}},{"expression":{"id":67228,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67211,"src":"13929:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67229,"nodeType":"ExpressionStatement","src":"13929:5:95"},{"assignments":[67234],"declarations":[{"constant":false,"id":67234,"mutability":"mutable","name":"proposal","nameLocation":"13981:8:95","nodeType":"VariableDeclaration","scope":67449,"src":"13944:45:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":67233,"nodeType":"UserDefinedTypeName","pathNode":{"id":67232,"name":"StrategyStruct.CreateProposal","nameLocations":["13944:14:95","13959:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66515,"src":"13944:29:95"},"referencedDeclaration":66515,"src":"13944:29:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":67242,"initialValue":{"arguments":[{"id":67237,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67211,"src":"14003:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":67238,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"14011:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14026:14:95","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":66515,"src":"14011:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$66515_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":67240,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14010:31:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$66515_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$66515_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":67235,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13992:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13996:6:95","memberName":"decode","nodeType":"MemberAccess","src":"13992:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13992:50:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13944:98:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67243,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14157:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14166:6:95","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":66505,"src":"14157:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14176:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14157:20:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67251,"nodeType":"IfStatement","src":"14153:78:95","trueBody":{"id":67250,"nodeType":"Block","src":"14179:52:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67247,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66643,"src":"14200:18:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14200:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67249,"nodeType":"RevertStatement","src":"14193:27:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"id":67256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67252,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66889,"src":"14307:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67253,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"14323:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14338:12:95","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":66498,"src":"14323:27:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$66498_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":67255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14351:7:95","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":66496,"src":"14323:35:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"14307:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67312,"nodeType":"IfStatement","src":"14303:764:95","trueBody":{"id":67311,"nodeType":"Block","src":"14360:707:95","statements":[{"expression":{"arguments":[{"expression":{"id":67258,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14393:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14402:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66507,"src":"14393:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67257,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67149,"src":"14374:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":67260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14374:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67261,"nodeType":"ExpressionStatement","src":"14374:40:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67262,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14480:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14489:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66511,"src":"14480:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14515:1:95","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":67265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14507:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67264,"name":"address","nodeType":"ElementaryTypeName","src":"14507:7:95","typeDescriptions":{}}},"id":67267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14507:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14480:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67273,"nodeType":"IfStatement","src":"14476:102:95","trueBody":{"id":67272,"nodeType":"Block","src":"14519:59:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67269,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66637,"src":"14544:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14544:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67271,"nodeType":"RevertStatement","src":"14537:26:95"}]}},{"assignments":[67276],"declarations":[{"constant":false,"id":67276,"mutability":"mutable","name":"_allo","nameLocation":"14597:5:95","nodeType":"VariableDeclaration","scope":67311,"src":"14591:11:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":67275,"nodeType":"UserDefinedTypeName","pathNode":{"id":67274,"name":"IAllo","nameLocations":["14591:5:95"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14591:5:95"},"referencedDeclaration":2610,"src":"14591:5:95","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":67280,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67277,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14605:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}},"id":67278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14610:7:95","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":65929,"src":"14605:12:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":67279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14605:14:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14591:28:95"},{"assignments":[67285],"declarations":[{"constant":false,"id":67285,"mutability":"mutable","name":"pool","nameLocation":"14651:4:95","nodeType":"VariableDeclaration","scope":67311,"src":"14633:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67284,"nodeType":"UserDefinedTypeName","pathNode":{"id":67283,"name":"IAllo.Pool","nameLocations":["14633:5:95","14639:4:95"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14633:10:95"},"referencedDeclaration":2319,"src":"14633:10:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67291,"initialValue":{"arguments":[{"expression":{"id":67288,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14672:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14681:6:95","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":66505,"src":"14672:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67286,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67276,"src":"14658:5:95","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14664:7:95","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14658:13:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:30:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14633:55:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67292,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14706:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14715:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66511,"src":"14706:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":67294,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67285,"src":"14733:4:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14738:5:95","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14733:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14706:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67301,"nodeType":"IfStatement","src":"14702:235:95","trueBody":{"id":67300,"nodeType":"Block","src":"14745:192:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67297,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66639,"src":"14905:15:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14905:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67299,"nodeType":"RevertStatement","src":"14898:24:95"}]}},{"condition":{"arguments":[{"expression":{"id":67303,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14970:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14979:15:95","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":66509,"src":"14970:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67302,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68636,"src":"14954:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14954:41:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67310,"nodeType":"IfStatement","src":"14950:107:95","trueBody":{"id":67309,"nodeType":"Block","src":"14997:60:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67306,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66641,"src":"15022:18:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15022:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67308,"nodeType":"RevertStatement","src":"15015:27:95"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":67315,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"15102:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67317,"indexExpression":{"id":67316,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"15120:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15102:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15152:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"15102:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":67314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15094:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67313,"name":"address","nodeType":"ElementaryTypeName","src":"15094:7:95","typeDescriptions":{}}},"id":67319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15094:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15175:1:95","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":67321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15167:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67320,"name":"address","nodeType":"ElementaryTypeName","src":"15167:7:95","typeDescriptions":{}}},"id":67323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15167:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15094:83:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67325,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15197:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15201:5:95","memberName":"value","nodeType":"MemberAccess","src":"15197:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67327,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"15209:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67329,"indexExpression":{"id":67328,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"15227:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15209:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15259:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"15209:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15197:87:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15094:190:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67343,"nodeType":"IfStatement","src":"15077:390:95","trueBody":{"id":67342,"nodeType":"Block","src":"15295:172:95","statements":[{"errorCall":{"arguments":[{"expression":{"id":67334,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15356:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15360:5:95","memberName":"value","nodeType":"MemberAccess","src":"15356:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67336,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"15367:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67338,"indexExpression":{"id":67337,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"15385:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15367:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15417:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"15367:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67333,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66705,"src":"15316:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15316:140:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67341,"nodeType":"RevertStatement","src":"15309:147:95"}]}},{"assignments":[67345],"declarations":[{"constant":false,"id":67345,"mutability":"mutable","name":"proposalId","nameLocation":"15485:10:95","nodeType":"VariableDeclaration","scope":67449,"src":"15477:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67344,"name":"uint256","nodeType":"ElementaryTypeName","src":"15477:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67348,"initialValue":{"id":67347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15498:17:95","subExpression":{"id":67346,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66877,"src":"15500:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15477:38:95"},{"assignments":[67353],"declarations":[{"constant":false,"id":67353,"mutability":"mutable","name":"p","nameLocation":"15557:1:95","nodeType":"VariableDeclaration","scope":67449,"src":"15525:33:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67352,"nodeType":"UserDefinedTypeName","pathNode":{"id":67351,"name":"StrategyStruct.Proposal","nameLocations":["15525:14:95","15540:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"15525:23:95"},"referencedDeclaration":66564,"src":"15525:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67357,"initialValue":{"baseExpression":{"id":67354,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"15561:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67356,"indexExpression":{"id":67355,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"15571:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15561:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15525:57:95"},{"expression":{"id":67362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67358,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15593:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15595:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"15593:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67361,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"15608:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15593:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67363,"nodeType":"ExpressionStatement","src":"15593:25:95"},{"expression":{"id":67368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67364,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15628:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15630:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"15628:11:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67367,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67213,"src":"15642:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15628:21:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67369,"nodeType":"ExpressionStatement","src":"15628:21:95"},{"expression":{"id":67375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67370,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15659:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15661:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"15659:13:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"15675:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15684:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66507,"src":"15675:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15659:36:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67376,"nodeType":"ExpressionStatement","src":"15659:36:95"},{"expression":{"id":67382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67377,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15705:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15707:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66544,"src":"15705:16:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67380,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"15724:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15733:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66511,"src":"15724:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15705:42:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67383,"nodeType":"ExpressionStatement","src":"15705:42:95"},{"expression":{"id":67389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67384,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15757:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15759:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"15757:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67387,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"15777:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67388,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15786:15:95","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":66509,"src":"15777:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15757:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67390,"nodeType":"ExpressionStatement","src":"15757:44:95"},{"expression":{"id":67397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67391,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15862:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15864:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"15862:16:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":67394,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"15881:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15896:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"15881:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15911:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"15881:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15862:55:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":67398,"nodeType":"ExpressionStatement","src":"15862:55:95"},{"expression":{"id":67404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67399,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15927:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15929:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"15927:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67402,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15941:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":67403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15947:6:95","memberName":"number","nodeType":"MemberAccess","src":"15941:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15927:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67405,"nodeType":"ExpressionStatement","src":"15927:26:95"},{"expression":{"id":67410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67406,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15963:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15965:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"15963:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15982:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15963:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67411,"nodeType":"ExpressionStatement","src":"15963:20:95"},{"expression":{"id":67417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67412,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"16029:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16031:8:95","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":66556,"src":"16029:10:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67415,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"16042:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16051:8:95","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":66514,"src":"16042:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"16029:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":67418,"nodeType":"ExpressionStatement","src":"16029:30:95"},{"expression":{"id":67423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67419,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"16069:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16071:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"16069:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67422,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"16097:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16069:58:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67424,"nodeType":"ExpressionStatement","src":"16069:58:95"},{"expression":{"arguments":[{"id":67431,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"16189:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67432,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"16201:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16203:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"16201:11:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67425,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"16137:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":67427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16153:17:95","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74777,"src":"16137:33:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":67430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":67428,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16178:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16182:5:95","memberName":"value","nodeType":"MemberAccess","src":"16178:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"16137:51:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":67434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:76:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67435,"nodeType":"ExpressionStatement","src":"16137:76:95"},{"eventCall":{"arguments":[{"id":67437,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65839,"src":"16245:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67438,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"16253:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67436,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66748,"src":"16229:15:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":67439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16229:35:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67440,"nodeType":"EmitStatement","src":"16224:40:95"},{"expression":{"arguments":[{"arguments":[{"id":67445,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"16346:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16338:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":67443,"name":"uint160","nodeType":"ElementaryTypeName","src":"16338:7:95","typeDescriptions":{}}},"id":67446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16338:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":67442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16330:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67441,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:95","typeDescriptions":{}}},"id":67447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16330:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":67218,"id":67448,"nodeType":"Return","src":"16323:35:95"}]},"baseFunctions":[66317],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13683:18:95","overrides":{"id":67215,"nodeType":"OverrideSpecifier","overrides":[],"src":"13748:8:95"},"parameters":{"id":67214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67211,"mutability":"mutable","name":"_data","nameLocation":"13715:5:95","nodeType":"VariableDeclaration","scope":67450,"src":"13702:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67210,"name":"bytes","nodeType":"ElementaryTypeName","src":"13702:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67213,"mutability":"mutable","name":"_sender","nameLocation":"13730:7:95","nodeType":"VariableDeclaration","scope":67450,"src":"13722:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67212,"name":"address","nodeType":"ElementaryTypeName","src":"13722:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13701:37:95"},"returnParameters":{"id":67218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67450,"src":"13766:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67216,"name":"address","nodeType":"ElementaryTypeName","src":"13766:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13765:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67459,"nodeType":"FunctionDefinition","src":"16371:98:95","nodes":[],"body":{"id":67458,"nodeType":"Block","src":"16431:38:95","nodes":[],"statements":[{"expression":{"expression":{"id":67455,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"16448:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16457:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"16448:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67454,"id":67457,"nodeType":"Return","src":"16441:21:95"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16380:8:95","parameters":{"id":67451,"nodeType":"ParameterList","parameters":[],"src":"16388:2:95"},"returnParameters":{"id":67454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67459,"src":"16422:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67452,"name":"uint256","nodeType":"ElementaryTypeName","src":"16422:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16421:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67498,"nodeType":"FunctionDefinition","src":"16475:359:95","nodes":[],"body":{"id":67497,"nodeType":"Block","src":"16518:316:95","nodes":[],"statements":[{"assignments":[67463],"declarations":[{"constant":false,"id":67463,"mutability":"mutable","name":"member","nameLocation":"16536:6:95","nodeType":"VariableDeclaration","scope":67497,"src":"16528:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67462,"name":"address","nodeType":"ElementaryTypeName","src":"16528:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":67466,"initialValue":{"expression":{"id":67464,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16545:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16549:6:95","memberName":"sender","nodeType":"MemberAccess","src":"16545:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16528:27:95"},{"condition":{"id":67470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16569:26:95","subExpression":{"arguments":[{"id":67468,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"16588:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67467,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"16570:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16570:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67475,"nodeType":"IfStatement","src":"16565:89:95","trueBody":{"id":67474,"nodeType":"Block","src":"16597:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67471,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"16618:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16618:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67473,"nodeType":"RevertStatement","src":"16611:32:95"}]}},{"expression":{"arguments":[{"id":67479,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"16706:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67482,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16722:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16714:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67480,"name":"address","nodeType":"ElementaryTypeName","src":"16714:7:95","typeDescriptions":{}}},"id":67483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16714:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67476,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"16663:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16681:24:95","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"16663:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":67484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16663:65:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67485,"nodeType":"ExpressionStatement","src":"16663:65:95"},{"expression":{"id":67495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67486,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"16738:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":67489,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"16805:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67492,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16821:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16813:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67490,"name":"address","nodeType":"ElementaryTypeName","src":"16813:7:95","typeDescriptions":{}}},"id":67493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16813:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67487,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"16762:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16780:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"16762:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16762:65:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16738:89:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67496,"nodeType":"ExpressionStatement","src":"16738:89:95"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16484:14:95","parameters":{"id":67460,"nodeType":"ParameterList","parameters":[],"src":"16498:2:95"},"returnParameters":{"id":67461,"nodeType":"ParameterList","parameters":[],"src":"16518:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67507,"nodeType":"FunctionDefinition","src":"16840:89:95","nodes":[],"body":{"id":67506,"nodeType":"Block","src":"16883:46:95","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":67502,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16911:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16915:6:95","memberName":"sender","nodeType":"MemberAccess","src":"16911:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67501,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67555,"src":"16893:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16893:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67505,"nodeType":"ExpressionStatement","src":"16893:29:95"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16849:16:95","parameters":{"id":67499,"nodeType":"ParameterList","parameters":[],"src":"16865:2:95"},"returnParameters":{"id":67500,"nodeType":"ParameterList","parameters":[],"src":"16883:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":67520,"nodeType":"FunctionDefinition","src":"16935:136:95","nodes":[],"body":{"id":67519,"nodeType":"Block","src":"16995:76:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67512,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67133,"src":"17005:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":67513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17005:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67514,"nodeType":"ExpressionStatement","src":"17005:23:95"},{"expression":{"arguments":[{"id":67516,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67509,"src":"17056:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67515,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67555,"src":"17038:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17038:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67518,"nodeType":"ExpressionStatement","src":"17038:26:95"}]},"baseFunctions":[66469],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16944:16:95","parameters":{"id":67510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67509,"mutability":"mutable","name":"_member","nameLocation":"16969:7:95","nodeType":"VariableDeclaration","scope":67520,"src":"16961:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67508,"name":"address","nodeType":"ElementaryTypeName","src":"16961:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16960:17:95"},"returnParameters":{"id":67511,"nodeType":"ParameterList","parameters":[],"src":"16995:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67555,"nodeType":"FunctionDefinition","src":"17077:359:95","nodes":[],"body":{"id":67554,"nodeType":"Block","src":"17138:298:95","nodes":[],"statements":[{"expression":{"id":67534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67525,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"17148:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":67528,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17215:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67531,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17232:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17224:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67529,"name":"address","nodeType":"ElementaryTypeName","src":"17224:7:95","typeDescriptions":{}}},"id":67532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17224:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67526,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"17172:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17190:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"17172:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17148:90:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67535,"nodeType":"ExpressionStatement","src":"17148:90:95"},{"expression":{"arguments":[{"id":67539,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17293:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67542,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17310:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17302:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67540,"name":"address","nodeType":"ElementaryTypeName","src":"17302:7:95","typeDescriptions":{}}},"id":67543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17302:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67536,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"17248:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17266:26:95","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":72196,"src":"17248:44:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":67544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17248:68:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67545,"nodeType":"ExpressionStatement","src":"17248:68:95"},{"expression":{"arguments":[{"id":67547,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17380:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67546,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68382,"src":"17371:8:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17371:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67549,"nodeType":"ExpressionStatement","src":"17371:17:95"},{"eventCall":{"arguments":[{"id":67551,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17421:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67550,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66756,"src":"17403:17:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17403:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67553,"nodeType":"EmitStatement","src":"17398:31:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"17086:17:95","parameters":{"id":67523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67522,"mutability":"mutable","name":"_member","nameLocation":"17112:7:95","nodeType":"VariableDeclaration","scope":67555,"src":"17104:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67521,"name":"address","nodeType":"ElementaryTypeName","src":"17104:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17103:17:95"},"returnParameters":{"id":67524,"nodeType":"ParameterList","parameters":[],"src":"17138:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67648,"nodeType":"FunctionDefinition","src":"17442:1065:95","nodes":[],"body":{"id":67647,"nodeType":"Block","src":"17541:966:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67564,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67133,"src":"17596:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":67565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17596:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67566,"nodeType":"ExpressionStatement","src":"17596:23:95"},{"condition":{"id":67570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17633:27:95","subExpression":{"arguments":[{"id":67568,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"17652:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67567,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"17634:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17634:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67575,"nodeType":"IfStatement","src":"17629:90:95","trueBody":{"id":67574,"nodeType":"Block","src":"17662:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67571,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"17683:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67573,"nodeType":"RevertStatement","src":"17676:32:95"}]}},{"assignments":[67577],"declarations":[{"constant":false,"id":67577,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17736:16:95","nodeType":"VariableDeclaration","scope":67647,"src":"17728:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67576,"name":"uint256","nodeType":"ElementaryTypeName","src":"17728:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67579,"initialValue":{"hexValue":"30","id":67578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17755:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17728:28:95"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67580,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"17770:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67581,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"17785:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17800:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"17785:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17812:9:95","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":66501,"src":"17785:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"17770:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67592,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"17915:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67593,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"17930:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17945:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"17930:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17957:6:95","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":66500,"src":"17930:33:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"17915:48:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67605,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18063:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67606,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"18078:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18093:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"18078:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18105:9:95","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":66502,"src":"18078:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"18063:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67618,"nodeType":"IfStatement","src":"18059:148:95","trueBody":{"id":67617,"nodeType":"Block","src":"18116:91:95","statements":[{"expression":{"id":67615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67610,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18130:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67612,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18172:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67613,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"18181:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67611,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"18149:22:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":67614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18149:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18130:66:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67616,"nodeType":"ExpressionStatement","src":"18130:66:95"}]}},"id":67619,"nodeType":"IfStatement","src":"17911:296:95","trueBody":{"id":67604,"nodeType":"Block","src":"17965:88:95","statements":[{"expression":{"id":67602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67597,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"17979:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67599,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18018:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67600,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"18027:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67598,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67756,"src":"17998:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":67601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17998:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17979:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67603,"nodeType":"ExpressionStatement","src":"17979:63:95"}]}},"id":67620,"nodeType":"IfStatement","src":"17766:441:95","trueBody":{"id":67591,"nodeType":"Block","src":"17823:82:95","statements":[{"expression":{"id":67589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67585,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"17837:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67587,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"17879:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67586,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67714,"src":"17856:22:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17856:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17837:57:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67590,"nodeType":"ExpressionStatement","src":"17837:57:95"}]}},{"assignments":[67622],"declarations":[{"constant":false,"id":67622,"mutability":"mutable","name":"isActivated","nameLocation":"18221:11:95","nodeType":"VariableDeclaration","scope":67647,"src":"18216:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67621,"name":"bool","nodeType":"ElementaryTypeName","src":"18216:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67631,"initialValue":{"arguments":[{"id":67625,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18281:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67628,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18298:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18290:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67626,"name":"address","nodeType":"ElementaryTypeName","src":"18290:7:95","typeDescriptions":{}}},"id":67629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18290:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67623,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"18235:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18253:27:95","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71467,"src":"18235:45:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18235:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18216:88:95"},{"condition":{"id":67632,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67622,"src":"18318:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67638,"nodeType":"IfStatement","src":"18314:82:95","trueBody":{"id":67637,"nodeType":"Block","src":"18331:65:95","statements":[{"expression":{"id":67635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67633,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"18345:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":67634,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18369:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18345:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67636,"nodeType":"ExpressionStatement","src":"18345:40:95"}]}},{"eventCall":{"arguments":[{"id":67640,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18425:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67641,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"18434:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67642,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18450:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67639,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66764,"src":"18410:14:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":67643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18410:57:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67644,"nodeType":"EmitStatement","src":"18405:62:95"},{"expression":{"id":67645,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18484:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67563,"id":67646,"nodeType":"Return","src":"18477:23:95"}]},"baseFunctions":[66478],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17451:13:95","parameters":{"id":67560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67557,"mutability":"mutable","name":"_member","nameLocation":"17473:7:95","nodeType":"VariableDeclaration","scope":67648,"src":"17465:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67556,"name":"address","nodeType":"ElementaryTypeName","src":"17465:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67559,"mutability":"mutable","name":"_amountToStake","nameLocation":"17490:14:95","nodeType":"VariableDeclaration","scope":67648,"src":"17482:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67558,"name":"uint256","nodeType":"ElementaryTypeName","src":"17482:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17464:41:95"},"returnParameters":{"id":67563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67648,"src":"17532:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67561,"name":"uint256","nodeType":"ElementaryTypeName","src":"17532:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17531:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67704,"nodeType":"FunctionDefinition","src":"18513:689:95","nodes":[],"body":{"id":67703,"nodeType":"Block","src":"18614:588:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67657,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67133,"src":"18624:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":67658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18624:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67659,"nodeType":"ExpressionStatement","src":"18624:23:95"},{"assignments":[67661],"declarations":[{"constant":false,"id":67661,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18711:16:95","nodeType":"VariableDeclaration","scope":67703,"src":"18703:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67660,"name":"uint256","nodeType":"ElementaryTypeName","src":"18703:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67663,"initialValue":{"hexValue":"30","id":67662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18730:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18703:28:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67664,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18745:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67665,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"18760:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18775:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"18760:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18787:9:95","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":66501,"src":"18760:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"18745:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67669,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18800:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67670,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"18815:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18830:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"18815:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18842:6:95","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":66500,"src":"18815:33:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"18800:48:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18745:103:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67689,"nodeType":"Block","src":"18946:93:95","statements":[{"expression":{"id":67687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67682,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"18960:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67684,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67650,"src":"19002:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67685,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67652,"src":"19011:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67683,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67918,"src":"18979:22:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":67686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18979:49:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18960:68:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67688,"nodeType":"ExpressionStatement","src":"18960:68:95"}]},"id":67690,"nodeType":"IfStatement","src":"18741:298:95","trueBody":{"id":67681,"nodeType":"Block","src":"18850:90:95","statements":[{"expression":{"id":67679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67675,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"18864:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67677,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67652,"src":"18912:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67676,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67844,"src":"18883:28:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18883:46:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18864:65:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67680,"nodeType":"ExpressionStatement","src":"18864:65:95"}]}},{"expression":{"id":67693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67691,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"19048:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67692,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"19072:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19048:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67694,"nodeType":"ExpressionStatement","src":"19048:40:95"},{"eventCall":{"arguments":[{"id":67696,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67650,"src":"19118:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67697,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67652,"src":"19127:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67698,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"19145:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67695,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66772,"src":"19103:14:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":67699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19103:59:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67700,"nodeType":"EmitStatement","src":"19098:64:95"},{"expression":{"id":67701,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"19179:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67656,"id":67702,"nodeType":"Return","src":"19172:23:95"}]},"baseFunctions":[66487],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18522:13:95","parameters":{"id":67653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67650,"mutability":"mutable","name":"_member","nameLocation":"18544:7:95","nodeType":"VariableDeclaration","scope":67704,"src":"18536:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67649,"name":"address","nodeType":"ElementaryTypeName","src":"18536:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67652,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18561:16:95","nodeType":"VariableDeclaration","scope":67704,"src":"18553:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67651,"name":"uint256","nodeType":"ElementaryTypeName","src":"18553:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18535:43:95"},"returnParameters":{"id":67656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67704,"src":"18605:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67654,"name":"uint256","nodeType":"ElementaryTypeName","src":"18605:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18604:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67714,"nodeType":"FunctionDefinition","src":"19208:126:95","nodes":[],"body":{"id":67713,"nodeType":"Block","src":"19296:38:95","nodes":[],"statements":[{"expression":{"id":67711,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67706,"src":"19313:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67710,"id":67712,"nodeType":"Return","src":"19306:21:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"19217:22:95","parameters":{"id":67707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67706,"mutability":"mutable","name":"_amountToStake","nameLocation":"19248:14:95","nodeType":"VariableDeclaration","scope":67714,"src":"19240:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67705,"name":"uint256","nodeType":"ElementaryTypeName","src":"19240:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19239:24:95"},"returnParameters":{"id":67710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67714,"src":"19287:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67708,"name":"uint256","nodeType":"ElementaryTypeName","src":"19287:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19286:9:95"},"scope":70168,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":67756,"nodeType":"FunctionDefinition","src":"19340:632:95","nodes":[],"body":{"id":67755,"nodeType":"Block","src":"19450:522:95","nodes":[],"statements":[{"assignments":[67724],"declarations":[{"constant":false,"id":67724,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19468:16:95","nodeType":"VariableDeclaration","scope":67755,"src":"19460:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67723,"name":"uint256","nodeType":"ElementaryTypeName","src":"19460:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67726,"initialValue":{"id":67725,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67718,"src":"19487:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19460:41:95"},{"assignments":[67728],"declarations":[{"constant":false,"id":67728,"mutability":"mutable","name":"memberPower","nameLocation":"19583:11:95","nodeType":"VariableDeclaration","scope":67755,"src":"19575:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67727,"name":"uint256","nodeType":"ElementaryTypeName","src":"19575:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67737,"initialValue":{"arguments":[{"id":67731,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67716,"src":"19640:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67734,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19657:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19649:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67732,"name":"address","nodeType":"ElementaryTypeName","src":"19649:7:95","typeDescriptions":{}}},"id":67735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19649:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67729,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"19597:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19615:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"19597:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19597:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19575:88:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67738,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67728,"src":"19729:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67739,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67724,"src":"19743:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":67741,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"19762:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19774:9:95","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"19762:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:54:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67752,"nodeType":"IfStatement","src":"19725:139:95","trueBody":{"id":67751,"nodeType":"Block","src":"19785:79:95","statements":[{"expression":{"id":67749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67744,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67724,"src":"19799:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67745,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"19818:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19830:9:95","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"19818:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67747,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67728,"src":"19842:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19818:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19799:54:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67750,"nodeType":"ExpressionStatement","src":"19799:54:95"}]}},{"expression":{"id":67753,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67724,"src":"19949:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67722,"id":67754,"nodeType":"Return","src":"19942:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19349:19:95","parameters":{"id":67719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67716,"mutability":"mutable","name":"_member","nameLocation":"19377:7:95","nodeType":"VariableDeclaration","scope":67756,"src":"19369:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67715,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67718,"mutability":"mutable","name":"_amountToStake","nameLocation":"19394:14:95","nodeType":"VariableDeclaration","scope":67756,"src":"19386:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67717,"name":"uint256","nodeType":"ElementaryTypeName","src":"19386:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19368:41:95"},"returnParameters":{"id":67722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67756,"src":"19441:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67720,"name":"uint256","nodeType":"ElementaryTypeName","src":"19441:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19440:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67834,"nodeType":"FunctionDefinition","src":"19978:741:95","nodes":[],"body":{"id":67833,"nodeType":"Block","src":"20091:628:95","nodes":[],"statements":[{"assignments":[67766],"declarations":[{"constant":false,"id":67766,"mutability":"mutable","name":"totalStake","nameLocation":"20109:10:95","nodeType":"VariableDeclaration","scope":67833,"src":"20101:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67765,"name":"uint256","nodeType":"ElementaryTypeName","src":"20101:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67773,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67769,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67758,"src":"20162:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67767,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"20122:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20140:21:95","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72519,"src":"20122:39:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":67770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20122:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67771,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67760,"src":"20173:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20122:65:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20101:86:95"},{"assignments":[67775],"declarations":[{"constant":false,"id":67775,"mutability":"mutable","name":"decimal","nameLocation":"20206:7:95","nodeType":"VariableDeclaration","scope":67833,"src":"20198:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67774,"name":"uint256","nodeType":"ElementaryTypeName","src":"20198:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67777,"initialValue":{"hexValue":"3138","id":67776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20216:2:95","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20198:20:95"},{"clauses":[{"block":{"id":67798,"nodeType":"Block","src":"20316:52:95","statements":[{"expression":{"id":67796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67791,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67775,"src":"20330:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67794,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"20348:8:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":67793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20340:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67792,"name":"uint256","nodeType":"ElementaryTypeName","src":"20340:7:95","typeDescriptions":{}}},"id":67795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20340:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20330:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67797,"nodeType":"ExpressionStatement","src":"20330:27:95"}]},"errorName":"","id":67799,"nodeType":"TryCatchClause","parameters":{"id":67790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67789,"mutability":"mutable","name":"_decimal","nameLocation":"20306:8:95","nodeType":"VariableDeclaration","scope":67799,"src":"20300:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67788,"name":"uint8","nodeType":"ElementaryTypeName","src":"20300:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20299:16:95"},"src":"20291:77:95"},{"block":{"id":67800,"nodeType":"Block","src":"20375:64:95","statements":[]},"errorName":"","id":67801,"nodeType":"TryCatchClause","src":"20369:70:95"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67781,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"20246:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20264:11:95","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71422,"src":"20246:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":67783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":67780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20238:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67779,"name":"address","nodeType":"ElementaryTypeName","src":"20238:7:95","typeDescriptions":{}}},"id":67784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20238:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67778,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"20232:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":67785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":67786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20280:8:95","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"20232:56:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":67787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:58:95","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":67802,"nodeType":"TryStatement","src":"20228:211:95"},{"assignments":[67804],"declarations":[{"constant":false,"id":67804,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20456:14:95","nodeType":"VariableDeclaration","scope":67833,"src":"20448:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67803,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67813,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67807,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67766,"src":"20483:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":67808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20496:2:95","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":67809,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67775,"src":"20502:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20496:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20483:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67805,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"20473:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58102_$","typeString":"type(library Math)"}},"id":67806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20478:4:95","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57606,"src":"20473:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20473:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20448:62:95"},{"assignments":[67815],"declarations":[{"constant":false,"id":67815,"mutability":"mutable","name":"currentPoints","nameLocation":"20528:13:95","nodeType":"VariableDeclaration","scope":67833,"src":"20520:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67814,"name":"uint256","nodeType":"ElementaryTypeName","src":"20520:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67824,"initialValue":{"arguments":[{"id":67818,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67758,"src":"20587:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67821,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20604:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20596:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67819,"name":"address","nodeType":"ElementaryTypeName","src":"20596:7:95","typeDescriptions":{}}},"id":67822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20596:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67816,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"20544:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20562:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"20544:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20544:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20520:90:95"},{"assignments":[67826],"declarations":[{"constant":false,"id":67826,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20629:16:95","nodeType":"VariableDeclaration","scope":67833,"src":"20621:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67825,"name":"uint256","nodeType":"ElementaryTypeName","src":"20621:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67830,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67827,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"20648:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67828,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67815,"src":"20665:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20648:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20621:57:95"},{"expression":{"id":67831,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67826,"src":"20696:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67764,"id":67832,"nodeType":"Return","src":"20689:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19987:22:95","parameters":{"id":67761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67758,"mutability":"mutable","name":"_member","nameLocation":"20018:7:95","nodeType":"VariableDeclaration","scope":67834,"src":"20010:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67757,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67760,"mutability":"mutable","name":"_amountToStake","nameLocation":"20035:14:95","nodeType":"VariableDeclaration","scope":67834,"src":"20027:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67759,"name":"uint256","nodeType":"ElementaryTypeName","src":"20027:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20009:41:95"},"returnParameters":{"id":67764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67834,"src":"20082:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67762,"name":"uint256","nodeType":"ElementaryTypeName","src":"20082:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20081:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67844,"nodeType":"FunctionDefinition","src":"20725:144:95","nodes":[],"body":{"id":67843,"nodeType":"Block","src":"20829:40:95","nodes":[],"statements":[{"expression":{"id":67841,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67836,"src":"20846:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67840,"id":67842,"nodeType":"Return","src":"20839:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20734:28:95","parameters":{"id":67837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67836,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20771:16:95","nodeType":"VariableDeclaration","scope":67844,"src":"20763:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67835,"name":"uint256","nodeType":"ElementaryTypeName","src":"20763:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20762:26:95"},"returnParameters":{"id":67840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67844,"src":"20820:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67838,"name":"uint256","nodeType":"ElementaryTypeName","src":"20820:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20819:9:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67918,"nodeType":"FunctionDefinition","src":"20875:855:95","nodes":[],"body":{"id":67917,"nodeType":"Block","src":"21026:704:95","nodes":[],"statements":[{"assignments":[67854],"declarations":[{"constant":false,"id":67854,"mutability":"mutable","name":"decimal","nameLocation":"21044:7:95","nodeType":"VariableDeclaration","scope":67917,"src":"21036:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67853,"name":"uint256","nodeType":"ElementaryTypeName","src":"21036:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67856,"initialValue":{"hexValue":"3138","id":67855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21054:2:95","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"21036:20:95"},{"clauses":[{"block":{"id":67877,"nodeType":"Block","src":"21154:52:95","statements":[{"expression":{"id":67875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67870,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67854,"src":"21168:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67873,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67868,"src":"21186:8:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":67872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21178:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67871,"name":"uint256","nodeType":"ElementaryTypeName","src":"21178:7:95","typeDescriptions":{}}},"id":67874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21178:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21168:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67876,"nodeType":"ExpressionStatement","src":"21168:27:95"}]},"errorName":"","id":67878,"nodeType":"TryCatchClause","parameters":{"id":67869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67868,"mutability":"mutable","name":"_decimal","nameLocation":"21144:8:95","nodeType":"VariableDeclaration","scope":67878,"src":"21138:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67867,"name":"uint8","nodeType":"ElementaryTypeName","src":"21138:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21137:16:95"},"src":"21129:77:95"},{"block":{"id":67879,"nodeType":"Block","src":"21213:64:95","statements":[]},"errorName":"","id":67880,"nodeType":"TryCatchClause","src":"21207:70:95"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67860,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"21084:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21102:11:95","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71422,"src":"21084:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":67862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21084:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":67859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21076:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67858,"name":"address","nodeType":"ElementaryTypeName","src":"21076:7:95","typeDescriptions":{}}},"id":67863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21076:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67857,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"21070:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":67864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":67865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21118:8:95","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"21070:56:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":67866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:58:95","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":67881,"nodeType":"TryStatement","src":"21066:211:95"},{"assignments":[67883],"declarations":[{"constant":false,"id":67883,"mutability":"mutable","name":"newTotalStake","nameLocation":"21356:13:95","nodeType":"VariableDeclaration","scope":67917,"src":"21348:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67882,"name":"uint256","nodeType":"ElementaryTypeName","src":"21348:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67890,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67886,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67846,"src":"21412:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67884,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"21372:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21390:21:95","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72519,"src":"21372:39:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":67887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21372:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67888,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67848,"src":"21423:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21372:67:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21348:91:95"},{"assignments":[67892],"declarations":[{"constant":false,"id":67892,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21513:14:95","nodeType":"VariableDeclaration","scope":67917,"src":"21505:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67891,"name":"uint256","nodeType":"ElementaryTypeName","src":"21505:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67901,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67895,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67883,"src":"21540:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":67896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21556:2:95","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":67897,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67854,"src":"21562:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21556:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21540:29:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67893,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"21530:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58102_$","typeString":"type(library Math)"}},"id":67894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21535:4:95","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57606,"src":"21530:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21530:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21505:65:95"},{"assignments":[67903],"declarations":[{"constant":false,"id":67903,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21588:16:95","nodeType":"VariableDeclaration","scope":67917,"src":"21580:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67902,"name":"uint256","nodeType":"ElementaryTypeName","src":"21580:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67914,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67906,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67846,"src":"21650:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67909,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21667:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21659:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67907,"name":"address","nodeType":"ElementaryTypeName","src":"21659:7:95","typeDescriptions":{}}},"id":67910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21659:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67904,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"21607:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21625:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"21607:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21607:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67912,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67892,"src":"21676:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21607:83:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21580:110:95"},{"expression":{"id":67915,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67903,"src":"21707:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67852,"id":67916,"nodeType":"Return","src":"21700:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20884:22:95","parameters":{"id":67849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67846,"mutability":"mutable","name":"_member","nameLocation":"20915:7:95","nodeType":"VariableDeclaration","scope":67918,"src":"20907:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67845,"name":"address","nodeType":"ElementaryTypeName","src":"20907:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67848,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20932:16:95","nodeType":"VariableDeclaration","scope":67918,"src":"20924:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67847,"name":"uint256","nodeType":"ElementaryTypeName","src":"20924:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20906:43:95"},"returnParameters":{"id":67852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67918,"src":"21013:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67850,"name":"uint256","nodeType":"ElementaryTypeName","src":"21013:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21012:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67927,"nodeType":"FunctionDefinition","src":"21736:99:95","nodes":[],"body":{"id":67926,"nodeType":"Block","src":"21790:45:95","nodes":[],"statements":[{"expression":{"expression":{"id":67923,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"21807:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21819:9:95","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"21807:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67922,"id":67925,"nodeType":"Return","src":"21800:28:95"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21745:12:95","parameters":{"id":67919,"nodeType":"ParameterList","parameters":[],"src":"21757:2:95"},"returnParameters":{"id":67922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67927,"src":"21781:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67920,"name":"uint256","nodeType":"ElementaryTypeName","src":"21781:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21780:9:95"},"scope":70168,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67936,"nodeType":"FunctionDefinition","src":"21841:110:95","nodes":[],"body":{"id":67935,"nodeType":"Block","src":"21916:35:95","nodes":[],"statements":[{"expression":{"id":67933,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"21933:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":67932,"id":67934,"nodeType":"Return","src":"21926:18:95"}]},"baseFunctions":[66493],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21850:14:95","parameters":{"id":67928,"nodeType":"ParameterList","parameters":[],"src":"21864:2:95"},"returnParameters":{"id":67932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67931,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67936,"src":"21888:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":67930,"nodeType":"UserDefinedTypeName","pathNode":{"id":67929,"name":"StrategyStruct.PointSystem","nameLocations":["21888:14:95","21903:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"21888:26:95"},"referencedDeclaration":66503,"src":"21888:26:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21887:28:95"},"scope":70168,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":68001,"nodeType":"FunctionDefinition","src":"22457:650:95","nodes":[],"body":{"id":68000,"nodeType":"Block","src":"22531:576:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":67945,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"22561:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67944,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"22541:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":67946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22541:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67947,"nodeType":"ExpressionStatement","src":"22541:28:95"},{"condition":{"id":67951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22583:27:95","subExpression":{"arguments":[{"id":67949,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"22602:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67948,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"22584:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22584:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67956,"nodeType":"IfStatement","src":"22579:90:95","trueBody":{"id":67955,"nodeType":"Block","src":"22612:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67952,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"22633:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22633:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67954,"nodeType":"RevertStatement","src":"22626:32:95"}]}},{"assignments":[67958],"declarations":[{"constant":false,"id":67958,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22729:23:95","nodeType":"VariableDeclaration","scope":68000,"src":"22724:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67957,"name":"bool","nodeType":"ElementaryTypeName","src":"22724:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67967,"initialValue":{"arguments":[{"id":67961,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"22801:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67964,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22818:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22810:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67962,"name":"address","nodeType":"ElementaryTypeName","src":"22810:7:95","typeDescriptions":{}}},"id":67965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22810:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67959,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"22755:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22773:27:95","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71467,"src":"22755:45:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22755:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22724:100:95"},{"condition":{"id":67969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22838:24:95","subExpression":{"id":67968,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67958,"src":"22839:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67974,"nodeType":"IfStatement","src":"22834:78:95","trueBody":{"id":67973,"nodeType":"Block","src":"22864:48:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67970,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"22885:14:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22885:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67972,"nodeType":"RevertStatement","src":"22878:23:95"}]}},{"assignments":[67980],"declarations":[{"constant":false,"id":67980,"mutability":"mutable","name":"pv","nameLocation":"22961:2:95","nodeType":"VariableDeclaration","scope":68000,"src":"22921:42:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67978,"nodeType":"UserDefinedTypeName","pathNode":{"id":67977,"name":"StrategyStruct.ProposalSupport","nameLocations":["22921:14:95","22936:15:95"],"nodeType":"IdentifierPath","referencedDeclaration":66569,"src":"22921:30:95"},"referencedDeclaration":66569,"src":"22921:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67979,"nodeType":"ArrayTypeName","src":"22921:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":67989,"initialValue":{"arguments":[{"id":67983,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67938,"src":"22977:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":67984,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"22985:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23000:15:95","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":66569,"src":"22985:30:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$66569_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":67986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22985:32:95","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":67987,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22984:34:95","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":67981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22966:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22970:6:95","memberName":"decode","nodeType":"MemberAccess","src":"22966:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22966:53:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22921:98:95"},{"expression":{"arguments":[{"id":67991,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"23054:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67992,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67980,"src":"23063:2:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67990,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68732,"src":"23029:24:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23029:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67994,"nodeType":"ExpressionStatement","src":"23029:37:95"},{"expression":{"arguments":[{"id":67996,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"23088:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67997,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67980,"src":"23097:2:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67995,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69019,"src":"23076:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23076:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67999,"nodeType":"ExpressionStatement","src":"23076:24:95"}]},"baseFunctions":[66325],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22466:9:95","overrides":{"id":67942,"nodeType":"OverrideSpecifier","overrides":[],"src":"22522:8:95"},"parameters":{"id":67941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67938,"mutability":"mutable","name":"_data","nameLocation":"22489:5:95","nodeType":"VariableDeclaration","scope":68001,"src":"22476:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67937,"name":"bytes","nodeType":"ElementaryTypeName","src":"22476:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67940,"mutability":"mutable","name":"_sender","nameLocation":"22504:7:95","nodeType":"VariableDeclaration","scope":68001,"src":"22496:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67939,"name":"address","nodeType":"ElementaryTypeName","src":"22496:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22475:37:95"},"returnParameters":{"id":67943,"nodeType":"ParameterList","parameters":[],"src":"22531:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68169,"nodeType":"FunctionDefinition","src":"23363:1925:95","nodes":[],"body":{"id":68168,"nodeType":"Block","src":"23449:1839:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68012,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68006,"src":"23508:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23514:6:95","memberName":"length","nodeType":"MemberAccess","src":"23508:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23524:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23508:17:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68020,"nodeType":"IfStatement","src":"23504:76:95","trueBody":{"id":68019,"nodeType":"Block","src":"23527:53:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68016,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66667,"src":"23548:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23548:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68018,"nodeType":"RevertStatement","src":"23541:28:95"}]}},{"assignments":[68022],"declarations":[{"constant":false,"id":68022,"mutability":"mutable","name":"proposalId","nameLocation":"23598:10:95","nodeType":"VariableDeclaration","scope":68168,"src":"23590:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68021,"name":"uint256","nodeType":"ElementaryTypeName","src":"23590:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68030,"initialValue":{"arguments":[{"id":68025,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68006,"src":"23622:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":68027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23630:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68026,"name":"uint256","nodeType":"ElementaryTypeName","src":"23630:7:95","typeDescriptions":{}}}],"id":68028,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23629:9:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":68023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23611:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23615:6:95","memberName":"decode","nodeType":"MemberAccess","src":"23611:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":68029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23611:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23590:49:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68031,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23654:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23668:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23654:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68038,"nodeType":"IfStatement","src":"23650:77:95","trueBody":{"id":68037,"nodeType":"Block","src":"23671:56:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68034,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66669,"src":"23692:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23692:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68036,"nodeType":"RevertStatement","src":"23685:31:95"}]}},{"assignments":[68043],"declarations":[{"constant":false,"id":68043,"mutability":"mutable","name":"proposal","nameLocation":"23768:8:95","nodeType":"VariableDeclaration","scope":68168,"src":"23736:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68042,"nodeType":"UserDefinedTypeName","pathNode":{"id":68041,"name":"StrategyStruct.Proposal","nameLocations":["23736:14:95","23751:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"23736:23:95"},"referencedDeclaration":66564,"src":"23736:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68047,"initialValue":{"baseExpression":{"id":68044,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"23779:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68046,"indexExpression":{"id":68045,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23789:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23779:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23736:64:95"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"id":68052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68048,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66889,"src":"23815:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":68049,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"23831:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":68050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23846:12:95","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":66498,"src":"23831:27:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$66498_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":68051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23859:7:95","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":66496,"src":"23831:35:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"23815:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68167,"nodeType":"IfStatement","src":"23811:1411:95","trueBody":{"id":68166,"nodeType":"Block","src":"23868:1354:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68053,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"23886:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23895:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"23886:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23909:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23886:33:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68062,"nodeType":"IfStatement","src":"23882:108:95","trueBody":{"id":68061,"nodeType":"Block","src":"23921:69:95","statements":[{"errorCall":{"arguments":[{"id":68058,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23964:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68057,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"23946:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23946:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68060,"nodeType":"RevertStatement","src":"23939:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68063,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24008:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24017:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24008:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":68065,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"24035:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24008:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68075,"nodeType":"IfStatement","src":"24004:152:95","trueBody":{"id":68074,"nodeType":"Block","src":"24047:109:95","statements":[{"errorCall":{"arguments":[{"id":68068,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24092:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68069,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24104:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24113:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24104:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68071,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"24130:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68067,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66695,"src":"24072:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":68072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24072:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68073,"nodeType":"RevertStatement","src":"24065:76:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":68081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68076,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24174:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24183:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"24174:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68078,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"24201:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":68079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24216:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"24201:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24231:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"24201:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24174:63:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68087,"nodeType":"IfStatement","src":"24170:138:95","trueBody":{"id":68086,"nodeType":"Block","src":"24239:69:95","statements":[{"errorCall":{"arguments":[{"id":68083,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24282:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68082,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"24264:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24264:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68085,"nodeType":"RevertStatement","src":"24257:36:95"}]}},{"assignments":[68089],"declarations":[{"constant":false,"id":68089,"mutability":"mutable","name":"convictionLast","nameLocation":"24330:14:95","nodeType":"VariableDeclaration","scope":68166,"src":"24322:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68088,"name":"uint256","nodeType":"ElementaryTypeName","src":"24322:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68093,"initialValue":{"arguments":[{"id":68091,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24372:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68090,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69589,"src":"24347:24:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":68092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24347:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24322:61:95"},{"assignments":[68095],"declarations":[{"constant":false,"id":68095,"mutability":"mutable","name":"threshold","nameLocation":"24405:9:95","nodeType":"VariableDeclaration","scope":68166,"src":"24397:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68094,"name":"uint256","nodeType":"ElementaryTypeName","src":"24397:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68100,"initialValue":{"arguments":[{"expression":{"id":68097,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24436:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24445:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24436:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68096,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69205,"src":"24417:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":68099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24417:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24397:64:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68101,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68089,"src":"24480:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68102,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68095,"src":"24497:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24480:26:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68104,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24510:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24519:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24510:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24537:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24510:28:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24480:58:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68113,"nodeType":"IfStatement","src":"24476:137:95","trueBody":{"id":68112,"nodeType":"Block","src":"24540:73:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68109,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66685,"src":"24565:31:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24565:33:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68111,"nodeType":"RevertStatement","src":"24558:40:95"}]}},{"assignments":[68118],"declarations":[{"constant":false,"id":68118,"mutability":"mutable","name":"pool","nameLocation":"24645:4:95","nodeType":"VariableDeclaration","scope":68166,"src":"24627:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":68117,"nodeType":"UserDefinedTypeName","pathNode":{"id":68116,"name":"IAllo.Pool","nameLocations":["24627:5:95","24633:4:95"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24627:10:95"},"referencedDeclaration":2319,"src":"24627:10:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":68123,"initialValue":{"arguments":[{"id":68121,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65839,"src":"24665:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68119,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65833,"src":"24652:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":68120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24657:7:95","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24652:12:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":68122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24652:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24627:45:95"},{"expression":{"id":68127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68124,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"24687:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":68125,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24701:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24710:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24701:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24687:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68128,"nodeType":"ExpressionStatement","src":"24687:38:95"},{"expression":{"arguments":[{"expression":{"id":68130,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68118,"src":"24763:4:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":68131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24768:5:95","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24763:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68132,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24775:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24784:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"24775:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68134,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24797:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68135,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24806:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24797:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68129,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24747:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":68136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24747:75:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68137,"nodeType":"ExpressionStatement","src":"24747:75:95"},{"expression":{"id":68144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68138,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24837:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24846:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"24837:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68141,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"24863:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":68142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24878:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"24863:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24893:8:95","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":66520,"src":"24863:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24837:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68145,"nodeType":"ExpressionStatement","src":"24837:64:95"},{"expression":{"arguments":[{"id":68149,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24967:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68150,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24995:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25004:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"24995:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":68152,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"25031:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68154,"indexExpression":{"id":68153,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"25049:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25031:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25081:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"25031:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68146,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"24915:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":68148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24931:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"24915:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24915:205:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68157,"nodeType":"ExpressionStatement","src":"24915:205:95"},{"eventCall":{"arguments":[{"id":68159,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"25152:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68160,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"25164:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25173:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"25164:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68162,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"25186:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25195:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"25186:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68158,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[66742,2858],"referencedDeclaration":66742,"src":"25140:11:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":68164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25140:71:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68165,"nodeType":"EmitStatement","src":"25135:76:95"}]}}]},"baseFunctions":[66336],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23372:11:95","overrides":{"id":68010,"nodeType":"OverrideSpecifier","overrides":[],"src":"23440:8:95"},"parameters":{"id":68009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68169,"src":"23384:16:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68002,"name":"address","nodeType":"ElementaryTypeName","src":"23384:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68003,"nodeType":"ArrayTypeName","src":"23384:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":68006,"mutability":"mutable","name":"_data","nameLocation":"23415:5:95","nodeType":"VariableDeclaration","scope":68169,"src":"23402:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68005,"name":"bytes","nodeType":"ElementaryTypeName","src":"23402:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":68008,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68169,"src":"23422:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68007,"name":"address","nodeType":"ElementaryTypeName","src":"23422:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23383:47:95"},"returnParameters":{"id":68011,"nodeType":"ParameterList","parameters":[],"src":"23449:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68223,"nodeType":"FunctionDefinition","src":"25294:743:95","nodes":[],"body":{"id":68222,"nodeType":"Block","src":"25391:646:95","nodes":[],"statements":[{"assignments":[68180],"declarations":[{"constant":false,"id":68180,"mutability":"mutable","name":"proposal","nameLocation":"25433:8:95","nodeType":"VariableDeclaration","scope":68222,"src":"25401:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68179,"nodeType":"UserDefinedTypeName","pathNode":{"id":68178,"name":"StrategyStruct.Proposal","nameLocations":["25401:14:95","25416:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"25401:23:95"},"referencedDeclaration":66564,"src":"25401:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68184,"initialValue":{"baseExpression":{"id":68181,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"25444:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68183,"indexExpression":{"id":68182,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68171,"src":"25454:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25444:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25401:64:95"},{"assignments":[68186,68188],"declarations":[{"constant":false,"id":68186,"mutability":"mutable","name":"convictionLast","nameLocation":"25559:14:95","nodeType":"VariableDeclaration","scope":68222,"src":"25551:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68185,"name":"uint256","nodeType":"ElementaryTypeName","src":"25551:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68188,"mutability":"mutable","name":"blockNumber","nameLocation":"25583:11:95","nodeType":"VariableDeclaration","scope":68222,"src":"25575:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68187,"name":"uint256","nodeType":"ElementaryTypeName","src":"25575:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68194,"initialValue":{"arguments":[{"id":68190,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25644:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":68191,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25654:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25663:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"25654:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68189,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69401,"src":"25610:33:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25610:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25550:126:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68195,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"25691:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25709:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25691:19:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68198,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68188,"src":"25714:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25729:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25714:16:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25691:39:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68208,"nodeType":"IfStatement","src":"25687:110:95","trueBody":{"id":68207,"nodeType":"Block","src":"25732:65:95","statements":[{"expression":{"id":68205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68202,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"25746:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68203,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25763:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25772:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"25763:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25746:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68206,"nodeType":"ExpressionStatement","src":"25746:40:95"}]}},{"assignments":[68210],"declarations":[{"constant":false,"id":68210,"mutability":"mutable","name":"threshold","nameLocation":"25814:9:95","nodeType":"VariableDeclaration","scope":68222,"src":"25806:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68209,"name":"uint256","nodeType":"ElementaryTypeName","src":"25806:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68215,"initialValue":{"arguments":[{"expression":{"id":68212,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25845:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25854:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"25845:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68211,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69205,"src":"25826:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":68214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25826:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25806:64:95"},{"expression":{"id":68220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68216,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68174,"src":"25987:13:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68217,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"26003:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":68218,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68210,"src":"26021:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26003:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25987:43:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68221,"nodeType":"ExpressionStatement","src":"25987:43:95"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25303:18:95","parameters":{"id":68172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68171,"mutability":"mutable","name":"proposalId","nameLocation":"25330:10:95","nodeType":"VariableDeclaration","scope":68223,"src":"25322:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68170,"name":"uint256","nodeType":"ElementaryTypeName","src":"25322:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25321:20:95"},"returnParameters":{"id":68175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68174,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25376:13:95","nodeType":"VariableDeclaration","scope":68223,"src":"25371:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68173,"name":"bool","nodeType":"ElementaryTypeName","src":"25371:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25370:20:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68233,"nodeType":"FunctionDefinition","src":"26327:231:95","nodes":[],"body":{"id":68232,"nodeType":"Block","src":"26426:132:95","nodes":[],"statements":[]},"baseFunctions":[66356],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26336:19:95","overrides":{"id":68227,"nodeType":"OverrideSpecifier","overrides":[],"src":"26400:8:95"},"parameters":{"id":68226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68225,"mutability":"mutable","name":"_recipientId","nameLocation":"26364:12:95","nodeType":"VariableDeclaration","scope":68233,"src":"26356:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68224,"name":"address","nodeType":"ElementaryTypeName","src":"26356:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26355:22:95"},"returnParameters":{"id":68231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68233,"src":"26418:6:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":68229,"nodeType":"UserDefinedTypeName","pathNode":{"id":68228,"name":"Status","nameLocations":["26418:6:95"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26418:6:95"},"referencedDeclaration":2815,"src":"26418:6:95","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26417:8:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68252,"nodeType":"FunctionDefinition","src":"26687:287:95","nodes":[],"body":{"id":68251,"nodeType":"Block","src":"26797:177:95","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68248,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66635,"src":"26951:14:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26951:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68250,"nodeType":"RevertStatement","src":"26944:23:95"}]},"baseFunctions":[66195],"documentation":{"id":68234,"nodeType":"StructuredDocumentation","src":"26564:118:95","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26696:10:95","overrides":{"id":68242,"nodeType":"OverrideSpecifier","overrides":[],"src":"26755:8:95"},"parameters":{"id":68241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68252,"src":"26707:16:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68235,"name":"address","nodeType":"ElementaryTypeName","src":"26707:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68236,"nodeType":"ArrayTypeName","src":"26707:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":68240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68252,"src":"26725:14:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":68238,"name":"bytes","nodeType":"ElementaryTypeName","src":"26725:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":68239,"nodeType":"ArrayTypeName","src":"26725:7:95","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26706:34:95"},"returnParameters":{"id":68247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68252,"src":"26773:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":68244,"nodeType":"UserDefinedTypeName","pathNode":{"id":68243,"name":"PayoutSummary","nameLocations":["26773:13:95"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26773:13:95"},"referencedDeclaration":2820,"src":"26773:13:95","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":68245,"nodeType":"ArrayTypeName","src":"26773:15:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26772:24:95"},"scope":70168,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":68264,"nodeType":"FunctionDefinition","src":"26980:286:95","nodes":[],"body":{"id":68263,"nodeType":"Block","src":"27148:118:95","nodes":[],"statements":[]},"baseFunctions":[66347],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26989:10:95","overrides":{"id":68258,"nodeType":"OverrideSpecifier","overrides":[],"src":"27096:8:95"},"parameters":{"id":68257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68254,"mutability":"mutable","name":"_recipientId","nameLocation":"27008:12:95","nodeType":"VariableDeclaration","scope":68264,"src":"27000:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68253,"name":"address","nodeType":"ElementaryTypeName","src":"27000:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68256,"mutability":"mutable","name":"_data","nameLocation":"27035:5:95","nodeType":"VariableDeclaration","scope":68264,"src":"27022:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68255,"name":"bytes","nodeType":"ElementaryTypeName","src":"27022:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26999:42:95"},"returnParameters":{"id":68262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68264,"src":"27122:20:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":68260,"nodeType":"UserDefinedTypeName","pathNode":{"id":68259,"name":"PayoutSummary","nameLocations":["27122:13:95"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27122:13:95"},"referencedDeclaration":2820,"src":"27122:13:95","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"27121:22:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68275,"nodeType":"FunctionDefinition","src":"27272:127:95","nodes":[],"body":{"id":68274,"nodeType":"Block","src":"27349:50:95","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":68271,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68266,"src":"27384:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68270,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66752,"src":"27364:19:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":68272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27364:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68273,"nodeType":"EmitStatement","src":"27359:33:95"}]},"baseFunctions":[66370],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27281:24:95","overrides":{"id":68268,"nodeType":"OverrideSpecifier","overrides":[],"src":"27340:8:95"},"parameters":{"id":68267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68266,"mutability":"mutable","name":"_amount","nameLocation":"27314:7:95","nodeType":"VariableDeclaration","scope":68275,"src":"27306:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68265,"name":"uint256","nodeType":"ElementaryTypeName","src":"27306:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27305:17:95"},"returnParameters":{"id":68269,"nodeType":"ParameterList","parameters":[],"src":"27349:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68284,"nodeType":"FunctionDefinition","src":"27494:143:95","nodes":[],"body":{"id":68283,"nodeType":"Block","src":"27587:50:95","nodes":[],"statements":[]},"baseFunctions":[66307],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27503:17:95","overrides":{"id":68279,"nodeType":"OverrideSpecifier","overrides":[],"src":"27563:8:95"},"parameters":{"id":68278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68277,"mutability":"mutable","name":"_allocator","nameLocation":"27529:10:95","nodeType":"VariableDeclaration","scope":68284,"src":"27521:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68276,"name":"address","nodeType":"ElementaryTypeName","src":"27521:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27520:20:95"},"returnParameters":{"id":68282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68284,"src":"27581:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68280,"name":"bool","nodeType":"ElementaryTypeName","src":"27581:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27580:6:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68294,"nodeType":"FunctionDefinition","src":"27643:86:95","nodes":[],"body":{"id":68293,"nodeType":"Block","src":"27689:40:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":68290,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68286,"src":"27714:7:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68289,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66290,"src":"27699:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":68291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27699:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68292,"nodeType":"ExpressionStatement","src":"27699:23:95"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27652:13:95","parameters":{"id":68287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68286,"mutability":"mutable","name":"_active","nameLocation":"27671:7:95","nodeType":"VariableDeclaration","scope":68294,"src":"27666:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68285,"name":"bool","nodeType":"ElementaryTypeName","src":"27666:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27665:14:95"},"returnParameters":{"id":68288,"nodeType":"ParameterList","parameters":[],"src":"27689:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":68382,"nodeType":"FunctionDefinition","src":"27735:844:95","nodes":[],"body":{"id":68381,"nodeType":"Block","src":"27787:792:95","nodes":[],"statements":[{"assignments":[68303],"declarations":[{"constant":false,"id":68303,"mutability":"mutable","name":"proposalsIds","nameLocation":"27862:12:95","nodeType":"VariableDeclaration","scope":68381,"src":"27845:29:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68301,"name":"uint256","nodeType":"ElementaryTypeName","src":"27845:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68302,"nodeType":"ArrayTypeName","src":"27845:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":68307,"initialValue":{"baseExpression":{"id":68304,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"27877:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68306,"indexExpression":{"id":68305,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"27898:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27877:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27845:61:95"},{"body":{"id":68379,"nodeType":"Block","src":"27966:607:95","statements":[{"assignments":[68320],"declarations":[{"constant":false,"id":68320,"mutability":"mutable","name":"proposalId","nameLocation":"27988:10:95","nodeType":"VariableDeclaration","scope":68379,"src":"27980:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68319,"name":"uint256","nodeType":"ElementaryTypeName","src":"27980:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68324,"initialValue":{"baseExpression":{"id":68321,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"28001:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68323,"indexExpression":{"id":68322,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"28014:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28001:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27980:36:95"},{"assignments":[68329],"declarations":[{"constant":false,"id":68329,"mutability":"mutable","name":"proposal","nameLocation":"28062:8:95","nodeType":"VariableDeclaration","scope":68379,"src":"28030:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68328,"nodeType":"UserDefinedTypeName","pathNode":{"id":68327,"name":"StrategyStruct.Proposal","nameLocations":["28030:14:95","28045:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"28030:23:95"},"referencedDeclaration":66564,"src":"28030:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68333,"initialValue":{"baseExpression":{"id":68330,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"28073:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68332,"indexExpression":{"id":68331,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68320,"src":"28083:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28073:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28030:64:95"},{"condition":{"arguments":[{"id":68335,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68320,"src":"28127:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68334,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"28112:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28112:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68378,"nodeType":"IfStatement","src":"28108:455:95","trueBody":{"id":68377,"nodeType":"Block","src":"28140:423:95","statements":[{"assignments":[68338],"declarations":[{"constant":false,"id":68338,"mutability":"mutable","name":"stakedPoints","nameLocation":"28166:12:95","nodeType":"VariableDeclaration","scope":68377,"src":"28158:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68337,"name":"uint256","nodeType":"ElementaryTypeName","src":"28158:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68343,"initialValue":{"baseExpression":{"expression":{"id":68339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28181:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28190:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"28181:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68342,"indexExpression":{"id":68341,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"28208:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28181:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28158:58:95"},{"expression":{"id":68350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":68344,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28234:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28243:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"28234:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68348,"indexExpression":{"id":68346,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"28261:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28234:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":68349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28272:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28234:39:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68351,"nodeType":"ExpressionStatement","src":"28234:39:95"},{"expression":{"id":68356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68352,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28291:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28300:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"28291:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":68355,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"28316:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28291:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68357,"nodeType":"ExpressionStatement","src":"28291:37:95"},{"expression":{"id":68360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68358,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66881,"src":"28346:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":68359,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"28361:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28346:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68361,"nodeType":"ExpressionStatement","src":"28346:27:95"},{"expression":{"arguments":[{"id":68363,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28418:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68364,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"28428:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68362,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69354,"src":"28391:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28391:50:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68366,"nodeType":"ExpressionStatement","src":"28391:50:95"},{"eventCall":{"arguments":[{"id":68368,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"28477:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68369,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68320,"src":"28486:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":68370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28498:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":68371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28501:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28510:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"28501:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28524:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28533:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"28524:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68367,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66784,"src":"28464:12:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":68375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28464:84:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68376,"nodeType":"EmitStatement","src":"28459:89:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68312,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"27936:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68313,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"27940:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27953:6:95","memberName":"length","nodeType":"MemberAccess","src":"27940:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27936:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68380,"initializationExpression":{"assignments":[68309],"declarations":[{"constant":false,"id":68309,"mutability":"mutable","name":"i","nameLocation":"27929:1:95","nodeType":"VariableDeclaration","scope":68380,"src":"27921:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68308,"name":"uint256","nodeType":"ElementaryTypeName","src":"27921:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68311,"initialValue":{"hexValue":"30","id":68310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27933:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27921:13:95"},"loopExpression":{"expression":{"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27961:3:95","subExpression":{"id":68316,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"27961:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68318,"nodeType":"ExpressionStatement","src":"27961:3:95"},"nodeType":"ForStatement","src":"27916:657:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27744:8:95","parameters":{"id":68297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68296,"mutability":"mutable","name":"_member","nameLocation":"27761:7:95","nodeType":"VariableDeclaration","scope":68382,"src":"27753:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68295,"name":"address","nodeType":"ElementaryTypeName","src":"27753:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27752:17:95"},"returnParameters":{"id":68298,"nodeType":"ParameterList","parameters":[],"src":"27787:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68460,"nodeType":"FunctionDefinition","src":"29263:1145:95","nodes":[],"body":{"id":68459,"nodeType":"Block","src":"29793:615:95","nodes":[],"statements":[{"assignments":[68415],"declarations":[{"constant":false,"id":68415,"mutability":"mutable","name":"proposal","nameLocation":"29835:8:95","nodeType":"VariableDeclaration","scope":68459,"src":"29803:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68414,"nodeType":"UserDefinedTypeName","pathNode":{"id":68413,"name":"StrategyStruct.Proposal","nameLocations":["29803:14:95","29818:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"29803:23:95"},"referencedDeclaration":66564,"src":"29803:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68419,"initialValue":{"baseExpression":{"id":68416,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"29846:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68418,"indexExpression":{"id":68417,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68385,"src":"29856:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29846:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29803:65:95"},{"expression":{"id":68431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68420,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68405,"src":"29879:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68421,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"29891:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29900:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"29891:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29919:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29891:29:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":68427,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"29946:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29955:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"29946:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68426,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69205,"src":"29927:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":68429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29927:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29891:80:95","trueExpression":{"hexValue":"30","id":68425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29923:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29879:92:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68432,"nodeType":"ExpressionStatement","src":"29879:92:95"},{"expression":{"components":[{"expression":{"id":68433,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30002:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30011:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"30002:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68435,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30034:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30043:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"30034:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68437,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30068:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30077:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66544,"src":"30068:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68439,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30105:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30114:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"30105:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68441,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30143:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68442,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30152:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"30143:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68443,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30178:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30187:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"30178:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":68445,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30215:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"30215:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68447,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30247:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30256:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"30247:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68449,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68405,"src":"30284:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":68450,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30307:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30316:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"30307:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68454,"indexExpression":{"expression":{"id":68452,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30334:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30338:6:95","memberName":"sender","nodeType":"MemberAccess","src":"30334:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30307:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68455,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30359:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30368:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"30359:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68457,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29988:413:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$66523_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":68410,"id":68458,"nodeType":"Return","src":"29981:420:95"}]},"documentation":{"id":68383,"nodeType":"StructuredDocumentation","src":"28585:673:95","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"29272:11:95","parameters":{"id":68386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68385,"mutability":"mutable","name":"_proposalId","nameLocation":"29292:11:95","nodeType":"VariableDeclaration","scope":68460,"src":"29284:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68384,"name":"uint256","nodeType":"ElementaryTypeName","src":"29284:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29283:21:95"},"returnParameters":{"id":68410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68388,"mutability":"mutable","name":"submitter","nameLocation":"29389:9:95","nodeType":"VariableDeclaration","scope":68460,"src":"29381:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68387,"name":"address","nodeType":"ElementaryTypeName","src":"29381:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68390,"mutability":"mutable","name":"beneficiary","nameLocation":"29420:11:95","nodeType":"VariableDeclaration","scope":68460,"src":"29412:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68389,"name":"address","nodeType":"ElementaryTypeName","src":"29412:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68392,"mutability":"mutable","name":"requestedToken","nameLocation":"29453:14:95","nodeType":"VariableDeclaration","scope":68460,"src":"29445:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68391,"name":"address","nodeType":"ElementaryTypeName","src":"29445:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68394,"mutability":"mutable","name":"requestedAmount","nameLocation":"29489:15:95","nodeType":"VariableDeclaration","scope":68460,"src":"29481:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68393,"name":"uint256","nodeType":"ElementaryTypeName","src":"29481:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68396,"mutability":"mutable","name":"stakedAmount","nameLocation":"29526:12:95","nodeType":"VariableDeclaration","scope":68460,"src":"29518:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68395,"name":"uint256","nodeType":"ElementaryTypeName","src":"29518:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68399,"mutability":"mutable","name":"proposalStatus","nameLocation":"29582:14:95","nodeType":"VariableDeclaration","scope":68460,"src":"29552:44:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":68398,"nodeType":"UserDefinedTypeName","pathNode":{"id":68397,"name":"StrategyStruct.ProposalStatus","nameLocations":["29552:14:95","29567:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66523,"src":"29552:29:95"},"referencedDeclaration":66523,"src":"29552:29:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":68401,"mutability":"mutable","name":"blockLast","nameLocation":"29618:9:95","nodeType":"VariableDeclaration","scope":68460,"src":"29610:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68400,"name":"uint256","nodeType":"ElementaryTypeName","src":"29610:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68403,"mutability":"mutable","name":"convictionLast","nameLocation":"29649:14:95","nodeType":"VariableDeclaration","scope":68460,"src":"29641:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68402,"name":"uint256","nodeType":"ElementaryTypeName","src":"29641:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68405,"mutability":"mutable","name":"threshold","nameLocation":"29685:9:95","nodeType":"VariableDeclaration","scope":68460,"src":"29677:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68404,"name":"uint256","nodeType":"ElementaryTypeName","src":"29677:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68407,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29716:17:95","nodeType":"VariableDeclaration","scope":68460,"src":"29708:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68406,"name":"uint256","nodeType":"ElementaryTypeName","src":"29708:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68409,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"29755:23:95","nodeType":"VariableDeclaration","scope":68460,"src":"29747:31:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68408,"name":"uint256","nodeType":"ElementaryTypeName","src":"29747:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29367:421:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68481,"nodeType":"FunctionDefinition","src":"30414:206:95","nodes":[],"body":{"id":68480,"nodeType":"Block","src":"30504:116:95","nodes":[],"statements":[{"assignments":[68472],"declarations":[{"constant":false,"id":68472,"mutability":"mutable","name":"proposal","nameLocation":"30546:8:95","nodeType":"VariableDeclaration","scope":68480,"src":"30514:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68471,"nodeType":"UserDefinedTypeName","pathNode":{"id":68470,"name":"StrategyStruct.Proposal","nameLocations":["30514:14:95","30529:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"30514:23:95"},"referencedDeclaration":66564,"src":"30514:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68476,"initialValue":{"baseExpression":{"id":68473,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"30557:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68475,"indexExpression":{"id":68474,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68462,"src":"30567:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30557:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30514:65:95"},{"expression":{"expression":{"id":68477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68472,"src":"30596:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30605:8:95","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":66556,"src":"30596:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":68467,"id":68479,"nodeType":"Return","src":"30589:24:95"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30423:11:95","parameters":{"id":68463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68462,"mutability":"mutable","name":"_proposalId","nameLocation":"30443:11:95","nodeType":"VariableDeclaration","scope":68481,"src":"30435:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68461,"name":"uint256","nodeType":"ElementaryTypeName","src":"30435:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30434:21:95"},"returnParameters":{"id":68467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68481,"src":"30487:15:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":68465,"nodeType":"UserDefinedTypeName","pathNode":{"id":68464,"name":"Metadata","nameLocations":["30487:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30487:8:95"},"referencedDeclaration":3098,"src":"30487:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30486:17:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68497,"nodeType":"FunctionDefinition","src":"30821:184:95","nodes":[],"body":{"id":68496,"nodeType":"Block","src":"30929:76:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":68492,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"30978:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68493,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68486,"src":"30991:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68491,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68582,"src":"30946:31:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":68494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30946:52:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68490,"id":68495,"nodeType":"Return","src":"30939:59:95"}]},"documentation":{"id":68482,"nodeType":"StructuredDocumentation","src":"30626:190:95","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"30830:21:95","parameters":{"id":68487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68484,"mutability":"mutable","name":"_proposalId","nameLocation":"30860:11:95","nodeType":"VariableDeclaration","scope":68497,"src":"30852:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68483,"name":"uint256","nodeType":"ElementaryTypeName","src":"30852:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68486,"mutability":"mutable","name":"_voter","nameLocation":"30881:6:95","nodeType":"VariableDeclaration","scope":68497,"src":"30873:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68485,"name":"address","nodeType":"ElementaryTypeName","src":"30873:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30851:37:95"},"returnParameters":{"id":68490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68497,"src":"30920:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68488,"name":"uint256","nodeType":"ElementaryTypeName","src":"30920:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30919:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68510,"nodeType":"FunctionDefinition","src":"31011:153:95","nodes":[],"body":{"id":68509,"nodeType":"Block","src":"31105:59:95","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":68504,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"31122:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68506,"indexExpression":{"id":68505,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68499,"src":"31132:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31122:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31145:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"31122:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68503,"id":68508,"nodeType":"Return","src":"31115:42:95"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"31020:23:95","parameters":{"id":68500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68499,"mutability":"mutable","name":"_proposalId","nameLocation":"31052:11:95","nodeType":"VariableDeclaration","scope":68510,"src":"31044:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68498,"name":"uint256","nodeType":"ElementaryTypeName","src":"31044:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31043:21:95"},"returnParameters":{"id":68503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68510,"src":"31096:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68501,"name":"uint256","nodeType":"ElementaryTypeName","src":"31096:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31095:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68522,"nodeType":"FunctionDefinition","src":"31232:135:95","nodes":[],"body":{"id":68521,"nodeType":"Block","src":"31317:50:95","nodes":[],"statements":[{"expression":{"baseExpression":{"id":68517,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66913,"src":"31334:18:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68519,"indexExpression":{"id":68518,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68512,"src":"31353:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31334:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68516,"id":68520,"nodeType":"Return","src":"31327:33:95"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"31241:21:95","parameters":{"id":68513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68512,"mutability":"mutable","name":"_voter","nameLocation":"31271:6:95","nodeType":"VariableDeclaration","scope":68522,"src":"31263:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68511,"name":"address","nodeType":"ElementaryTypeName","src":"31263:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31262:16:95"},"returnParameters":{"id":68516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68515,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68522,"src":"31308:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68514,"name":"uint256","nodeType":"ElementaryTypeName","src":"31308:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31307:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68565,"nodeType":"FunctionDefinition","src":"31373:874:95","nodes":[],"body":{"id":68564,"nodeType":"Block","src":"31723:524:95","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":68538,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31754:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68540,"indexExpression":{"id":68539,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"31772:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31754:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31804:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"31754:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":68542,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31828:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68544,"indexExpression":{"id":68543,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"31846:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31828:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31878:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"31828:62:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":68546,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31904:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68548,"indexExpression":{"id":68547,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"31922:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31904:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68549,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31954:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"31904:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":68550,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31993:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68552,"indexExpression":{"id":68551,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"32011:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31993:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32043:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"31993:76:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":68554,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"32083:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68556,"indexExpression":{"id":68555,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"32101:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32083:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68557,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32133:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"32083:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":68558,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"32160:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68560,"indexExpression":{"id":68559,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"32178:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32160:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32210:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"32160:70:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68562,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31740:500:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$74765_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":68537,"id":68563,"nodeType":"Return","src":"31733:507:95"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31382:19:95","parameters":{"id":68523,"nodeType":"ParameterList","parameters":[],"src":"31401:2:95"},"returnParameters":{"id":68537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68526,"mutability":"mutable","name":"arbitrator","nameLocation":"31492:10:95","nodeType":"VariableDeclaration","scope":68565,"src":"31480:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":68525,"nodeType":"UserDefinedTypeName","pathNode":{"id":68524,"name":"IArbitrator","nameLocations":["31480:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"31480:11:95"},"referencedDeclaration":74765,"src":"31480:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":68528,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31524:12:95","nodeType":"VariableDeclaration","scope":68565,"src":"31516:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68527,"name":"address","nodeType":"ElementaryTypeName","src":"31516:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68530,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31558:25:95","nodeType":"VariableDeclaration","scope":68565,"src":"31550:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68529,"name":"uint256","nodeType":"ElementaryTypeName","src":"31550:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68532,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31605:26:95","nodeType":"VariableDeclaration","scope":68565,"src":"31597:34:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68531,"name":"uint256","nodeType":"ElementaryTypeName","src":"31597:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68534,"mutability":"mutable","name":"defaultRuling","nameLocation":"31653:13:95","nodeType":"VariableDeclaration","scope":68565,"src":"31645:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68533,"name":"uint256","nodeType":"ElementaryTypeName","src":"31645:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68536,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31688:20:95","nodeType":"VariableDeclaration","scope":68565,"src":"31680:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68535,"name":"uint256","nodeType":"ElementaryTypeName","src":"31680:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31466:252:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68582,"nodeType":"FunctionDefinition","src":"32253:226:95","nodes":[],"body":{"id":68581,"nodeType":"Block","src":"32407:72:95","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":68574,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"32424:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68576,"indexExpression":{"id":68575,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68567,"src":"32434:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32447:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"32424:40:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68579,"indexExpression":{"id":68578,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68569,"src":"32465:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:48:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68573,"id":68580,"nodeType":"Return","src":"32417:55:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"32262:31:95","parameters":{"id":68570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68567,"mutability":"mutable","name":"_proposalId","nameLocation":"32302:11:95","nodeType":"VariableDeclaration","scope":68582,"src":"32294:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68566,"name":"uint256","nodeType":"ElementaryTypeName","src":"32294:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68569,"mutability":"mutable","name":"_voter","nameLocation":"32323:6:95","nodeType":"VariableDeclaration","scope":68582,"src":"32315:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68568,"name":"address","nodeType":"ElementaryTypeName","src":"32315:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32293:37:95"},"returnParameters":{"id":68573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68582,"src":"32394:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68571,"name":"uint256","nodeType":"ElementaryTypeName","src":"32394:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32393:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68592,"nodeType":"FunctionDefinition","src":"32485:153:95","nodes":[],"body":{"id":68591,"nodeType":"Block","src":"32557:81:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68587,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"32574:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":68588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32592:20:95","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72906,"src":"32574:38:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":68589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32574:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68586,"id":68590,"nodeType":"Return","src":"32567:47:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32494:20:95","parameters":{"id":68583,"nodeType":"ParameterList","parameters":[],"src":"32514:2:95"},"returnParameters":{"id":68586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68592,"src":"32548:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68584,"name":"uint256","nodeType":"ElementaryTypeName","src":"32548:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32547:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68617,"nodeType":"FunctionDefinition","src":"32644:193:95","nodes":[],"body":{"id":68616,"nodeType":"Block","src":"32726:111:95","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68599,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"32743:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68601,"indexExpression":{"id":68600,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68594,"src":"32753:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32743:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32766:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"32743:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32779:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32743:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68605,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"32784:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68607,"indexExpression":{"id":68606,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68594,"src":"32794:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32784:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68608,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32807:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"32784:32:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32828:1:95","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":68610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32820:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68609,"name":"address","nodeType":"ElementaryTypeName","src":"32820:7:95","typeDescriptions":{}}},"id":68612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32820:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32784:46:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32743:87:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":68598,"id":68615,"nodeType":"Return","src":"32736:94:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32653:14:95","parameters":{"id":68595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68594,"mutability":"mutable","name":"_proposalID","nameLocation":"32676:11:95","nodeType":"VariableDeclaration","scope":68617,"src":"32668:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68593,"name":"uint256","nodeType":"ElementaryTypeName","src":"32668:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32667:21:95"},"returnParameters":{"id":68598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68617,"src":"32720:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68596,"name":"bool","nodeType":"ElementaryTypeName","src":"32720:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32719:6:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68636,"nodeType":"FunctionDefinition","src":"32843:191:95","nodes":[],"body":{"id":68635,"nodeType":"Block","src":"32946:88:95","nodes":[],"statements":[{"expression":{"id":68633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68624,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68622,"src":"32956:14:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68625,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"32973:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68626,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32982:8:95","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":66588,"src":"32973:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68627,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"32993:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68629,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"33007:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68630,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"33026:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33007:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:54:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32956:71:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68634,"nodeType":"ExpressionStatement","src":"32956:71:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"32852:15:95","parameters":{"id":68620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68619,"mutability":"mutable","name":"_requestedAmount","nameLocation":"32876:16:95","nodeType":"VariableDeclaration","scope":68636,"src":"32868:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68618,"name":"uint256","nodeType":"ElementaryTypeName","src":"32868:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32867:26:95"},"returnParameters":{"id":68623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68622,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"32930:14:95","nodeType":"VariableDeclaration","scope":68636,"src":"32925:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68621,"name":"bool","nodeType":"ElementaryTypeName","src":"32925:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32924:21:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68732,"nodeType":"FunctionDefinition","src":"33040:1548:95","nodes":[],"body":{"id":68731,"nodeType":"Block","src":"33170:1418:95","nodes":[],"statements":[{"assignments":[68646],"declarations":[{"constant":false,"id":68646,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"33187:15:95","nodeType":"VariableDeclaration","scope":68731,"src":"33180:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68645,"name":"int256","nodeType":"ElementaryTypeName","src":"33180:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68648,"initialValue":{"hexValue":"30","id":68647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33205:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33180:26:95"},{"body":{"id":68693,"nodeType":"Block","src":"33270:576:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68660,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33343:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68662,"indexExpression":{"id":68661,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33360:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33343:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33363:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66566,"src":"33343:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33377:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33343:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68668,"nodeType":"IfStatement","src":"33339:187:95","trueBody":{"id":68667,"nodeType":"Block","src":"33380:146:95","statements":[{"id":68666,"nodeType":"Continue","src":"33503:8:95"}]}},{"assignments":[68670],"declarations":[{"constant":false,"id":68670,"mutability":"mutable","name":"proposalId","nameLocation":"33547:10:95","nodeType":"VariableDeclaration","scope":68693,"src":"33539:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68669,"name":"uint256","nodeType":"ElementaryTypeName","src":"33539:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68675,"initialValue":{"expression":{"baseExpression":{"id":68671,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33560:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68673,"indexExpression":{"id":68672,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33577:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33560:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33580:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66566,"src":"33560:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33539:51:95"},{"condition":{"id":68679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33608:27:95","subExpression":{"arguments":[{"id":68677,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68670,"src":"33624:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68676,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"33609:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33609:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68685,"nodeType":"IfStatement","src":"33604:167:95","trueBody":{"id":68684,"nodeType":"Block","src":"33637:134:95","statements":[{"errorCall":{"arguments":[{"id":68681,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68670,"src":"33680:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68680,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"33662:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33662:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68683,"nodeType":"RevertStatement","src":"33655:36:95"}]}},{"expression":{"id":68691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68686,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68646,"src":"33784:15:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":68687,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33803:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68689,"indexExpression":{"id":68688,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33820:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33803:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33823:12:95","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":66568,"src":"33803:32:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33784:51:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":68692,"nodeType":"ExpressionStatement","src":"33784:51:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33236:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68654,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33240:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33257:6:95","memberName":"length","nodeType":"MemberAccess","src":"33240:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33236:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68694,"initializationExpression":{"assignments":[68650],"declarations":[{"constant":false,"id":68650,"mutability":"mutable","name":"i","nameLocation":"33229:1:95","nodeType":"VariableDeclaration","scope":68694,"src":"33221:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68649,"name":"uint256","nodeType":"ElementaryTypeName","src":"33221:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68652,"initialValue":{"hexValue":"30","id":68651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33233:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33221:13:95"},"loopExpression":{"expression":{"id":68658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33265:3:95","subExpression":{"id":68657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33265:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68659,"nodeType":"ExpressionStatement","src":"33265:3:95"},"nodeType":"ForStatement","src":"33216:630:95"},{"assignments":[68696],"declarations":[{"constant":false,"id":68696,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"33950:21:95","nodeType":"VariableDeclaration","scope":68731,"src":"33942:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68695,"name":"uint256","nodeType":"ElementaryTypeName","src":"33942:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68703,"initialValue":{"arguments":[{"arguments":[{"id":68699,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68638,"src":"34008:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68698,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68522,"src":"33986:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":68700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33986:30:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68701,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68646,"src":"34018:15:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68697,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69054,"src":"33974:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":68702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33974:60:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33942:92:95"},{"assignments":[68705],"declarations":[{"constant":false,"id":68705,"mutability":"mutable","name":"participantBalance","nameLocation":"34124:18:95","nodeType":"VariableDeclaration","scope":68731,"src":"34116:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68704,"name":"uint256","nodeType":"ElementaryTypeName","src":"34116:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68714,"initialValue":{"arguments":[{"id":68708,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68638,"src":"34188:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":68711,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"34205:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":68710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34197:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68709,"name":"address","nodeType":"ElementaryTypeName","src":"34197:7:95","typeDescriptions":{}}},"id":68712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34197:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68706,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"34145:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":68707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34163:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"34145:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":68713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34145:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34116:95:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68715,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"34377:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":68716,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68705,"src":"34401:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34377:42:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68724,"nodeType":"IfStatement","src":"34373:147:95","trueBody":{"id":68723,"nodeType":"Block","src":"34421:99:95","statements":[{"errorCall":{"arguments":[{"id":68719,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"34467:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68720,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68705,"src":"34490:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68718,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66665,"src":"34442:24:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34442:67:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68722,"nodeType":"RevertStatement","src":"34435:74:95"}]}},{"expression":{"id":68729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68725,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66913,"src":"34530:18:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68727,"indexExpression":{"id":68726,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68638,"src":"34549:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34530:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68728,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"34560:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34530:51:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68730,"nodeType":"ExpressionStatement","src":"34530:51:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"33049:24:95","parameters":{"id":68643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68638,"mutability":"mutable","name":"_sender","nameLocation":"33082:7:95","nodeType":"VariableDeclaration","scope":68732,"src":"33074:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68637,"name":"address","nodeType":"ElementaryTypeName","src":"33074:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68642,"mutability":"mutable","name":"_proposalSupport","nameLocation":"33131:16:95","nodeType":"VariableDeclaration","scope":68732,"src":"33091:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":68640,"nodeType":"UserDefinedTypeName","pathNode":{"id":68639,"name":"StrategyStruct.ProposalSupport","nameLocations":["33091:14:95","33106:15:95"],"nodeType":"IdentifierPath","referencedDeclaration":66569,"src":"33091:30:95"},"referencedDeclaration":66569,"src":"33091:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":68641,"nodeType":"ArrayTypeName","src":"33091:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"33073:75:95"},"returnParameters":{"id":68644,"nodeType":"ParameterList","parameters":[],"src":"33170:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":69019,"nodeType":"FunctionDefinition","src":"34594:3487:95","nodes":[],"body":{"id":69018,"nodeType":"Block","src":"34707:3374:95","nodes":[],"statements":[{"assignments":[68745],"declarations":[{"constant":false,"id":68745,"mutability":"mutable","name":"proposalsIds","nameLocation":"34734:12:95","nodeType":"VariableDeclaration","scope":69018,"src":"34717:29:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68743,"name":"uint256","nodeType":"ElementaryTypeName","src":"34717:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68744,"nodeType":"ArrayTypeName","src":"34717:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":68746,"nodeType":"VariableDeclarationStatement","src":"34717:29:95"},{"body":{"id":69016,"nodeType":"Block","src":"34810:3265:95","statements":[{"assignments":[68759],"declarations":[{"constant":false,"id":68759,"mutability":"mutable","name":"proposalId","nameLocation":"34832:10:95","nodeType":"VariableDeclaration","scope":69016,"src":"34824:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68758,"name":"uint256","nodeType":"ElementaryTypeName","src":"34824:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68764,"initialValue":{"expression":{"baseExpression":{"id":68760,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68738,"src":"34845:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68762,"indexExpression":{"id":68761,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"34862:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34845:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34865:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66566,"src":"34845:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34824:51:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68765,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"34948:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34961:6:95","memberName":"length","nodeType":"MemberAccess","src":"34948:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34971:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34948:24:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68867,"nodeType":"Block","src":"35100:764:95","statements":[{"assignments":[68785],"declarations":[{"constant":false,"id":68785,"mutability":"mutable","name":"exist","nameLocation":"35123:5:95","nodeType":"VariableDeclaration","scope":68867,"src":"35118:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68784,"name":"bool","nodeType":"ElementaryTypeName","src":"35118:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68787,"initialValue":{"hexValue":"66616c7365","id":68786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35131:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35118:18:95"},{"body":{"id":68815,"nodeType":"Block","src":"35204:268:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":68799,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35255:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68801,"indexExpression":{"id":68800,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35268:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35255:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68802,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35274:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35255:29:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68814,"nodeType":"IfStatement","src":"35251:203:95","trueBody":{"id":68813,"nodeType":"Block","src":"35286:168:95","statements":[{"expression":{"id":68806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68804,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68785,"src":"35312:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":68805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35320:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35312:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68807,"nodeType":"ExpressionStatement","src":"35312:12:95"},{"errorCall":{"arguments":[{"id":68809,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35383:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68810,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35395:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68808,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66683,"src":"35357:25:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35357:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68812,"nodeType":"RevertStatement","src":"35350:47:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68792,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35174:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68793,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35178:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35191:6:95","memberName":"length","nodeType":"MemberAccess","src":"35178:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35174:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68816,"initializationExpression":{"assignments":[68789],"declarations":[{"constant":false,"id":68789,"mutability":"mutable","name":"j","nameLocation":"35167:1:95","nodeType":"VariableDeclaration","scope":68816,"src":"35159:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68788,"name":"uint256","nodeType":"ElementaryTypeName","src":"35159:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68791,"initialValue":{"hexValue":"30","id":68790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35171:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35159:13:95"},"loopExpression":{"expression":{"id":68797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35199:3:95","subExpression":{"id":68796,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35199:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68798,"nodeType":"ExpressionStatement","src":"35199:3:95"},"nodeType":"ForStatement","src":"35154:318:95"},{"condition":{"id":68818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35493:6:95","subExpression":{"id":68817,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68785,"src":"35494:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68866,"nodeType":"IfStatement","src":"35489:361:95","trueBody":{"id":68865,"nodeType":"Block","src":"35501:349:95","statements":[{"assignments":[68823],"declarations":[{"constant":false,"id":68823,"mutability":"mutable","name":"temp","nameLocation":"35540:4:95","nodeType":"VariableDeclaration","scope":68865,"src":"35523:21:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68821,"name":"uint256","nodeType":"ElementaryTypeName","src":"35523:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68822,"nodeType":"ArrayTypeName","src":"35523:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":68832,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68827,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35561:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35574:6:95","memberName":"length","nodeType":"MemberAccess","src":"35561:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":68829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35583:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35561:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35547:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":68824,"name":"uint256","nodeType":"ElementaryTypeName","src":"35551:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68825,"nodeType":"ArrayTypeName","src":"35551:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":68831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35547:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35523:62:95"},{"body":{"id":68852,"nodeType":"Block","src":"35657:74:95","statements":[{"expression":{"id":68850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68844,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68823,"src":"35683:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68846,"indexExpression":{"id":68845,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35688:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35683:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":68847,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35693:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68849,"indexExpression":{"id":68848,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35706:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35693:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35683:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68851,"nodeType":"ExpressionStatement","src":"35683:25:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35627:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68838,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35631:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35644:6:95","memberName":"length","nodeType":"MemberAccess","src":"35631:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35627:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68853,"initializationExpression":{"assignments":[68834],"declarations":[{"constant":false,"id":68834,"mutability":"mutable","name":"j","nameLocation":"35620:1:95","nodeType":"VariableDeclaration","scope":68853,"src":"35612:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68833,"name":"uint256","nodeType":"ElementaryTypeName","src":"35612:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68836,"initialValue":{"hexValue":"30","id":68835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35624:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35612:13:95"},"loopExpression":{"expression":{"id":68842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35652:3:95","subExpression":{"id":68841,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35652:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68843,"nodeType":"ExpressionStatement","src":"35652:3:95"},"nodeType":"ForStatement","src":"35607:124:95"},{"expression":{"id":68859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68854,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68823,"src":"35752:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68857,"indexExpression":{"expression":{"id":68855,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35757:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35770:6:95","memberName":"length","nodeType":"MemberAccess","src":"35757:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35752:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68858,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35780:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35752:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68860,"nodeType":"ExpressionStatement","src":"35752:38:95"},{"expression":{"id":68863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68861,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35812:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68862,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68823,"src":"35827:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35812:19:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68864,"nodeType":"ExpressionStatement","src":"35812:19:95"}]}}]},"id":68868,"nodeType":"IfStatement","src":"34944:920:95","trueBody":{"id":68783,"nodeType":"Block","src":"34974:120:95","statements":[{"expression":{"id":68775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68769,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"34992:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":68773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35021:1:95","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"}],"id":68772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35007:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":68770,"name":"uint256","nodeType":"ElementaryTypeName","src":"35011:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68771,"nodeType":"ArrayTypeName","src":"35011:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":68774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35007:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"34992:31:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68776,"nodeType":"ExpressionStatement","src":"34992:31:95"},{"expression":{"id":68781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68777,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35041:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68779,"indexExpression":{"hexValue":"30","id":68778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35054:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35041:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68780,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35059:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35041:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68782,"nodeType":"ExpressionStatement","src":"35041:28:95"}]}},{"assignments":[68870],"declarations":[{"constant":false,"id":68870,"mutability":"mutable","name":"delta","nameLocation":"35884:5:95","nodeType":"VariableDeclaration","scope":69016,"src":"35877:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68869,"name":"int256","nodeType":"ElementaryTypeName","src":"35877:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68875,"initialValue":{"expression":{"baseExpression":{"id":68871,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68738,"src":"35892:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68873,"indexExpression":{"id":68872,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"35909:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35892:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35912:12:95","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":66568,"src":"35892:32:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"35877:47:95"},{"assignments":[68880],"declarations":[{"constant":false,"id":68880,"mutability":"mutable","name":"proposal","nameLocation":"35971:8:95","nodeType":"VariableDeclaration","scope":69016,"src":"35939:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68879,"nodeType":"UserDefinedTypeName","pathNode":{"id":68878,"name":"StrategyStruct.Proposal","nameLocations":["35939:14:95","35954:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"35939:23:95"},"referencedDeclaration":66564,"src":"35939:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68884,"initialValue":{"baseExpression":{"id":68881,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"35982:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68883,"indexExpression":{"id":68882,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35992:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35982:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35939:64:95"},{"assignments":[68886],"declarations":[{"constant":false,"id":68886,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"36113:20:95","nodeType":"VariableDeclaration","scope":69016,"src":"36105:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68885,"name":"uint256","nodeType":"ElementaryTypeName","src":"36105:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68891,"initialValue":{"baseExpression":{"expression":{"id":68887,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"36136:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68888,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36145:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"36136:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68890,"indexExpression":{"id":68889,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36163:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36136:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36105:66:95"},{"assignments":[68893],"declarations":[{"constant":false,"id":68893,"mutability":"mutable","name":"stakedPoints","nameLocation":"36344:12:95","nodeType":"VariableDeclaration","scope":69016,"src":"36336:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68892,"name":"uint256","nodeType":"ElementaryTypeName","src":"36336:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68898,"initialValue":{"arguments":[{"id":68895,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"36371:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68896,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68870,"src":"36393:5:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68894,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69054,"src":"36359:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":68897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36359:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36336:63:95"},{"expression":{"id":68905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":68899,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"36534:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36543:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"36534:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68903,"indexExpression":{"id":68901,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36561:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36534:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68904,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"36572:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36534:50:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68906,"nodeType":"ExpressionStatement","src":"36534:50:95"},{"assignments":[68908],"declarations":[{"constant":false,"id":68908,"mutability":"mutable","name":"hasProposal","nameLocation":"36823:11:95","nodeType":"VariableDeclaration","scope":69016,"src":"36818:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68907,"name":"bool","nodeType":"ElementaryTypeName","src":"36818:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68910,"initialValue":{"hexValue":"66616c7365","id":68909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36837:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"36818:24:95"},{"body":{"id":68939,"nodeType":"Block","src":"36923:179:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":68924,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"36945:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68926,"indexExpression":{"id":68925,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36966:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68928,"indexExpression":{"id":68927,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"36975:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":68929,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"36981:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36990:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"36981:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36945:55:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68938,"nodeType":"IfStatement","src":"36941:147:95","trueBody":{"id":68937,"nodeType":"Block","src":"37002:86:95","statements":[{"expression":{"id":68934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68932,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68908,"src":"37024:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":68933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37038:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"37024:18:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68935,"nodeType":"ExpressionStatement","src":"37024:18:95"},{"id":68936,"nodeType":"Break","src":"37064:5:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68915,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"36876:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":68916,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"36880:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68918,"indexExpression":{"id":68917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36901:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36880:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36910:6:95","memberName":"length","nodeType":"MemberAccess","src":"36880:36:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36876:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68940,"initializationExpression":{"assignments":[68912],"declarations":[{"constant":false,"id":68912,"mutability":"mutable","name":"k","nameLocation":"36869:1:95","nodeType":"VariableDeclaration","scope":68940,"src":"36861:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68911,"name":"uint256","nodeType":"ElementaryTypeName","src":"36861:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68914,"initialValue":{"hexValue":"30","id":68913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36873:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36861:13:95"},"loopExpression":{"expression":{"id":68922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36918:3:95","subExpression":{"id":68921,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"36918:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68923,"nodeType":"ExpressionStatement","src":"36918:3:95"},"nodeType":"ForStatement","src":"36856:246:95"},{"condition":{"id":68942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37119:12:95","subExpression":{"id":68941,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68908,"src":"37120:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68952,"nodeType":"IfStatement","src":"37115:106:95","trueBody":{"id":68951,"nodeType":"Block","src":"37133:88:95","statements":[{"expression":{"arguments":[{"expression":{"id":68947,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37186:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37195:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"37186:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":68943,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"37151:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68945,"indexExpression":{"id":68944,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"37172:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37151:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37181:4:95","memberName":"push","nodeType":"MemberAccess","src":"37151:34:95","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":68949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37151:55:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68950,"nodeType":"ExpressionStatement","src":"37151:55:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68953,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37376:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68954,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37400:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37376:36:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68985,"nodeType":"Block","src":"37581:161:95","statements":[{"expression":{"id":68975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68971,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66881,"src":"37599:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68972,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37614:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68973,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37637:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37614:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37599:50:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68976,"nodeType":"ExpressionStatement","src":"37599:50:95"},{"expression":{"id":68983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68977,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37667:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37676:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"37667:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68980,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37692:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68981,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37715:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37692:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37667:60:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68984,"nodeType":"ExpressionStatement","src":"37667:60:95"}]},"id":68986,"nodeType":"IfStatement","src":"37372:370:95","trueBody":{"id":68970,"nodeType":"Block","src":"37414:161:95","statements":[{"expression":{"id":68960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68956,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66881,"src":"37432:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68957,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37447:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68958,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37462:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37447:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37432:50:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68961,"nodeType":"ExpressionStatement","src":"37432:50:95"},{"expression":{"id":68968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68962,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37500:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37509:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"37500:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68965,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37525:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68966,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37540:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37525:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37500:60:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68969,"nodeType":"ExpressionStatement","src":"37500:60:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68987,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37759:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37768:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"37759:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37781:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37759:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69014,"nodeType":"Block","src":"37856:209:95","statements":[{"expression":{"arguments":[{"id":69000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37901:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":69001,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37911:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68999,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69354,"src":"37874:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":69002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37874:58:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69003,"nodeType":"ExpressionStatement","src":"37874:58:95"},{"eventCall":{"arguments":[{"id":69005,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"37968:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69006,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"37977:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69007,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37989:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69008,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"38003:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38012:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"38003:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69010,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"38026:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69011,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38035:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"38026:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69004,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66784,"src":"37955:12:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":69012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37955:95:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69013,"nodeType":"EmitStatement","src":"37950:100:95"}]},"id":69015,"nodeType":"IfStatement","src":"37755:310:95","trueBody":{"id":68998,"nodeType":"Block","src":"37784:66:95","statements":[{"expression":{"id":68996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68991,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37802:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68993,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37811:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"37802:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68994,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"37823:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37829:6:95","memberName":"number","nodeType":"MemberAccess","src":"37823:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37802:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68997,"nodeType":"ExpressionStatement","src":"37802:33:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"34776:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68752,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68738,"src":"34780:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34797:6:95","memberName":"length","nodeType":"MemberAccess","src":"34780:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34776:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69017,"initializationExpression":{"assignments":[68748],"declarations":[{"constant":false,"id":68748,"mutability":"mutable","name":"i","nameLocation":"34769:1:95","nodeType":"VariableDeclaration","scope":69017,"src":"34761:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68747,"name":"uint256","nodeType":"ElementaryTypeName","src":"34761:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68750,"initialValue":{"hexValue":"30","id":68749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34773:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34761:13:95"},"loopExpression":{"expression":{"id":68756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34805:3:95","subExpression":{"id":68755,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"34805:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68757,"nodeType":"ExpressionStatement","src":"34805:3:95"},"nodeType":"ForStatement","src":"34756:3319:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34603:11:95","parameters":{"id":68739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68734,"mutability":"mutable","name":"_sender","nameLocation":"34623:7:95","nodeType":"VariableDeclaration","scope":69019,"src":"34615:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68733,"name":"address","nodeType":"ElementaryTypeName","src":"34615:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68738,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34672:16:95","nodeType":"VariableDeclaration","scope":69019,"src":"34632:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":68736,"nodeType":"UserDefinedTypeName","pathNode":{"id":68735,"name":"StrategyStruct.ProposalSupport","nameLocations":["34632:14:95","34647:15:95"],"nodeType":"IdentifierPath","referencedDeclaration":66569,"src":"34632:30:95"},"referencedDeclaration":66569,"src":"34632:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":68737,"nodeType":"ArrayTypeName","src":"34632:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"34614:75:95"},"returnParameters":{"id":68740,"nodeType":"ParameterList","parameters":[],"src":"34707:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69054,"nodeType":"FunctionDefinition","src":"38087:284:95","nodes":[],"body":{"id":69053,"nodeType":"Block","src":"38181:190:95","nodes":[],"statements":[{"assignments":[69029],"declarations":[{"constant":false,"id":69029,"mutability":"mutable","name":"result","nameLocation":"38198:6:95","nodeType":"VariableDeclaration","scope":69053,"src":"38191:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":69028,"name":"int256","nodeType":"ElementaryTypeName","src":"38191:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":69036,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":69035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":69032,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69021,"src":"38214:8:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38207:6:95","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":69030,"name":"int256","nodeType":"ElementaryTypeName","src":"38207:6:95","typeDescriptions":{}}},"id":69033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38207:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69034,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69023,"src":"38226:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"38207:25:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"38191:41:95"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":69039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69037,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69029,"src":"38247:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":69038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38256:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38247:10:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69047,"nodeType":"IfStatement","src":"38243:90:95","trueBody":{"id":69046,"nodeType":"Block","src":"38259:74:95","statements":[{"errorCall":{"arguments":[{"id":69041,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69021,"src":"38297:8:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69042,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69023,"src":"38307:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":69043,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69029,"src":"38315:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":69040,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66655,"src":"38280:16:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":69044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38280:42:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69045,"nodeType":"RevertStatement","src":"38273:49:95"}]}},{"expression":{"arguments":[{"id":69050,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69029,"src":"38357:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":69049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38349:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":69048,"name":"uint256","nodeType":"ElementaryTypeName","src":"38349:7:95","typeDescriptions":{}}},"id":69051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38349:15:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69027,"id":69052,"nodeType":"Return","src":"38342:22:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"38096:11:95","parameters":{"id":69024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69021,"mutability":"mutable","name":"_support","nameLocation":"38116:8:95","nodeType":"VariableDeclaration","scope":69054,"src":"38108:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69020,"name":"uint256","nodeType":"ElementaryTypeName","src":"38108:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69023,"mutability":"mutable","name":"_delta","nameLocation":"38133:6:95","nodeType":"VariableDeclaration","scope":69054,"src":"38126:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":69022,"name":"int256","nodeType":"ElementaryTypeName","src":"38126:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"38107:33:95"},"returnParameters":{"id":69027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69054,"src":"38172:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69025,"name":"uint256","nodeType":"ElementaryTypeName","src":"38172:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38171:9:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":69112,"nodeType":"FunctionDefinition","src":"38788:1191:95","nodes":[],"body":{"id":69111,"nodeType":"Block","src":"38951:1028:95","nodes":[],"statements":[{"assignments":[69067],"declarations":[{"constant":false,"id":69067,"mutability":"mutable","name":"t","nameLocation":"38969:1:95","nodeType":"VariableDeclaration","scope":69111,"src":"38961:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69066,"name":"uint256","nodeType":"ElementaryTypeName","src":"38961:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69069,"initialValue":{"id":69068,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69057,"src":"38973:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38961:23:95"},{"assignments":[69071],"declarations":[{"constant":false,"id":69071,"mutability":"mutable","name":"atTWO_128","nameLocation":"39307:9:95","nodeType":"VariableDeclaration","scope":69111,"src":"39299:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69070,"name":"uint256","nodeType":"ElementaryTypeName","src":"39299:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69082,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69073,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"39325:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39334:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"39325:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":69075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39343:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39325:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39324:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69078,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"39350:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39324:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69080,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69067,"src":"39353:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69072,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69305,"src":"39319:4:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":69081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39319:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39299:56:95"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69083,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69071,"src":"39851:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69084,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69059,"src":"39863:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39851:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39850:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69087,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69061,"src":"39878:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69088,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"39891:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69090,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"39896:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":69091,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69071,"src":"39906:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39896:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39895:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69095,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39877:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69096,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"39921:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69097,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"39925:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39934:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"39925:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39921:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69100,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39920:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39877:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69102,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39876:65:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39850:91:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69104,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39849:93:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69105,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66855,"src":"39945:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39849:103:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69107,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39848:105:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":69108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39969:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39848:124:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69065,"id":69110,"nodeType":"Return","src":"39841:131:95"}]},"documentation":{"id":69055,"nodeType":"StructuredDocumentation","src":"38377:406:95","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"38797:19:95","parameters":{"id":69062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69057,"mutability":"mutable","name":"_timePassed","nameLocation":"38825:11:95","nodeType":"VariableDeclaration","scope":69112,"src":"38817:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69056,"name":"uint256","nodeType":"ElementaryTypeName","src":"38817:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69059,"mutability":"mutable","name":"_lastConv","nameLocation":"38846:9:95","nodeType":"VariableDeclaration","scope":69112,"src":"38838:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69058,"name":"uint256","nodeType":"ElementaryTypeName","src":"38838:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69061,"mutability":"mutable","name":"_oldAmount","nameLocation":"38865:10:95","nodeType":"VariableDeclaration","scope":69112,"src":"38857:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69060,"name":"uint256","nodeType":"ElementaryTypeName","src":"38857:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38816:60:95"},"returnParameters":{"id":69065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69112,"src":"38938:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69063,"name":"uint256","nodeType":"ElementaryTypeName","src":"38938:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38937:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69205,"nodeType":"FunctionDefinition","src":"40560:1549:95","nodes":[],"body":{"id":69204,"nodeType":"Block","src":"40663:1446:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69120,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"40797:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":69121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40811:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"40797:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69127,"nodeType":"IfStatement","src":"40793:66:95","trueBody":{"id":69126,"nodeType":"Block","src":"40814:45:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69123,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66633,"src":"40835:11:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40835:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69125,"nodeType":"RevertStatement","src":"40828:20:95"}]}},{"condition":{"arguments":[{"id":69129,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69115,"src":"41315:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69128,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68636,"src":"41299:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":69130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41299:33:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69135,"nodeType":"IfStatement","src":"41295:91:95","trueBody":{"id":69134,"nodeType":"Block","src":"41334:52:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69131,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66641,"src":"41355:18:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41355:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69133,"nodeType":"RevertStatement","src":"41348:27:95"}]}},{"assignments":[69137],"declarations":[{"constant":false,"id":69137,"mutability":"mutable","name":"denom","nameLocation":"41542:5:95","nodeType":"VariableDeclaration","scope":69204,"src":"41534:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69136,"name":"uint256","nodeType":"ElementaryTypeName","src":"41534:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69156,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69138,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"41551:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41560:8:95","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":66588,"src":"41551:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":69142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":69140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41571:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":69141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41576:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41571:7:95","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41551:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69144,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41550:29:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69145,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41582:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69147,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69115,"src":"41587:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":69150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":69148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41606:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":69149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41611:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41606:7:95","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41587:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69152,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41586:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69153,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"41617:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41586:41:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:77:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41534:93:95"},{"expression":{"id":69191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69157,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"41637:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69158,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"41669:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69159,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41678:6:95","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":66590,"src":"41669:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":69160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41688:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41669:22:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41668:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69163,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41695:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41668:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41667:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69166,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69137,"src":"41702:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69167,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69137,"src":"41710:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41702:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41701:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":69170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41720:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41701:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69172,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41700:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41667:56:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69174,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41666:58:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69175,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41727:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41666:62:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69177,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41665:64:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69178,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41733:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69179,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"41737:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41746:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"41737:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41733:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69182,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41732:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41665:87:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69184,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41664:89:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":69185,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69313,"src":"41772:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":69186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41772:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41664:136:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69188,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41650:160:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":69189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41814:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41650:166:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41637:179:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69192,"nodeType":"ExpressionStatement","src":"41637:179:95"},{"expression":{"id":69202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69193,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"42006:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69194,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"42019:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":69195,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"42032:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42041:18:95","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":66594,"src":"42032:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42019:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":69199,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"42075:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42084:18:95","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":66594,"src":"42075:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42019:83:95","trueExpression":{"id":69198,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"42062:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42006:96:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69203,"nodeType":"ExpressionStatement","src":"42006:96:95"}]},"documentation":{"id":69113,"nodeType":"StructuredDocumentation","src":"39985:570:95","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"40569:18:95","parameters":{"id":69116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69115,"mutability":"mutable","name":"_requestedAmount","nameLocation":"40596:16:95","nodeType":"VariableDeclaration","scope":69205,"src":"40588:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69114,"name":"uint256","nodeType":"ElementaryTypeName","src":"40588:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40587:26:95"},"returnParameters":{"id":69119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69118,"mutability":"mutable","name":"_threshold","nameLocation":"40651:10:95","nodeType":"VariableDeclaration","scope":69205,"src":"40643:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69117,"name":"uint256","nodeType":"ElementaryTypeName","src":"40643:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40642:20:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69240,"nodeType":"FunctionDefinition","src":"42370:277:95","nodes":[],"body":{"id":69239,"nodeType":"Block","src":"42456:191:95","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69216,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69208,"src":"42474:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":69217,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"42480:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42474:13:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":69219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42489:42:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":69215,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42466:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42466:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69221,"nodeType":"ExpressionStatement","src":"42466:66:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69223,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69210,"src":"42550:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":69224,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"42555:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42550:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":69226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42564:30:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":69222,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42542:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42542:53:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69228,"nodeType":"ExpressionStatement","src":"42542:53:95"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69229,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69208,"src":"42614:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69230,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69210,"src":"42619:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42614:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69232,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42613:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69233,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66855,"src":"42625:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42613:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69235,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42612:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":69236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42637:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"42612:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69214,"id":69238,"nodeType":"Return","src":"42605:35:95"}]},"documentation":{"id":69206,"nodeType":"StructuredDocumentation","src":"42115:250:95","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"42379:4:95","parameters":{"id":69211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69208,"mutability":"mutable","name":"_a","nameLocation":"42392:2:95","nodeType":"VariableDeclaration","scope":69240,"src":"42384:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69207,"name":"uint256","nodeType":"ElementaryTypeName","src":"42384:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69210,"mutability":"mutable","name":"_b","nameLocation":"42404:2:95","nodeType":"VariableDeclaration","scope":69240,"src":"42396:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69209,"name":"uint256","nodeType":"ElementaryTypeName","src":"42396:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42383:24:95"},"returnParameters":{"id":69214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69213,"mutability":"mutable","name":"_result","nameLocation":"42447:7:95","nodeType":"VariableDeclaration","scope":69240,"src":"42439:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69212,"name":"uint256","nodeType":"ElementaryTypeName","src":"42439:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42438:17:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":69305,"nodeType":"FunctionDefinition","src":"42869:455:95","nodes":[],"body":{"id":69304,"nodeType":"Block","src":"42955:369:95","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69251,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69243,"src":"42973:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":69252,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"42978:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42973:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":69254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42987:30:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":69250,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42965:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42965:53:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69256,"nodeType":"ExpressionStatement","src":"42965:53:95"},{"assignments":[69258],"declarations":[{"constant":false,"id":69258,"mutability":"mutable","name":"a","nameLocation":"43036:1:95","nodeType":"VariableDeclaration","scope":69304,"src":"43028:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69257,"name":"uint256","nodeType":"ElementaryTypeName","src":"43028:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69260,"initialValue":{"id":69259,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69243,"src":"43040:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43028:14:95"},{"assignments":[69262],"declarations":[{"constant":false,"id":69262,"mutability":"mutable","name":"b","nameLocation":"43060:1:95","nodeType":"VariableDeclaration","scope":69304,"src":"43052:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69261,"name":"uint256","nodeType":"ElementaryTypeName","src":"43052:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69264,"initialValue":{"id":69263,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69245,"src":"43064:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43052:14:95"},{"expression":{"id":69267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69265,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69248,"src":"43076:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69266,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"43086:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43076:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69268,"nodeType":"ExpressionStatement","src":"43076:17:95"},{"body":{"id":69302,"nodeType":"Block","src":"43117:201:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69272,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43135:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":69273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43139:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43135:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43144:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43135:10:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69300,"nodeType":"Block","src":"43225:83:95","statements":[{"expression":{"id":69294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69289,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69248,"src":"43243:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69291,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69248,"src":"43258:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69292,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43267:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69290,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69240,"src":"43253:4:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":69293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43253:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43243:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69295,"nodeType":"ExpressionStatement","src":"43243:26:95"},{"expression":{"id":69298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69296,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43287:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":69297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43292:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43287:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69299,"nodeType":"ExpressionStatement","src":"43287:6:95"}]},"id":69301,"nodeType":"IfStatement","src":"43131:177:95","trueBody":{"id":69288,"nodeType":"Block","src":"43147:72:95","statements":[{"expression":{"id":69282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69277,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43165:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69279,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43174:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69280,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43177:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69278,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69240,"src":"43169:4:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":69281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43169:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43165:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69283,"nodeType":"ExpressionStatement","src":"43165:14:95"},{"expression":{"id":69286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69284,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43197:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":69285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43203:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43197:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69287,"nodeType":"ExpressionStatement","src":"43197:7:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43110:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43114:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43110:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69303,"nodeType":"WhileStatement","src":"43103:215:95"}]},"documentation":{"id":69241,"nodeType":"StructuredDocumentation","src":"42653:211:95","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"42878:4:95","parameters":{"id":69246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69243,"mutability":"mutable","name":"_a","nameLocation":"42891:2:95","nodeType":"VariableDeclaration","scope":69305,"src":"42883:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69242,"name":"uint256","nodeType":"ElementaryTypeName","src":"42883:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69245,"mutability":"mutable","name":"_b","nameLocation":"42903:2:95","nodeType":"VariableDeclaration","scope":69305,"src":"42895:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69244,"name":"uint256","nodeType":"ElementaryTypeName","src":"42895:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42882:24:95"},"returnParameters":{"id":69249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69248,"mutability":"mutable","name":"_result","nameLocation":"42946:7:95","nodeType":"VariableDeclaration","scope":69305,"src":"42938:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69247,"name":"uint256","nodeType":"ElementaryTypeName","src":"42938:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42937:17:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":69313,"nodeType":"FunctionDefinition","src":"43330:120:95","nodes":[],"body":{"id":69312,"nodeType":"Block","src":"43406:44:95","nodes":[],"statements":[{"expression":{"id":69310,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"43423:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69309,"id":69311,"nodeType":"Return","src":"43416:27:95"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"43339:26:95","parameters":{"id":69306,"nodeType":"ParameterList","parameters":[],"src":"43365:2:95"},"returnParameters":{"id":69309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69313,"src":"43397:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69307,"name":"uint256","nodeType":"ElementaryTypeName","src":"43397:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43396:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69354,"nodeType":"FunctionDefinition","src":"43640:424:95","nodes":[],"body":{"id":69353,"nodeType":"Block","src":"43776:288:95","nodes":[],"statements":[{"assignments":[69323,69325],"declarations":[{"constant":false,"id":69323,"mutability":"mutable","name":"conviction","nameLocation":"43795:10:95","nodeType":"VariableDeclaration","scope":69353,"src":"43787:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69322,"name":"uint256","nodeType":"ElementaryTypeName","src":"43787:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69325,"mutability":"mutable","name":"blockNumber","nameLocation":"43815:11:95","nodeType":"VariableDeclaration","scope":69353,"src":"43807:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69324,"name":"uint256","nodeType":"ElementaryTypeName","src":"43807:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69330,"initialValue":{"arguments":[{"id":69327,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"43864:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":69328,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69319,"src":"43875:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69326,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69401,"src":"43830:33:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":69329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43830:56:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"43786:100:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69331,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69323,"src":"43900:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43914:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43900:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69334,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69325,"src":"43919:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43934:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43919:16:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43900:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69340,"nodeType":"IfStatement","src":"43896:72:95","trueBody":{"id":69339,"nodeType":"Block","src":"43937:31:95","statements":[{"functionReturnParameters":69321,"id":69338,"nodeType":"Return","src":"43951:7:95"}]}},{"expression":{"id":69345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69341,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"43977:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69343,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43987:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"43977:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69344,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69325,"src":"43999:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43977:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69346,"nodeType":"ExpressionStatement","src":"43977:33:95"},{"expression":{"id":69351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69347,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"44020:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44030:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"44020:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69350,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69323,"src":"44047:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44020:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69352,"nodeType":"ExpressionStatement","src":"44020:37:95"}]},"documentation":{"id":69314,"nodeType":"StructuredDocumentation","src":"43456:179:95","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"43649:26:95","parameters":{"id":69320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69317,"mutability":"mutable","name":"_proposal","nameLocation":"43708:9:95","nodeType":"VariableDeclaration","scope":69354,"src":"43676:41:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69316,"nodeType":"UserDefinedTypeName","pathNode":{"id":69315,"name":"StrategyStruct.Proposal","nameLocations":["43676:14:95","43691:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"43676:23:95"},"referencedDeclaration":66564,"src":"43676:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":69319,"mutability":"mutable","name":"_oldStaked","nameLocation":"43727:10:95","nodeType":"VariableDeclaration","scope":69354,"src":"43719:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69318,"name":"uint256","nodeType":"ElementaryTypeName","src":"43719:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43675:63:95"},"returnParameters":{"id":69321,"nodeType":"ParameterList","parameters":[],"src":"43776:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69401,"nodeType":"FunctionDefinition","src":"44070:845:95","nodes":[],"body":{"id":69400,"nodeType":"Block","src":"44284:631:95","nodes":[],"statements":[{"expression":{"id":69369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69366,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44294:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69367,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44308:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44314:6:95","memberName":"number","nodeType":"MemberAccess","src":"44308:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44294:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69370,"nodeType":"ExpressionStatement","src":"44294:26:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69372,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44337:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44347:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"44337:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":69374,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44360:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44337:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":69371,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"44330:6:95","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":69376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44330:42:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69377,"nodeType":"ExpressionStatement","src":"44330:42:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69378,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44386:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44396:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"44386:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":69380,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44409:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44386:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69387,"nodeType":"IfStatement","src":"44382:173:95","trueBody":{"id":69386,"nodeType":"Block","src":"44422:133:95","statements":[{"expression":{"components":[{"hexValue":"30","id":69382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44510:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":69383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44513:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":69384,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44509:6:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":69365,"id":69385,"nodeType":"Return","src":"44502:13:95"}]}},{"expression":{"id":69398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69388,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69362,"src":"44608:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69390,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44764:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69391,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44778:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44788:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"44778:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44764:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69394,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44850:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44860:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"44850:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69396,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69359,"src":"44888:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69389,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69112,"src":"44621:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":69397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44621:287:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44608:300:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69399,"nodeType":"ExpressionStatement","src":"44608:300:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"44079:33:95","parameters":{"id":69360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69357,"mutability":"mutable","name":"_proposal","nameLocation":"44145:9:95","nodeType":"VariableDeclaration","scope":69401,"src":"44113:41:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69356,"nodeType":"UserDefinedTypeName","pathNode":{"id":69355,"name":"StrategyStruct.Proposal","nameLocations":["44113:14:95","44128:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"44113:23:95"},"referencedDeclaration":66564,"src":"44113:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":69359,"mutability":"mutable","name":"_oldStaked","nameLocation":"44164:10:95","nodeType":"VariableDeclaration","scope":69401,"src":"44156:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69358,"name":"uint256","nodeType":"ElementaryTypeName","src":"44156:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44112:63:95"},"returnParameters":{"id":69365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69362,"mutability":"mutable","name":"conviction","nameLocation":"44247:10:95","nodeType":"VariableDeclaration","scope":69401,"src":"44239:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69361,"name":"uint256","nodeType":"ElementaryTypeName","src":"44239:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69364,"mutability":"mutable","name":"blockNumber","nameLocation":"44267:11:95","nodeType":"VariableDeclaration","scope":69401,"src":"44259:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69363,"name":"uint256","nodeType":"ElementaryTypeName","src":"44259:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44238:41:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":69553,"nodeType":"FunctionDefinition","src":"44921:2409:95","nodes":[],"body":{"id":69552,"nodeType":"Block","src":"45084:2246:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69410,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45111:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45129:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"45111:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":69414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45153:1:95","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":69413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45145:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69412,"name":"address","nodeType":"ElementaryTypeName","src":"45145:7:95","typeDescriptions":{}}},"id":69415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45145:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45111:44:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":69419,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45167:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69420,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45185:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"45167:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45159:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69417,"name":"address","nodeType":"ElementaryTypeName","src":"45159:7:95","typeDescriptions":{}}},"id":69421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45159:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":69424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45208:1:95","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":69423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45200:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69422,"name":"address","nodeType":"ElementaryTypeName","src":"45200:7:95","typeDescriptions":{}}},"id":69425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45200:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45159:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:99:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69428,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45252:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45270:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"45252:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69430,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45286:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69432,"indexExpression":{"id":69431,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45304:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45286:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45336:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"45286:62:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45252:96:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"id":69441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69435,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45376:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45394:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"45376:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69437,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45408:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69439,"indexExpression":{"id":69438,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45426:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45408:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45458:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"45408:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"src":"45376:92:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:216:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69443,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45496:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45514:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"45496:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69445,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45571:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69447,"indexExpression":{"id":69446,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45589:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45571:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45621:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"45571:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45496:150:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:394:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69451,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45674:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45692:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"45674:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69453,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45750:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69455,"indexExpression":{"id":69454,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45768:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45750:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45800:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"45750:76:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45674:152:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:574:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69459,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45854:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45872:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"45854:31:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69461,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45889:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69463,"indexExpression":{"id":69462,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45907:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45889:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45939:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"45889:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45854:98:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:700:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69467,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45980:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45998:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"45980:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69469,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46050:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69471,"indexExpression":{"id":69470,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46068:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46050:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46100:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"46050:70:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45980:140:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:868:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":69475,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45230:908:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:1027:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69543,"nodeType":"IfStatement","src":"45094:2158:95","trueBody":{"id":69542,"nodeType":"Block","src":"46149:1103:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69477,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46184:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69479,"indexExpression":{"id":69478,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46202:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46184:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46234:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46184:62:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69481,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46250:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46268:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46250:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46184:96:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"id":69490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69484,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46304:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69486,"indexExpression":{"id":69485,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46322:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46304:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46354:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46304:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69488,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46368:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46386:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46368:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"src":"46304:92:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46184:212:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69516,"nodeType":"IfStatement","src":"46163:522:95","trueBody":{"id":69515,"nodeType":"Block","src":"46411:274:95","statements":[{"expression":{"arguments":[{"expression":{"id":69497,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46471:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46489:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46471:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":69492,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46429:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46447:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46429:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"id":69496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46458:12:95","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":74764,"src":"46429:41:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":69499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46429:73:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69500,"nodeType":"ExpressionStatement","src":"46429:73:95"},{"eventCall":{"arguments":[{"arguments":[{"id":69504,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46576:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":69503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46568:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69502,"name":"address","nodeType":"ElementaryTypeName","src":"46568:7:95","typeDescriptions":{}}},"id":69505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46568:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":69508,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46591:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69509,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46609:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46591:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46583:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69506,"name":"address","nodeType":"ElementaryTypeName","src":"46583:7:95","typeDescriptions":{}}},"id":69510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46583:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69511,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46622:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46640:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46622:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69501,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66822,"src":"46525:21:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":69513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46525:145:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69514,"nodeType":"EmitStatement","src":"46520:150:95"}]}},{"expression":{"id":69518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46699:32:95","subExpression":{"id":69517,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46699:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69519,"nodeType":"ExpressionStatement","src":"46699:32:95"},{"expression":{"id":69524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":69520,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46745:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69522,"indexExpression":{"id":69521,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46763:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"46745:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69523,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46797:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"46745:69:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69525,"nodeType":"ExpressionStatement","src":"46745:69:95"},{"eventCall":{"arguments":[{"id":69527,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46875:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69528,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46923:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69529,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46941:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46923:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"expression":{"id":69530,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46969:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69531,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46987:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46969:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69532,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47017:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47035:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"47017:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69534,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47078:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47096:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"47078:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69536,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47140:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69537,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47158:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"47140:31:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69538,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47189:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47207:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"47189:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69526,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66843,"src":"46834:23:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$74765_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":69540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46834:407:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69541,"nodeType":"EmitStatement","src":"46829:412:95"}]}},{"expression":{"id":69546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69544,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"47262:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69545,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69407,"src":"47273:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"47262:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69547,"nodeType":"ExpressionStatement","src":"47262:20:95"},{"eventCall":{"arguments":[{"id":69549,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69407,"src":"47313:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":69548,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66789,"src":"47297:15:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$66595_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory)"}},"id":69550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47297:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69551,"nodeType":"EmitStatement","src":"47292:31:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"44930:14:95","parameters":{"id":69408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69404,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"44993:17:95","nodeType":"VariableDeclaration","scope":69553,"src":"44954:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69403,"nodeType":"UserDefinedTypeName","pathNode":{"id":69402,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["44954:14:95","44969:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"44954:31:95"},"referencedDeclaration":66586,"src":"44954:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69407,"mutability":"mutable","name":"_cvParams","nameLocation":"45051:9:95","nodeType":"VariableDeclaration","scope":69553,"src":"45020:40:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69406,"nodeType":"UserDefinedTypeName","pathNode":{"id":69405,"name":"StrategyStruct.CVParams","nameLocations":["45020:14:95","45035:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"45020:23:95"},"referencedDeclaration":66595,"src":"45020:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"44944:122:95"},"returnParameters":{"id":69409,"nodeType":"ParameterList","parameters":[],"src":"45084:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69589,"nodeType":"FunctionDefinition","src":"47336:639:95","nodes":[],"body":{"id":69588,"nodeType":"Block","src":"47423:552:95","nodes":[],"statements":[{"assignments":[69564],"declarations":[{"constant":false,"id":69564,"mutability":"mutable","name":"proposal","nameLocation":"47465:8:95","nodeType":"VariableDeclaration","scope":69588,"src":"47433:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69563,"nodeType":"UserDefinedTypeName","pathNode":{"id":69562,"name":"StrategyStruct.Proposal","nameLocations":["47433:14:95","47448:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"47433:23:95"},"referencedDeclaration":66564,"src":"47433:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69568,"initialValue":{"baseExpression":{"id":69565,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"47476:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69567,"indexExpression":{"id":69566,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69555,"src":"47486:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47476:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"47433:64:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69569,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47512:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47521:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"47512:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":69571,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69555,"src":"47535:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47512:33:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69578,"nodeType":"IfStatement","src":"47508:100:95","trueBody":{"id":69577,"nodeType":"Block","src":"47547:61:95","statements":[{"errorCall":{"arguments":[{"id":69574,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69555,"src":"47586:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69573,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"47568:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47568:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69576,"nodeType":"RevertStatement","src":"47561:36:95"}]}},{"expression":{"arguments":[{"id":69580,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47896:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":69581,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47906:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47915:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"47906:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69579,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69354,"src":"47869:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":69583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47869:59:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69584,"nodeType":"ExpressionStatement","src":"47869:59:95"},{"expression":{"expression":{"id":69585,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47945:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47954:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"47945:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69559,"id":69587,"nodeType":"Return","src":"47938:30:95"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"47345:24:95","parameters":{"id":69556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69555,"mutability":"mutable","name":"proposalId","nameLocation":"47378:10:95","nodeType":"VariableDeclaration","scope":69589,"src":"47370:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69554,"name":"uint256","nodeType":"ElementaryTypeName","src":"47370:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47369:20:95"},"returnParameters":{"id":69559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69558,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69589,"src":"47414:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69557,"name":"uint256","nodeType":"ElementaryTypeName","src":"47414:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47413:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":69609,"nodeType":"FunctionDefinition","src":"47981:141:95","nodes":[],"body":{"id":69608,"nodeType":"Block","src":"48061:61:95","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69596,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69591,"src":"48080:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69597,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"48089:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48080:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69599,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48079:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69600,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"48095:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69601,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"48099:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48108:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"48099:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48095:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69604,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48094:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48079:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69606,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48078:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69595,"id":69607,"nodeType":"Return","src":"48071:44:95"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"47990:16:95","parameters":{"id":69592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69591,"mutability":"mutable","name":"amount","nameLocation":"48015:6:95","nodeType":"VariableDeclaration","scope":69609,"src":"48007:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69590,"name":"uint256","nodeType":"ElementaryTypeName","src":"48007:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48006:16:95"},"returnParameters":{"id":69595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69609,"src":"48052:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69593,"name":"uint256","nodeType":"ElementaryTypeName","src":"48052:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48051:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69628,"nodeType":"FunctionDefinition","src":"48473:189:95","nodes":[],"body":{"id":69627,"nodeType":"Block","src":"48536:126:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69614,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67167,"src":"48546:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48546:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69616,"nodeType":"ExpressionStatement","src":"48546:17:95"},{"expression":{"arguments":[{"id":69618,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69611,"src":"48592:12:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69617,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67149,"src":"48573:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48573:32:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69620,"nodeType":"ExpressionStatement","src":"48573:32:95"},{"expression":{"id":69625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69621,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"48615:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69623,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69611,"src":"48642:12:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69622,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"48629:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70536_$","typeString":"type(contract ISybilScorer)"}},"id":69624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48629:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"src":"48615:40:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"id":69626,"nodeType":"ExpressionStatement","src":"48615:40:95"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"48482:14:95","parameters":{"id":69612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69611,"mutability":"mutable","name":"_sybilScorer","nameLocation":"48505:12:95","nodeType":"VariableDeclaration","scope":69628,"src":"48497:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69610,"name":"address","nodeType":"ElementaryTypeName","src":"48497:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48496:22:95"},"returnParameters":{"id":69613,"nodeType":"ParameterList","parameters":[],"src":"48536:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69646,"nodeType":"FunctionDefinition","src":"48668:250:95","nodes":[],"body":{"id":69645,"nodeType":"Block","src":"48830:88:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69637,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67167,"src":"48840:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48840:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69639,"nodeType":"ExpressionStatement","src":"48840:17:95"},{"expression":{"arguments":[{"id":69641,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69631,"src":"48882:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":69642,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69634,"src":"48901:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":69640,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69553,"src":"48867:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$66586_memory_ptr_$_t_struct$_CVParams_$66595_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":69643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48867:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69644,"nodeType":"ExpressionStatement","src":"48867:44:95"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"48677:13:95","parameters":{"id":69635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69631,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"48739:17:95","nodeType":"VariableDeclaration","scope":69646,"src":"48700:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69630,"nodeType":"UserDefinedTypeName","pathNode":{"id":69629,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["48700:14:95","48715:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"48700:31:95"},"referencedDeclaration":66586,"src":"48700:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69634,"mutability":"mutable","name":"_cvParams","nameLocation":"48797:9:95","nodeType":"VariableDeclaration","scope":69646,"src":"48766:40:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69633,"nodeType":"UserDefinedTypeName","pathNode":{"id":69632,"name":"StrategyStruct.CVParams","nameLocations":["48766:14:95","48781:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"48766:23:95"},"referencedDeclaration":66595,"src":"48766:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"48690:122:95"},"returnParameters":{"id":69636,"nodeType":"ParameterList","parameters":[],"src":"48830:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69839,"nodeType":"FunctionDefinition","src":"48924:2405:95","nodes":[],"body":{"id":69838,"nodeType":"Block","src":"49110:2219:95","nodes":[],"statements":[{"assignments":[69661],"declarations":[{"constant":false,"id":69661,"mutability":"mutable","name":"proposal","nameLocation":"49152:8:95","nodeType":"VariableDeclaration","scope":69838,"src":"49120:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69660,"nodeType":"UserDefinedTypeName","pathNode":{"id":69659,"name":"StrategyStruct.Proposal","nameLocations":["49120:14:95","49135:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"49120:23:95"},"referencedDeclaration":66564,"src":"49120:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69665,"initialValue":{"baseExpression":{"id":69662,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"49163:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69664,"indexExpression":{"id":69663,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49173:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49163:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49120:64:95"},{"assignments":[69670],"declarations":[{"constant":false,"id":69670,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"49233:16:95","nodeType":"VariableDeclaration","scope":69838,"src":"49194:55:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69669,"nodeType":"UserDefinedTypeName","pathNode":{"id":69668,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["49194:14:95","49209:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"49194:31:95"},"referencedDeclaration":66586,"src":"49194:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":69675,"initialValue":{"baseExpression":{"id":69671,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"49252:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69674,"indexExpression":{"expression":{"id":69672,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"49270:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49279:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"49270:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49252:51:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49194:109:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":69678,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"49326:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69679,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49343:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"49326:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49318:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69676,"name":"address","nodeType":"ElementaryTypeName","src":"49318:7:95","typeDescriptions":{}}},"id":69680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49318:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49366:1:95","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":69682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49358:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69681,"name":"address","nodeType":"ElementaryTypeName","src":"49358:7:95","typeDescriptions":{}}},"id":69684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49358:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49318:50:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69690,"nodeType":"IfStatement","src":"49314:112:95","trueBody":{"id":69689,"nodeType":"Block","src":"49370:56:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69686,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"49391:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49391:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69688,"nodeType":"RevertStatement","src":"49384:31:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69691,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"49603:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49612:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"49603:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":69693,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49626:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49603:33:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69700,"nodeType":"IfStatement","src":"49599:100:95","trueBody":{"id":69699,"nodeType":"Block","src":"49638:61:95","statements":[{"errorCall":{"arguments":[{"id":69696,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49677:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69695,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"49659:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49659:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69698,"nodeType":"RevertStatement","src":"49652:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":69706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69701,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"49712:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49721:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"49712:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69703,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"49739:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49754:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"49739:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49769:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"49739:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49712:63:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69712,"nodeType":"IfStatement","src":"49708:130:95","trueBody":{"id":69711,"nodeType":"Block","src":"49777:61:95","statements":[{"errorCall":{"arguments":[{"id":69708,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49816:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69707,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"49798:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49798:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69710,"nodeType":"RevertStatement","src":"49791:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69713,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49851:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49855:5:95","memberName":"value","nodeType":"MemberAccess","src":"49851:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69715,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"49863:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49880:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"49863:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49851:55:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69726,"nodeType":"IfStatement","src":"49847:171:95","trueBody":{"id":69725,"nodeType":"Block","src":"49908:110:95","statements":[{"errorCall":{"arguments":[{"expression":{"id":69719,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49952:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49956:5:95","memberName":"value","nodeType":"MemberAccess","src":"49952:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69721,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"49963:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69722,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49980:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"49963:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69718,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66705,"src":"49929:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":69723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49929:78:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69724,"nodeType":"RevertStatement","src":"49922:85:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69727,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50137:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50146:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"50137:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":69729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50171:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50137:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69731,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50192:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69732,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50201:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"50192:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69733,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66867,"src":"50225:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:53:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":69735,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50248:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50254:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"50248:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:71:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50137:126:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69751,"nodeType":"IfStatement","src":"50120:325:95","trueBody":{"id":69750,"nodeType":"Block","src":"50274:171:95","statements":[{"errorCall":{"arguments":[{"id":69740,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"50337:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69741,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50349:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50358:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"50349:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69743,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66867,"src":"50382:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:53:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69745,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50405:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50411:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"50405:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:71:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69739,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66727,"src":"50295:24:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":69748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50295:139:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69749,"nodeType":"RevertStatement","src":"50288:146:95"}]}},{"assignments":[69753],"declarations":[{"constant":false,"id":69753,"mutability":"mutable","name":"arbitrationFee","nameLocation":"50463:14:95","nodeType":"VariableDeclaration","scope":69838,"src":"50455:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69752,"name":"uint256","nodeType":"ElementaryTypeName","src":"50455:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69754,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50480:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50484:5:95","memberName":"value","nodeType":"MemberAccess","src":"50480:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69756,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"50492:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69757,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50509:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"50492:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50480:55:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50455:80:95"},{"expression":{"arguments":[{"id":69766,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"50632:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69767,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50644:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50648:6:95","memberName":"sender","nodeType":"MemberAccess","src":"50644:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":69760,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"50546:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50562:17:95","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74777,"src":"50546:33:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":69765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":69763,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"50587:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50604:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"50587:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50546:85:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":69769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50546:109:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69770,"nodeType":"ExpressionStatement","src":"50546:109:95"},{"expression":{"id":69780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69771,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"50666:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69777,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66864,"src":"50743:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69778,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69652,"src":"50759:10:95","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":69772,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"50678:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50695:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"50678:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"id":69774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50706:13:95","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":74712,"src":"50678:41:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":69776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":69775,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69753,"src":"50727:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50678:64:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":69779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50678:92:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50666:104:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69781,"nodeType":"ExpressionStatement","src":"50666:104:95"},{"expression":{"id":69788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69782,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50781:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50790:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"50781:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69785,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"50807:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50822:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"50807:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50837:8:95","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":66521,"src":"50807:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"50781:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69789,"nodeType":"ExpressionStatement","src":"50781:64:95"},{"expression":{"id":69796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":69790,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50855:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50864:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"50855:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50876:9:95","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":66525,"src":"50855:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69795,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"50888:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50855:42:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69797,"nodeType":"ExpressionStatement","src":"50855:42:95"},{"expression":{"id":69805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":69798,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50907:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50916:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"50907:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50928:16:95","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":66527,"src":"50907:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69803,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50947:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50953:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"50947:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50907:55:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69806,"nodeType":"ExpressionStatement","src":"50907:55:95"},{"expression":{"id":69814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":69807,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50972:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69810,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50981:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"50972:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50993:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"50972:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69812,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51006:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51010:6:95","memberName":"sender","nodeType":"MemberAccess","src":"51006:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"50972:44:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69815,"nodeType":"ExpressionStatement","src":"50972:44:95"},{"expression":{"id":69820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":69816,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66922,"src":"51026:21:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":69818,"indexExpression":{"id":69817,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"51048:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51026:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69819,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"51061:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51026:45:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69821,"nodeType":"ExpressionStatement","src":"51026:45:95"},{"expression":{"id":69823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51082:14:95","subExpression":{"id":69822,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66875,"src":"51082:12:95","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":69824,"nodeType":"ExpressionStatement","src":"51082:14:95"},{"eventCall":{"arguments":[{"expression":{"id":69826,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"51142:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51159:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"51142:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"id":69828,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"51183:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69829,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"51207:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69830,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51230:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51234:6:95","memberName":"sender","nodeType":"MemberAccess","src":"51230:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69832,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69650,"src":"51254:7:95","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":69833,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"51275:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51284:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"51275:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51296:16:95","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":66527,"src":"51275:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69825,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66814,"src":"51112:16:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74765_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":69836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51112:210:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69837,"nodeType":"EmitStatement","src":"51107:215:95"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"48933:15:95","parameters":{"id":69653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69648,"mutability":"mutable","name":"proposalId","nameLocation":"48957:10:95","nodeType":"VariableDeclaration","scope":69839,"src":"48949:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69647,"name":"uint256","nodeType":"ElementaryTypeName","src":"48949:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69650,"mutability":"mutable","name":"context","nameLocation":"48985:7:95","nodeType":"VariableDeclaration","scope":69839,"src":"48969:23:95","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":69649,"name":"string","nodeType":"ElementaryTypeName","src":"48969:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":69652,"mutability":"mutable","name":"_extraData","nameLocation":"49009:10:95","nodeType":"VariableDeclaration","scope":69839,"src":"48994:25:95","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":69651,"name":"bytes","nodeType":"ElementaryTypeName","src":"48994:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48948:72:95"},"returnParameters":{"id":69656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69655,"mutability":"mutable","name":"disputeId","nameLocation":"49095:9:95","nodeType":"VariableDeclaration","scope":69839,"src":"49087:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69654,"name":"uint256","nodeType":"ElementaryTypeName","src":"49087:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49086:19:95"},"scope":70168,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":70095,"nodeType":"FunctionDefinition","src":"51335:2994:95","nodes":[],"body":{"id":70094,"nodeType":"Block","src":"51412:2917:95","nodes":[],"statements":[{"assignments":[69848],"declarations":[{"constant":false,"id":69848,"mutability":"mutable","name":"proposalId","nameLocation":"51430:10:95","nodeType":"VariableDeclaration","scope":70094,"src":"51422:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69847,"name":"uint256","nodeType":"ElementaryTypeName","src":"51422:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69852,"initialValue":{"baseExpression":{"id":69849,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66922,"src":"51443:21:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":69851,"indexExpression":{"id":69850,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69841,"src":"51465:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51443:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51422:54:95"},{"assignments":[69857],"declarations":[{"constant":false,"id":69857,"mutability":"mutable","name":"proposal","nameLocation":"51518:8:95","nodeType":"VariableDeclaration","scope":70094,"src":"51486:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69856,"nodeType":"UserDefinedTypeName","pathNode":{"id":69855,"name":"StrategyStruct.Proposal","nameLocations":["51486:14:95","51501:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"51486:23:95"},"referencedDeclaration":66564,"src":"51486:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69861,"initialValue":{"baseExpression":{"id":69858,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"51529:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69860,"indexExpression":{"id":69859,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51539:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51529:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51486:64:95"},{"assignments":[69866],"declarations":[{"constant":false,"id":69866,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"51599:16:95","nodeType":"VariableDeclaration","scope":70094,"src":"51560:55:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69865,"nodeType":"UserDefinedTypeName","pathNode":{"id":69864,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["51560:14:95","51575:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"51560:31:95"},"referencedDeclaration":66586,"src":"51560:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":69871,"initialValue":{"baseExpression":{"id":69867,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"51618:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69870,"indexExpression":{"expression":{"id":69868,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"51636:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51645:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"51636:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51618:51:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51560:109:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69872,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51684:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51698:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51684:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69880,"nodeType":"IfStatement","src":"51680:82:95","trueBody":{"id":69879,"nodeType":"Block","src":"51701:61:95","statements":[{"errorCall":{"arguments":[{"id":69876,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51740:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69875,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"51722:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51722:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69878,"nodeType":"RevertStatement","src":"51715:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":69886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69881,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"51775:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51784:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"51775:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69883,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"51802:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51817:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"51802:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51832:8:95","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":66521,"src":"51802:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"51775:65:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69892,"nodeType":"IfStatement","src":"51771:134:95","trueBody":{"id":69891,"nodeType":"Block","src":"51842:63:95","statements":[{"errorCall":{"arguments":[{"id":69888,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51883:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69887,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66711,"src":"51863:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51863:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69890,"nodeType":"RevertStatement","src":"51856:38:95"}]}},{"assignments":[69894],"declarations":[{"constant":false,"id":69894,"mutability":"mutable","name":"isTimeOut","nameLocation":"51920:9:95","nodeType":"VariableDeclaration","scope":70094,"src":"51915:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69893,"name":"bool","nodeType":"ElementaryTypeName","src":"51915:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":69904,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69895,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"51932:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51938:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"51932:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":69897,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"51950:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51959:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"51950:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51971:16:95","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":66527,"src":"51950:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":69900,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"51990:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69901,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52007:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"51990:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51950:77:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51932:95:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"51915:112:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"52042:10:95","subExpression":{"id":69905,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69894,"src":"52043:9:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69907,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"52056:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52060:6:95","memberName":"sender","nodeType":"MemberAccess","src":"52056:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":69911,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52078:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52095:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"52078:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52070:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69909,"name":"address","nodeType":"ElementaryTypeName","src":"52070:7:95","typeDescriptions":{}}},"id":69913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52070:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52056:50:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52042:64:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69920,"nodeType":"IfStatement","src":"52038:118:95","trueBody":{"id":69919,"nodeType":"Block","src":"52108:48:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69916,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66707,"src":"52129:14:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52129:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69918,"nodeType":"RevertStatement","src":"52122:23:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69921,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69894,"src":"52170:9:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69922,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"52183:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52194:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52183:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52170:25:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69985,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"52967:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52978:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52967:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70014,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"53339:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":70015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53350:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53339:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70074,"nodeType":"IfStatement","src":"53335:834:95","trueBody":{"id":70073,"nodeType":"Block","src":"53353:816:95","statements":[{"expression":{"id":70023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":70017,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53367:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53376:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"53367:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":70020,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"53393:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":70021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53408:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"53393:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":70022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53423:8:95","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":66522,"src":"53393:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53367:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":70024,"nodeType":"ExpressionStatement","src":"53367:64:95"},{"expression":{"arguments":[{"id":70028,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53497:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":70029,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53509:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53518:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"53509:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":70031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53530:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"53509:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70032,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"53542:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":70033,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53559:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"53542:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70025,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53445:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53461:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"53445:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":70034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53445:154:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70035,"nodeType":"ExpressionStatement","src":"53445:154:95"},{"expression":{"arguments":[{"id":70039,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53668:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":70040,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53696:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53705:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"53696:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":70044,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"53740:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":70045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53758:11:95","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71426,"src":"53740:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74891_$","typeString":"function () view external returns (contract ISafe)"}},"id":70046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53740:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":70043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53732:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70042,"name":"address","nodeType":"ElementaryTypeName","src":"53732:7:95","typeDescriptions":{}}},"id":70047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53732:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70048,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"53790:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":70050,"indexExpression":{"id":70049,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"53808:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53790:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":70051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53840:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"53790:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":70052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53868:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53790:79:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70036,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53613:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53629:21:95","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"53613:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":70054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53613:270:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70055,"nodeType":"ExpressionStatement","src":"53613:270:95"},{"expression":{"arguments":[{"id":70059,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53952:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":70060,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53980:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53989:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"53980:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":70062,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"54016:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70063,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54025:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"54016:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":70064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54037:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"54016:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70065,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"54065:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":70067,"indexExpression":{"id":70066,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"54083:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54065:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":70068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54115:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"54065:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":70069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54143:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54065:79:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70056,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53897:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53913:21:95","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"53897:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":70071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53897:261:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70072,"nodeType":"ExpressionStatement","src":"53897:261:95"}]}},"id":70075,"nodeType":"IfStatement","src":"52963:1206:95","trueBody":{"id":70013,"nodeType":"Block","src":"52981:348:95","statements":[{"expression":{"id":69994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69988,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52995:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53004:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"52995:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69991,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"53021:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53036:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"53021:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53051:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"53021:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52995:62:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69995,"nodeType":"ExpressionStatement","src":"52995:62:95"},{"expression":{"arguments":[{"id":69999,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53126:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":70000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53154:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53163:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"53154:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":70002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53175:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"53154:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":70005,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"53211:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":70006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53229:11:95","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71426,"src":"53211:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74891_$","typeString":"function () view external returns (contract ISafe)"}},"id":70007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53211:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":70004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53203:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70003,"name":"address","nodeType":"ElementaryTypeName","src":"53203:7:95","typeDescriptions":{}}},"id":70008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53203:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70009,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"53261:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":70010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53278:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"53261:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69996,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53071:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53087:21:95","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"53071:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":70011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53071:247:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70012,"nodeType":"ExpressionStatement","src":"53071:247:95"}]}},"id":70076,"nodeType":"IfStatement","src":"52166:2003:95","trueBody":{"id":69984,"nodeType":"Block","src":"52197:760:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69926,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52215:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52232:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"52215:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52249:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52215:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69934,"nodeType":"IfStatement","src":"52211:102:95","trueBody":{"id":69933,"nodeType":"Block","src":"52252:61:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69930,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66721,"src":"52277:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52277:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69932,"nodeType":"RevertStatement","src":"52270:28:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69935,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52330:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52347:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"52330:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52364:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52330:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69948,"nodeType":"IfStatement","src":"52326:136:95","trueBody":{"id":69947,"nodeType":"Block","src":"52367:95:95","statements":[{"expression":{"id":69945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69939,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52385:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52394:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"52385:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69942,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"52411:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52426:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"52411:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52441:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"52411:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52385:62:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69946,"nodeType":"ExpressionStatement","src":"52385:62:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69949,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52479:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52496:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"52479:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52513:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52479:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69972,"nodeType":"IfStatement","src":"52475:304:95","trueBody":{"id":69971,"nodeType":"Block","src":"52516:263:95","statements":[{"expression":{"id":69959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69953,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52534:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52543:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"52534:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69956,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"52560:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52575:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"52560:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52590:8:95","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":66522,"src":"52560:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52534:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69960,"nodeType":"ExpressionStatement","src":"52534:64:95"},{"expression":{"arguments":[{"id":69964,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"52672:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69965,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52684:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52693:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"52684:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69967,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52704:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52721:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"52704:42:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69961,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"52616:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52632:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"52616:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52616:148:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69970,"nodeType":"ExpressionStatement","src":"52616:148:95"}]}},{"expression":{"arguments":[{"id":69976,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"52844:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69977,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52856:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52865:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"52856:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52877:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"52856:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69980,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52889:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52906:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"52889:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69973,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"52792:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52808:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"52792:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52792:154:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69983,"nodeType":"ExpressionStatement","src":"52792:154:95"}]}},{"expression":{"id":70078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"54179:14:95","subExpression":{"id":70077,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66875,"src":"54179:12:95","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":70079,"nodeType":"ExpressionStatement","src":"54179:14:95"},{"expression":{"id":70085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":70080,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"54203:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54212:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"54203:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70083,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54236:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":70084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54242:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"54236:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"54203:48:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70086,"nodeType":"ExpressionStatement","src":"54203:48:95"},{"eventCall":{"arguments":[{"expression":{"id":70088,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"54273:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":70089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54290:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"54273:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"id":70090,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69841,"src":"54302:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":70091,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"54314:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70087,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74652,"src":"54266:6:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74765_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":70092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54266:56:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70093,"nodeType":"EmitStatement","src":"54261:61:95"}]},"baseFunctions":[74660],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"51344:4:95","overrides":{"id":69845,"nodeType":"OverrideSpecifier","overrides":[],"src":"51403:8:95"},"parameters":{"id":69844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69841,"mutability":"mutable","name":"_disputeID","nameLocation":"51357:10:95","nodeType":"VariableDeclaration","scope":70095,"src":"51349:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69840,"name":"uint256","nodeType":"ElementaryTypeName","src":"51349:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69843,"mutability":"mutable","name":"_ruling","nameLocation":"51377:7:95","nodeType":"VariableDeclaration","scope":70095,"src":"51369:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69842,"name":"uint256","nodeType":"ElementaryTypeName","src":"51369:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51348:37:95"},"returnParameters":{"id":69846,"nodeType":"ParameterList","parameters":[],"src":"51412:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":70163,"nodeType":"FunctionDefinition","src":"54335:732:95","nodes":[],"body":{"id":70162,"nodeType":"Block","src":"54396:671:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":70107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70100,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54410:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70102,"indexExpression":{"id":70101,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54420:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54410:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70103,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54432:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"54410:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":70104,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"54450:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":70105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54465:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"54450:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":70106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54480:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"54450:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54410:76:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70113,"nodeType":"IfStatement","src":"54406:143:95","trueBody":{"id":70112,"nodeType":"Block","src":"54488:61:95","statements":[{"errorCall":{"arguments":[{"id":70109,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54527:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70108,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"54509:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":70110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54509:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70111,"nodeType":"RevertStatement","src":"54502:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70114,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54563:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70116,"indexExpression":{"id":70115,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54573:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54563:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54585:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"54563:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":70118,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54598:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54602:6:95","memberName":"sender","nodeType":"MemberAccess","src":"54598:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"54563:45:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70131,"nodeType":"IfStatement","src":"54559:141:95","trueBody":{"id":70130,"nodeType":"Block","src":"54610:90:95","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":70122,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54645:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70124,"indexExpression":{"id":70123,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54655:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54645:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54667:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"54645:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70126,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54678:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54682:6:95","memberName":"sender","nodeType":"MemberAccess","src":"54678:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70121,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66719,"src":"54631:13:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":70128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54631:58:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70129,"nodeType":"RevertStatement","src":"54624:65:95"}]}},{"expression":{"arguments":[{"id":70135,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54758:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":70136,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54782:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70138,"indexExpression":{"id":70137,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54792:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54782:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54804:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"54782:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":70140,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"54827:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":70145,"indexExpression":{"expression":{"baseExpression":{"id":70141,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54845:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70143,"indexExpression":{"id":70142,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54855:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54845:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54867:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"54845:45:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54827:64:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":70146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54892:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"54827:90:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70132,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"54710:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54726:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"54710:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":70147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54710:217:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70148,"nodeType":"ExpressionStatement","src":"54710:217:95"},{"expression":{"id":70156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70149,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54938:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70151,"indexExpression":{"id":70150,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54948:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54938:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54960:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"54938:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":70153,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"54977:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":70154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54992:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"54977:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":70155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55007:9:95","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":66519,"src":"54977:39:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54938:78:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":70157,"nodeType":"ExpressionStatement","src":"54938:78:95"},{"eventCall":{"arguments":[{"id":70159,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"55049:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70158,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66826,"src":"55031:17:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":70160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55031:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70161,"nodeType":"EmitStatement","src":"55026:34:95"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"54344:14:95","parameters":{"id":70098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70097,"mutability":"mutable","name":"proposalId","nameLocation":"54367:10:95","nodeType":"VariableDeclaration","scope":70163,"src":"54359:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70096,"name":"uint256","nodeType":"ElementaryTypeName","src":"54359:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54358:20:95"},"returnParameters":{"id":70099,"nodeType":"ParameterList","parameters":[],"src":"54396:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":70167,"nodeType":"VariableDeclaration","src":"55073:25:95","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"55093:5:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":70164,"name":"uint256","nodeType":"ElementaryTypeName","src":"55073:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70166,"length":{"hexValue":"3530","id":70165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55081:2:95","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"55073:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":66618,"name":"BaseStrategyUpgradeable","nameLocations":["4010:23:95"],"nodeType":"IdentifierPath","referencedDeclaration":66431,"src":"4010:23:95"},"id":66619,"nodeType":"InheritanceSpecifier","src":"4010:23:95"},{"baseName":{"id":66620,"name":"IArbitrable","nameLocations":["4035:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74661,"src":"4035:11:95"},"id":66621,"nodeType":"InheritanceSpecifier","src":"4035:11:95"},{"baseName":{"id":66622,"name":"IPointStrategy","nameLocations":["4048:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66494,"src":"4048:14:95"},"id":66623,"nodeType":"InheritanceSpecifier","src":"4048:14:95"},{"baseName":{"id":66624,"name":"ERC165","nameLocations":["4064:6:95"],"nodeType":"IdentifierPath","referencedDeclaration":57030,"src":"4064:6:95"},"id":66625,"nodeType":"InheritanceSpecifier","src":"4064:6:95"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":66617,"nodeType":"StructuredDocumentation","src":"3939:44:95","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[70168,57030,57236,66494,74661,66431,3089,3317,3106,2969,71125,54969,54622,54271,54281,52200,52993,52449],"name":"CVStrategyV0_0","nameLocation":"3992:14:95","scope":70169,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,66627,66629,66631,66633,66635,66637,66639,66641,66643,66645,66647,66655,66657,66659,66665,66667,66669,66673,66677,66683,66685,66687,66695,66697,66699,66705,66707,66711,66713,66719,66721,66727,71048]}],"license":"AGPL-3.0-only"},"id":95} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json b/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json index 4b92aab27..6dead7085 100644 --- a/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json +++ b/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUntake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","getPointSystem()":"c3292171","increasePower(address,uint256)":"782aadff"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUntake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"IPointStrategy"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":69065,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[65327],"CVStrategyV0_0":[69064],"Clone":[3002],"ERC165":[57022],"ERC20":[55747],"IAllo":[2610],"IArbitrable":[72827],"IArbitrator":[72931],"ICollateralVault":[72964],"IERC165":[57228],"IPointStrategy":[65390],"ISybilScorer":[69416],"Math":[58094],"Metadata":[3098],"OwnableUpgradeable":[52200],"PassportData":[69334],"RegistryCommunityV0_0":[71974],"StrategyStruct":[65512],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"42:55060:97","nodes":[{"id":65329,"nodeType":"PragmaDirective","src":"42:24:97","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65331,"nodeType":"ImportDirective","src":"68:71:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65330,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65334,"nodeType":"ImportDirective","src":"140:82:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":65332,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65333,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65336,"nodeType":"ImportDirective","src":"223:85:97","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":71975,"symbolAliases":[{"foreign":{"id":65335,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"231:21:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65339,"nodeType":"ImportDirective","src":"309:87:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":57023,"symbolAliases":[{"foreign":{"id":65337,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57022,"src":"317:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65338,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57228,"src":"325:7:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65341,"nodeType":"ImportDirective","src":"397:68:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":55748,"symbolAliases":[{"foreign":{"id":65340,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"405:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65343,"nodeType":"ImportDirective","src":"466:58:97","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":72932,"symbolAliases":[{"foreign":{"id":65342,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72931,"src":"474:11:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65345,"nodeType":"ImportDirective","src":"525:58:97","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":72828,"symbolAliases":[{"foreign":{"id":65344,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72827,"src":"533:11:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65347,"nodeType":"ImportDirective","src":"584:65:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":65346,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65349,"nodeType":"ImportDirective","src":"700:65:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":58095,"symbolAliases":[{"foreign":{"id":65348,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"708:4:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65352,"nodeType":"ImportDirective","src":"766:63:97","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":69417,"symbolAliases":[{"foreign":{"id":65350,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69416,"src":"774:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65351,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69334,"src":"788:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65354,"nodeType":"ImportDirective","src":"831:88:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":65353,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"839:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65356,"nodeType":"ImportDirective","src":"920:71:97","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":65328,"symbolAliases":[{"foreign":{"id":65355,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65327,"src":"928:23:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65358,"nodeType":"ImportDirective","src":"992:101:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":65357,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"1000:18:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65360,"nodeType":"ImportDirective","src":"1094:68:97","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":72965,"symbolAliases":[{"foreign":{"id":65359,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"1102:16:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65390,"nodeType":"ContractDefinition","src":"1164:358:97","nodes":[{"id":65365,"nodeType":"FunctionDefinition","src":"1195:52:97","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1204:16:97","parameters":{"id":65363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65362,"mutability":"mutable","name":"_member","nameLocation":"1229:7:97","nodeType":"VariableDeclaration","scope":65365,"src":"1221:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65361,"name":"address","nodeType":"ElementaryTypeName","src":"1221:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1220:17:97"},"returnParameters":{"id":65364,"nodeType":"ParameterList","parameters":[],"src":"1246:0:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65374,"nodeType":"FunctionDefinition","src":"1253:91:97","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1262:13:97","parameters":{"id":65370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65367,"mutability":"mutable","name":"_member","nameLocation":"1284:7:97","nodeType":"VariableDeclaration","scope":65374,"src":"1276:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65366,"name":"address","nodeType":"ElementaryTypeName","src":"1276:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65369,"mutability":"mutable","name":"_amountToStake","nameLocation":"1301:14:97","nodeType":"VariableDeclaration","scope":65374,"src":"1293:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65368,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1275:41:97"},"returnParameters":{"id":65373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65374,"src":"1335:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65371,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1334:9:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65383,"nodeType":"FunctionDefinition","src":"1350:92:97","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1359:13:97","parameters":{"id":65379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65376,"mutability":"mutable","name":"_member","nameLocation":"1381:7:97","nodeType":"VariableDeclaration","scope":65383,"src":"1373:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65375,"name":"address","nodeType":"ElementaryTypeName","src":"1373:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65378,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1398:15:97","nodeType":"VariableDeclaration","scope":65383,"src":"1390:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65377,"name":"uint256","nodeType":"ElementaryTypeName","src":"1390:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1372:42:97"},"returnParameters":{"id":65382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65383,"src":"1433:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65380,"name":"uint256","nodeType":"ElementaryTypeName","src":"1433:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1432:9:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65389,"nodeType":"FunctionDefinition","src":"1448:72:97","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1457:14:97","parameters":{"id":65384,"nodeType":"ParameterList","parameters":[],"src":"1471:2:97"},"returnParameters":{"id":65388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65387,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65389,"src":"1492:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65386,"nodeType":"UserDefinedTypeName","pathNode":{"id":65385,"name":"StrategyStruct.PointSystem","nameLocations":["1492:14:97","1507:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"1492:26:97"},"referencedDeclaration":65399,"src":"1492:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1491:28:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[65390],"name":"IPointStrategy","nameLocation":"1174:14:97","scope":69065,"usedErrors":[]},{"id":65512,"nodeType":"ContractDefinition","src":"1524:2413:97","nodes":[{"id":65394,"nodeType":"EnumDefinition","src":"1553:79:97","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":65391,"name":"Signaling","nameLocation":"1581:9:97","nodeType":"EnumValue","src":"1581:9:97"},{"id":65392,"name":"Funding","nameLocation":"1600:7:97","nodeType":"EnumValue","src":"1600:7:97"},{"id":65393,"name":"Streaming","nameLocation":"1617:9:97","nodeType":"EnumValue","src":"1617:9:97"}],"name":"ProposalType","nameLocation":"1558:12:97"},{"id":65399,"nodeType":"EnumDefinition","src":"1638:92:97","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":65395,"name":"Fixed","nameLocation":"1665:5:97","nodeType":"EnumValue","src":"1665:5:97"},{"id":65396,"name":"Capped","nameLocation":"1680:6:97","nodeType":"EnumValue","src":"1680:6:97"},{"id":65397,"name":"Unlimited","nameLocation":"1696:9:97","nodeType":"EnumValue","src":"1696:9:97"},{"id":65398,"name":"Quadratic","nameLocation":"1715:9:97","nodeType":"EnumValue","src":"1715:9:97"}],"name":"PointSystem","nameLocation":"1643:11:97"},{"id":65411,"nodeType":"StructDefinition","src":"1736:243:97","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":65401,"mutability":"mutable","name":"poolId","nameLocation":"1807:6:97","nodeType":"VariableDeclaration","scope":65411,"src":"1799:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65400,"name":"uint256","nodeType":"ElementaryTypeName","src":"1799:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65403,"mutability":"mutable","name":"beneficiary","nameLocation":"1831:11:97","nodeType":"VariableDeclaration","scope":65411,"src":"1823:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65402,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65405,"mutability":"mutable","name":"amountRequested","nameLocation":"1898:15:97","nodeType":"VariableDeclaration","scope":65411,"src":"1890:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65404,"name":"uint256","nodeType":"ElementaryTypeName","src":"1890:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65407,"mutability":"mutable","name":"requestedToken","nameLocation":"1931:14:97","nodeType":"VariableDeclaration","scope":65411,"src":"1923:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65406,"name":"address","nodeType":"ElementaryTypeName","src":"1923:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65410,"mutability":"mutable","name":"metadata","nameLocation":"1964:8:97","nodeType":"VariableDeclaration","scope":65411,"src":"1955:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65409,"nodeType":"UserDefinedTypeName","pathNode":{"id":65408,"name":"Metadata","nameLocations":["1955:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1955:8:97"},"referencedDeclaration":3098,"src":"1955:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1743:14:97","scope":65512,"visibility":"public"},{"id":65419,"nodeType":"EnumDefinition","src":"1985:391:97","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":65412,"name":"Inactive","nameLocation":"2015:8:97","nodeType":"EnumValue","src":"2015:8:97"},{"id":65413,"name":"Active","nameLocation":"2045:6:97","nodeType":"EnumValue","src":"2045:6:97"},{"id":65414,"name":"Paused","nameLocation":"2108:6:97","nodeType":"EnumValue","src":"2108:6:97"},{"id":65415,"name":"Cancelled","nameLocation":"2173:9:97","nodeType":"EnumValue","src":"2173:9:97"},{"id":65416,"name":"Executed","nameLocation":"2226:8:97","nodeType":"EnumValue","src":"2226:8:97"},{"id":65417,"name":"Disputed","nameLocation":"2277:8:97","nodeType":"EnumValue","src":"2277:8:97"},{"id":65418,"name":"Rejected","nameLocation":"2328:8:97","nodeType":"EnumValue","src":"2328:8:97"}],"name":"ProposalStatus","nameLocation":"1990:14:97"},{"id":65426,"nodeType":"StructDefinition","src":"2382:123:97","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":65421,"mutability":"mutable","name":"disputeId","nameLocation":"2427:9:97","nodeType":"VariableDeclaration","scope":65426,"src":"2419:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65420,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65423,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2454:16:97","nodeType":"VariableDeclaration","scope":65426,"src":"2446:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65422,"name":"uint256","nodeType":"ElementaryTypeName","src":"2446:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65425,"mutability":"mutable","name":"challenger","nameLocation":"2488:10:97","nodeType":"VariableDeclaration","scope":65426,"src":"2480:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65424,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2389:19:97","scope":65512,"visibility":"public"},{"id":65460,"nodeType":"StructDefinition","src":"2511:526:97","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":65428,"mutability":"mutable","name":"proposalId","nameLocation":"2545:10:97","nodeType":"VariableDeclaration","scope":65460,"src":"2537:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65427,"name":"uint256","nodeType":"ElementaryTypeName","src":"2537:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65430,"mutability":"mutable","name":"requestedAmount","nameLocation":"2573:15:97","nodeType":"VariableDeclaration","scope":65460,"src":"2565:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65429,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65432,"mutability":"mutable","name":"stakedAmount","nameLocation":"2606:12:97","nodeType":"VariableDeclaration","scope":65460,"src":"2598:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65431,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65434,"mutability":"mutable","name":"convictionLast","nameLocation":"2636:14:97","nodeType":"VariableDeclaration","scope":65460,"src":"2628:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65433,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65436,"mutability":"mutable","name":"beneficiary","nameLocation":"2668:11:97","nodeType":"VariableDeclaration","scope":65460,"src":"2660:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65435,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65438,"mutability":"mutable","name":"submitter","nameLocation":"2697:9:97","nodeType":"VariableDeclaration","scope":65460,"src":"2689:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65437,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65440,"mutability":"mutable","name":"requestedToken","nameLocation":"2724:14:97","nodeType":"VariableDeclaration","scope":65460,"src":"2716:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65439,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65442,"mutability":"mutable","name":"blockLast","nameLocation":"2756:9:97","nodeType":"VariableDeclaration","scope":65460,"src":"2748:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65441,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65445,"mutability":"mutable","name":"proposalStatus","nameLocation":"2790:14:97","nodeType":"VariableDeclaration","scope":65460,"src":"2775:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":65444,"nodeType":"UserDefinedTypeName","pathNode":{"id":65443,"name":"ProposalStatus","nameLocations":["2775:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"2775:14:97"},"referencedDeclaration":65419,"src":"2775:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":65449,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2842:17:97","nodeType":"VariableDeclaration","scope":65460,"src":"2814:45:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65448,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65446,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2814:27:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65447,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":65452,"mutability":"mutable","name":"metadata","nameLocation":"2901:8:97","nodeType":"VariableDeclaration","scope":65460,"src":"2892:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65451,"nodeType":"UserDefinedTypeName","pathNode":{"id":65450,"name":"Metadata","nameLocations":["2892:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2892:8:97"},"referencedDeclaration":3098,"src":"2892:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":65455,"mutability":"mutable","name":"disputeInfo","nameLocation":"2939:11:97","nodeType":"VariableDeclaration","scope":65460,"src":"2919:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":65454,"nodeType":"UserDefinedTypeName","pathNode":{"id":65453,"name":"ProposalDisputeInfo","nameLocations":["2919:19:97"],"nodeType":"IdentifierPath","referencedDeclaration":65426,"src":"2919:19:97"},"referencedDeclaration":65426,"src":"2919:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":65457,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2968:21:97","nodeType":"VariableDeclaration","scope":65460,"src":"2960:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65456,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65459,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"3007:23:97","nodeType":"VariableDeclaration","scope":65460,"src":"2999:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65458,"name":"uint256","nodeType":"ElementaryTypeName","src":"2999:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2518:8:97","scope":65512,"visibility":"public"},{"id":65465,"nodeType":"StructDefinition","src":"3043:126:97","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":65462,"mutability":"mutable","name":"proposalId","nameLocation":"3084:10:97","nodeType":"VariableDeclaration","scope":65465,"src":"3076:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65461,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65464,"mutability":"mutable","name":"deltaSupport","nameLocation":"3111:12:97","nodeType":"VariableDeclaration","scope":65465,"src":"3104:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65463,"name":"int256","nodeType":"ElementaryTypeName","src":"3104:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3050:15:97","scope":65512,"visibility":"public"},{"id":65468,"nodeType":"StructDefinition","src":"3175:89:97","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":65467,"mutability":"mutable","name":"maxAmount","nameLocation":"3248:9:97","nodeType":"VariableDeclaration","scope":65468,"src":"3240:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65466,"name":"uint256","nodeType":"ElementaryTypeName","src":"3240:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3182:17:97","scope":65512,"visibility":"public"},{"id":65482,"nodeType":"StructDefinition","src":"3270:249:97","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":65471,"mutability":"mutable","name":"arbitrator","nameLocation":"3316:10:97","nodeType":"VariableDeclaration","scope":65482,"src":"3304:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":65470,"nodeType":"UserDefinedTypeName","pathNode":{"id":65469,"name":"IArbitrator","nameLocations":["3304:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"3304:11:97"},"referencedDeclaration":72931,"src":"3304:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65473,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3344:12:97","nodeType":"VariableDeclaration","scope":65482,"src":"3336:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65472,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65475,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3374:25:97","nodeType":"VariableDeclaration","scope":65482,"src":"3366:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65474,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65477,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3417:26:97","nodeType":"VariableDeclaration","scope":65482,"src":"3409:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65476,"name":"uint256","nodeType":"ElementaryTypeName","src":"3409:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65479,"mutability":"mutable","name":"defaultRuling","nameLocation":"3461:13:97","nodeType":"VariableDeclaration","scope":65482,"src":"3453:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65478,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65481,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3492:20:97","nodeType":"VariableDeclaration","scope":65482,"src":"3484:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65480,"name":"uint256","nodeType":"ElementaryTypeName","src":"3484:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3277:16:97","scope":65512,"visibility":"public"},{"id":65491,"nodeType":"StructDefinition","src":"3525:132:97","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":65484,"mutability":"mutable","name":"maxRatio","nameLocation":"3559:8:97","nodeType":"VariableDeclaration","scope":65491,"src":"3551:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65483,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65486,"mutability":"mutable","name":"weight","nameLocation":"3585:6:97","nodeType":"VariableDeclaration","scope":65491,"src":"3577:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65485,"name":"uint256","nodeType":"ElementaryTypeName","src":"3577:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65488,"mutability":"mutable","name":"decay","nameLocation":"3609:5:97","nodeType":"VariableDeclaration","scope":65491,"src":"3601:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65487,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65490,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3632:18:97","nodeType":"VariableDeclaration","scope":65491,"src":"3624:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65489,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3532:8:97","scope":65512,"visibility":"public"},{"id":65511,"nodeType":"StructDefinition","src":"3663:272:97","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":65494,"mutability":"mutable","name":"cvParams","nameLocation":"3706:8:97","nodeType":"VariableDeclaration","scope":65511,"src":"3697:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65493,"nodeType":"UserDefinedTypeName","pathNode":{"id":65492,"name":"CVParams","nameLocations":["3697:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"3697:8:97"},"referencedDeclaration":65491,"src":"3697:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":65497,"mutability":"mutable","name":"proposalType","nameLocation":"3737:12:97","nodeType":"VariableDeclaration","scope":65511,"src":"3724:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65496,"nodeType":"UserDefinedTypeName","pathNode":{"id":65495,"name":"ProposalType","nameLocations":["3724:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":65394,"src":"3724:12:97"},"referencedDeclaration":65394,"src":"3724:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":65500,"mutability":"mutable","name":"pointSystem","nameLocation":"3771:11:97","nodeType":"VariableDeclaration","scope":65511,"src":"3759:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65499,"nodeType":"UserDefinedTypeName","pathNode":{"id":65498,"name":"PointSystem","nameLocations":["3759:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"3759:11:97"},"referencedDeclaration":65399,"src":"3759:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":65503,"mutability":"mutable","name":"pointConfig","nameLocation":"3810:11:97","nodeType":"VariableDeclaration","scope":65511,"src":"3792:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65502,"nodeType":"UserDefinedTypeName","pathNode":{"id":65501,"name":"PointSystemConfig","nameLocations":["3792:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":65468,"src":"3792:17:97"},"referencedDeclaration":65468,"src":"3792:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":65506,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3848:16:97","nodeType":"VariableDeclaration","scope":65511,"src":"3831:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":65505,"nodeType":"UserDefinedTypeName","pathNode":{"id":65504,"name":"ArbitrableConfig","nameLocations":["3831:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"3831:16:97"},"referencedDeclaration":65482,"src":"3831:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":65508,"mutability":"mutable","name":"registryCommunity","nameLocation":"3882:17:97","nodeType":"VariableDeclaration","scope":65511,"src":"3874:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65507,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65510,"mutability":"mutable","name":"sybilScorer","nameLocation":"3917:11:97","nodeType":"VariableDeclaration","scope":65511,"src":"3909:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65509,"name":"address","nodeType":"ElementaryTypeName","src":"3909:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3670:16:97","scope":65512,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[65512],"name":"StrategyStruct","nameLocation":"1532:14:97","scope":69065,"usedErrors":[]},{"id":69064,"nodeType":"ContractDefinition","src":"3983:51118:97","nodes":[{"id":65523,"nodeType":"ErrorDefinition","src":"4243:25:97","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4249:16:97","parameters":{"id":65522,"nodeType":"ParameterList","parameters":[],"src":"4265:2:97"}},{"id":65525,"nodeType":"ErrorDefinition","src":"4287:26:97","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4293:17:97","parameters":{"id":65524,"nodeType":"ParameterList","parameters":[],"src":"4310:2:97"}},{"id":65527,"nodeType":"ErrorDefinition","src":"4331:23:97","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4337:14:97","parameters":{"id":65526,"nodeType":"ParameterList","parameters":[],"src":"4351:2:97"}},{"id":65529,"nodeType":"ErrorDefinition","src":"4373:20:97","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4379:11:97","parameters":{"id":65528,"nodeType":"ParameterList","parameters":[],"src":"4390:2:97"}},{"id":65531,"nodeType":"ErrorDefinition","src":"4412:23:97","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4418:14:97","parameters":{"id":65530,"nodeType":"ParameterList","parameters":[],"src":"4432:2:97"}},{"id":65533,"nodeType":"ErrorDefinition","src":"4453:26:97","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4459:17:97","parameters":{"id":65532,"nodeType":"ParameterList","parameters":[],"src":"4476:2:97"}},{"id":65535,"nodeType":"ErrorDefinition","src":"4497:24:97","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4503:15:97","parameters":{"id":65534,"nodeType":"ParameterList","parameters":[],"src":"4518:2:97"}},{"id":65537,"nodeType":"ErrorDefinition","src":"4540:27:97","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4546:18:97","parameters":{"id":65536,"nodeType":"ParameterList","parameters":[],"src":"4564:2:97"}},{"id":65539,"nodeType":"ErrorDefinition","src":"4586:27:97","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4592:18:97","parameters":{"id":65538,"nodeType":"ParameterList","parameters":[],"src":"4610:2:97"}},{"id":65541,"nodeType":"ErrorDefinition","src":"4631:28:97","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4637:19:97","parameters":{"id":65540,"nodeType":"ParameterList","parameters":[],"src":"4656:2:97"}},{"id":65543,"nodeType":"ErrorDefinition","src":"4677:29:97","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4683:20:97","parameters":{"id":65542,"nodeType":"ParameterList","parameters":[],"src":"4703:2:97"}},{"id":65551,"nodeType":"ErrorDefinition","src":"4725:72:97","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4731:16:97","parameters":{"id":65550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65545,"mutability":"mutable","name":"_support","nameLocation":"4756:8:97","nodeType":"VariableDeclaration","scope":65551,"src":"4748:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65544,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65547,"mutability":"mutable","name":"_delta","nameLocation":"4773:6:97","nodeType":"VariableDeclaration","scope":65551,"src":"4766:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65546,"name":"int256","nodeType":"ElementaryTypeName","src":"4766:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":65549,"mutability":"mutable","name":"_result","nameLocation":"4788:7:97","nodeType":"VariableDeclaration","scope":65551,"src":"4781:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65548,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4747:49:97"}},{"id":65553,"nodeType":"ErrorDefinition","src":"4816:25:97","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4822:16:97","parameters":{"id":65552,"nodeType":"ParameterList","parameters":[],"src":"4838:2:97"}},{"id":65555,"nodeType":"ErrorDefinition","src":"4860:32:97","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4866:23:97","parameters":{"id":65554,"nodeType":"ParameterList","parameters":[],"src":"4889:2:97"}},{"id":65561,"nodeType":"ErrorDefinition","src":"4911:77:97","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4917:24:97","parameters":{"id":65560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65557,"mutability":"mutable","name":"pointsSupport","nameLocation":"4950:13:97","nodeType":"VariableDeclaration","scope":65561,"src":"4942:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65556,"name":"uint256","nodeType":"ElementaryTypeName","src":"4942:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65559,"mutability":"mutable","name":"pointsBalance","nameLocation":"4973:13:97","nodeType":"VariableDeclaration","scope":65561,"src":"4965:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65558,"name":"uint256","nodeType":"ElementaryTypeName","src":"4965:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4941:46:97"}},{"id":65563,"nodeType":"ErrorDefinition","src":"5008:28:97","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5014:19:97","parameters":{"id":65562,"nodeType":"ParameterList","parameters":[],"src":"5033:2:97"}},{"id":65565,"nodeType":"ErrorDefinition","src":"5054:31:97","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5060:22:97","parameters":{"id":65564,"nodeType":"ParameterList","parameters":[],"src":"5082:2:97"}},{"id":65569,"nodeType":"ErrorDefinition","src":"5103:45:97","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5109:17:97","parameters":{"id":65568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65567,"mutability":"mutable","name":"_proposalId","nameLocation":"5135:11:97","nodeType":"VariableDeclaration","scope":65569,"src":"5127:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65566,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:21:97"}},{"id":65573,"nodeType":"ErrorDefinition","src":"5167:45:97","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5173:17:97","parameters":{"id":65572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65571,"mutability":"mutable","name":"_proposalId","nameLocation":"5199:11:97","nodeType":"VariableDeclaration","scope":65573,"src":"5191:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65570,"name":"uint256","nodeType":"ElementaryTypeName","src":"5191:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5190:21:97"}},{"id":65579,"nodeType":"ErrorDefinition","src":"5231:68:97","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5237:25:97","parameters":{"id":65578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65575,"mutability":"mutable","name":"_proposalId","nameLocation":"5271:11:97","nodeType":"VariableDeclaration","scope":65579,"src":"5263:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65574,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65577,"mutability":"mutable","name":"index","nameLocation":"5292:5:97","nodeType":"VariableDeclaration","scope":65579,"src":"5284:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5262:36:97"}},{"id":65581,"nodeType":"ErrorDefinition","src":"5317:40:97","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5323:31:97","parameters":{"id":65580,"nodeType":"ParameterList","parameters":[],"src":"5354:2:97"}},{"id":65583,"nodeType":"ErrorDefinition","src":"5376:29:97","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5382:20:97","parameters":{"id":65582,"nodeType":"ParameterList","parameters":[],"src":"5402:2:97"}},{"id":65591,"nodeType":"ErrorDefinition","src":"5424:94:97","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5430:19:97","parameters":{"id":65590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65585,"mutability":"mutable","name":"_proposalId","nameLocation":"5458:11:97","nodeType":"VariableDeclaration","scope":65591,"src":"5450:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65584,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65587,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5479:16:97","nodeType":"VariableDeclaration","scope":65591,"src":"5471:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65586,"name":"uint256","nodeType":"ElementaryTypeName","src":"5471:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65589,"mutability":"mutable","name":"_poolAmount","nameLocation":"5505:11:97","nodeType":"VariableDeclaration","scope":65591,"src":"5497:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65588,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5449:68:97"}},{"id":65593,"nodeType":"ErrorDefinition","src":"5536:24:97","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5542:15:97","parameters":{"id":65592,"nodeType":"ParameterList","parameters":[],"src":"5557:2:97"}},{"id":65595,"nodeType":"ErrorDefinition","src":"5565:32:97","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5571:23:97","parameters":{"id":65594,"nodeType":"ParameterList","parameters":[],"src":"5594:2:97"}},{"id":65601,"nodeType":"ErrorDefinition","src":"5602:73:97","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5608:22:97","parameters":{"id":65600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65597,"mutability":"mutable","name":"sentAmount","nameLocation":"5639:10:97","nodeType":"VariableDeclaration","scope":65601,"src":"5631:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65596,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65599,"mutability":"mutable","name":"requiredAmount","nameLocation":"5659:14:97","nodeType":"VariableDeclaration","scope":65601,"src":"5651:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65598,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5630:44:97"}},{"id":65603,"nodeType":"ErrorDefinition","src":"5680:23:97","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5686:14:97","parameters":{"id":65602,"nodeType":"ParameterList","parameters":[],"src":"5700:2:97"}},{"id":65607,"nodeType":"ErrorDefinition","src":"5708:47:97","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5714:19:97","parameters":{"id":65606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65605,"mutability":"mutable","name":"_proposalId","nameLocation":"5742:11:97","nodeType":"VariableDeclaration","scope":65607,"src":"5734:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65604,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:21:97"}},{"id":65609,"nodeType":"ErrorDefinition","src":"5760:31:97","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5766:22:97","parameters":{"id":65608,"nodeType":"ParameterList","parameters":[],"src":"5788:2:97"}},{"id":65615,"nodeType":"ErrorDefinition","src":"5796:55:97","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5802:13:97","parameters":{"id":65614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65611,"mutability":"mutable","name":"submitter","nameLocation":"5824:9:97","nodeType":"VariableDeclaration","scope":65615,"src":"5816:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65610,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65613,"mutability":"mutable","name":"sender","nameLocation":"5843:6:97","nodeType":"VariableDeclaration","scope":65615,"src":"5835:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65612,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5815:35:97"}},{"id":65617,"nodeType":"ErrorDefinition","src":"5937:28:97","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5943:19:97","parameters":{"id":65616,"nodeType":"ParameterList","parameters":[],"src":"5962:2:97"}},{"id":65623,"nodeType":"ErrorDefinition","src":"5970:75:97","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5976:24:97","parameters":{"id":65622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65619,"mutability":"mutable","name":"_proposalId","nameLocation":"6009:11:97","nodeType":"VariableDeclaration","scope":65623,"src":"6001:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65618,"name":"uint256","nodeType":"ElementaryTypeName","src":"6001:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65621,"mutability":"mutable","name":"_remainingSec","nameLocation":"6030:13:97","nodeType":"VariableDeclaration","scope":65623,"src":"6022:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65620,"name":"uint256","nodeType":"ElementaryTypeName","src":"6022:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6000:44:97"}},{"id":65630,"nodeType":"EventDefinition","src":"6217:74:97","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6223:13:97","parameters":{"id":65629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65625,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6245:6:97","nodeType":"VariableDeclaration","scope":65630,"src":"6237:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65624,"name":"uint256","nodeType":"ElementaryTypeName","src":"6237:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65628,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6285:4:97","nodeType":"VariableDeclaration","scope":65630,"src":"6253:36:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":65627,"nodeType":"UserDefinedTypeName","pathNode":{"id":65626,"name":"StrategyStruct.InitializeParams","nameLocations":["6253:14:97","6268:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"6253:31:97"},"referencedDeclaration":65511,"src":"6253:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6236:54:97"}},{"id":65638,"nodeType":"EventDefinition","src":"6296:75:97","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6302:11:97","parameters":{"id":65637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65632,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6322:10:97","nodeType":"VariableDeclaration","scope":65638,"src":"6314:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65631,"name":"uint256","nodeType":"ElementaryTypeName","src":"6314:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65634,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6342:11:97","nodeType":"VariableDeclaration","scope":65638,"src":"6334:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65633,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65636,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6363:6:97","nodeType":"VariableDeclaration","scope":65638,"src":"6355:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65635,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6313:57:97"}},{"id":65644,"nodeType":"EventDefinition","src":"6376:58:97","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6382:15:97","parameters":{"id":65643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65640,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6406:6:97","nodeType":"VariableDeclaration","scope":65644,"src":"6398:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65639,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65642,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6422:10:97","nodeType":"VariableDeclaration","scope":65644,"src":"6414:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65641,"name":"uint256","nodeType":"ElementaryTypeName","src":"6414:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:36:97"}},{"id":65648,"nodeType":"EventDefinition","src":"6439:42:97","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6445:19:97","parameters":{"id":65647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65646,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6473:6:97","nodeType":"VariableDeclaration","scope":65648,"src":"6465:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65645,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:16:97"}},{"id":65652,"nodeType":"EventDefinition","src":"6486:40:97","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6492:17:97","parameters":{"id":65651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65650,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6518:6:97","nodeType":"VariableDeclaration","scope":65652,"src":"6510:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65649,"name":"address","nodeType":"ElementaryTypeName","src":"6510:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6509:16:97"}},{"id":65660,"nodeType":"EventDefinition","src":"6531:85:97","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6537:14:97","parameters":{"id":65659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65654,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6560:6:97","nodeType":"VariableDeclaration","scope":65660,"src":"6552:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65653,"name":"address","nodeType":"ElementaryTypeName","src":"6552:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65656,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6576:12:97","nodeType":"VariableDeclaration","scope":65660,"src":"6568:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65655,"name":"uint256","nodeType":"ElementaryTypeName","src":"6568:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65658,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6598:16:97","nodeType":"VariableDeclaration","scope":65660,"src":"6590:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65657,"name":"uint256","nodeType":"ElementaryTypeName","src":"6590:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:64:97"}},{"id":65668,"nodeType":"EventDefinition","src":"6621:87:97","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6627:14:97","parameters":{"id":65667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65662,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6650:6:97","nodeType":"VariableDeclaration","scope":65668,"src":"6642:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65661,"name":"address","nodeType":"ElementaryTypeName","src":"6642:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65664,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6666:14:97","nodeType":"VariableDeclaration","scope":65668,"src":"6658:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65663,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65666,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6690:16:97","nodeType":"VariableDeclaration","scope":65668,"src":"6682:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65665,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6641:66:97"}},{"id":65680,"nodeType":"EventDefinition","src":"6713:134:97","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6719:12:97","parameters":{"id":65679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65670,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6749:4:97","nodeType":"VariableDeclaration","scope":65680,"src":"6741:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65669,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65672,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6763:10:97","nodeType":"VariableDeclaration","scope":65680,"src":"6755:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65671,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65674,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6783:6:97","nodeType":"VariableDeclaration","scope":65680,"src":"6775:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65673,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65676,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6799:17:97","nodeType":"VariableDeclaration","scope":65680,"src":"6791:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65675,"name":"uint256","nodeType":"ElementaryTypeName","src":"6791:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65678,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6826:14:97","nodeType":"VariableDeclaration","scope":65680,"src":"6818:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65677,"name":"uint256","nodeType":"ElementaryTypeName","src":"6818:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6731:115:97"}},{"id":65685,"nodeType":"EventDefinition","src":"6852:56:97","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6858:15:97","parameters":{"id":65684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65683,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6898:8:97","nodeType":"VariableDeclaration","scope":65685,"src":"6874:32:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65682,"nodeType":"UserDefinedTypeName","pathNode":{"id":65681,"name":"StrategyStruct.CVParams","nameLocations":["6874:14:97","6889:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"6874:23:97"},"referencedDeclaration":65491,"src":"6874:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"6873:34:97"}},{"id":65689,"nodeType":"EventDefinition","src":"6913:49:97","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6919:15:97","parameters":{"id":65688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65687,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6943:17:97","nodeType":"VariableDeclaration","scope":65689,"src":"6935:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65686,"name":"address","nodeType":"ElementaryTypeName","src":"6935:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6934:27:97"}},{"id":65695,"nodeType":"EventDefinition","src":"6967:76:97","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6973:25:97","parameters":{"id":65694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65691,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7007:6:97","nodeType":"VariableDeclaration","scope":65695,"src":"6999:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65690,"name":"uint256","nodeType":"ElementaryTypeName","src":"6999:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65693,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7023:18:97","nodeType":"VariableDeclaration","scope":65695,"src":"7015:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65692,"name":"uint256","nodeType":"ElementaryTypeName","src":"7015:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6998:44:97"}},{"id":65710,"nodeType":"EventDefinition","src":"7048:195:97","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7054:16:97","parameters":{"id":65709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65698,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7092:10:97","nodeType":"VariableDeclaration","scope":65710,"src":"7080:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":65697,"nodeType":"UserDefinedTypeName","pathNode":{"id":65696,"name":"IArbitrator","nameLocations":["7080:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"7080:11:97"},"referencedDeclaration":72931,"src":"7080:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65700,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7120:10:97","nodeType":"VariableDeclaration","scope":65710,"src":"7112:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65699,"name":"uint256","nodeType":"ElementaryTypeName","src":"7112:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65702,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7148:9:97","nodeType":"VariableDeclaration","scope":65710,"src":"7140:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65701,"name":"uint256","nodeType":"ElementaryTypeName","src":"7140:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65704,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7175:10:97","nodeType":"VariableDeclaration","scope":65710,"src":"7167:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65703,"name":"address","nodeType":"ElementaryTypeName","src":"7167:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65706,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7202:7:97","nodeType":"VariableDeclaration","scope":65710,"src":"7195:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65705,"name":"string","nodeType":"ElementaryTypeName","src":"7195:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65708,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7227:9:97","nodeType":"VariableDeclaration","scope":65710,"src":"7219:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65707,"name":"uint256","nodeType":"ElementaryTypeName","src":"7219:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:172:97"}},{"id":65718,"nodeType":"EventDefinition","src":"7248:88:97","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7254:21:97","parameters":{"id":65717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65712,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7284:8:97","nodeType":"VariableDeclaration","scope":65718,"src":"7276:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65711,"name":"address","nodeType":"ElementaryTypeName","src":"7276:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65714,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7302:10:97","nodeType":"VariableDeclaration","scope":65718,"src":"7294:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65713,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65716,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7322:12:97","nodeType":"VariableDeclaration","scope":65718,"src":"7314:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65715,"name":"address","nodeType":"ElementaryTypeName","src":"7314:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7275:60:97"}},{"id":65722,"nodeType":"EventDefinition","src":"7341:44:97","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7347:17:97","parameters":{"id":65721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65720,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7373:10:97","nodeType":"VariableDeclaration","scope":65722,"src":"7365:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65719,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7364:20:97"}},{"id":65739,"nodeType":"EventDefinition","src":"7390:302:97","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7396:23:97","parameters":{"id":65738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65724,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7437:30:97","nodeType":"VariableDeclaration","scope":65739,"src":"7429:38:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65723,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65727,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7489:10:97","nodeType":"VariableDeclaration","scope":65739,"src":"7477:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":65726,"nodeType":"UserDefinedTypeName","pathNode":{"id":65725,"name":"IArbitrator","nameLocations":["7477:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"7477:11:97"},"referencedDeclaration":72931,"src":"7477:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65729,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7517:12:97","nodeType":"VariableDeclaration","scope":65739,"src":"7509:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65728,"name":"address","nodeType":"ElementaryTypeName","src":"7509:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65731,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7547:25:97","nodeType":"VariableDeclaration","scope":65739,"src":"7539:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65730,"name":"uint256","nodeType":"ElementaryTypeName","src":"7539:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65733,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7590:26:97","nodeType":"VariableDeclaration","scope":65739,"src":"7582:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65732,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65735,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7634:13:97","nodeType":"VariableDeclaration","scope":65739,"src":"7626:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65734,"name":"uint256","nodeType":"ElementaryTypeName","src":"7626:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65737,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7665:20:97","nodeType":"VariableDeclaration","scope":65739,"src":"7657:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65736,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7419:272:97"}},{"id":65742,"nodeType":"VariableDeclaration","src":"8066:38:97","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"8089:7:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65740,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":65741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8099:5:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":65745,"nodeType":"VariableDeclaration","src":"8110:36:97","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"8134:1:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65743,"name":"uint256","nodeType":"ElementaryTypeName","src":"8110:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":65744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8138:8:97","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":65748,"nodeType":"VariableDeclaration","src":"8160:71:97","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"8186:7:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65746,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":65747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8196:35:97","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":65751,"nodeType":"VariableDeclaration","src":"8247:70:97","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8273:7:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65749,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":65750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8283:34:97","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":65754,"nodeType":"VariableDeclaration","src":"8333:54:97","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8359:6:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65752,"name":"uint256","nodeType":"ElementaryTypeName","src":"8333:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":65753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:19:97","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":65757,"nodeType":"VariableDeclaration","src":"8402:49:97","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8426:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65755,"name":"uint256","nodeType":"ElementaryTypeName","src":"8402:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":65756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8449:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":65760,"nodeType":"VariableDeclaration","src":"8537:42:97","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8561:14:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65758,"name":"uint256","nodeType":"ElementaryTypeName","src":"8537:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":65759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8578:1:97","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":65763,"nodeType":"VariableDeclaration","src":"8585:54:97","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8609:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65761,"name":"uint256","nodeType":"ElementaryTypeName","src":"8585:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":65762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8632:7:97","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":65765,"nodeType":"VariableDeclaration","src":"8646:40:97","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8663:23:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65764,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65767,"nodeType":"VariableDeclaration","src":"8734:47:97","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8751:30:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65766,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":65769,"nodeType":"VariableDeclaration","src":"8825:25:97","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8840:10:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65768,"name":"uint256","nodeType":"ElementaryTypeName","src":"8825:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65771,"nodeType":"VariableDeclaration","src":"8856:26:97","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8870:12:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":65770,"name":"uint64","nodeType":"ElementaryTypeName","src":"8856:6:97","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":65773,"nodeType":"VariableDeclaration","src":"8888:30:97","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8903:15:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65772,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65775,"nodeType":"VariableDeclaration","src":"8924:45:97","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8939:30:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65774,"name":"uint256","nodeType":"ElementaryTypeName","src":"8924:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65777,"nodeType":"VariableDeclaration","src":"8976:26:97","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8991:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65776,"name":"uint256","nodeType":"ElementaryTypeName","src":"8976:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65779,"nodeType":"VariableDeclaration","src":"9008:35:97","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"9023:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65778,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65782,"nodeType":"VariableDeclaration","src":"9050:39:97","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"9081:8:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65781,"nodeType":"UserDefinedTypeName","pathNode":{"id":65780,"name":"StrategyStruct.CVParams","nameLocations":["9050:14:97","9065:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"9050:23:97"},"referencedDeclaration":65491,"src":"9050:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":65785,"nodeType":"VariableDeclaration","src":"9136:47:97","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"9171:12:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65784,"nodeType":"UserDefinedTypeName","pathNode":{"id":65783,"name":"StrategyStruct.ProposalType","nameLocations":["9136:14:97","9151:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":65394,"src":"9136:27:97"},"referencedDeclaration":65394,"src":"9136:27:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":65788,"nodeType":"VariableDeclaration","src":"9242:45:97","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9276:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65787,"nodeType":"UserDefinedTypeName","pathNode":{"id":65786,"name":"StrategyStruct.PointSystem","nameLocations":["9242:14:97","9257:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"9242:26:97"},"referencedDeclaration":65399,"src":"9242:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":65791,"nodeType":"VariableDeclaration","src":"9293:51:97","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9333:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65790,"nodeType":"UserDefinedTypeName","pathNode":{"id":65789,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9293:14:97","9308:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":65468,"src":"9293:32:97"},"referencedDeclaration":65468,"src":"9293:32:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":65794,"nodeType":"VariableDeclaration","src":"9377:46:97","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9406:17:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":65793,"nodeType":"UserDefinedTypeName","pathNode":{"id":65792,"name":"RegistryCommunityV0_0","nameLocations":["9377:21:97"],"nodeType":"IdentifierPath","referencedDeclaration":71974,"src":"9377:21:97"},"referencedDeclaration":71974,"src":"9377:21:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":65797,"nodeType":"VariableDeclaration","src":"9430:39:97","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9454:15:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"},"typeName":{"id":65796,"nodeType":"UserDefinedTypeName","pathNode":{"id":65795,"name":"ICollateralVault","nameLocations":["9430:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":72964,"src":"9430:16:97"},"referencedDeclaration":72964,"src":"9430:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":65800,"nodeType":"VariableDeclaration","src":"9475:31:97","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9495:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"},"typeName":{"id":65799,"nodeType":"UserDefinedTypeName","pathNode":{"id":65798,"name":"ISybilScorer","nameLocations":["9475:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":69416,"src":"9475:12:97"},"referencedDeclaration":69416,"src":"9475:12:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":65805,"nodeType":"VariableDeclaration","src":"9573:60:97","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9624:9:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":65804,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65801,"name":"uint256","nodeType":"ElementaryTypeName","src":"9581:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9573:43:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65803,"nodeType":"UserDefinedTypeName","pathNode":{"id":65802,"name":"StrategyStruct.Proposal","nameLocations":["9592:14:97","9607:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"9592:23:97"},"referencedDeclaration":65460,"src":"9592:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":65809,"nodeType":"VariableDeclaration","src":"9689:53:97","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9724:18:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65808,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65806,"name":"address","nodeType":"ElementaryTypeName","src":"9697:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9689:27:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65807,"name":"uint256","nodeType":"ElementaryTypeName","src":"9708:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65814,"nodeType":"VariableDeclaration","src":"9780:57:97","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9817:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":65813,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65810,"name":"address","nodeType":"ElementaryTypeName","src":"9788:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9780:29:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":65811,"name":"uint256","nodeType":"ElementaryTypeName","src":"9799:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65812,"nodeType":"ArrayTypeName","src":"9799:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":65818,"nodeType":"VariableDeclaration","src":"9875:56:97","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9910:21:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":65817,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65815,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9875:27:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65816,"name":"uint256","nodeType":"ElementaryTypeName","src":"9894:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65823,"nodeType":"VariableDeclaration","src":"9937:76:97","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9996:17:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"typeName":{"id":65822,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65819,"name":"uint256","nodeType":"ElementaryTypeName","src":"9945:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9937:51:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65821,"nodeType":"UserDefinedTypeName","pathNode":{"id":65820,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9956:14:97","9971:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"9956:31:97"},"referencedDeclaration":65482,"src":"9956:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}}},"visibility":"public"},{"id":65847,"nodeType":"FunctionDefinition","src":"10266:222:97","nodes":[],"body":{"id":65846,"nodeType":"Block","src":"10373:115:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":65837,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65825,"src":"10394:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":65838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10401:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":65839,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65829,"src":"10415:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65834,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10383:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69064_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10389:4:97","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":64771,"src":"10383:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":65840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10383:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65841,"nodeType":"ExpressionStatement","src":"10383:38:97"},{"expression":{"id":65844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65842,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"10431:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65843,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65827,"src":"10457:24:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10431:50:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65845,"nodeType":"ExpressionStatement","src":"10431:50:97"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":65832,"kind":"modifierInvocation","modifierName":{"id":65831,"name":"initializer","nameLocations":["10361:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"10361:11:97"},"nodeType":"ModifierInvocation","src":"10361:11:97"}],"name":"init","nameLocation":"10275:4:97","parameters":{"id":65830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65825,"mutability":"mutable","name":"_allo","nameLocation":"10288:5:97","nodeType":"VariableDeclaration","scope":65847,"src":"10280:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65824,"name":"address","nodeType":"ElementaryTypeName","src":"10280:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65827,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10303:24:97","nodeType":"VariableDeclaration","scope":65847,"src":"10295:32:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65826,"name":"address","nodeType":"ElementaryTypeName","src":"10295:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65829,"mutability":"mutable","name":"owner","nameLocation":"10337:5:97","nodeType":"VariableDeclaration","scope":65847,"src":"10329:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65828,"name":"address","nodeType":"ElementaryTypeName","src":"10329:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10279:64:97"},"returnParameters":{"id":65833,"nodeType":"ParameterList","parameters":[],"src":"10373:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":65943,"nodeType":"FunctionDefinition","src":"10494:816:97","nodes":[],"body":{"id":65942,"nodeType":"Block","src":"10569:741:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":65857,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65849,"src":"10599:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65856,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64907,"src":"10579:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":65858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10579:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65859,"nodeType":"ExpressionStatement","src":"10579:28:97"},{"expression":{"id":65869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65860,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"10618:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65864,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"10671:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10696:12:97","subExpression":{"id":65865,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65769,"src":"10696:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65862,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10653:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":65863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10659:11:97","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10653:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":65867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10653:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65861,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"10636:16:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$72964_$","typeString":"type(contract ICollateralVault)"}},"id":65868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10636:74:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"src":"10618:92:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":65870,"nodeType":"ExpressionStatement","src":"10618:92:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65871,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"10720:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":65873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10736:10:97","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":72936,"src":"10720:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65875,"nodeType":"ExpressionStatement","src":"10720:28:97"},{"assignments":[65880],"declarations":[{"constant":false,"id":65880,"mutability":"mutable","name":"ip","nameLocation":"10798:2:97","nodeType":"VariableDeclaration","scope":65942,"src":"10759:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":65879,"nodeType":"UserDefinedTypeName","pathNode":{"id":65878,"name":"StrategyStruct.InitializeParams","nameLocations":["10759:14:97","10774:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"10759:31:97"},"referencedDeclaration":65511,"src":"10759:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":65888,"initialValue":{"arguments":[{"id":65883,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65851,"src":"10814:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":65884,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"10822:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":65885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10837:16:97","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":65511,"src":"10822:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65511_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":65886,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10821:33:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65511_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65511_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":65881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10803:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10807:6:97","memberName":"decode","nodeType":"MemberAccess","src":"10803:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":65887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10803:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10759:96:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":65889,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"10870:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65890,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10873:17:97","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65508,"src":"10870:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":65893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10902:1:97","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":65892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10894:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65891,"name":"address","nodeType":"ElementaryTypeName","src":"10894:7:97","typeDescriptions":{}}},"id":65894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10894:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10870:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65900,"nodeType":"IfStatement","src":"10866:94:97","trueBody":{"id":65899,"nodeType":"Block","src":"10906:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":65896,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65543,"src":"10927:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10927:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65898,"nodeType":"RevertStatement","src":"10920:29:97"}]}},{"expression":{"id":65906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65901,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"10970:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":65903,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11012:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11015:17:97","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65508,"src":"11012:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65902,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"10990:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$71974_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":65905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"src":"10970:63:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":65907,"nodeType":"ExpressionStatement","src":"10970:63:97"},{"expression":{"id":65911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65908,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65785,"src":"11044:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":65909,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11059:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11062:12:97","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65497,"src":"11059:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"11044:30:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"id":65912,"nodeType":"ExpressionStatement","src":"11044:30:97"},{"expression":{"id":65916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65913,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"11084:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":65914,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11098:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11101:11:97","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":65500,"src":"11098:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"11084:28:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"id":65917,"nodeType":"ExpressionStatement","src":"11084:28:97"},{"expression":{"id":65921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65918,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"11122:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":65919,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11136:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11139:11:97","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":65503,"src":"11136:14:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"11122:28:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":65922,"nodeType":"ExpressionStatement","src":"11122:28:97"},{"expression":{"id":65928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65923,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"11160:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":65925,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11187:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11190:11:97","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":65510,"src":"11187:14:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65924,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69416,"src":"11174:12:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$69416_$","typeString":"type(contract ISybilScorer)"}},"id":65927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11174:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"src":"11160:42:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"id":65929,"nodeType":"ExpressionStatement","src":"11160:42:97"},{"expression":{"arguments":[{"expression":{"id":65931,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11228:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11231:16:97","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65506,"src":"11228:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":65933,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11249:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11252:8:97","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65494,"src":"11249:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":65930,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68449,"src":"11213:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65482_memory_ptr_$_t_struct$_CVParams_$65491_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":65935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11213:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65936,"nodeType":"ExpressionStatement","src":"11213:48:97"},{"eventCall":{"arguments":[{"id":65938,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65849,"src":"11291:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65939,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11300:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":65937,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65630,"src":"11277:13:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$65511_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":65940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11277:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65941,"nodeType":"EmitStatement","src":"11272:31:97"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":65854,"kind":"modifierInvocation","modifierName":{"id":65853,"name":"onlyAllo","nameLocations":["10560:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":64779,"src":"10560:8:97"},"nodeType":"ModifierInvocation","src":"10560:8:97"}],"name":"initialize","nameLocation":"10503:10:97","parameters":{"id":65852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65849,"mutability":"mutable","name":"_poolId","nameLocation":"10522:7:97","nodeType":"VariableDeclaration","scope":65943,"src":"10514:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65848,"name":"uint256","nodeType":"ElementaryTypeName","src":"10514:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65851,"mutability":"mutable","name":"_data","nameLocation":"10544:5:97","nodeType":"VariableDeclaration","scope":65943,"src":"10531:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65850,"name":"bytes","nodeType":"ElementaryTypeName","src":"10531:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10513:37:97"},"returnParameters":{"id":65855,"nodeType":"ParameterList","parameters":[],"src":"10569:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65947,"nodeType":"FunctionDefinition","src":"11481:83:97","nodes":[],"body":{"id":65946,"nodeType":"Block","src":"11509:55:97","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":65944,"nodeType":"ParameterList","parameters":[],"src":"11489:2:97"},"returnParameters":{"id":65945,"nodeType":"ParameterList","parameters":[],"src":"11509:0:97"},"scope":69064,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":65951,"nodeType":"FunctionDefinition","src":"11570:135:97","nodes":[],"body":{"id":65950,"nodeType":"Block","src":"11597:108:97","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":65948,"nodeType":"ParameterList","parameters":[],"src":"11577:2:97"},"returnParameters":{"id":65949,"nodeType":"ParameterList","parameters":[],"src":"11597:0:97"},"scope":69064,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":65972,"nodeType":"FunctionDefinition","src":"11711:202:97","nodes":[],"body":{"id":65971,"nodeType":"Block","src":"11802:111:97","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":65969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":65964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65959,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"11819:11:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":65961,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"11839:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}],"id":65960,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11834:4:97","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":65962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11834:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65390","typeString":"type(contract IPointStrategy)"}},"id":65963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11855:11:97","memberName":"interfaceId","nodeType":"MemberAccess","src":"11834:32:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11819:47:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":65967,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"11894:11:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65965,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11870:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69064_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11876:17:97","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57021,"src":"11870:23:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":65968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11870:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11819:87:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":65958,"id":65970,"nodeType":"Return","src":"11812:94:97"}]},"baseFunctions":[57021],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11720:17:97","overrides":{"id":65955,"nodeType":"OverrideSpecifier","overrides":[],"src":"11778:8:97"},"parameters":{"id":65954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65953,"mutability":"mutable","name":"interfaceId","nameLocation":"11745:11:97","nodeType":"VariableDeclaration","scope":65972,"src":"11738:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":65952,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11738:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11737:20:97"},"returnParameters":{"id":65958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65972,"src":"11796:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65956,"name":"bool","nodeType":"ElementaryTypeName","src":"11796:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11795:6:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66013,"nodeType":"FunctionDefinition","src":"12084:386:97","nodes":[],"body":{"id":66012,"nodeType":"Block","src":"12152:318:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65977,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65974,"src":"12166:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":65980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12185:1:97","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":65979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12177:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65978,"name":"address","nodeType":"ElementaryTypeName","src":"12177:7:97","typeDescriptions":{}}},"id":65981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12166:21:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65987,"nodeType":"IfStatement","src":"12162:77:97","trueBody":{"id":65986,"nodeType":"Block","src":"12189:50:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":65983,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65523,"src":"12210:16:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12210:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65985,"nodeType":"RevertStatement","src":"12203:25:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":65990,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12260:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":65989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12252:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65988,"name":"address","nodeType":"ElementaryTypeName","src":"12252:7:97","typeDescriptions":{}}},"id":65991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12252:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":65994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12290:1:97","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":65993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12282:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65992,"name":"address","nodeType":"ElementaryTypeName","src":"12282:7:97","typeDescriptions":{}}},"id":65995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12252:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66001,"nodeType":"IfStatement","src":"12248:100:97","trueBody":{"id":66000,"nodeType":"Block","src":"12294:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":65997,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65543,"src":"12315:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12315:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65999,"nodeType":"RevertStatement","src":"12308:29:97"}]}},{"condition":{"id":66006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12361:36:97","subExpression":{"arguments":[{"id":66004,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65974,"src":"12389:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66002,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12362:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12380:8:97","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":71591,"src":"12362:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12362:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66011,"nodeType":"IfStatement","src":"12357:93:97","trueBody":{"id":66010,"nodeType":"Block","src":"12399:51:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66007,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65525,"src":"12420:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12420:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66009,"nodeType":"RevertStatement","src":"12413:26:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"12093:19:97","parameters":{"id":65975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65974,"mutability":"mutable","name":"_sender","nameLocation":"12121:7:97","nodeType":"VariableDeclaration","scope":66013,"src":"12113:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65973,"name":"address","nodeType":"ElementaryTypeName","src":"12113:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12112:17:97"},"returnParameters":{"id":65976,"nodeType":"ParameterList","parameters":[],"src":"12152:0:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66029,"nodeType":"FunctionDefinition","src":"12476:171:97","nodes":[],"body":{"id":66028,"nodeType":"Block","src":"12531:116:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66016,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12545:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12549:6:97","memberName":"sender","nodeType":"MemberAccess","src":"12545:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":66020,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12567:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":66019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12559:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66018,"name":"address","nodeType":"ElementaryTypeName","src":"12559:7:97","typeDescriptions":{}}},"id":66021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12559:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12545:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66027,"nodeType":"IfStatement","src":"12541:100:97","trueBody":{"id":66026,"nodeType":"Block","src":"12587:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66023,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65583,"src":"12608:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12608:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66025,"nodeType":"RevertStatement","src":"12601:29:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12485:21:97","parameters":{"id":66014,"nodeType":"ParameterList","parameters":[],"src":"12506:2:97"},"returnParameters":{"id":66015,"nodeType":"ParameterList","parameters":[],"src":"12531:0:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66045,"nodeType":"FunctionDefinition","src":"12653:141:97","nodes":[],"body":{"id":66044,"nodeType":"Block","src":"12721:73:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66034,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66031,"src":"12735:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12755:1:97","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":66036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12747:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66035,"name":"address","nodeType":"ElementaryTypeName","src":"12747:7:97","typeDescriptions":{}}},"id":66038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12747:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12735:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66043,"nodeType":"IfStatement","src":"12731:56:97","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66040,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65541,"src":"12766:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12766:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66042,"nodeType":"RevertStatement","src":"12759:28:97"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12662:18:97","parameters":{"id":66032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66031,"mutability":"mutable","name":"_address","nameLocation":"12689:8:97","nodeType":"VariableDeclaration","scope":66045,"src":"12681:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66030,"name":"address","nodeType":"ElementaryTypeName","src":"12681:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12680:18:97"},"returnParameters":{"id":66033,"nodeType":"ParameterList","parameters":[],"src":"12721:0:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66063,"nodeType":"FunctionDefinition","src":"12800:174:97","nodes":[],"body":{"id":66062,"nodeType":"Block","src":"12849:125:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66048,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12863:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12867:6:97","memberName":"sender","nodeType":"MemberAccess","src":"12863:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66052,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12885:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:11:97","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70287,"src":"12885:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$73057_$","typeString":"function () view external returns (contract ISafe)"}},"id":66054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12885:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":66051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12877:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66050,"name":"address","nodeType":"ElementaryTypeName","src":"12877:7:97","typeDescriptions":{}}},"id":66055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12877:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12863:54:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66061,"nodeType":"IfStatement","src":"12859:109:97","trueBody":{"id":66060,"nodeType":"Block","src":"12919:49:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66057,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65593,"src":"12940:15:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12940:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66059,"nodeType":"RevertStatement","src":"12933:24:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12809:15:97","parameters":{"id":66046,"nodeType":"ParameterList","parameters":[],"src":"12824:2:97"},"returnParameters":{"id":66047,"nodeType":"ParameterList","parameters":[],"src":"12849:0:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66093,"nodeType":"FunctionDefinition","src":"12980:238:97","nodes":[],"body":{"id":66092,"nodeType":"Block","src":"13059:159:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66072,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"13081:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}],"id":66071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13073:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66070,"name":"address","nodeType":"ElementaryTypeName","src":"13073:7:97","typeDescriptions":{}}},"id":66073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13073:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13105:1:97","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":66075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13097:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66074,"name":"address","nodeType":"ElementaryTypeName","src":"13097:7:97","typeDescriptions":{}}},"id":66077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13097:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13073:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66082,"nodeType":"IfStatement","src":"13069:76:97","trueBody":{"id":66081,"nodeType":"Block","src":"13109:36:97","statements":[{"expression":{"hexValue":"74727565","id":66079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13130:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":66069,"id":66080,"nodeType":"Return","src":"13123:11:97"}]}},{"expression":{"arguments":[{"id":66085,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66065,"src":"13190:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66088,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13205:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13197:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66086,"name":"address","nodeType":"ElementaryTypeName","src":"13197:7:97","typeDescriptions":{}}},"id":66089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13197:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66083,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"13161:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"id":66084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13173:16:97","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":69373,"src":"13161:28:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13161:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66069,"id":66091,"nodeType":"Return","src":"13154:57:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12989:17:97","parameters":{"id":66066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66065,"mutability":"mutable","name":"_user","nameLocation":"13015:5:97","nodeType":"VariableDeclaration","scope":66093,"src":"13007:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66064,"name":"address","nodeType":"ElementaryTypeName","src":"13007:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13006:15:97"},"returnParameters":{"id":66069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66093,"src":"13053:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66067,"name":"bool","nodeType":"ElementaryTypeName","src":"13053:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13052:6:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66105,"nodeType":"FunctionDefinition","src":"13224:124:97","nodes":[],"body":{"id":66104,"nodeType":"Block","src":"13297:51:97","nodes":[],"statements":[{"expression":{"id":66102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66100,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"13307:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66101,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66095,"src":"13333:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13307:34:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66103,"nodeType":"ExpressionStatement","src":"13307:34:97"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":66098,"kind":"modifierInvocation","modifierName":{"id":66097,"name":"onlyOwner","nameLocations":["13287:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"13287:9:97"},"nodeType":"ModifierInvocation","src":"13287:9:97"}],"name":"setCollateralVaultTemplate","nameLocation":"13233:26:97","parameters":{"id":66096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66095,"mutability":"mutable","name":"template","nameLocation":"13268:8:97","nodeType":"VariableDeclaration","scope":66105,"src":"13260:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66094,"name":"address","nodeType":"ElementaryTypeName","src":"13260:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13259:18:97"},"returnParameters":{"id":66099,"nodeType":"ParameterList","parameters":[],"src":"13297:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66346,"nodeType":"FunctionDefinition","src":"13674:2691:97","nodes":[],"body":{"id":66345,"nodeType":"Block","src":"13775:2590:97","nodes":[],"statements":[{"condition":{"id":66118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13789:27:97","subExpression":{"arguments":[{"id":66116,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"13808:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66115,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"13790:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13790:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66123,"nodeType":"IfStatement","src":"13785:90:97","trueBody":{"id":66122,"nodeType":"Block","src":"13818:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66119,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"13839:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13839:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66121,"nodeType":"RevertStatement","src":"13832:32:97"}]}},{"expression":{"id":66124,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66107,"src":"13929:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66125,"nodeType":"ExpressionStatement","src":"13929:5:97"},{"assignments":[66130],"declarations":[{"constant":false,"id":66130,"mutability":"mutable","name":"proposal","nameLocation":"13981:8:97","nodeType":"VariableDeclaration","scope":66345,"src":"13944:45:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":66129,"nodeType":"UserDefinedTypeName","pathNode":{"id":66128,"name":"StrategyStruct.CreateProposal","nameLocations":["13944:14:97","13959:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65411,"src":"13944:29:97"},"referencedDeclaration":65411,"src":"13944:29:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":66138,"initialValue":{"arguments":[{"id":66133,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66107,"src":"14003:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66134,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"14011:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14026:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":65411,"src":"14011:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65411_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":66136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14010:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65411_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65411_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":66131,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13992:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13996:6:97","memberName":"decode","nodeType":"MemberAccess","src":"13992:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13992:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13944:98:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66139,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14157:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14166:6:97","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65401,"src":"14157:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14176:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14157:20:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66147,"nodeType":"IfStatement","src":"14153:78:97","trueBody":{"id":66146,"nodeType":"Block","src":"14179:52:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66143,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65539,"src":"14200:18:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14200:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66145,"nodeType":"RevertStatement","src":"14193:27:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"id":66152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66148,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65785,"src":"14307:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66149,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"14323:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14338:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65394,"src":"14323:27:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65394_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":66151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14351:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"14323:35:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"14307:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66208,"nodeType":"IfStatement","src":"14303:764:97","trueBody":{"id":66207,"nodeType":"Block","src":"14360:707:97","statements":[{"expression":{"arguments":[{"expression":{"id":66154,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14393:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14402:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65403,"src":"14393:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66153,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66045,"src":"14374:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":66156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14374:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66157,"nodeType":"ExpressionStatement","src":"14374:40:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66158,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14480:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66159,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14489:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65407,"src":"14480:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14515:1:97","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":66161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14507:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66160,"name":"address","nodeType":"ElementaryTypeName","src":"14507:7:97","typeDescriptions":{}}},"id":66163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14507:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14480:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66169,"nodeType":"IfStatement","src":"14476:102:97","trueBody":{"id":66168,"nodeType":"Block","src":"14519:59:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66165,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65533,"src":"14544:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14544:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66167,"nodeType":"RevertStatement","src":"14537:26:97"}]}},{"assignments":[66172],"declarations":[{"constant":false,"id":66172,"mutability":"mutable","name":"_allo","nameLocation":"14597:5:97","nodeType":"VariableDeclaration","scope":66207,"src":"14591:11:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":66171,"nodeType":"UserDefinedTypeName","pathNode":{"id":66170,"name":"IAllo","nameLocations":["14591:5:97"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14591:5:97"},"referencedDeclaration":2610,"src":"14591:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":66176,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66173,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14605:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}},"id":66174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14610:7:97","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":64825,"src":"14605:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":66175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14605:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14591:28:97"},{"assignments":[66181],"declarations":[{"constant":false,"id":66181,"mutability":"mutable","name":"pool","nameLocation":"14651:4:97","nodeType":"VariableDeclaration","scope":66207,"src":"14633:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":66180,"nodeType":"UserDefinedTypeName","pathNode":{"id":66179,"name":"IAllo.Pool","nameLocations":["14633:5:97","14639:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14633:10:97"},"referencedDeclaration":2319,"src":"14633:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":66187,"initialValue":{"arguments":[{"expression":{"id":66184,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14672:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14681:6:97","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65401,"src":"14672:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66182,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66172,"src":"14658:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":66183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14664:7:97","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14658:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":66186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14633:55:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66188,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14706:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66189,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14715:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65407,"src":"14706:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":66190,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66181,"src":"14733:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":66191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14738:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14733:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14706:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66197,"nodeType":"IfStatement","src":"14702:235:97","trueBody":{"id":66196,"nodeType":"Block","src":"14745:192:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66193,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65535,"src":"14905:15:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14905:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66195,"nodeType":"RevertStatement","src":"14898:24:97"}]}},{"condition":{"arguments":[{"expression":{"id":66199,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14970:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14979:15:97","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65405,"src":"14970:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66198,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67532,"src":"14954:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":66201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14954:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66206,"nodeType":"IfStatement","src":"14950:107:97","trueBody":{"id":66205,"nodeType":"Block","src":"14997:60:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66202,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65537,"src":"15022:18:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15022:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66204,"nodeType":"RevertStatement","src":"15015:27:97"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":66211,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"15102:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66213,"indexExpression":{"id":66212,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"15120:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15102:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15152:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"15102:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":66210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15094:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66209,"name":"address","nodeType":"ElementaryTypeName","src":"15094:7:97","typeDescriptions":{}}},"id":66215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15094:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":66218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15175:1:97","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":66217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15167:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66216,"name":"address","nodeType":"ElementaryTypeName","src":"15167:7:97","typeDescriptions":{}}},"id":66219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15167:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15094:83:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15197:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15201:5:97","memberName":"value","nodeType":"MemberAccess","src":"15197:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":66223,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"15209:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66225,"indexExpression":{"id":66224,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"15227:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15209:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15259:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"15209:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15197:87:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15094:190:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66239,"nodeType":"IfStatement","src":"15077:390:97","trueBody":{"id":66238,"nodeType":"Block","src":"15295:172:97","statements":[{"errorCall":{"arguments":[{"expression":{"id":66230,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15356:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15360:5:97","memberName":"value","nodeType":"MemberAccess","src":"15356:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":66232,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"15367:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66234,"indexExpression":{"id":66233,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"15385:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15367:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15417:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"15367:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66229,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65601,"src":"15316:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15316:140:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66237,"nodeType":"RevertStatement","src":"15309:147:97"}]}},{"assignments":[66241],"declarations":[{"constant":false,"id":66241,"mutability":"mutable","name":"proposalId","nameLocation":"15485:10:97","nodeType":"VariableDeclaration","scope":66345,"src":"15477:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66240,"name":"uint256","nodeType":"ElementaryTypeName","src":"15477:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66244,"initialValue":{"id":66243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15498:17:97","subExpression":{"id":66242,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65773,"src":"15500:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15477:38:97"},{"assignments":[66249],"declarations":[{"constant":false,"id":66249,"mutability":"mutable","name":"p","nameLocation":"15557:1:97","nodeType":"VariableDeclaration","scope":66345,"src":"15525:33:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":66248,"nodeType":"UserDefinedTypeName","pathNode":{"id":66247,"name":"StrategyStruct.Proposal","nameLocations":["15525:14:97","15540:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"15525:23:97"},"referencedDeclaration":65460,"src":"15525:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":66253,"initialValue":{"baseExpression":{"id":66250,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"15561:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":66252,"indexExpression":{"id":66251,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"15571:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15561:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15525:57:97"},{"expression":{"id":66258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66254,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15593:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15595:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"15593:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66257,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"15608:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15593:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66259,"nodeType":"ExpressionStatement","src":"15593:25:97"},{"expression":{"id":66264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66260,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15628:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15630:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"15628:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66263,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"15642:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15628:21:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66265,"nodeType":"ExpressionStatement","src":"15628:21:97"},{"expression":{"id":66271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66266,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15659:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15661:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"15659:13:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66269,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"15675:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15684:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65403,"src":"15675:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15659:36:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66272,"nodeType":"ExpressionStatement","src":"15659:36:97"},{"expression":{"id":66278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66273,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15705:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15707:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65440,"src":"15705:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66276,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"15724:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15733:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65407,"src":"15724:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15705:42:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66279,"nodeType":"ExpressionStatement","src":"15705:42:97"},{"expression":{"id":66285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66280,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15757:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15759:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"15757:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66283,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"15777:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15786:15:97","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65405,"src":"15777:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15757:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66286,"nodeType":"ExpressionStatement","src":"15757:44:97"},{"expression":{"id":66293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66287,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15862:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15864:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"15862:16:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":66290,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"15881:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15896:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"15881:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":66292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15911:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"15881:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15862:55:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":66294,"nodeType":"ExpressionStatement","src":"15862:55:97"},{"expression":{"id":66300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66295,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15927:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15929:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"15927:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66298,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15941:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15947:6:97","memberName":"number","nodeType":"MemberAccess","src":"15941:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15927:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66301,"nodeType":"ExpressionStatement","src":"15927:26:97"},{"expression":{"id":66306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66302,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15963:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15965:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"15963:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":66305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15982:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15963:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66307,"nodeType":"ExpressionStatement","src":"15963:20:97"},{"expression":{"id":66313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66308,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"16029:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16031:8:97","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65452,"src":"16029:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66311,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"16042:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16051:8:97","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65410,"src":"16042:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"16029:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":66314,"nodeType":"ExpressionStatement","src":"16029:30:97"},{"expression":{"id":66319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66315,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"16069:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16071:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"16069:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66318,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"16097:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16069:58:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66320,"nodeType":"ExpressionStatement","src":"16069:58:97"},{"expression":{"arguments":[{"id":66327,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"16189:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66328,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"16201:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16203:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"16201:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66321,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"16137:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":66323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16153:17:97","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":72943,"src":"16137:33:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":66326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":66324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16178:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16182:5:97","memberName":"value","nodeType":"MemberAccess","src":"16178:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"16137:51:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":66330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66331,"nodeType":"ExpressionStatement","src":"16137:76:97"},{"eventCall":{"arguments":[{"id":66333,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64735,"src":"16245:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66334,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"16253:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66332,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65644,"src":"16229:15:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":66335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16229:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66336,"nodeType":"EmitStatement","src":"16224:40:97"},{"expression":{"arguments":[{"arguments":[{"id":66341,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"16346:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16338:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66339,"name":"uint160","nodeType":"ElementaryTypeName","src":"16338:7:97","typeDescriptions":{}}},"id":66342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16338:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16330:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66337,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:97","typeDescriptions":{}}},"id":66343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16330:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":66114,"id":66344,"nodeType":"Return","src":"16323:35:97"}]},"baseFunctions":[65213],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13683:18:97","overrides":{"id":66111,"nodeType":"OverrideSpecifier","overrides":[],"src":"13748:8:97"},"parameters":{"id":66110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66107,"mutability":"mutable","name":"_data","nameLocation":"13715:5:97","nodeType":"VariableDeclaration","scope":66346,"src":"13702:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66106,"name":"bytes","nodeType":"ElementaryTypeName","src":"13702:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66109,"mutability":"mutable","name":"_sender","nameLocation":"13730:7:97","nodeType":"VariableDeclaration","scope":66346,"src":"13722:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66108,"name":"address","nodeType":"ElementaryTypeName","src":"13722:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13701:37:97"},"returnParameters":{"id":66114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66346,"src":"13766:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66112,"name":"address","nodeType":"ElementaryTypeName","src":"13766:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13765:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66355,"nodeType":"FunctionDefinition","src":"16371:98:97","nodes":[],"body":{"id":66354,"nodeType":"Block","src":"16431:38:97","nodes":[],"statements":[{"expression":{"expression":{"id":66351,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"16448:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":66352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16457:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"16448:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66350,"id":66353,"nodeType":"Return","src":"16441:21:97"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16380:8:97","parameters":{"id":66347,"nodeType":"ParameterList","parameters":[],"src":"16388:2:97"},"returnParameters":{"id":66350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66349,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66355,"src":"16422:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66348,"name":"uint256","nodeType":"ElementaryTypeName","src":"16422:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16421:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":66394,"nodeType":"FunctionDefinition","src":"16475:359:97","nodes":[],"body":{"id":66393,"nodeType":"Block","src":"16518:316:97","nodes":[],"statements":[{"assignments":[66359],"declarations":[{"constant":false,"id":66359,"mutability":"mutable","name":"member","nameLocation":"16536:6:97","nodeType":"VariableDeclaration","scope":66393,"src":"16528:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66358,"name":"address","nodeType":"ElementaryTypeName","src":"16528:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66362,"initialValue":{"expression":{"id":66360,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16545:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16549:6:97","memberName":"sender","nodeType":"MemberAccess","src":"16545:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16528:27:97"},{"condition":{"id":66366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16569:26:97","subExpression":{"arguments":[{"id":66364,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66359,"src":"16588:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66363,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"16570:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16570:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66371,"nodeType":"IfStatement","src":"16565:89:97","trueBody":{"id":66370,"nodeType":"Block","src":"16597:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66367,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"16618:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16618:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66369,"nodeType":"RevertStatement","src":"16611:32:97"}]}},{"expression":{"arguments":[{"id":66375,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66359,"src":"16706:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66378,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16722:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16714:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66376,"name":"address","nodeType":"ElementaryTypeName","src":"16714:7:97","typeDescriptions":{}}},"id":66379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16714:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66372,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"16663:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16681:24:97","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":70998,"src":"16663:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16663:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66381,"nodeType":"ExpressionStatement","src":"16663:65:97"},{"expression":{"id":66391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66382,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"16738:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":66385,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66359,"src":"16805:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66388,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16821:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16813:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66386,"name":"address","nodeType":"ElementaryTypeName","src":"16813:7:97","typeDescriptions":{}}},"id":66389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16813:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66383,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"16762:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16780:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"16762:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16762:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16738:89:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66392,"nodeType":"ExpressionStatement","src":"16738:89:97"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16484:14:97","parameters":{"id":66356,"nodeType":"ParameterList","parameters":[],"src":"16498:2:97"},"returnParameters":{"id":66357,"nodeType":"ParameterList","parameters":[],"src":"16518:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66403,"nodeType":"FunctionDefinition","src":"16840:89:97","nodes":[],"body":{"id":66402,"nodeType":"Block","src":"16883:46:97","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":66398,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16911:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16915:6:97","memberName":"sender","nodeType":"MemberAccess","src":"16911:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66397,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66451,"src":"16893:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16893:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66401,"nodeType":"ExpressionStatement","src":"16893:29:97"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16849:16:97","parameters":{"id":66395,"nodeType":"ParameterList","parameters":[],"src":"16865:2:97"},"returnParameters":{"id":66396,"nodeType":"ParameterList","parameters":[],"src":"16883:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":66416,"nodeType":"FunctionDefinition","src":"16935:136:97","nodes":[],"body":{"id":66415,"nodeType":"Block","src":"16995:76:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66408,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66029,"src":"17005:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17005:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66410,"nodeType":"ExpressionStatement","src":"17005:23:97"},{"expression":{"arguments":[{"id":66412,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66405,"src":"17056:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66411,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66451,"src":"17038:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17038:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66414,"nodeType":"ExpressionStatement","src":"17038:26:97"}]},"baseFunctions":[65365],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16944:16:97","parameters":{"id":66406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66405,"mutability":"mutable","name":"_member","nameLocation":"16969:7:97","nodeType":"VariableDeclaration","scope":66416,"src":"16961:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66404,"name":"address","nodeType":"ElementaryTypeName","src":"16961:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16960:17:97"},"returnParameters":{"id":66407,"nodeType":"ParameterList","parameters":[],"src":"16995:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66451,"nodeType":"FunctionDefinition","src":"17077:359:97","nodes":[],"body":{"id":66450,"nodeType":"Block","src":"17138:298:97","nodes":[],"statements":[{"expression":{"id":66430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66421,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"17148:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":66424,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17215:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17232:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17224:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66425,"name":"address","nodeType":"ElementaryTypeName","src":"17224:7:97","typeDescriptions":{}}},"id":66428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17224:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66422,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"17172:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17190:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"17172:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17148:90:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66431,"nodeType":"ExpressionStatement","src":"17148:90:97"},{"expression":{"arguments":[{"id":66435,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17293:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66438,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17310:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17302:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66436,"name":"address","nodeType":"ElementaryTypeName","src":"17302:7:97","typeDescriptions":{}}},"id":66439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17302:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66432,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"17248:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17266:26:97","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71057,"src":"17248:44:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17248:68:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66441,"nodeType":"ExpressionStatement","src":"17248:68:97"},{"expression":{"arguments":[{"id":66443,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17380:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66442,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67278,"src":"17371:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17371:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66445,"nodeType":"ExpressionStatement","src":"17371:17:97"},{"eventCall":{"arguments":[{"id":66447,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17421:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66446,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65652,"src":"17403:17:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17403:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66449,"nodeType":"EmitStatement","src":"17398:31:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"17086:17:97","parameters":{"id":66419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66418,"mutability":"mutable","name":"_member","nameLocation":"17112:7:97","nodeType":"VariableDeclaration","scope":66451,"src":"17104:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66417,"name":"address","nodeType":"ElementaryTypeName","src":"17104:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17103:17:97"},"returnParameters":{"id":66420,"nodeType":"ParameterList","parameters":[],"src":"17138:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66544,"nodeType":"FunctionDefinition","src":"17442:1065:97","nodes":[],"body":{"id":66543,"nodeType":"Block","src":"17541:966:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66460,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66029,"src":"17596:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17596:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66462,"nodeType":"ExpressionStatement","src":"17596:23:97"},{"condition":{"id":66466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17633:27:97","subExpression":{"arguments":[{"id":66464,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"17652:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66463,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"17634:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17634:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66471,"nodeType":"IfStatement","src":"17629:90:97","trueBody":{"id":66470,"nodeType":"Block","src":"17662:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66467,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"17683:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66469,"nodeType":"RevertStatement","src":"17676:32:97"}]}},{"assignments":[66473],"declarations":[{"constant":false,"id":66473,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17736:16:97","nodeType":"VariableDeclaration","scope":66543,"src":"17728:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66472,"name":"uint256","nodeType":"ElementaryTypeName","src":"17728:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66475,"initialValue":{"hexValue":"30","id":66474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17755:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17728:28:97"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66476,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"17770:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66477,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"17785:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17800:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"17785:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17812:9:97","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65397,"src":"17785:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"17770:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66488,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"17915:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66489,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"17930:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17945:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"17930:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17957:6:97","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65396,"src":"17930:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"17915:48:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66501,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"18063:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66502,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"18078:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18093:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"18078:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18105:9:97","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65398,"src":"18078:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"18063:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66514,"nodeType":"IfStatement","src":"18059:148:97","trueBody":{"id":66513,"nodeType":"Block","src":"18116:91:97","statements":[{"expression":{"id":66511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66506,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18130:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66508,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18172:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66509,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"18181:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66507,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66730,"src":"18149:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18149:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18130:66:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66512,"nodeType":"ExpressionStatement","src":"18130:66:97"}]}},"id":66515,"nodeType":"IfStatement","src":"17911:296:97","trueBody":{"id":66500,"nodeType":"Block","src":"17965:88:97","statements":[{"expression":{"id":66498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66493,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"17979:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66495,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18018:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66496,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"18027:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66494,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66652,"src":"17998:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17998:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17979:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66499,"nodeType":"ExpressionStatement","src":"17979:63:97"}]}},"id":66516,"nodeType":"IfStatement","src":"17766:441:97","trueBody":{"id":66487,"nodeType":"Block","src":"17823:82:97","statements":[{"expression":{"id":66485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66481,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"17837:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66483,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"17879:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66482,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"17856:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17856:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17837:57:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66486,"nodeType":"ExpressionStatement","src":"17837:57:97"}]}},{"assignments":[66518],"declarations":[{"constant":false,"id":66518,"mutability":"mutable","name":"isActivated","nameLocation":"18221:11:97","nodeType":"VariableDeclaration","scope":66543,"src":"18216:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66517,"name":"bool","nodeType":"ElementaryTypeName","src":"18216:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66527,"initialValue":{"arguments":[{"id":66521,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18281:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66524,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18298:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18290:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66522,"name":"address","nodeType":"ElementaryTypeName","src":"18290:7:97","typeDescriptions":{}}},"id":66525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18290:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66519,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"18235:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18253:27:97","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":70328,"src":"18235:45:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18235:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18216:88:97"},{"condition":{"id":66528,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66518,"src":"18318:11:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66534,"nodeType":"IfStatement","src":"18314:82:97","trueBody":{"id":66533,"nodeType":"Block","src":"18331:65:97","statements":[{"expression":{"id":66531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66529,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"18345:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":66530,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18369:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18345:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66532,"nodeType":"ExpressionStatement","src":"18345:40:97"}]}},{"eventCall":{"arguments":[{"id":66536,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18425:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66537,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"18434:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66538,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18450:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66535,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65660,"src":"18410:14:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18410:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66540,"nodeType":"EmitStatement","src":"18405:62:97"},{"expression":{"id":66541,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18484:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66459,"id":66542,"nodeType":"Return","src":"18477:23:97"}]},"baseFunctions":[65374],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17451:13:97","parameters":{"id":66456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66453,"mutability":"mutable","name":"_member","nameLocation":"17473:7:97","nodeType":"VariableDeclaration","scope":66544,"src":"17465:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66452,"name":"address","nodeType":"ElementaryTypeName","src":"17465:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66455,"mutability":"mutable","name":"_amountToStake","nameLocation":"17490:14:97","nodeType":"VariableDeclaration","scope":66544,"src":"17482:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66454,"name":"uint256","nodeType":"ElementaryTypeName","src":"17482:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17464:41:97"},"returnParameters":{"id":66459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66544,"src":"17532:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66457,"name":"uint256","nodeType":"ElementaryTypeName","src":"17532:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17531:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66600,"nodeType":"FunctionDefinition","src":"18513:689:97","nodes":[],"body":{"id":66599,"nodeType":"Block","src":"18614:588:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66553,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66029,"src":"18624:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18624:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66555,"nodeType":"ExpressionStatement","src":"18624:23:97"},{"assignments":[66557],"declarations":[{"constant":false,"id":66557,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18711:16:97","nodeType":"VariableDeclaration","scope":66599,"src":"18703:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66556,"name":"uint256","nodeType":"ElementaryTypeName","src":"18703:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66559,"initialValue":{"hexValue":"30","id":66558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18730:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18703:28:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66560,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"18745:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66561,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"18760:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18775:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"18760:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18787:9:97","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65397,"src":"18760:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"18745:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66565,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"18800:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66566,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"18815:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18830:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"18815:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18842:6:97","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65396,"src":"18815:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"18800:48:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18745:103:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66585,"nodeType":"Block","src":"18946:93:97","statements":[{"expression":{"id":66583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66578,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"18960:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66580,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66546,"src":"19002:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66581,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66548,"src":"19011:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66579,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66814,"src":"18979:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18979:49:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18960:68:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66584,"nodeType":"ExpressionStatement","src":"18960:68:97"}]},"id":66586,"nodeType":"IfStatement","src":"18741:298:97","trueBody":{"id":66577,"nodeType":"Block","src":"18850:90:97","statements":[{"expression":{"id":66575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66571,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"18864:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66573,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66548,"src":"18912:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66572,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66740,"src":"18883:28:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18883:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18864:65:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66576,"nodeType":"ExpressionStatement","src":"18864:65:97"}]}},{"expression":{"id":66589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66587,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"19048:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":66588,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"19072:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19048:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66590,"nodeType":"ExpressionStatement","src":"19048:40:97"},{"eventCall":{"arguments":[{"id":66592,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66546,"src":"19118:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66593,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66548,"src":"19127:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66594,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"19145:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66591,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65668,"src":"19103:14:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19103:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66596,"nodeType":"EmitStatement","src":"19098:64:97"},{"expression":{"id":66597,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"19179:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66552,"id":66598,"nodeType":"Return","src":"19172:23:97"}]},"baseFunctions":[65383],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18522:13:97","parameters":{"id":66549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66546,"mutability":"mutable","name":"_member","nameLocation":"18544:7:97","nodeType":"VariableDeclaration","scope":66600,"src":"18536:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66545,"name":"address","nodeType":"ElementaryTypeName","src":"18536:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66548,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18561:16:97","nodeType":"VariableDeclaration","scope":66600,"src":"18553:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66547,"name":"uint256","nodeType":"ElementaryTypeName","src":"18553:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18535:43:97"},"returnParameters":{"id":66552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66600,"src":"18605:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66550,"name":"uint256","nodeType":"ElementaryTypeName","src":"18605:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18604:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66610,"nodeType":"FunctionDefinition","src":"19208:126:97","nodes":[],"body":{"id":66609,"nodeType":"Block","src":"19296:38:97","nodes":[],"statements":[{"expression":{"id":66607,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66602,"src":"19313:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66606,"id":66608,"nodeType":"Return","src":"19306:21:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"19217:22:97","parameters":{"id":66603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66602,"mutability":"mutable","name":"_amountToStake","nameLocation":"19248:14:97","nodeType":"VariableDeclaration","scope":66610,"src":"19240:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66601,"name":"uint256","nodeType":"ElementaryTypeName","src":"19240:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19239:24:97"},"returnParameters":{"id":66606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66605,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66610,"src":"19287:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66604,"name":"uint256","nodeType":"ElementaryTypeName","src":"19287:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19286:9:97"},"scope":69064,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":66652,"nodeType":"FunctionDefinition","src":"19340:632:97","nodes":[],"body":{"id":66651,"nodeType":"Block","src":"19450:522:97","nodes":[],"statements":[{"assignments":[66620],"declarations":[{"constant":false,"id":66620,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19468:16:97","nodeType":"VariableDeclaration","scope":66651,"src":"19460:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66619,"name":"uint256","nodeType":"ElementaryTypeName","src":"19460:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66622,"initialValue":{"id":66621,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66614,"src":"19487:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19460:41:97"},{"assignments":[66624],"declarations":[{"constant":false,"id":66624,"mutability":"mutable","name":"memberPower","nameLocation":"19583:11:97","nodeType":"VariableDeclaration","scope":66651,"src":"19575:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66623,"name":"uint256","nodeType":"ElementaryTypeName","src":"19575:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66633,"initialValue":{"arguments":[{"id":66627,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"19640:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66630,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19657:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19649:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66628,"name":"address","nodeType":"ElementaryTypeName","src":"19649:7:97","typeDescriptions":{}}},"id":66631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19649:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66625,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"19597:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19615:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"19597:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19597:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19575:88:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66634,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66624,"src":"19729:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66635,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66620,"src":"19743:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":66637,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"19762:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19774:9:97","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"19762:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:54:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66648,"nodeType":"IfStatement","src":"19725:139:97","trueBody":{"id":66647,"nodeType":"Block","src":"19785:79:97","statements":[{"expression":{"id":66645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66640,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66620,"src":"19799:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66641,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"19818:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19830:9:97","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"19818:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66643,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66624,"src":"19842:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19818:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19799:54:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66646,"nodeType":"ExpressionStatement","src":"19799:54:97"}]}},{"expression":{"id":66649,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66620,"src":"19949:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66618,"id":66650,"nodeType":"Return","src":"19942:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19349:19:97","parameters":{"id":66615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66612,"mutability":"mutable","name":"_member","nameLocation":"19377:7:97","nodeType":"VariableDeclaration","scope":66652,"src":"19369:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66611,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66614,"mutability":"mutable","name":"_amountToStake","nameLocation":"19394:14:97","nodeType":"VariableDeclaration","scope":66652,"src":"19386:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66613,"name":"uint256","nodeType":"ElementaryTypeName","src":"19386:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19368:41:97"},"returnParameters":{"id":66618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66617,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66652,"src":"19441:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66616,"name":"uint256","nodeType":"ElementaryTypeName","src":"19441:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19440:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66730,"nodeType":"FunctionDefinition","src":"19978:741:97","nodes":[],"body":{"id":66729,"nodeType":"Block","src":"20091:628:97","nodes":[],"statements":[{"assignments":[66662],"declarations":[{"constant":false,"id":66662,"mutability":"mutable","name":"totalStake","nameLocation":"20109:10:97","nodeType":"VariableDeclaration","scope":66729,"src":"20101:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66661,"name":"uint256","nodeType":"ElementaryTypeName","src":"20101:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66669,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66665,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66654,"src":"20162:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66663,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"20122:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20140:21:97","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":71380,"src":"20122:39:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20122:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66667,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66656,"src":"20173:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20122:65:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20101:86:97"},{"assignments":[66671],"declarations":[{"constant":false,"id":66671,"mutability":"mutable","name":"decimal","nameLocation":"20206:7:97","nodeType":"VariableDeclaration","scope":66729,"src":"20198:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66670,"name":"uint256","nodeType":"ElementaryTypeName","src":"20198:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66673,"initialValue":{"hexValue":"3138","id":66672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20216:2:97","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20198:20:97"},{"clauses":[{"block":{"id":66694,"nodeType":"Block","src":"20316:52:97","statements":[{"expression":{"id":66692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66687,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66671,"src":"20330:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66690,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66685,"src":"20348:8:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20340:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66688,"name":"uint256","nodeType":"ElementaryTypeName","src":"20340:7:97","typeDescriptions":{}}},"id":66691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20340:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20330:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66693,"nodeType":"ExpressionStatement","src":"20330:27:97"}]},"errorName":"","id":66695,"nodeType":"TryCatchClause","parameters":{"id":66686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66685,"mutability":"mutable","name":"_decimal","nameLocation":"20306:8:97","nodeType":"VariableDeclaration","scope":66695,"src":"20300:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66684,"name":"uint8","nodeType":"ElementaryTypeName","src":"20300:5:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20299:16:97"},"src":"20291:77:97"},{"block":{"id":66696,"nodeType":"Block","src":"20375:64:97","statements":[]},"errorName":"","id":66697,"nodeType":"TryCatchClause","src":"20369:70:97"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66677,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"20246:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20264:11:97","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":70283,"src":"20246:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":66679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":66676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20238:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66675,"name":"address","nodeType":"ElementaryTypeName","src":"20238:7:97","typeDescriptions":{}}},"id":66680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20238:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66674,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"20232:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":66681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":66682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20280:8:97","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"20232:56:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:58:97","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66698,"nodeType":"TryStatement","src":"20228:211:97"},{"assignments":[66700],"declarations":[{"constant":false,"id":66700,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20456:14:97","nodeType":"VariableDeclaration","scope":66729,"src":"20448:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66699,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66709,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66703,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66662,"src":"20483:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20496:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66705,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66671,"src":"20502:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20496:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20483:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66701,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"20473:4:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58094_$","typeString":"type(library Math)"}},"id":66702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20478:4:97","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57598,"src":"20473:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20473:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20448:62:97"},{"assignments":[66711],"declarations":[{"constant":false,"id":66711,"mutability":"mutable","name":"currentPoints","nameLocation":"20528:13:97","nodeType":"VariableDeclaration","scope":66729,"src":"20520:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66710,"name":"uint256","nodeType":"ElementaryTypeName","src":"20520:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66720,"initialValue":{"arguments":[{"id":66714,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66654,"src":"20587:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66717,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20604:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20596:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66715,"name":"address","nodeType":"ElementaryTypeName","src":"20596:7:97","typeDescriptions":{}}},"id":66718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20596:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66712,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"20544:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20562:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"20544:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20544:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20520:90:97"},{"assignments":[66722],"declarations":[{"constant":false,"id":66722,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20629:16:97","nodeType":"VariableDeclaration","scope":66729,"src":"20621:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66721,"name":"uint256","nodeType":"ElementaryTypeName","src":"20621:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66726,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66723,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66700,"src":"20648:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66724,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66711,"src":"20665:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20648:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20621:57:97"},{"expression":{"id":66727,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66722,"src":"20696:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66660,"id":66728,"nodeType":"Return","src":"20689:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19987:22:97","parameters":{"id":66657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66654,"mutability":"mutable","name":"_member","nameLocation":"20018:7:97","nodeType":"VariableDeclaration","scope":66730,"src":"20010:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66653,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66656,"mutability":"mutable","name":"_amountToStake","nameLocation":"20035:14:97","nodeType":"VariableDeclaration","scope":66730,"src":"20027:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66655,"name":"uint256","nodeType":"ElementaryTypeName","src":"20027:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20009:41:97"},"returnParameters":{"id":66660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66659,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66730,"src":"20082:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66658,"name":"uint256","nodeType":"ElementaryTypeName","src":"20082:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20081:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66740,"nodeType":"FunctionDefinition","src":"20725:144:97","nodes":[],"body":{"id":66739,"nodeType":"Block","src":"20829:40:97","nodes":[],"statements":[{"expression":{"id":66737,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66732,"src":"20846:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66736,"id":66738,"nodeType":"Return","src":"20839:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20734:28:97","parameters":{"id":66733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66732,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20771:16:97","nodeType":"VariableDeclaration","scope":66740,"src":"20763:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66731,"name":"uint256","nodeType":"ElementaryTypeName","src":"20763:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20762:26:97"},"returnParameters":{"id":66736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66735,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66740,"src":"20820:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66734,"name":"uint256","nodeType":"ElementaryTypeName","src":"20820:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20819:9:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66814,"nodeType":"FunctionDefinition","src":"20875:855:97","nodes":[],"body":{"id":66813,"nodeType":"Block","src":"21026:704:97","nodes":[],"statements":[{"assignments":[66750],"declarations":[{"constant":false,"id":66750,"mutability":"mutable","name":"decimal","nameLocation":"21044:7:97","nodeType":"VariableDeclaration","scope":66813,"src":"21036:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66749,"name":"uint256","nodeType":"ElementaryTypeName","src":"21036:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66752,"initialValue":{"hexValue":"3138","id":66751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21054:2:97","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"21036:20:97"},{"clauses":[{"block":{"id":66773,"nodeType":"Block","src":"21154:52:97","statements":[{"expression":{"id":66771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66766,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66750,"src":"21168:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66769,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66764,"src":"21186:8:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21178:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66767,"name":"uint256","nodeType":"ElementaryTypeName","src":"21178:7:97","typeDescriptions":{}}},"id":66770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21178:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21168:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66772,"nodeType":"ExpressionStatement","src":"21168:27:97"}]},"errorName":"","id":66774,"nodeType":"TryCatchClause","parameters":{"id":66765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66764,"mutability":"mutable","name":"_decimal","nameLocation":"21144:8:97","nodeType":"VariableDeclaration","scope":66774,"src":"21138:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66763,"name":"uint8","nodeType":"ElementaryTypeName","src":"21138:5:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21137:16:97"},"src":"21129:77:97"},{"block":{"id":66775,"nodeType":"Block","src":"21213:64:97","statements":[]},"errorName":"","id":66776,"nodeType":"TryCatchClause","src":"21207:70:97"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66756,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"21084:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21102:11:97","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":70283,"src":"21084:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":66758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21084:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":66755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21076:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66754,"name":"address","nodeType":"ElementaryTypeName","src":"21076:7:97","typeDescriptions":{}}},"id":66759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21076:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66753,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"21070:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":66760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":66761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21118:8:97","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"21070:56:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:58:97","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66777,"nodeType":"TryStatement","src":"21066:211:97"},{"assignments":[66779],"declarations":[{"constant":false,"id":66779,"mutability":"mutable","name":"newTotalStake","nameLocation":"21356:13:97","nodeType":"VariableDeclaration","scope":66813,"src":"21348:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66778,"name":"uint256","nodeType":"ElementaryTypeName","src":"21348:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66786,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66782,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66742,"src":"21412:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66780,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"21372:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21390:21:97","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":71380,"src":"21372:39:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21372:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66784,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66744,"src":"21423:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21372:67:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21348:91:97"},{"assignments":[66788],"declarations":[{"constant":false,"id":66788,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21513:14:97","nodeType":"VariableDeclaration","scope":66813,"src":"21505:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66787,"name":"uint256","nodeType":"ElementaryTypeName","src":"21505:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66797,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66791,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66779,"src":"21540:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21556:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66793,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66750,"src":"21562:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21556:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21540:29:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66789,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"21530:4:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58094_$","typeString":"type(library Math)"}},"id":66790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21535:4:97","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57598,"src":"21530:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21530:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21505:65:97"},{"assignments":[66799],"declarations":[{"constant":false,"id":66799,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21588:16:97","nodeType":"VariableDeclaration","scope":66813,"src":"21580:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66798,"name":"uint256","nodeType":"ElementaryTypeName","src":"21580:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66810,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66802,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66742,"src":"21650:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66805,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21667:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21659:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66803,"name":"address","nodeType":"ElementaryTypeName","src":"21659:7:97","typeDescriptions":{}}},"id":66806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21659:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66800,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"21607:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21625:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"21607:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21607:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66808,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66788,"src":"21676:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21607:83:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21580:110:97"},{"expression":{"id":66811,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66799,"src":"21707:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66748,"id":66812,"nodeType":"Return","src":"21700:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20884:22:97","parameters":{"id":66745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66742,"mutability":"mutable","name":"_member","nameLocation":"20915:7:97","nodeType":"VariableDeclaration","scope":66814,"src":"20907:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66741,"name":"address","nodeType":"ElementaryTypeName","src":"20907:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66744,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20932:16:97","nodeType":"VariableDeclaration","scope":66814,"src":"20924:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66743,"name":"uint256","nodeType":"ElementaryTypeName","src":"20924:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20906:43:97"},"returnParameters":{"id":66748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66814,"src":"21013:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66746,"name":"uint256","nodeType":"ElementaryTypeName","src":"21013:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21012:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66823,"nodeType":"FunctionDefinition","src":"21736:99:97","nodes":[],"body":{"id":66822,"nodeType":"Block","src":"21790:45:97","nodes":[],"statements":[{"expression":{"expression":{"id":66819,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"21807:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21819:9:97","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"21807:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66818,"id":66821,"nodeType":"Return","src":"21800:28:97"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21745:12:97","parameters":{"id":66815,"nodeType":"ParameterList","parameters":[],"src":"21757:2:97"},"returnParameters":{"id":66818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66817,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66823,"src":"21781:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66816,"name":"uint256","nodeType":"ElementaryTypeName","src":"21781:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21780:9:97"},"scope":69064,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66832,"nodeType":"FunctionDefinition","src":"21841:110:97","nodes":[],"body":{"id":66831,"nodeType":"Block","src":"21916:35:97","nodes":[],"statements":[{"expression":{"id":66829,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"21933:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":66828,"id":66830,"nodeType":"Return","src":"21926:18:97"}]},"baseFunctions":[65389],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21850:14:97","parameters":{"id":66824,"nodeType":"ParameterList","parameters":[],"src":"21864:2:97"},"returnParameters":{"id":66828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66832,"src":"21888:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66826,"nodeType":"UserDefinedTypeName","pathNode":{"id":66825,"name":"StrategyStruct.PointSystem","nameLocations":["21888:14:97","21903:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"21888:26:97"},"referencedDeclaration":65399,"src":"21888:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21887:28:97"},"scope":69064,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66897,"nodeType":"FunctionDefinition","src":"22457:650:97","nodes":[],"body":{"id":66896,"nodeType":"Block","src":"22531:576:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":66841,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"22561:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66840,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66013,"src":"22541:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":66842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22541:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66843,"nodeType":"ExpressionStatement","src":"22541:28:97"},{"condition":{"id":66847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22583:27:97","subExpression":{"arguments":[{"id":66845,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"22602:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66844,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"22584:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22584:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66852,"nodeType":"IfStatement","src":"22579:90:97","trueBody":{"id":66851,"nodeType":"Block","src":"22612:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66848,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"22633:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22633:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66850,"nodeType":"RevertStatement","src":"22626:32:97"}]}},{"assignments":[66854],"declarations":[{"constant":false,"id":66854,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22729:23:97","nodeType":"VariableDeclaration","scope":66896,"src":"22724:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66853,"name":"bool","nodeType":"ElementaryTypeName","src":"22724:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66863,"initialValue":{"arguments":[{"id":66857,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"22801:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66860,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22818:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22810:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66858,"name":"address","nodeType":"ElementaryTypeName","src":"22810:7:97","typeDescriptions":{}}},"id":66861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22810:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66855,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"22755:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22773:27:97","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":70328,"src":"22755:45:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22755:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22724:100:97"},{"condition":{"id":66865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22838:24:97","subExpression":{"id":66864,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66854,"src":"22839:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66870,"nodeType":"IfStatement","src":"22834:78:97","trueBody":{"id":66869,"nodeType":"Block","src":"22864:48:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66866,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65527,"src":"22885:14:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22885:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66868,"nodeType":"RevertStatement","src":"22878:23:97"}]}},{"assignments":[66876],"declarations":[{"constant":false,"id":66876,"mutability":"mutable","name":"pv","nameLocation":"22961:2:97","nodeType":"VariableDeclaration","scope":66896,"src":"22921:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":66874,"nodeType":"UserDefinedTypeName","pathNode":{"id":66873,"name":"StrategyStruct.ProposalSupport","nameLocations":["22921:14:97","22936:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":65465,"src":"22921:30:97"},"referencedDeclaration":65465,"src":"22921:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":66875,"nodeType":"ArrayTypeName","src":"22921:32:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":66885,"initialValue":{"arguments":[{"id":66879,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66834,"src":"22977:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":66880,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"22985:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23000:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":65465,"src":"22985:30:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65465_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":66882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22985:32:97","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":66883,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22984:34:97","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":66877,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22966:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22970:6:97","memberName":"decode","nodeType":"MemberAccess","src":"22966:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22966:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22921:98:97"},{"expression":{"arguments":[{"id":66887,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"23054:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66888,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66876,"src":"23063:2:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":66886,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67628,"src":"23029:24:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":66889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23029:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66890,"nodeType":"ExpressionStatement","src":"23029:37:97"},{"expression":{"arguments":[{"id":66892,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"23088:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66893,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66876,"src":"23097:2:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":66891,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67915,"src":"23076:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":66894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23076:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66895,"nodeType":"ExpressionStatement","src":"23076:24:97"}]},"baseFunctions":[65221],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22466:9:97","overrides":{"id":66838,"nodeType":"OverrideSpecifier","overrides":[],"src":"22522:8:97"},"parameters":{"id":66837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66834,"mutability":"mutable","name":"_data","nameLocation":"22489:5:97","nodeType":"VariableDeclaration","scope":66897,"src":"22476:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66833,"name":"bytes","nodeType":"ElementaryTypeName","src":"22476:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66836,"mutability":"mutable","name":"_sender","nameLocation":"22504:7:97","nodeType":"VariableDeclaration","scope":66897,"src":"22496:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66835,"name":"address","nodeType":"ElementaryTypeName","src":"22496:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22475:37:97"},"returnParameters":{"id":66839,"nodeType":"ParameterList","parameters":[],"src":"22531:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67065,"nodeType":"FunctionDefinition","src":"23363:1925:97","nodes":[],"body":{"id":67064,"nodeType":"Block","src":"23449:1839:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66908,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"23508:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23514:6:97","memberName":"length","nodeType":"MemberAccess","src":"23508:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":66910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23524:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23508:17:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66916,"nodeType":"IfStatement","src":"23504:76:97","trueBody":{"id":66915,"nodeType":"Block","src":"23527:53:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66912,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65563,"src":"23548:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23548:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66914,"nodeType":"RevertStatement","src":"23541:28:97"}]}},{"assignments":[66918],"declarations":[{"constant":false,"id":66918,"mutability":"mutable","name":"proposalId","nameLocation":"23598:10:97","nodeType":"VariableDeclaration","scope":67064,"src":"23590:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66917,"name":"uint256","nodeType":"ElementaryTypeName","src":"23590:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66926,"initialValue":{"arguments":[{"id":66921,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"23622:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":66923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23630:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66922,"name":"uint256","nodeType":"ElementaryTypeName","src":"23630:7:97","typeDescriptions":{}}}],"id":66924,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23629:9:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":66919,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23611:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23615:6:97","memberName":"decode","nodeType":"MemberAccess","src":"23611:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23611:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23590:49:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66927,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23654:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23668:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23654:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66934,"nodeType":"IfStatement","src":"23650:77:97","trueBody":{"id":66933,"nodeType":"Block","src":"23671:56:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66930,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"23692:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23692:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66932,"nodeType":"RevertStatement","src":"23685:31:97"}]}},{"assignments":[66939],"declarations":[{"constant":false,"id":66939,"mutability":"mutable","name":"proposal","nameLocation":"23768:8:97","nodeType":"VariableDeclaration","scope":67064,"src":"23736:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":66938,"nodeType":"UserDefinedTypeName","pathNode":{"id":66937,"name":"StrategyStruct.Proposal","nameLocations":["23736:14:97","23751:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"23736:23:97"},"referencedDeclaration":65460,"src":"23736:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":66943,"initialValue":{"baseExpression":{"id":66940,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"23779:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":66942,"indexExpression":{"id":66941,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23789:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23779:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23736:64:97"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"id":66948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66944,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65785,"src":"23815:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66945,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"23831:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23846:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65394,"src":"23831:27:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65394_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":66947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23859:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"23831:35:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"23815:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67063,"nodeType":"IfStatement","src":"23811:1411:97","trueBody":{"id":67062,"nodeType":"Block","src":"23868:1354:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66949,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"23886:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23895:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"23886:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":66951,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23909:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23886:33:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66958,"nodeType":"IfStatement","src":"23882:108:97","trueBody":{"id":66957,"nodeType":"Block","src":"23921:69:97","statements":[{"errorCall":{"arguments":[{"id":66954,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23964:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66953,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"23946:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":66955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23946:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66956,"nodeType":"RevertStatement","src":"23939:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66959,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24008:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24017:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24008:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":66961,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"24035:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24008:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66971,"nodeType":"IfStatement","src":"24004:152:97","trueBody":{"id":66970,"nodeType":"Block","src":"24047:109:97","statements":[{"errorCall":{"arguments":[{"id":66964,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24092:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66965,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24104:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24113:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24104:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66967,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"24130:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66963,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65591,"src":"24072:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":66968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24072:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66969,"nodeType":"RevertStatement","src":"24065:76:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":66977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66972,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24174:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24183:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"24174:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":66974,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"24201:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24216:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"24201:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":66976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24231:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"24201:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24174:63:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66983,"nodeType":"IfStatement","src":"24170:138:97","trueBody":{"id":66982,"nodeType":"Block","src":"24239:69:97","statements":[{"errorCall":{"arguments":[{"id":66979,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24282:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66978,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65569,"src":"24264:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":66980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24264:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66981,"nodeType":"RevertStatement","src":"24257:36:97"}]}},{"assignments":[66985],"declarations":[{"constant":false,"id":66985,"mutability":"mutable","name":"convictionLast","nameLocation":"24330:14:97","nodeType":"VariableDeclaration","scope":67062,"src":"24322:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66984,"name":"uint256","nodeType":"ElementaryTypeName","src":"24322:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66989,"initialValue":{"arguments":[{"id":66987,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24372:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66986,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68485,"src":"24347:24:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":66988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24347:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24322:61:97"},{"assignments":[66991],"declarations":[{"constant":false,"id":66991,"mutability":"mutable","name":"threshold","nameLocation":"24405:9:97","nodeType":"VariableDeclaration","scope":67062,"src":"24397:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66990,"name":"uint256","nodeType":"ElementaryTypeName","src":"24397:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66996,"initialValue":{"arguments":[{"expression":{"id":66993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24436:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24445:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24436:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66992,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68101,"src":"24417:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":66995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24417:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24397:64:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66997,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66985,"src":"24480:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":66998,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66991,"src":"24497:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24480:26:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24510:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24519:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24510:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24537:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24510:28:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24480:58:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67009,"nodeType":"IfStatement","src":"24476:137:97","trueBody":{"id":67008,"nodeType":"Block","src":"24540:73:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67005,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65581,"src":"24565:31:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24565:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67007,"nodeType":"RevertStatement","src":"24558:40:97"}]}},{"assignments":[67014],"declarations":[{"constant":false,"id":67014,"mutability":"mutable","name":"pool","nameLocation":"24645:4:97","nodeType":"VariableDeclaration","scope":67062,"src":"24627:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67013,"nodeType":"UserDefinedTypeName","pathNode":{"id":67012,"name":"IAllo.Pool","nameLocations":["24627:5:97","24633:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24627:10:97"},"referencedDeclaration":2319,"src":"24627:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67019,"initialValue":{"arguments":[{"id":67017,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64735,"src":"24665:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67015,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64729,"src":"24652:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24657:7:97","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24652:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24652:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24627:45:97"},{"expression":{"id":67023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67020,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"24687:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":67021,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24701:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24710:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24701:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24687:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67024,"nodeType":"ExpressionStatement","src":"24687:38:97"},{"expression":{"arguments":[{"expression":{"id":67026,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67014,"src":"24763:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24768:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24763:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67028,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24775:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24784:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"24775:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67030,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24797:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24806:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24797:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67025,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24747:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":67032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24747:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67033,"nodeType":"ExpressionStatement","src":"24747:75:97"},{"expression":{"id":67040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67034,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24837:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24846:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"24837:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":67037,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"24863:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":67038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24878:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"24863:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24893:8:97","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"24863:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24837:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":67041,"nodeType":"ExpressionStatement","src":"24837:64:97"},{"expression":{"arguments":[{"id":67045,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24967:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67046,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24995:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25004:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"24995:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67048,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"25031:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67050,"indexExpression":{"id":67049,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"25049:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25031:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25081:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"25031:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67042,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"24915:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24931:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"24915:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":67052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24915:205:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67053,"nodeType":"ExpressionStatement","src":"24915:205:97"},{"eventCall":{"arguments":[{"id":67055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"25152:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67056,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"25164:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25173:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"25164:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67058,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"25186:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25195:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"25186:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67054,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[65638,2858],"referencedDeclaration":65638,"src":"25140:11:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":67060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25140:71:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67061,"nodeType":"EmitStatement","src":"25135:76:97"}]}}]},"baseFunctions":[65232],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23372:11:97","overrides":{"id":66906,"nodeType":"OverrideSpecifier","overrides":[],"src":"23440:8:97"},"parameters":{"id":66905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66900,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67065,"src":"23384:16:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":66898,"name":"address","nodeType":"ElementaryTypeName","src":"23384:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66899,"nodeType":"ArrayTypeName","src":"23384:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":66902,"mutability":"mutable","name":"_data","nameLocation":"23415:5:97","nodeType":"VariableDeclaration","scope":67065,"src":"23402:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66901,"name":"bytes","nodeType":"ElementaryTypeName","src":"23402:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67065,"src":"23422:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66903,"name":"address","nodeType":"ElementaryTypeName","src":"23422:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23383:47:97"},"returnParameters":{"id":66907,"nodeType":"ParameterList","parameters":[],"src":"23449:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67119,"nodeType":"FunctionDefinition","src":"25294:743:97","nodes":[],"body":{"id":67118,"nodeType":"Block","src":"25391:646:97","nodes":[],"statements":[{"assignments":[67076],"declarations":[{"constant":false,"id":67076,"mutability":"mutable","name":"proposal","nameLocation":"25433:8:97","nodeType":"VariableDeclaration","scope":67118,"src":"25401:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67075,"nodeType":"UserDefinedTypeName","pathNode":{"id":67074,"name":"StrategyStruct.Proposal","nameLocations":["25401:14:97","25416:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"25401:23:97"},"referencedDeclaration":65460,"src":"25401:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67080,"initialValue":{"baseExpression":{"id":67077,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"25444:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67079,"indexExpression":{"id":67078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67067,"src":"25454:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25444:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25401:64:97"},{"assignments":[67082,67084],"declarations":[{"constant":false,"id":67082,"mutability":"mutable","name":"convictionLast","nameLocation":"25559:14:97","nodeType":"VariableDeclaration","scope":67118,"src":"25551:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67081,"name":"uint256","nodeType":"ElementaryTypeName","src":"25551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67084,"mutability":"mutable","name":"blockNumber","nameLocation":"25583:11:97","nodeType":"VariableDeclaration","scope":67118,"src":"25575:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67083,"name":"uint256","nodeType":"ElementaryTypeName","src":"25575:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67090,"initialValue":{"arguments":[{"id":67086,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25644:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":67087,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25654:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25663:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"25654:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67085,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"25610:33:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":67089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25610:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25550:126:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67091,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"25691:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25709:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25691:19:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67094,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"25714:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25729:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25714:16:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25691:39:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67104,"nodeType":"IfStatement","src":"25687:110:97","trueBody":{"id":67103,"nodeType":"Block","src":"25732:65:97","statements":[{"expression":{"id":67101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67098,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"25746:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67099,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25763:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25772:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"25763:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25746:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67102,"nodeType":"ExpressionStatement","src":"25746:40:97"}]}},{"assignments":[67106],"declarations":[{"constant":false,"id":67106,"mutability":"mutable","name":"threshold","nameLocation":"25814:9:97","nodeType":"VariableDeclaration","scope":67118,"src":"25806:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67105,"name":"uint256","nodeType":"ElementaryTypeName","src":"25806:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67111,"initialValue":{"arguments":[{"expression":{"id":67108,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25845:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25854:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"25845:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67107,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68101,"src":"25826:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25826:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25806:64:97"},{"expression":{"id":67116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67112,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67070,"src":"25987:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67113,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"26003:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":67114,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67106,"src":"26021:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26003:27:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25987:43:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67117,"nodeType":"ExpressionStatement","src":"25987:43:97"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25303:18:97","parameters":{"id":67068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67067,"mutability":"mutable","name":"proposalId","nameLocation":"25330:10:97","nodeType":"VariableDeclaration","scope":67119,"src":"25322:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67066,"name":"uint256","nodeType":"ElementaryTypeName","src":"25322:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25321:20:97"},"returnParameters":{"id":67071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67070,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25376:13:97","nodeType":"VariableDeclaration","scope":67119,"src":"25371:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67069,"name":"bool","nodeType":"ElementaryTypeName","src":"25371:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25370:20:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67129,"nodeType":"FunctionDefinition","src":"26327:231:97","nodes":[],"body":{"id":67128,"nodeType":"Block","src":"26426:132:97","nodes":[],"statements":[]},"baseFunctions":[65252],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26336:19:97","overrides":{"id":67123,"nodeType":"OverrideSpecifier","overrides":[],"src":"26400:8:97"},"parameters":{"id":67122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67121,"mutability":"mutable","name":"_recipientId","nameLocation":"26364:12:97","nodeType":"VariableDeclaration","scope":67129,"src":"26356:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67120,"name":"address","nodeType":"ElementaryTypeName","src":"26356:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26355:22:97"},"returnParameters":{"id":67127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67129,"src":"26418:6:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":67125,"nodeType":"UserDefinedTypeName","pathNode":{"id":67124,"name":"Status","nameLocations":["26418:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26418:6:97"},"referencedDeclaration":2815,"src":"26418:6:97","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26417:8:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67148,"nodeType":"FunctionDefinition","src":"26687:287:97","nodes":[],"body":{"id":67147,"nodeType":"Block","src":"26797:177:97","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67144,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65531,"src":"26951:14:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26951:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67146,"nodeType":"RevertStatement","src":"26944:23:97"}]},"baseFunctions":[65091],"documentation":{"id":67130,"nodeType":"StructuredDocumentation","src":"26564:118:97","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26696:10:97","overrides":{"id":67138,"nodeType":"OverrideSpecifier","overrides":[],"src":"26755:8:97"},"parameters":{"id":67137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67148,"src":"26707:16:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67131,"name":"address","nodeType":"ElementaryTypeName","src":"26707:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67132,"nodeType":"ArrayTypeName","src":"26707:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67148,"src":"26725:14:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":67134,"name":"bytes","nodeType":"ElementaryTypeName","src":"26725:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":67135,"nodeType":"ArrayTypeName","src":"26725:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26706:34:97"},"returnParameters":{"id":67143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67148,"src":"26773:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":67140,"nodeType":"UserDefinedTypeName","pathNode":{"id":67139,"name":"PayoutSummary","nameLocations":["26773:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26773:13:97"},"referencedDeclaration":2820,"src":"26773:13:97","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":67141,"nodeType":"ArrayTypeName","src":"26773:15:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26772:24:97"},"scope":69064,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":67160,"nodeType":"FunctionDefinition","src":"26980:286:97","nodes":[],"body":{"id":67159,"nodeType":"Block","src":"27148:118:97","nodes":[],"statements":[]},"baseFunctions":[65243],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26989:10:97","overrides":{"id":67154,"nodeType":"OverrideSpecifier","overrides":[],"src":"27096:8:97"},"parameters":{"id":67153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67150,"mutability":"mutable","name":"_recipientId","nameLocation":"27008:12:97","nodeType":"VariableDeclaration","scope":67160,"src":"27000:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67149,"name":"address","nodeType":"ElementaryTypeName","src":"27000:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67152,"mutability":"mutable","name":"_data","nameLocation":"27035:5:97","nodeType":"VariableDeclaration","scope":67160,"src":"27022:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67151,"name":"bytes","nodeType":"ElementaryTypeName","src":"27022:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26999:42:97"},"returnParameters":{"id":67158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67157,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67160,"src":"27122:20:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":67156,"nodeType":"UserDefinedTypeName","pathNode":{"id":67155,"name":"PayoutSummary","nameLocations":["27122:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27122:13:97"},"referencedDeclaration":2820,"src":"27122:13:97","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"27121:22:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67171,"nodeType":"FunctionDefinition","src":"27272:127:97","nodes":[],"body":{"id":67170,"nodeType":"Block","src":"27349:50:97","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":67167,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67162,"src":"27384:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67166,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65648,"src":"27364:19:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":67168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27364:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67169,"nodeType":"EmitStatement","src":"27359:33:97"}]},"baseFunctions":[65266],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27281:24:97","overrides":{"id":67164,"nodeType":"OverrideSpecifier","overrides":[],"src":"27340:8:97"},"parameters":{"id":67163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67162,"mutability":"mutable","name":"_amount","nameLocation":"27314:7:97","nodeType":"VariableDeclaration","scope":67171,"src":"27306:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67161,"name":"uint256","nodeType":"ElementaryTypeName","src":"27306:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27305:17:97"},"returnParameters":{"id":67165,"nodeType":"ParameterList","parameters":[],"src":"27349:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67180,"nodeType":"FunctionDefinition","src":"27494:143:97","nodes":[],"body":{"id":67179,"nodeType":"Block","src":"27587:50:97","nodes":[],"statements":[]},"baseFunctions":[65203],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27503:17:97","overrides":{"id":67175,"nodeType":"OverrideSpecifier","overrides":[],"src":"27563:8:97"},"parameters":{"id":67174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67173,"mutability":"mutable","name":"_allocator","nameLocation":"27529:10:97","nodeType":"VariableDeclaration","scope":67180,"src":"27521:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67172,"name":"address","nodeType":"ElementaryTypeName","src":"27521:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27520:20:97"},"returnParameters":{"id":67178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67177,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67180,"src":"27581:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67176,"name":"bool","nodeType":"ElementaryTypeName","src":"27581:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27580:6:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67190,"nodeType":"FunctionDefinition","src":"27643:86:97","nodes":[],"body":{"id":67189,"nodeType":"Block","src":"27689:40:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":67186,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67182,"src":"27714:7:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67185,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65186,"src":"27699:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":67187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27699:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67188,"nodeType":"ExpressionStatement","src":"27699:23:97"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27652:13:97","parameters":{"id":67183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67182,"mutability":"mutable","name":"_active","nameLocation":"27671:7:97","nodeType":"VariableDeclaration","scope":67190,"src":"27666:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67181,"name":"bool","nodeType":"ElementaryTypeName","src":"27666:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27665:14:97"},"returnParameters":{"id":67184,"nodeType":"ParameterList","parameters":[],"src":"27689:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67278,"nodeType":"FunctionDefinition","src":"27735:844:97","nodes":[],"body":{"id":67277,"nodeType":"Block","src":"27787:792:97","nodes":[],"statements":[{"assignments":[67199],"declarations":[{"constant":false,"id":67199,"mutability":"mutable","name":"proposalsIds","nameLocation":"27862:12:97","nodeType":"VariableDeclaration","scope":67277,"src":"27845:29:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67197,"name":"uint256","nodeType":"ElementaryTypeName","src":"27845:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67198,"nodeType":"ArrayTypeName","src":"27845:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67203,"initialValue":{"baseExpression":{"id":67200,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"27877:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67202,"indexExpression":{"id":67201,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"27898:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27877:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27845:61:97"},{"body":{"id":67275,"nodeType":"Block","src":"27966:607:97","statements":[{"assignments":[67216],"declarations":[{"constant":false,"id":67216,"mutability":"mutable","name":"proposalId","nameLocation":"27988:10:97","nodeType":"VariableDeclaration","scope":67275,"src":"27980:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67215,"name":"uint256","nodeType":"ElementaryTypeName","src":"27980:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67220,"initialValue":{"baseExpression":{"id":67217,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67199,"src":"28001:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67219,"indexExpression":{"id":67218,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67205,"src":"28014:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28001:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27980:36:97"},{"assignments":[67225],"declarations":[{"constant":false,"id":67225,"mutability":"mutable","name":"proposal","nameLocation":"28062:8:97","nodeType":"VariableDeclaration","scope":67275,"src":"28030:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67224,"nodeType":"UserDefinedTypeName","pathNode":{"id":67223,"name":"StrategyStruct.Proposal","nameLocations":["28030:14:97","28045:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"28030:23:97"},"referencedDeclaration":65460,"src":"28030:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67229,"initialValue":{"baseExpression":{"id":67226,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"28073:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67228,"indexExpression":{"id":67227,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67216,"src":"28083:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28073:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28030:64:97"},{"condition":{"arguments":[{"id":67231,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67216,"src":"28127:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67230,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67513,"src":"28112:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28112:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67274,"nodeType":"IfStatement","src":"28108:455:97","trueBody":{"id":67273,"nodeType":"Block","src":"28140:423:97","statements":[{"assignments":[67234],"declarations":[{"constant":false,"id":67234,"mutability":"mutable","name":"stakedPoints","nameLocation":"28166:12:97","nodeType":"VariableDeclaration","scope":67273,"src":"28158:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67233,"name":"uint256","nodeType":"ElementaryTypeName","src":"28158:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67239,"initialValue":{"baseExpression":{"expression":{"id":67235,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28181:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28190:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"28181:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67238,"indexExpression":{"id":67237,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"28208:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28181:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28158:58:97"},{"expression":{"id":67246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67240,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28234:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28243:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"28234:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67244,"indexExpression":{"id":67242,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"28261:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28234:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28272:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28234:39:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67247,"nodeType":"ExpressionStatement","src":"28234:39:97"},{"expression":{"id":67252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67248,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28291:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28300:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"28291:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67251,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"28316:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28291:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67253,"nodeType":"ExpressionStatement","src":"28291:37:97"},{"expression":{"id":67256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67254,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65777,"src":"28346:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67255,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"28361:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28346:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67257,"nodeType":"ExpressionStatement","src":"28346:27:97"},{"expression":{"arguments":[{"id":67259,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28418:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":67260,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"28428:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67258,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68250,"src":"28391:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":67261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28391:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67262,"nodeType":"ExpressionStatement","src":"28391:50:97"},{"eventCall":{"arguments":[{"id":67264,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"28477:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67265,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67216,"src":"28486:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":67266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28498:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":67267,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28501:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28510:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"28501:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67269,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28524:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28533:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"28524:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67263,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65680,"src":"28464:12:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28464:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67272,"nodeType":"EmitStatement","src":"28459:89:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67208,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67205,"src":"27936:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67209,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67199,"src":"27940:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27953:6:97","memberName":"length","nodeType":"MemberAccess","src":"27940:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27936:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67276,"initializationExpression":{"assignments":[67205],"declarations":[{"constant":false,"id":67205,"mutability":"mutable","name":"i","nameLocation":"27929:1:97","nodeType":"VariableDeclaration","scope":67276,"src":"27921:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67204,"name":"uint256","nodeType":"ElementaryTypeName","src":"27921:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67207,"initialValue":{"hexValue":"30","id":67206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27933:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27921:13:97"},"loopExpression":{"expression":{"id":67213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27961:3:97","subExpression":{"id":67212,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67205,"src":"27961:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67214,"nodeType":"ExpressionStatement","src":"27961:3:97"},"nodeType":"ForStatement","src":"27916:657:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27744:8:97","parameters":{"id":67193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67192,"mutability":"mutable","name":"_member","nameLocation":"27761:7:97","nodeType":"VariableDeclaration","scope":67278,"src":"27753:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67191,"name":"address","nodeType":"ElementaryTypeName","src":"27753:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27752:17:97"},"returnParameters":{"id":67194,"nodeType":"ParameterList","parameters":[],"src":"27787:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67356,"nodeType":"FunctionDefinition","src":"29263:1145:97","nodes":[],"body":{"id":67355,"nodeType":"Block","src":"29793:615:97","nodes":[],"statements":[{"assignments":[67311],"declarations":[{"constant":false,"id":67311,"mutability":"mutable","name":"proposal","nameLocation":"29835:8:97","nodeType":"VariableDeclaration","scope":67355,"src":"29803:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67310,"nodeType":"UserDefinedTypeName","pathNode":{"id":67309,"name":"StrategyStruct.Proposal","nameLocations":["29803:14:97","29818:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"29803:23:97"},"referencedDeclaration":65460,"src":"29803:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67315,"initialValue":{"baseExpression":{"id":67312,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"29846:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67314,"indexExpression":{"id":67313,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67281,"src":"29856:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29846:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29803:65:97"},{"expression":{"id":67327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67316,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67301,"src":"29879:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67317,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"29891:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29900:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"29891:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29919:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29891:29:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":67323,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"29946:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29955:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"29946:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67322,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68101,"src":"29927:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29927:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29891:80:97","trueExpression":{"hexValue":"30","id":67321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29923:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29879:92:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67328,"nodeType":"ExpressionStatement","src":"29879:92:97"},{"expression":{"components":[{"expression":{"id":67329,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30002:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30011:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"30002:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67331,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30034:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30043:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"30034:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67333,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30068:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30077:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65440,"src":"30068:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67335,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30105:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30114:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"30105:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67337,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30143:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30152:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"30143:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30178:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30187:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"30178:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":67341,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30215:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"30215:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67343,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30247:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30256:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"30247:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67345,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67301,"src":"30284:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":67346,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30307:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30316:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"30307:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67350,"indexExpression":{"expression":{"id":67348,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30334:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30338:6:97","memberName":"sender","nodeType":"MemberAccess","src":"30334:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30307:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67351,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30359:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30368:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"30359:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67353,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29988:413:97","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$65419_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67306,"id":67354,"nodeType":"Return","src":"29981:420:97"}]},"documentation":{"id":67279,"nodeType":"StructuredDocumentation","src":"28585:673:97","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"29272:11:97","parameters":{"id":67282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67281,"mutability":"mutable","name":"_proposalId","nameLocation":"29292:11:97","nodeType":"VariableDeclaration","scope":67356,"src":"29284:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67280,"name":"uint256","nodeType":"ElementaryTypeName","src":"29284:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29283:21:97"},"returnParameters":{"id":67306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67284,"mutability":"mutable","name":"submitter","nameLocation":"29389:9:97","nodeType":"VariableDeclaration","scope":67356,"src":"29381:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67283,"name":"address","nodeType":"ElementaryTypeName","src":"29381:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67286,"mutability":"mutable","name":"beneficiary","nameLocation":"29420:11:97","nodeType":"VariableDeclaration","scope":67356,"src":"29412:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67285,"name":"address","nodeType":"ElementaryTypeName","src":"29412:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67288,"mutability":"mutable","name":"requestedToken","nameLocation":"29453:14:97","nodeType":"VariableDeclaration","scope":67356,"src":"29445:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67287,"name":"address","nodeType":"ElementaryTypeName","src":"29445:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67290,"mutability":"mutable","name":"requestedAmount","nameLocation":"29489:15:97","nodeType":"VariableDeclaration","scope":67356,"src":"29481:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67289,"name":"uint256","nodeType":"ElementaryTypeName","src":"29481:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67292,"mutability":"mutable","name":"stakedAmount","nameLocation":"29526:12:97","nodeType":"VariableDeclaration","scope":67356,"src":"29518:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67291,"name":"uint256","nodeType":"ElementaryTypeName","src":"29518:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67295,"mutability":"mutable","name":"proposalStatus","nameLocation":"29582:14:97","nodeType":"VariableDeclaration","scope":67356,"src":"29552:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":67294,"nodeType":"UserDefinedTypeName","pathNode":{"id":67293,"name":"StrategyStruct.ProposalStatus","nameLocations":["29552:14:97","29567:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"29552:29:97"},"referencedDeclaration":65419,"src":"29552:29:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":67297,"mutability":"mutable","name":"blockLast","nameLocation":"29618:9:97","nodeType":"VariableDeclaration","scope":67356,"src":"29610:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67296,"name":"uint256","nodeType":"ElementaryTypeName","src":"29610:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67299,"mutability":"mutable","name":"convictionLast","nameLocation":"29649:14:97","nodeType":"VariableDeclaration","scope":67356,"src":"29641:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67298,"name":"uint256","nodeType":"ElementaryTypeName","src":"29641:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67301,"mutability":"mutable","name":"threshold","nameLocation":"29685:9:97","nodeType":"VariableDeclaration","scope":67356,"src":"29677:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67300,"name":"uint256","nodeType":"ElementaryTypeName","src":"29677:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67303,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29716:17:97","nodeType":"VariableDeclaration","scope":67356,"src":"29708:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67302,"name":"uint256","nodeType":"ElementaryTypeName","src":"29708:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67305,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"29755:23:97","nodeType":"VariableDeclaration","scope":67356,"src":"29747:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67304,"name":"uint256","nodeType":"ElementaryTypeName","src":"29747:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29367:421:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67377,"nodeType":"FunctionDefinition","src":"30414:206:97","nodes":[],"body":{"id":67376,"nodeType":"Block","src":"30504:116:97","nodes":[],"statements":[{"assignments":[67368],"declarations":[{"constant":false,"id":67368,"mutability":"mutable","name":"proposal","nameLocation":"30546:8:97","nodeType":"VariableDeclaration","scope":67376,"src":"30514:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67367,"nodeType":"UserDefinedTypeName","pathNode":{"id":67366,"name":"StrategyStruct.Proposal","nameLocations":["30514:14:97","30529:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"30514:23:97"},"referencedDeclaration":65460,"src":"30514:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67372,"initialValue":{"baseExpression":{"id":67369,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"30557:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67371,"indexExpression":{"id":67370,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"30567:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30557:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30514:65:97"},{"expression":{"expression":{"id":67373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67368,"src":"30596:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30605:8:97","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65452,"src":"30596:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":67363,"id":67375,"nodeType":"Return","src":"30589:24:97"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30423:11:97","parameters":{"id":67359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67358,"mutability":"mutable","name":"_proposalId","nameLocation":"30443:11:97","nodeType":"VariableDeclaration","scope":67377,"src":"30435:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67357,"name":"uint256","nodeType":"ElementaryTypeName","src":"30435:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30434:21:97"},"returnParameters":{"id":67363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67362,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67377,"src":"30487:15:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":67361,"nodeType":"UserDefinedTypeName","pathNode":{"id":67360,"name":"Metadata","nameLocations":["30487:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30487:8:97"},"referencedDeclaration":3098,"src":"30487:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30486:17:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67393,"nodeType":"FunctionDefinition","src":"30821:184:97","nodes":[],"body":{"id":67392,"nodeType":"Block","src":"30929:76:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":67388,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67380,"src":"30978:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67389,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"30991:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67387,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67478,"src":"30946:31:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":67390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30946:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67386,"id":67391,"nodeType":"Return","src":"30939:59:97"}]},"documentation":{"id":67378,"nodeType":"StructuredDocumentation","src":"30626:190:97","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"30830:21:97","parameters":{"id":67383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67380,"mutability":"mutable","name":"_proposalId","nameLocation":"30860:11:97","nodeType":"VariableDeclaration","scope":67393,"src":"30852:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67379,"name":"uint256","nodeType":"ElementaryTypeName","src":"30852:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67382,"mutability":"mutable","name":"_voter","nameLocation":"30881:6:97","nodeType":"VariableDeclaration","scope":67393,"src":"30873:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67381,"name":"address","nodeType":"ElementaryTypeName","src":"30873:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30851:37:97"},"returnParameters":{"id":67386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67393,"src":"30920:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67384,"name":"uint256","nodeType":"ElementaryTypeName","src":"30920:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30919:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67406,"nodeType":"FunctionDefinition","src":"31011:153:97","nodes":[],"body":{"id":67405,"nodeType":"Block","src":"31105:59:97","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":67400,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"31122:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67402,"indexExpression":{"id":67401,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67395,"src":"31132:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31122:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31145:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"31122:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67399,"id":67404,"nodeType":"Return","src":"31115:42:97"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"31020:23:97","parameters":{"id":67396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67395,"mutability":"mutable","name":"_proposalId","nameLocation":"31052:11:97","nodeType":"VariableDeclaration","scope":67406,"src":"31044:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67394,"name":"uint256","nodeType":"ElementaryTypeName","src":"31044:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31043:21:97"},"returnParameters":{"id":67399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67406,"src":"31096:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67397,"name":"uint256","nodeType":"ElementaryTypeName","src":"31096:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31095:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67418,"nodeType":"FunctionDefinition","src":"31232:135:97","nodes":[],"body":{"id":67417,"nodeType":"Block","src":"31317:50:97","nodes":[],"statements":[{"expression":{"baseExpression":{"id":67413,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65809,"src":"31334:18:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67415,"indexExpression":{"id":67414,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67408,"src":"31353:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31334:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67412,"id":67416,"nodeType":"Return","src":"31327:33:97"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"31241:21:97","parameters":{"id":67409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67408,"mutability":"mutable","name":"_voter","nameLocation":"31271:6:97","nodeType":"VariableDeclaration","scope":67418,"src":"31263:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67407,"name":"address","nodeType":"ElementaryTypeName","src":"31263:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31262:16:97"},"returnParameters":{"id":67412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67418,"src":"31308:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67410,"name":"uint256","nodeType":"ElementaryTypeName","src":"31308:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31307:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67461,"nodeType":"FunctionDefinition","src":"31373:874:97","nodes":[],"body":{"id":67460,"nodeType":"Block","src":"31723:524:97","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":67434,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31754:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67436,"indexExpression":{"id":67435,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"31772:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31754:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31804:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"31754:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":67438,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31828:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67440,"indexExpression":{"id":67439,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"31846:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31828:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31878:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"31828:62:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67442,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31904:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67444,"indexExpression":{"id":67443,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"31922:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31904:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31954:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"31904:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67446,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31993:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67448,"indexExpression":{"id":67447,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"32011:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31993:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32043:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"31993:76:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67450,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"32083:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67452,"indexExpression":{"id":67451,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"32101:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32083:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32133:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"32083:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67454,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"32160:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67456,"indexExpression":{"id":67455,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"32178:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32160:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32210:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"32160:70:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67458,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31740:500:97","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$72931_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67433,"id":67459,"nodeType":"Return","src":"31733:507:97"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31382:19:97","parameters":{"id":67419,"nodeType":"ParameterList","parameters":[],"src":"31401:2:97"},"returnParameters":{"id":67433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67422,"mutability":"mutable","name":"arbitrator","nameLocation":"31492:10:97","nodeType":"VariableDeclaration","scope":67461,"src":"31480:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":67421,"nodeType":"UserDefinedTypeName","pathNode":{"id":67420,"name":"IArbitrator","nameLocations":["31480:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"31480:11:97"},"referencedDeclaration":72931,"src":"31480:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":67424,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31524:12:97","nodeType":"VariableDeclaration","scope":67461,"src":"31516:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67423,"name":"address","nodeType":"ElementaryTypeName","src":"31516:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67426,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31558:25:97","nodeType":"VariableDeclaration","scope":67461,"src":"31550:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67425,"name":"uint256","nodeType":"ElementaryTypeName","src":"31550:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67428,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31605:26:97","nodeType":"VariableDeclaration","scope":67461,"src":"31597:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67427,"name":"uint256","nodeType":"ElementaryTypeName","src":"31597:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67430,"mutability":"mutable","name":"defaultRuling","nameLocation":"31653:13:97","nodeType":"VariableDeclaration","scope":67461,"src":"31645:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67429,"name":"uint256","nodeType":"ElementaryTypeName","src":"31645:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67432,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31688:20:97","nodeType":"VariableDeclaration","scope":67461,"src":"31680:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67431,"name":"uint256","nodeType":"ElementaryTypeName","src":"31680:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31466:252:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67478,"nodeType":"FunctionDefinition","src":"32253:226:97","nodes":[],"body":{"id":67477,"nodeType":"Block","src":"32407:72:97","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":67470,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"32424:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67472,"indexExpression":{"id":67471,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"32434:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32447:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"32424:40:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67475,"indexExpression":{"id":67474,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67465,"src":"32465:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:48:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67469,"id":67476,"nodeType":"Return","src":"32417:55:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"32262:31:97","parameters":{"id":67466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67463,"mutability":"mutable","name":"_proposalId","nameLocation":"32302:11:97","nodeType":"VariableDeclaration","scope":67478,"src":"32294:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67462,"name":"uint256","nodeType":"ElementaryTypeName","src":"32294:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67465,"mutability":"mutable","name":"_voter","nameLocation":"32323:6:97","nodeType":"VariableDeclaration","scope":67478,"src":"32315:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67464,"name":"address","nodeType":"ElementaryTypeName","src":"32315:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32293:37:97"},"returnParameters":{"id":67469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67478,"src":"32394:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67467,"name":"uint256","nodeType":"ElementaryTypeName","src":"32394:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32393:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67488,"nodeType":"FunctionDefinition","src":"32485:153:97","nodes":[],"body":{"id":67487,"nodeType":"Block","src":"32557:81:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67483,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"32574:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":67484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32592:20:97","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":71767,"src":"32574:38:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":67485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32574:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67482,"id":67486,"nodeType":"Return","src":"32567:47:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32494:20:97","parameters":{"id":67479,"nodeType":"ParameterList","parameters":[],"src":"32514:2:97"},"returnParameters":{"id":67482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67488,"src":"32548:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67480,"name":"uint256","nodeType":"ElementaryTypeName","src":"32548:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32547:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67513,"nodeType":"FunctionDefinition","src":"32644:193:97","nodes":[],"body":{"id":67512,"nodeType":"Block","src":"32726:111:97","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67495,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"32743:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67497,"indexExpression":{"id":67496,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67490,"src":"32753:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32743:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32766:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"32743:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32779:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32743:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67501,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"32784:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67503,"indexExpression":{"id":67502,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67490,"src":"32794:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32784:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32807:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"32784:32:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32828:1:97","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":67506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32820:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67505,"name":"address","nodeType":"ElementaryTypeName","src":"32820:7:97","typeDescriptions":{}}},"id":67508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32820:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32784:46:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32743:87:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67494,"id":67511,"nodeType":"Return","src":"32736:94:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32653:14:97","parameters":{"id":67491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67490,"mutability":"mutable","name":"_proposalID","nameLocation":"32676:11:97","nodeType":"VariableDeclaration","scope":67513,"src":"32668:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67489,"name":"uint256","nodeType":"ElementaryTypeName","src":"32668:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32667:21:97"},"returnParameters":{"id":67494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67513,"src":"32720:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67492,"name":"bool","nodeType":"ElementaryTypeName","src":"32720:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32719:6:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67532,"nodeType":"FunctionDefinition","src":"32843:191:97","nodes":[],"body":{"id":67531,"nodeType":"Block","src":"32946:88:97","nodes":[],"statements":[{"expression":{"id":67529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67520,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67518,"src":"32956:14:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67521,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"32973:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67522,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32982:8:97","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65484,"src":"32973:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67523,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"32993:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67525,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67515,"src":"33007:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67526,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"33026:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33007:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:54:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32956:71:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67530,"nodeType":"ExpressionStatement","src":"32956:71:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"32852:15:97","parameters":{"id":67516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67515,"mutability":"mutable","name":"_requestedAmount","nameLocation":"32876:16:97","nodeType":"VariableDeclaration","scope":67532,"src":"32868:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67514,"name":"uint256","nodeType":"ElementaryTypeName","src":"32868:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32867:26:97"},"returnParameters":{"id":67519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67518,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"32930:14:97","nodeType":"VariableDeclaration","scope":67532,"src":"32925:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67517,"name":"bool","nodeType":"ElementaryTypeName","src":"32925:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32924:21:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67628,"nodeType":"FunctionDefinition","src":"33040:1548:97","nodes":[],"body":{"id":67627,"nodeType":"Block","src":"33170:1418:97","nodes":[],"statements":[{"assignments":[67542],"declarations":[{"constant":false,"id":67542,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"33187:15:97","nodeType":"VariableDeclaration","scope":67627,"src":"33180:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67541,"name":"int256","nodeType":"ElementaryTypeName","src":"33180:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67544,"initialValue":{"hexValue":"30","id":67543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33205:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33180:26:97"},{"body":{"id":67589,"nodeType":"Block","src":"33270:576:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67556,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33343:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67558,"indexExpression":{"id":67557,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33360:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33343:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33363:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65462,"src":"33343:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33377:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33343:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67564,"nodeType":"IfStatement","src":"33339:187:97","trueBody":{"id":67563,"nodeType":"Block","src":"33380:146:97","statements":[{"id":67562,"nodeType":"Continue","src":"33503:8:97"}]}},{"assignments":[67566],"declarations":[{"constant":false,"id":67566,"mutability":"mutable","name":"proposalId","nameLocation":"33547:10:97","nodeType":"VariableDeclaration","scope":67589,"src":"33539:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67565,"name":"uint256","nodeType":"ElementaryTypeName","src":"33539:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67571,"initialValue":{"expression":{"baseExpression":{"id":67567,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33560:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67569,"indexExpression":{"id":67568,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33577:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33560:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33580:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65462,"src":"33560:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33539:51:97"},{"condition":{"id":67575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33608:27:97","subExpression":{"arguments":[{"id":67573,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67566,"src":"33624:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67572,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67513,"src":"33609:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33609:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67581,"nodeType":"IfStatement","src":"33604:167:97","trueBody":{"id":67580,"nodeType":"Block","src":"33637:134:97","statements":[{"errorCall":{"arguments":[{"id":67577,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67566,"src":"33680:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67576,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"33662:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33662:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67579,"nodeType":"RevertStatement","src":"33655:36:97"}]}},{"expression":{"id":67587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67582,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67542,"src":"33784:15:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":67583,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33803:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67585,"indexExpression":{"id":67584,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33820:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33803:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33823:12:97","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65464,"src":"33803:32:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33784:51:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":67588,"nodeType":"ExpressionStatement","src":"33784:51:97"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67549,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33236:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67550,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33240:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33257:6:97","memberName":"length","nodeType":"MemberAccess","src":"33240:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33236:27:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67590,"initializationExpression":{"assignments":[67546],"declarations":[{"constant":false,"id":67546,"mutability":"mutable","name":"i","nameLocation":"33229:1:97","nodeType":"VariableDeclaration","scope":67590,"src":"33221:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67545,"name":"uint256","nodeType":"ElementaryTypeName","src":"33221:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67548,"initialValue":{"hexValue":"30","id":67547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33233:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33221:13:97"},"loopExpression":{"expression":{"id":67554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33265:3:97","subExpression":{"id":67553,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33265:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67555,"nodeType":"ExpressionStatement","src":"33265:3:97"},"nodeType":"ForStatement","src":"33216:630:97"},{"assignments":[67592],"declarations":[{"constant":false,"id":67592,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"33950:21:97","nodeType":"VariableDeclaration","scope":67627,"src":"33942:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67591,"name":"uint256","nodeType":"ElementaryTypeName","src":"33942:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67599,"initialValue":{"arguments":[{"arguments":[{"id":67595,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"34008:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67594,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"33986:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":67596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33986:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67597,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67542,"src":"34018:15:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67593,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"33974:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33974:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33942:92:97"},{"assignments":[67601],"declarations":[{"constant":false,"id":67601,"mutability":"mutable","name":"participantBalance","nameLocation":"34124:18:97","nodeType":"VariableDeclaration","scope":67627,"src":"34116:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67600,"name":"uint256","nodeType":"ElementaryTypeName","src":"34116:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67610,"initialValue":{"arguments":[{"id":67604,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"34188:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67607,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"34205:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":67606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34197:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67605,"name":"address","nodeType":"ElementaryTypeName","src":"34197:7:97","typeDescriptions":{}}},"id":67608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34197:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67602,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"34145:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":67603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34163:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"34145:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34145:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34116:95:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67611,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"34377:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67612,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67601,"src":"34401:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34377:42:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67620,"nodeType":"IfStatement","src":"34373:147:97","trueBody":{"id":67619,"nodeType":"Block","src":"34421:99:97","statements":[{"errorCall":{"arguments":[{"id":67615,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"34467:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67616,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67601,"src":"34490:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67614,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65561,"src":"34442:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34442:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67618,"nodeType":"RevertStatement","src":"34435:74:97"}]}},{"expression":{"id":67625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67621,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65809,"src":"34530:18:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67623,"indexExpression":{"id":67622,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"34549:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34530:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67624,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"34560:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34530:51:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67626,"nodeType":"ExpressionStatement","src":"34530:51:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"33049:24:97","parameters":{"id":67539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67534,"mutability":"mutable","name":"_sender","nameLocation":"33082:7:97","nodeType":"VariableDeclaration","scope":67628,"src":"33074:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67533,"name":"address","nodeType":"ElementaryTypeName","src":"33074:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67538,"mutability":"mutable","name":"_proposalSupport","nameLocation":"33131:16:97","nodeType":"VariableDeclaration","scope":67628,"src":"33091:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67536,"nodeType":"UserDefinedTypeName","pathNode":{"id":67535,"name":"StrategyStruct.ProposalSupport","nameLocations":["33091:14:97","33106:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":65465,"src":"33091:30:97"},"referencedDeclaration":65465,"src":"33091:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67537,"nodeType":"ArrayTypeName","src":"33091:32:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"33073:75:97"},"returnParameters":{"id":67540,"nodeType":"ParameterList","parameters":[],"src":"33170:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67915,"nodeType":"FunctionDefinition","src":"34594:3487:97","nodes":[],"body":{"id":67914,"nodeType":"Block","src":"34707:3374:97","nodes":[],"statements":[{"assignments":[67641],"declarations":[{"constant":false,"id":67641,"mutability":"mutable","name":"proposalsIds","nameLocation":"34734:12:97","nodeType":"VariableDeclaration","scope":67914,"src":"34717:29:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67639,"name":"uint256","nodeType":"ElementaryTypeName","src":"34717:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67640,"nodeType":"ArrayTypeName","src":"34717:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67642,"nodeType":"VariableDeclarationStatement","src":"34717:29:97"},{"body":{"id":67912,"nodeType":"Block","src":"34810:3265:97","statements":[{"assignments":[67655],"declarations":[{"constant":false,"id":67655,"mutability":"mutable","name":"proposalId","nameLocation":"34832:10:97","nodeType":"VariableDeclaration","scope":67912,"src":"34824:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67654,"name":"uint256","nodeType":"ElementaryTypeName","src":"34824:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67660,"initialValue":{"expression":{"baseExpression":{"id":67656,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"34845:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67658,"indexExpression":{"id":67657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"34862:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34845:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34865:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65462,"src":"34845:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34824:51:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67661,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"34948:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34961:6:97","memberName":"length","nodeType":"MemberAccess","src":"34948:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34971:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34948:24:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67763,"nodeType":"Block","src":"35100:764:97","statements":[{"assignments":[67681],"declarations":[{"constant":false,"id":67681,"mutability":"mutable","name":"exist","nameLocation":"35123:5:97","nodeType":"VariableDeclaration","scope":67763,"src":"35118:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67680,"name":"bool","nodeType":"ElementaryTypeName","src":"35118:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67683,"initialValue":{"hexValue":"66616c7365","id":67682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35131:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35118:18:97"},{"body":{"id":67711,"nodeType":"Block","src":"35204:268:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67695,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35255:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67697,"indexExpression":{"id":67696,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35268:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35255:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":67698,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35274:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35255:29:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67710,"nodeType":"IfStatement","src":"35251:203:97","trueBody":{"id":67709,"nodeType":"Block","src":"35286:168:97","statements":[{"expression":{"id":67702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67700,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67681,"src":"35312:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35320:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35312:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67703,"nodeType":"ExpressionStatement","src":"35312:12:97"},{"errorCall":{"arguments":[{"id":67705,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35383:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67706,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35395:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67704,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65579,"src":"35357:25:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35357:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67708,"nodeType":"RevertStatement","src":"35350:47:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67688,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35174:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67689,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35178:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35191:6:97","memberName":"length","nodeType":"MemberAccess","src":"35178:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35174:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67712,"initializationExpression":{"assignments":[67685],"declarations":[{"constant":false,"id":67685,"mutability":"mutable","name":"j","nameLocation":"35167:1:97","nodeType":"VariableDeclaration","scope":67712,"src":"35159:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67684,"name":"uint256","nodeType":"ElementaryTypeName","src":"35159:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67687,"initialValue":{"hexValue":"30","id":67686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35171:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35159:13:97"},"loopExpression":{"expression":{"id":67693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35199:3:97","subExpression":{"id":67692,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35199:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67694,"nodeType":"ExpressionStatement","src":"35199:3:97"},"nodeType":"ForStatement","src":"35154:318:97"},{"condition":{"id":67714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35493:6:97","subExpression":{"id":67713,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67681,"src":"35494:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67762,"nodeType":"IfStatement","src":"35489:361:97","trueBody":{"id":67761,"nodeType":"Block","src":"35501:349:97","statements":[{"assignments":[67719],"declarations":[{"constant":false,"id":67719,"mutability":"mutable","name":"temp","nameLocation":"35540:4:97","nodeType":"VariableDeclaration","scope":67761,"src":"35523:21:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67717,"name":"uint256","nodeType":"ElementaryTypeName","src":"35523:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67718,"nodeType":"ArrayTypeName","src":"35523:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67728,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67723,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35561:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35574:6:97","memberName":"length","nodeType":"MemberAccess","src":"35561:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35583:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35561:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35547:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67720,"name":"uint256","nodeType":"ElementaryTypeName","src":"35551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67721,"nodeType":"ArrayTypeName","src":"35551:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35547:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35523:62:97"},{"body":{"id":67748,"nodeType":"Block","src":"35657:74:97","statements":[{"expression":{"id":67746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67740,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"35683:4:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67742,"indexExpression":{"id":67741,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35688:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35683:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":67743,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35693:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67745,"indexExpression":{"id":67744,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35706:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35693:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35683:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67747,"nodeType":"ExpressionStatement","src":"35683:25:97"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67733,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35627:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67734,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35631:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35644:6:97","memberName":"length","nodeType":"MemberAccess","src":"35631:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35627:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67749,"initializationExpression":{"assignments":[67730],"declarations":[{"constant":false,"id":67730,"mutability":"mutable","name":"j","nameLocation":"35620:1:97","nodeType":"VariableDeclaration","scope":67749,"src":"35612:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67729,"name":"uint256","nodeType":"ElementaryTypeName","src":"35612:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67732,"initialValue":{"hexValue":"30","id":67731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35624:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35612:13:97"},"loopExpression":{"expression":{"id":67738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35652:3:97","subExpression":{"id":67737,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35652:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67739,"nodeType":"ExpressionStatement","src":"35652:3:97"},"nodeType":"ForStatement","src":"35607:124:97"},{"expression":{"id":67755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67750,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"35752:4:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67753,"indexExpression":{"expression":{"id":67751,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35757:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35770:6:97","memberName":"length","nodeType":"MemberAccess","src":"35757:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35752:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67754,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35780:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35752:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67756,"nodeType":"ExpressionStatement","src":"35752:38:97"},{"expression":{"id":67759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35812:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67758,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"35827:4:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35812:19:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67760,"nodeType":"ExpressionStatement","src":"35812:19:97"}]}}]},"id":67764,"nodeType":"IfStatement","src":"34944:920:97","trueBody":{"id":67679,"nodeType":"Block","src":"34974:120:97","statements":[{"expression":{"id":67671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67665,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"34992:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":67669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35021:1:97","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"}],"id":67668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35007:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67666,"name":"uint256","nodeType":"ElementaryTypeName","src":"35011:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67667,"nodeType":"ArrayTypeName","src":"35011:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35007:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"34992:31:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67672,"nodeType":"ExpressionStatement","src":"34992:31:97"},{"expression":{"id":67677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67673,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35041:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67675,"indexExpression":{"hexValue":"30","id":67674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35054:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35041:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67676,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35059:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35041:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67678,"nodeType":"ExpressionStatement","src":"35041:28:97"}]}},{"assignments":[67766],"declarations":[{"constant":false,"id":67766,"mutability":"mutable","name":"delta","nameLocation":"35884:5:97","nodeType":"VariableDeclaration","scope":67912,"src":"35877:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67765,"name":"int256","nodeType":"ElementaryTypeName","src":"35877:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67771,"initialValue":{"expression":{"baseExpression":{"id":67767,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"35892:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67769,"indexExpression":{"id":67768,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"35909:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35892:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35912:12:97","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65464,"src":"35892:32:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"35877:47:97"},{"assignments":[67776],"declarations":[{"constant":false,"id":67776,"mutability":"mutable","name":"proposal","nameLocation":"35971:8:97","nodeType":"VariableDeclaration","scope":67912,"src":"35939:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67775,"nodeType":"UserDefinedTypeName","pathNode":{"id":67774,"name":"StrategyStruct.Proposal","nameLocations":["35939:14:97","35954:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"35939:23:97"},"referencedDeclaration":65460,"src":"35939:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67780,"initialValue":{"baseExpression":{"id":67777,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"35982:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67779,"indexExpression":{"id":67778,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35992:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35982:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35939:64:97"},{"assignments":[67782],"declarations":[{"constant":false,"id":67782,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"36113:20:97","nodeType":"VariableDeclaration","scope":67912,"src":"36105:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67781,"name":"uint256","nodeType":"ElementaryTypeName","src":"36105:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67787,"initialValue":{"baseExpression":{"expression":{"id":67783,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"36136:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36145:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"36136:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67786,"indexExpression":{"id":67785,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36163:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36136:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36105:66:97"},{"assignments":[67789],"declarations":[{"constant":false,"id":67789,"mutability":"mutable","name":"stakedPoints","nameLocation":"36344:12:97","nodeType":"VariableDeclaration","scope":67912,"src":"36336:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67788,"name":"uint256","nodeType":"ElementaryTypeName","src":"36336:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67794,"initialValue":{"arguments":[{"id":67791,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"36371:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67792,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67766,"src":"36393:5:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67790,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"36359:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36359:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36336:63:97"},{"expression":{"id":67801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67795,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"36534:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36543:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"36534:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67799,"indexExpression":{"id":67797,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36561:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36534:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67800,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"36572:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36534:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67802,"nodeType":"ExpressionStatement","src":"36534:50:97"},{"assignments":[67804],"declarations":[{"constant":false,"id":67804,"mutability":"mutable","name":"hasProposal","nameLocation":"36823:11:97","nodeType":"VariableDeclaration","scope":67912,"src":"36818:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67803,"name":"bool","nodeType":"ElementaryTypeName","src":"36818:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67806,"initialValue":{"hexValue":"66616c7365","id":67805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36837:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"36818:24:97"},{"body":{"id":67835,"nodeType":"Block","src":"36923:179:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":67820,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"36945:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67822,"indexExpression":{"id":67821,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36966:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67824,"indexExpression":{"id":67823,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67808,"src":"36975:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67825,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"36981:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67826,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36990:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"36981:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36945:55:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67834,"nodeType":"IfStatement","src":"36941:147:97","trueBody":{"id":67833,"nodeType":"Block","src":"37002:86:97","statements":[{"expression":{"id":67830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67828,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"37024:11:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37038:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"37024:18:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67831,"nodeType":"ExpressionStatement","src":"37024:18:97"},{"id":67832,"nodeType":"Break","src":"37064:5:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67811,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67808,"src":"36876:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67812,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"36880:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67814,"indexExpression":{"id":67813,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36901:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36880:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36910:6:97","memberName":"length","nodeType":"MemberAccess","src":"36880:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36876:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67836,"initializationExpression":{"assignments":[67808],"declarations":[{"constant":false,"id":67808,"mutability":"mutable","name":"k","nameLocation":"36869:1:97","nodeType":"VariableDeclaration","scope":67836,"src":"36861:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67807,"name":"uint256","nodeType":"ElementaryTypeName","src":"36861:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67810,"initialValue":{"hexValue":"30","id":67809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36873:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36861:13:97"},"loopExpression":{"expression":{"id":67818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36918:3:97","subExpression":{"id":67817,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67808,"src":"36918:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67819,"nodeType":"ExpressionStatement","src":"36918:3:97"},"nodeType":"ForStatement","src":"36856:246:97"},{"condition":{"id":67838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37119:12:97","subExpression":{"id":67837,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"37120:11:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67848,"nodeType":"IfStatement","src":"37115:106:97","trueBody":{"id":67847,"nodeType":"Block","src":"37133:88:97","statements":[{"expression":{"arguments":[{"expression":{"id":67843,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37186:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67844,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37195:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"37186:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":67839,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"37151:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67841,"indexExpression":{"id":67840,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"37172:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37151:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37181:4:97","memberName":"push","nodeType":"MemberAccess","src":"37151:34:97","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":67845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37151:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67846,"nodeType":"ExpressionStatement","src":"37151:55:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67849,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37376:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":67850,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37400:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37376:36:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67881,"nodeType":"Block","src":"37581:161:97","statements":[{"expression":{"id":67871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67867,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65777,"src":"37599:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67868,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37614:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67869,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37637:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37614:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37599:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67872,"nodeType":"ExpressionStatement","src":"37599:50:97"},{"expression":{"id":67879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67873,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37667:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37676:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"37667:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67876,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37692:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67877,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37715:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37692:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37667:60:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67880,"nodeType":"ExpressionStatement","src":"37667:60:97"}]},"id":67882,"nodeType":"IfStatement","src":"37372:370:97","trueBody":{"id":67866,"nodeType":"Block","src":"37414:161:97","statements":[{"expression":{"id":67856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67852,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65777,"src":"37432:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67853,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37447:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67854,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37462:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37447:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37432:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67857,"nodeType":"ExpressionStatement","src":"37432:50:97"},{"expression":{"id":67864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67858,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37500:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67860,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37509:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"37500:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67861,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37525:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67862,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37540:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37525:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37500:60:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67865,"nodeType":"ExpressionStatement","src":"37500:60:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67883,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37759:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37768:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"37759:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37781:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37759:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67910,"nodeType":"Block","src":"37856:209:97","statements":[{"expression":{"arguments":[{"id":67896,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37901:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":67897,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37911:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67895,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68250,"src":"37874:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":67898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37874:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67899,"nodeType":"ExpressionStatement","src":"37874:58:97"},{"eventCall":{"arguments":[{"id":67901,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"37968:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67902,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"37977:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67903,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37989:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67904,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"38003:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67905,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38012:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"38003:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67906,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"38026:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67907,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38035:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"38026:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67900,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65680,"src":"37955:12:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37955:95:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67909,"nodeType":"EmitStatement","src":"37950:100:97"}]},"id":67911,"nodeType":"IfStatement","src":"37755:310:97","trueBody":{"id":67894,"nodeType":"Block","src":"37784:66:97","statements":[{"expression":{"id":67892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67887,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37802:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37811:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"37802:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67890,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"37823:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":67891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37829:6:97","memberName":"number","nodeType":"MemberAccess","src":"37823:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37802:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67893,"nodeType":"ExpressionStatement","src":"37802:33:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67647,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"34776:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67648,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"34780:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34797:6:97","memberName":"length","nodeType":"MemberAccess","src":"34780:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34776:27:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67913,"initializationExpression":{"assignments":[67644],"declarations":[{"constant":false,"id":67644,"mutability":"mutable","name":"i","nameLocation":"34769:1:97","nodeType":"VariableDeclaration","scope":67913,"src":"34761:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67643,"name":"uint256","nodeType":"ElementaryTypeName","src":"34761:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67646,"initialValue":{"hexValue":"30","id":67645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34773:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34761:13:97"},"loopExpression":{"expression":{"id":67652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34805:3:97","subExpression":{"id":67651,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"34805:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67653,"nodeType":"ExpressionStatement","src":"34805:3:97"},"nodeType":"ForStatement","src":"34756:3319:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34603:11:97","parameters":{"id":67635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67630,"mutability":"mutable","name":"_sender","nameLocation":"34623:7:97","nodeType":"VariableDeclaration","scope":67915,"src":"34615:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67629,"name":"address","nodeType":"ElementaryTypeName","src":"34615:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67634,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34672:16:97","nodeType":"VariableDeclaration","scope":67915,"src":"34632:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67632,"nodeType":"UserDefinedTypeName","pathNode":{"id":67631,"name":"StrategyStruct.ProposalSupport","nameLocations":["34632:14:97","34647:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":65465,"src":"34632:30:97"},"referencedDeclaration":65465,"src":"34632:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67633,"nodeType":"ArrayTypeName","src":"34632:32:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"34614:75:97"},"returnParameters":{"id":67636,"nodeType":"ParameterList","parameters":[],"src":"34707:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67950,"nodeType":"FunctionDefinition","src":"38087:284:97","nodes":[],"body":{"id":67949,"nodeType":"Block","src":"38181:190:97","nodes":[],"statements":[{"assignments":[67925],"declarations":[{"constant":false,"id":67925,"mutability":"mutable","name":"result","nameLocation":"38198:6:97","nodeType":"VariableDeclaration","scope":67949,"src":"38191:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67924,"name":"int256","nodeType":"ElementaryTypeName","src":"38191:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67932,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67928,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67917,"src":"38214:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38207:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":67926,"name":"int256","nodeType":"ElementaryTypeName","src":"38207:6:97","typeDescriptions":{}}},"id":67929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38207:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67930,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67919,"src":"38226:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"38207:25:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"38191:41:97"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67933,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67925,"src":"38247:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":67934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38256:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38247:10:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67943,"nodeType":"IfStatement","src":"38243:90:97","trueBody":{"id":67942,"nodeType":"Block","src":"38259:74:97","statements":[{"errorCall":{"arguments":[{"id":67937,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67917,"src":"38297:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67938,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67919,"src":"38307:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":67939,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67925,"src":"38315:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67936,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65551,"src":"38280:16:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":67940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38280:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67941,"nodeType":"RevertStatement","src":"38273:49:97"}]}},{"expression":{"arguments":[{"id":67946,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67925,"src":"38357:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38349:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67944,"name":"uint256","nodeType":"ElementaryTypeName","src":"38349:7:97","typeDescriptions":{}}},"id":67947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38349:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67923,"id":67948,"nodeType":"Return","src":"38342:22:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"38096:11:97","parameters":{"id":67920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67917,"mutability":"mutable","name":"_support","nameLocation":"38116:8:97","nodeType":"VariableDeclaration","scope":67950,"src":"38108:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67916,"name":"uint256","nodeType":"ElementaryTypeName","src":"38108:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67919,"mutability":"mutable","name":"_delta","nameLocation":"38133:6:97","nodeType":"VariableDeclaration","scope":67950,"src":"38126:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67918,"name":"int256","nodeType":"ElementaryTypeName","src":"38126:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"38107:33:97"},"returnParameters":{"id":67923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67950,"src":"38172:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67921,"name":"uint256","nodeType":"ElementaryTypeName","src":"38172:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38171:9:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68008,"nodeType":"FunctionDefinition","src":"38788:1191:97","nodes":[],"body":{"id":68007,"nodeType":"Block","src":"38951:1028:97","nodes":[],"statements":[{"assignments":[67963],"declarations":[{"constant":false,"id":67963,"mutability":"mutable","name":"t","nameLocation":"38969:1:97","nodeType":"VariableDeclaration","scope":68007,"src":"38961:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67962,"name":"uint256","nodeType":"ElementaryTypeName","src":"38961:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67965,"initialValue":{"id":67964,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67953,"src":"38973:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38961:23:97"},{"assignments":[67967],"declarations":[{"constant":false,"id":67967,"mutability":"mutable","name":"atTWO_128","nameLocation":"39307:9:97","nodeType":"VariableDeclaration","scope":68007,"src":"39299:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67966,"name":"uint256","nodeType":"ElementaryTypeName","src":"39299:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67978,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67969,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"39325:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39334:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"39325:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":67971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39343:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39325:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67973,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39324:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":67974,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"39350:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39324:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67976,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67963,"src":"39353:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67968,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68201,"src":"39319:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":67977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39319:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39299:56:97"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67979,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67967,"src":"39851:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67980,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"39863:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39851:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67982,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39850:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67983,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"39878:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67984,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"39891:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67986,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"39896:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67987,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67967,"src":"39906:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39896:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67989,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39895:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67991,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39877:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67992,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"39921:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":67993,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"39925:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39934:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"39925:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39921:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67996,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39920:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39877:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67998,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39876:65:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39850:91:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68000,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39849:93:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68001,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65751,"src":"39945:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39849:103:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68003,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39848:105:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39969:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39848:124:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67961,"id":68006,"nodeType":"Return","src":"39841:131:97"}]},"documentation":{"id":67951,"nodeType":"StructuredDocumentation","src":"38377:406:97","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"38797:19:97","parameters":{"id":67958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67953,"mutability":"mutable","name":"_timePassed","nameLocation":"38825:11:97","nodeType":"VariableDeclaration","scope":68008,"src":"38817:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67952,"name":"uint256","nodeType":"ElementaryTypeName","src":"38817:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67955,"mutability":"mutable","name":"_lastConv","nameLocation":"38846:9:97","nodeType":"VariableDeclaration","scope":68008,"src":"38838:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67954,"name":"uint256","nodeType":"ElementaryTypeName","src":"38838:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67957,"mutability":"mutable","name":"_oldAmount","nameLocation":"38865:10:97","nodeType":"VariableDeclaration","scope":68008,"src":"38857:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67956,"name":"uint256","nodeType":"ElementaryTypeName","src":"38857:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38816:60:97"},"returnParameters":{"id":67961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68008,"src":"38938:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67959,"name":"uint256","nodeType":"ElementaryTypeName","src":"38938:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38937:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68101,"nodeType":"FunctionDefinition","src":"40560:1549:97","nodes":[],"body":{"id":68100,"nodeType":"Block","src":"40663:1446:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68016,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"40797:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40811:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"40797:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68023,"nodeType":"IfStatement","src":"40793:66:97","trueBody":{"id":68022,"nodeType":"Block","src":"40814:45:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68019,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65529,"src":"40835:11:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40835:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68021,"nodeType":"RevertStatement","src":"40828:20:97"}]}},{"condition":{"arguments":[{"id":68025,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68011,"src":"41315:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68024,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67532,"src":"41299:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41299:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68031,"nodeType":"IfStatement","src":"41295:91:97","trueBody":{"id":68030,"nodeType":"Block","src":"41334:52:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68027,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65537,"src":"41355:18:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41355:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68029,"nodeType":"RevertStatement","src":"41348:27:97"}]}},{"assignments":[68033],"declarations":[{"constant":false,"id":68033,"mutability":"mutable","name":"denom","nameLocation":"41542:5:97","nodeType":"VariableDeclaration","scope":68100,"src":"41534:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68032,"name":"uint256","nodeType":"ElementaryTypeName","src":"41534:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68052,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68034,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"41551:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41560:8:97","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65484,"src":"41551:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41571:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41576:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41571:7:97","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41551:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68040,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41550:29:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68041,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41582:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68043,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68011,"src":"41587:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41606:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41611:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41606:7:97","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41587:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68048,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41586:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68049,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"41617:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41586:41:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:77:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41534:93:97"},{"expression":{"id":68087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68053,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"41637:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68054,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"41669:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41678:6:97","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65486,"src":"41669:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41688:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41669:22:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68058,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41668:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68059,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41695:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41668:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68061,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41667:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68062,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68033,"src":"41702:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68063,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68033,"src":"41710:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41702:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68065,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41701:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41720:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41701:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41700:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41667:56:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68070,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41666:58:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68071,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41727:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41666:62:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68073,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41665:64:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68074,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41733:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68075,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"41737:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41746:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"41737:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41733:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68078,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41732:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41665:87:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68080,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41664:89:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":68081,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68209,"src":"41772:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":68082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41772:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41664:136:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41650:160:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41814:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41650:166:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41637:179:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68088,"nodeType":"ExpressionStatement","src":"41637:179:97"},{"expression":{"id":68098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68089,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"42006:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68090,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"42019:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68091,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"42032:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42041:18:97","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65490,"src":"42032:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42019:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":68095,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"42075:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42084:18:97","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65490,"src":"42075:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42019:83:97","trueExpression":{"id":68094,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"42062:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42006:96:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68099,"nodeType":"ExpressionStatement","src":"42006:96:97"}]},"documentation":{"id":68009,"nodeType":"StructuredDocumentation","src":"39985:570:97","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"40569:18:97","parameters":{"id":68012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68011,"mutability":"mutable","name":"_requestedAmount","nameLocation":"40596:16:97","nodeType":"VariableDeclaration","scope":68101,"src":"40588:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68010,"name":"uint256","nodeType":"ElementaryTypeName","src":"40588:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40587:26:97"},"returnParameters":{"id":68015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68014,"mutability":"mutable","name":"_threshold","nameLocation":"40651:10:97","nodeType":"VariableDeclaration","scope":68101,"src":"40643:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68013,"name":"uint256","nodeType":"ElementaryTypeName","src":"40643:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40642:20:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68136,"nodeType":"FunctionDefinition","src":"42370:277:97","nodes":[],"body":{"id":68135,"nodeType":"Block","src":"42456:191:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68112,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68104,"src":"42474:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68113,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"42480:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42474:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":68115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42489:42:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":68111,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42466:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42466:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68117,"nodeType":"ExpressionStatement","src":"42466:66:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68119,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68106,"src":"42550:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68120,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"42555:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42550:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":68122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42564:30:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":68118,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42542:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42542:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68124,"nodeType":"ExpressionStatement","src":"42542:53:97"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68125,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68104,"src":"42614:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68126,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68106,"src":"42619:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42614:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68128,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42613:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68129,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65751,"src":"42625:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42613:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68131,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42612:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42637:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"42612:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68110,"id":68134,"nodeType":"Return","src":"42605:35:97"}]},"documentation":{"id":68102,"nodeType":"StructuredDocumentation","src":"42115:250:97","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"42379:4:97","parameters":{"id":68107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68104,"mutability":"mutable","name":"_a","nameLocation":"42392:2:97","nodeType":"VariableDeclaration","scope":68136,"src":"42384:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68103,"name":"uint256","nodeType":"ElementaryTypeName","src":"42384:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68106,"mutability":"mutable","name":"_b","nameLocation":"42404:2:97","nodeType":"VariableDeclaration","scope":68136,"src":"42396:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68105,"name":"uint256","nodeType":"ElementaryTypeName","src":"42396:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42383:24:97"},"returnParameters":{"id":68110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68109,"mutability":"mutable","name":"_result","nameLocation":"42447:7:97","nodeType":"VariableDeclaration","scope":68136,"src":"42439:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68108,"name":"uint256","nodeType":"ElementaryTypeName","src":"42439:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42438:17:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68201,"nodeType":"FunctionDefinition","src":"42869:455:97","nodes":[],"body":{"id":68200,"nodeType":"Block","src":"42955:369:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68147,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68139,"src":"42973:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68148,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"42978:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42973:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":68150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42987:30:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":68146,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42965:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42965:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68152,"nodeType":"ExpressionStatement","src":"42965:53:97"},{"assignments":[68154],"declarations":[{"constant":false,"id":68154,"mutability":"mutable","name":"a","nameLocation":"43036:1:97","nodeType":"VariableDeclaration","scope":68200,"src":"43028:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68153,"name":"uint256","nodeType":"ElementaryTypeName","src":"43028:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68156,"initialValue":{"id":68155,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68139,"src":"43040:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43028:14:97"},{"assignments":[68158],"declarations":[{"constant":false,"id":68158,"mutability":"mutable","name":"b","nameLocation":"43060:1:97","nodeType":"VariableDeclaration","scope":68200,"src":"43052:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68157,"name":"uint256","nodeType":"ElementaryTypeName","src":"43052:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68160,"initialValue":{"id":68159,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68141,"src":"43064:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43052:14:97"},{"expression":{"id":68163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68161,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68144,"src":"43076:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68162,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"43086:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43076:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68164,"nodeType":"ExpressionStatement","src":"43076:17:97"},{"body":{"id":68198,"nodeType":"Block","src":"43117:201:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68168,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43135:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":68169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43139:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43135:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43144:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43135:10:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68196,"nodeType":"Block","src":"43225:83:97","statements":[{"expression":{"id":68190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68185,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68144,"src":"43243:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68187,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68144,"src":"43258:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68188,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43267:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68186,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68136,"src":"43253:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43253:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43243:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68191,"nodeType":"ExpressionStatement","src":"43243:26:97"},{"expression":{"id":68194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68192,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43287:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":68193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43292:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43287:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68195,"nodeType":"ExpressionStatement","src":"43287:6:97"}]},"id":68197,"nodeType":"IfStatement","src":"43131:177:97","trueBody":{"id":68184,"nodeType":"Block","src":"43147:72:97","statements":[{"expression":{"id":68178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68173,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43165:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68175,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43174:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68176,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43177:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68174,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68136,"src":"43169:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43169:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43165:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68179,"nodeType":"ExpressionStatement","src":"43165:14:97"},{"expression":{"id":68182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68180,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43197:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":68181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43203:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43197:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68183,"nodeType":"ExpressionStatement","src":"43197:7:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68165,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43110:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43114:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43110:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68199,"nodeType":"WhileStatement","src":"43103:215:97"}]},"documentation":{"id":68137,"nodeType":"StructuredDocumentation","src":"42653:211:97","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"42878:4:97","parameters":{"id":68142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68139,"mutability":"mutable","name":"_a","nameLocation":"42891:2:97","nodeType":"VariableDeclaration","scope":68201,"src":"42883:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68138,"name":"uint256","nodeType":"ElementaryTypeName","src":"42883:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68141,"mutability":"mutable","name":"_b","nameLocation":"42903:2:97","nodeType":"VariableDeclaration","scope":68201,"src":"42895:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68140,"name":"uint256","nodeType":"ElementaryTypeName","src":"42895:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42882:24:97"},"returnParameters":{"id":68145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68144,"mutability":"mutable","name":"_result","nameLocation":"42946:7:97","nodeType":"VariableDeclaration","scope":68201,"src":"42938:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68143,"name":"uint256","nodeType":"ElementaryTypeName","src":"42938:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42937:17:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68209,"nodeType":"FunctionDefinition","src":"43330:120:97","nodes":[],"body":{"id":68208,"nodeType":"Block","src":"43406:44:97","nodes":[],"statements":[{"expression":{"id":68206,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"43423:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68205,"id":68207,"nodeType":"Return","src":"43416:27:97"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"43339:26:97","parameters":{"id":68202,"nodeType":"ParameterList","parameters":[],"src":"43365:2:97"},"returnParameters":{"id":68205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68204,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68209,"src":"43397:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68203,"name":"uint256","nodeType":"ElementaryTypeName","src":"43397:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43396:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68250,"nodeType":"FunctionDefinition","src":"43640:424:97","nodes":[],"body":{"id":68249,"nodeType":"Block","src":"43776:288:97","nodes":[],"statements":[{"assignments":[68219,68221],"declarations":[{"constant":false,"id":68219,"mutability":"mutable","name":"conviction","nameLocation":"43795:10:97","nodeType":"VariableDeclaration","scope":68249,"src":"43787:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68218,"name":"uint256","nodeType":"ElementaryTypeName","src":"43787:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68221,"mutability":"mutable","name":"blockNumber","nameLocation":"43815:11:97","nodeType":"VariableDeclaration","scope":68249,"src":"43807:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68220,"name":"uint256","nodeType":"ElementaryTypeName","src":"43807:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68226,"initialValue":{"arguments":[{"id":68223,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68213,"src":"43864:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68224,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68215,"src":"43875:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68222,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"43830:33:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43830:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"43786:100:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68227,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68219,"src":"43900:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43914:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43900:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68230,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68221,"src":"43919:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43934:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43919:16:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43900:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68236,"nodeType":"IfStatement","src":"43896:72:97","trueBody":{"id":68235,"nodeType":"Block","src":"43937:31:97","statements":[{"functionReturnParameters":68217,"id":68234,"nodeType":"Return","src":"43951:7:97"}]}},{"expression":{"id":68241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68237,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68213,"src":"43977:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43987:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"43977:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68240,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68221,"src":"43999:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43977:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68242,"nodeType":"ExpressionStatement","src":"43977:33:97"},{"expression":{"id":68247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68243,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68213,"src":"44020:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44030:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"44020:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68246,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68219,"src":"44047:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44020:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68248,"nodeType":"ExpressionStatement","src":"44020:37:97"}]},"documentation":{"id":68210,"nodeType":"StructuredDocumentation","src":"43456:179:97","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"43649:26:97","parameters":{"id":68216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68213,"mutability":"mutable","name":"_proposal","nameLocation":"43708:9:97","nodeType":"VariableDeclaration","scope":68250,"src":"43676:41:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68212,"nodeType":"UserDefinedTypeName","pathNode":{"id":68211,"name":"StrategyStruct.Proposal","nameLocations":["43676:14:97","43691:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"43676:23:97"},"referencedDeclaration":65460,"src":"43676:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68215,"mutability":"mutable","name":"_oldStaked","nameLocation":"43727:10:97","nodeType":"VariableDeclaration","scope":68250,"src":"43719:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68214,"name":"uint256","nodeType":"ElementaryTypeName","src":"43719:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43675:63:97"},"returnParameters":{"id":68217,"nodeType":"ParameterList","parameters":[],"src":"43776:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68297,"nodeType":"FunctionDefinition","src":"44070:845:97","nodes":[],"body":{"id":68296,"nodeType":"Block","src":"44284:631:97","nodes":[],"statements":[{"expression":{"id":68265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68262,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44294:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68263,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44308:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44314:6:97","memberName":"number","nodeType":"MemberAccess","src":"44308:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44294:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68266,"nodeType":"ExpressionStatement","src":"44294:26:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68268,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44337:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44347:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"44337:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68270,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44360:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44337:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68267,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"44330:6:97","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":68272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44330:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68273,"nodeType":"ExpressionStatement","src":"44330:42:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68274,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44386:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44396:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"44386:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68276,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44409:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44386:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68283,"nodeType":"IfStatement","src":"44382:173:97","trueBody":{"id":68282,"nodeType":"Block","src":"44422:133:97","statements":[{"expression":{"components":[{"hexValue":"30","id":68278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44510:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":68279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44513:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":68280,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44509:6:97","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":68261,"id":68281,"nodeType":"Return","src":"44502:13:97"}]}},{"expression":{"id":68294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68284,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68258,"src":"44608:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68286,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44764:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68287,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44778:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44788:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"44778:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44764:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68290,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44850:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44860:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"44850:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68292,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68255,"src":"44888:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68285,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68008,"src":"44621:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":68293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44621:287:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44608:300:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68295,"nodeType":"ExpressionStatement","src":"44608:300:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"44079:33:97","parameters":{"id":68256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68253,"mutability":"mutable","name":"_proposal","nameLocation":"44145:9:97","nodeType":"VariableDeclaration","scope":68297,"src":"44113:41:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68252,"nodeType":"UserDefinedTypeName","pathNode":{"id":68251,"name":"StrategyStruct.Proposal","nameLocations":["44113:14:97","44128:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"44113:23:97"},"referencedDeclaration":65460,"src":"44113:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68255,"mutability":"mutable","name":"_oldStaked","nameLocation":"44164:10:97","nodeType":"VariableDeclaration","scope":68297,"src":"44156:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68254,"name":"uint256","nodeType":"ElementaryTypeName","src":"44156:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44112:63:97"},"returnParameters":{"id":68261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68258,"mutability":"mutable","name":"conviction","nameLocation":"44247:10:97","nodeType":"VariableDeclaration","scope":68297,"src":"44239:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68257,"name":"uint256","nodeType":"ElementaryTypeName","src":"44239:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68260,"mutability":"mutable","name":"blockNumber","nameLocation":"44267:11:97","nodeType":"VariableDeclaration","scope":68297,"src":"44259:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68259,"name":"uint256","nodeType":"ElementaryTypeName","src":"44259:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44238:41:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68449,"nodeType":"FunctionDefinition","src":"44921:2409:97","nodes":[],"body":{"id":68448,"nodeType":"Block","src":"45084:2246:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68306,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45111:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68307,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45129:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"45111:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45153:1:97","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":68309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45145:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68308,"name":"address","nodeType":"ElementaryTypeName","src":"45145:7:97","typeDescriptions":{}}},"id":68311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45145:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45111:44:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68315,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45167:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45185:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"45167:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45159:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68313,"name":"address","nodeType":"ElementaryTypeName","src":"45159:7:97","typeDescriptions":{}}},"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45159:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45208:1:97","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":68319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45200:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68318,"name":"address","nodeType":"ElementaryTypeName","src":"45200:7:97","typeDescriptions":{}}},"id":68321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45200:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45159:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:99:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68324,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45252:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45270:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"45252:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68326,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45286:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68328,"indexExpression":{"id":68327,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45304:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45286:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45336:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"45286:62:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45252:96:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"id":68337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68331,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45376:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45394:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"45376:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68333,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45408:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68335,"indexExpression":{"id":68334,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45426:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45408:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45458:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"45408:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"src":"45376:92:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:216:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68339,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45496:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45514:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"45496:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68341,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45571:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68343,"indexExpression":{"id":68342,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45589:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45571:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45621:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"45571:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45496:150:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:394:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68347,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45674:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45692:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"45674:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68349,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45750:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68351,"indexExpression":{"id":68350,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45768:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45750:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45800:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"45750:76:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45674:152:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:574:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68355,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45854:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45872:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"45854:31:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68357,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45889:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68359,"indexExpression":{"id":68358,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45907:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45889:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45939:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"45889:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45854:98:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:700:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68363,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45980:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45998:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"45980:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68365,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46050:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68367,"indexExpression":{"id":68366,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46068:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46050:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46100:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"46050:70:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45980:140:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:868:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":68371,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45230:908:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:1027:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68439,"nodeType":"IfStatement","src":"45094:2158:97","trueBody":{"id":68438,"nodeType":"Block","src":"46149:1103:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68373,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46184:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68375,"indexExpression":{"id":68374,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46202:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46184:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46234:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46184:62:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68377,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46250:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46268:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46250:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46184:96:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"id":68386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68380,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46304:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68382,"indexExpression":{"id":68381,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46322:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46304:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46354:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46304:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68384,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46368:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46386:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46368:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"src":"46304:92:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46184:212:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68412,"nodeType":"IfStatement","src":"46163:522:97","trueBody":{"id":68411,"nodeType":"Block","src":"46411:274:97","statements":[{"expression":{"arguments":[{"expression":{"id":68393,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46471:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46489:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46471:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":68388,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46429:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46447:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46429:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"id":68392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46458:12:97","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":72930,"src":"46429:41:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":68395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46429:73:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68396,"nodeType":"ExpressionStatement","src":"46429:73:97"},{"eventCall":{"arguments":[{"arguments":[{"id":68400,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46576:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":68399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46568:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68398,"name":"address","nodeType":"ElementaryTypeName","src":"46568:7:97","typeDescriptions":{}}},"id":68401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46568:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":68404,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46591:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46609:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46591:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46583:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68402,"name":"address","nodeType":"ElementaryTypeName","src":"46583:7:97","typeDescriptions":{}}},"id":68406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46583:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68407,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46622:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46640:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46622:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68397,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"46525:21:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":68409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46525:145:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68410,"nodeType":"EmitStatement","src":"46520:150:97"}]}},{"expression":{"id":68414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46699:32:97","subExpression":{"id":68413,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46699:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68415,"nodeType":"ExpressionStatement","src":"46699:32:97"},{"expression":{"id":68420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68416,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46745:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68418,"indexExpression":{"id":68417,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46763:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"46745:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68419,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46797:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"46745:69:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68421,"nodeType":"ExpressionStatement","src":"46745:69:97"},{"eventCall":{"arguments":[{"id":68423,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46875:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68424,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46923:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46941:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46923:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"expression":{"id":68426,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46969:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46987:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46969:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68428,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47017:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47035:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"47017:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68430,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47078:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47096:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"47078:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68432,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47140:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47158:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"47140:31:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68434,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47189:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47207:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"47189:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68422,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"46834:23:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$72931_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":68436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46834:407:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68437,"nodeType":"EmitStatement","src":"46829:412:97"}]}},{"expression":{"id":68442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68440,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"47262:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68441,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"47273:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"47262:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68443,"nodeType":"ExpressionStatement","src":"47262:20:97"},{"eventCall":{"arguments":[{"id":68445,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"47313:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68444,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65685,"src":"47297:15:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$65491_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory)"}},"id":68446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47297:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68447,"nodeType":"EmitStatement","src":"47292:31:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"44930:14:97","parameters":{"id":68304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68300,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"44993:17:97","nodeType":"VariableDeclaration","scope":68449,"src":"44954:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68299,"nodeType":"UserDefinedTypeName","pathNode":{"id":68298,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["44954:14:97","44969:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"44954:31:97"},"referencedDeclaration":65482,"src":"44954:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68303,"mutability":"mutable","name":"_cvParams","nameLocation":"45051:9:97","nodeType":"VariableDeclaration","scope":68449,"src":"45020:40:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68302,"nodeType":"UserDefinedTypeName","pathNode":{"id":68301,"name":"StrategyStruct.CVParams","nameLocations":["45020:14:97","45035:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"45020:23:97"},"referencedDeclaration":65491,"src":"45020:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"44944:122:97"},"returnParameters":{"id":68305,"nodeType":"ParameterList","parameters":[],"src":"45084:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68485,"nodeType":"FunctionDefinition","src":"47336:639:97","nodes":[],"body":{"id":68484,"nodeType":"Block","src":"47423:552:97","nodes":[],"statements":[{"assignments":[68460],"declarations":[{"constant":false,"id":68460,"mutability":"mutable","name":"proposal","nameLocation":"47465:8:97","nodeType":"VariableDeclaration","scope":68484,"src":"47433:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68459,"nodeType":"UserDefinedTypeName","pathNode":{"id":68458,"name":"StrategyStruct.Proposal","nameLocations":["47433:14:97","47448:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"47433:23:97"},"referencedDeclaration":65460,"src":"47433:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68464,"initialValue":{"baseExpression":{"id":68461,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"47476:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68463,"indexExpression":{"id":68462,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68451,"src":"47486:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47476:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"47433:64:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68465,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47512:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47521:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"47512:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68467,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68451,"src":"47535:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47512:33:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68474,"nodeType":"IfStatement","src":"47508:100:97","trueBody":{"id":68473,"nodeType":"Block","src":"47547:61:97","statements":[{"errorCall":{"arguments":[{"id":68470,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68451,"src":"47586:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68469,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"47568:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47568:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68472,"nodeType":"RevertStatement","src":"47561:36:97"}]}},{"expression":{"arguments":[{"id":68476,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47896:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":68477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47906:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47915:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"47906:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68475,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68250,"src":"47869:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47869:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68480,"nodeType":"ExpressionStatement","src":"47869:59:97"},{"expression":{"expression":{"id":68481,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47945:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47954:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"47945:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68455,"id":68483,"nodeType":"Return","src":"47938:30:97"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"47345:24:97","parameters":{"id":68452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68451,"mutability":"mutable","name":"proposalId","nameLocation":"47378:10:97","nodeType":"VariableDeclaration","scope":68485,"src":"47370:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68450,"name":"uint256","nodeType":"ElementaryTypeName","src":"47370:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47369:20:97"},"returnParameters":{"id":68455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68485,"src":"47414:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68453,"name":"uint256","nodeType":"ElementaryTypeName","src":"47414:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47413:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":68505,"nodeType":"FunctionDefinition","src":"47981:141:97","nodes":[],"body":{"id":68504,"nodeType":"Block","src":"48061:61:97","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68492,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68487,"src":"48080:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68493,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"48089:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48080:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68495,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48079:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68496,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"48095:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68497,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"48099:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48108:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"48099:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48095:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68500,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48094:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48079:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68502,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48078:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68491,"id":68503,"nodeType":"Return","src":"48071:44:97"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"47990:16:97","parameters":{"id":68488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68487,"mutability":"mutable","name":"amount","nameLocation":"48015:6:97","nodeType":"VariableDeclaration","scope":68505,"src":"48007:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68486,"name":"uint256","nodeType":"ElementaryTypeName","src":"48007:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48006:16:97"},"returnParameters":{"id":68491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68490,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68505,"src":"48052:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68489,"name":"uint256","nodeType":"ElementaryTypeName","src":"48052:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48051:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68524,"nodeType":"FunctionDefinition","src":"48473:189:97","nodes":[],"body":{"id":68523,"nodeType":"Block","src":"48536:126:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68510,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66063,"src":"48546:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48546:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68512,"nodeType":"ExpressionStatement","src":"48546:17:97"},{"expression":{"arguments":[{"id":68514,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68507,"src":"48592:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68513,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66045,"src":"48573:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":68515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48573:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68516,"nodeType":"ExpressionStatement","src":"48573:32:97"},{"expression":{"id":68521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68517,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"48615:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68519,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68507,"src":"48642:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68518,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69416,"src":"48629:12:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$69416_$","typeString":"type(contract ISybilScorer)"}},"id":68520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48629:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"src":"48615:40:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"id":68522,"nodeType":"ExpressionStatement","src":"48615:40:97"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"48482:14:97","parameters":{"id":68508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68507,"mutability":"mutable","name":"_sybilScorer","nameLocation":"48505:12:97","nodeType":"VariableDeclaration","scope":68524,"src":"48497:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68506,"name":"address","nodeType":"ElementaryTypeName","src":"48497:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48496:22:97"},"returnParameters":{"id":68509,"nodeType":"ParameterList","parameters":[],"src":"48536:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68542,"nodeType":"FunctionDefinition","src":"48668:250:97","nodes":[],"body":{"id":68541,"nodeType":"Block","src":"48830:88:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68533,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66063,"src":"48840:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48840:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68535,"nodeType":"ExpressionStatement","src":"48840:17:97"},{"expression":{"arguments":[{"id":68537,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68527,"src":"48882:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":68538,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68530,"src":"48901:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68536,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68449,"src":"48867:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65482_memory_ptr_$_t_struct$_CVParams_$65491_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":68539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48867:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68540,"nodeType":"ExpressionStatement","src":"48867:44:97"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"48677:13:97","parameters":{"id":68531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68527,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"48739:17:97","nodeType":"VariableDeclaration","scope":68542,"src":"48700:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68526,"nodeType":"UserDefinedTypeName","pathNode":{"id":68525,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["48700:14:97","48715:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"48700:31:97"},"referencedDeclaration":65482,"src":"48700:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68530,"mutability":"mutable","name":"_cvParams","nameLocation":"48797:9:97","nodeType":"VariableDeclaration","scope":68542,"src":"48766:40:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68529,"nodeType":"UserDefinedTypeName","pathNode":{"id":68528,"name":"StrategyStruct.CVParams","nameLocations":["48766:14:97","48781:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"48766:23:97"},"referencedDeclaration":65491,"src":"48766:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"48690:122:97"},"returnParameters":{"id":68532,"nodeType":"ParameterList","parameters":[],"src":"48830:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68735,"nodeType":"FunctionDefinition","src":"48924:2405:97","nodes":[],"body":{"id":68734,"nodeType":"Block","src":"49110:2219:97","nodes":[],"statements":[{"assignments":[68557],"declarations":[{"constant":false,"id":68557,"mutability":"mutable","name":"proposal","nameLocation":"49152:8:97","nodeType":"VariableDeclaration","scope":68734,"src":"49120:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68556,"nodeType":"UserDefinedTypeName","pathNode":{"id":68555,"name":"StrategyStruct.Proposal","nameLocations":["49120:14:97","49135:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"49120:23:97"},"referencedDeclaration":65460,"src":"49120:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68561,"initialValue":{"baseExpression":{"id":68558,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"49163:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68560,"indexExpression":{"id":68559,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49173:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49163:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49120:64:97"},{"assignments":[68566],"declarations":[{"constant":false,"id":68566,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"49233:16:97","nodeType":"VariableDeclaration","scope":68734,"src":"49194:55:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68565,"nodeType":"UserDefinedTypeName","pathNode":{"id":68564,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["49194:14:97","49209:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"49194:31:97"},"referencedDeclaration":65482,"src":"49194:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68571,"initialValue":{"baseExpression":{"id":68567,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"49252:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68570,"indexExpression":{"expression":{"id":68568,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"49270:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49279:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"49270:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49252:51:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49194:109:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68574,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"49326:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49343:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"49326:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49318:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68572,"name":"address","nodeType":"ElementaryTypeName","src":"49318:7:97","typeDescriptions":{}}},"id":68576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49318:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":68579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49366:1:97","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":68578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49358:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68577,"name":"address","nodeType":"ElementaryTypeName","src":"49358:7:97","typeDescriptions":{}}},"id":68580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49358:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49318:50:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68586,"nodeType":"IfStatement","src":"49314:112:97","trueBody":{"id":68585,"nodeType":"Block","src":"49370:56:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68582,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65609,"src":"49391:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49391:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68584,"nodeType":"RevertStatement","src":"49384:31:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68587,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"49603:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49612:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"49603:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68589,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49626:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49603:33:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68596,"nodeType":"IfStatement","src":"49599:100:97","trueBody":{"id":68595,"nodeType":"Block","src":"49638:61:97","statements":[{"errorCall":{"arguments":[{"id":68592,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49677:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68591,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"49659:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49659:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68594,"nodeType":"RevertStatement","src":"49652:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":68602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68597,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"49712:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68598,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49721:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"49712:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68599,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"49739:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49754:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"49739:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49769:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"49739:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49712:63:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68608,"nodeType":"IfStatement","src":"49708:130:97","trueBody":{"id":68607,"nodeType":"Block","src":"49777:61:97","statements":[{"errorCall":{"arguments":[{"id":68604,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49816:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68603,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65569,"src":"49798:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49798:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68606,"nodeType":"RevertStatement","src":"49791:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68609,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49851:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49855:5:97","memberName":"value","nodeType":"MemberAccess","src":"49851:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68611,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"49863:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49880:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"49863:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49851:55:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68622,"nodeType":"IfStatement","src":"49847:171:97","trueBody":{"id":68621,"nodeType":"Block","src":"49908:110:97","statements":[{"errorCall":{"arguments":[{"expression":{"id":68615,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49952:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49956:5:97","memberName":"value","nodeType":"MemberAccess","src":"49952:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68617,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"49963:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49980:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"49963:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68614,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65601,"src":"49929:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49929:78:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68620,"nodeType":"RevertStatement","src":"49922:85:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68623,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50137:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50146:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"50137:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":68625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50171:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50137:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68627,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50192:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50201:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"50192:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68629,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65763,"src":"50225:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:53:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68631,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50248:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50254:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"50248:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:71:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50137:126:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68647,"nodeType":"IfStatement","src":"50120:325:97","trueBody":{"id":68646,"nodeType":"Block","src":"50274:171:97","statements":[{"errorCall":{"arguments":[{"id":68636,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"50337:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68637,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50349:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50358:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"50349:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68639,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65763,"src":"50382:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:53:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68641,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50405:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50411:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"50405:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:71:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68635,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65623,"src":"50295:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50295:139:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68645,"nodeType":"RevertStatement","src":"50288:146:97"}]}},{"assignments":[68649],"declarations":[{"constant":false,"id":68649,"mutability":"mutable","name":"arbitrationFee","nameLocation":"50463:14:97","nodeType":"VariableDeclaration","scope":68734,"src":"50455:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68648,"name":"uint256","nodeType":"ElementaryTypeName","src":"50455:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68655,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68650,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50480:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50484:5:97","memberName":"value","nodeType":"MemberAccess","src":"50480:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68652,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"50492:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50509:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"50492:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50480:55:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50455:80:97"},{"expression":{"arguments":[{"id":68662,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"50632:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68663,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50644:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50648:6:97","memberName":"sender","nodeType":"MemberAccess","src":"50644:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68656,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"50546:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50562:17:97","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":72943,"src":"50546:33:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":68661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":68659,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"50587:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68660,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50604:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"50587:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50546:85:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":68665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50546:109:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68666,"nodeType":"ExpressionStatement","src":"50546:109:97"},{"expression":{"id":68676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68667,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"50666:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68673,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65760,"src":"50743:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68674,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68548,"src":"50759:10:97","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68668,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"50678:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50695:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"50678:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"id":68670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50706:13:97","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":72878,"src":"50678:41:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":68671,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68649,"src":"50727:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50678:64:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50678:92:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50666:104:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68677,"nodeType":"ExpressionStatement","src":"50666:104:97"},{"expression":{"id":68684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68678,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50781:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50790:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"50781:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68681,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"50807:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50822:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"50807:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50837:8:97","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65417,"src":"50807:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"50781:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68685,"nodeType":"ExpressionStatement","src":"50781:64:97"},{"expression":{"id":68692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68686,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50855:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50864:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"50855:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50876:9:97","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":65421,"src":"50855:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68691,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"50888:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50855:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68693,"nodeType":"ExpressionStatement","src":"50855:42:97"},{"expression":{"id":68701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68694,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50907:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50916:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"50907:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50928:16:97","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65423,"src":"50907:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68699,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50947:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50953:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"50947:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50907:55:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68702,"nodeType":"ExpressionStatement","src":"50907:55:97"},{"expression":{"id":68710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68703,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50972:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50981:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"50972:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50993:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"50972:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68708,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51006:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51010:6:97","memberName":"sender","nodeType":"MemberAccess","src":"51006:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"50972:44:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68711,"nodeType":"ExpressionStatement","src":"50972:44:97"},{"expression":{"id":68716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68712,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65818,"src":"51026:21:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68714,"indexExpression":{"id":68713,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"51048:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51026:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68715,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"51061:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51026:45:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68717,"nodeType":"ExpressionStatement","src":"51026:45:97"},{"expression":{"id":68719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51082:14:97","subExpression":{"id":68718,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65771,"src":"51082:12:97","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68720,"nodeType":"ExpressionStatement","src":"51082:14:97"},{"eventCall":{"arguments":[{"expression":{"id":68722,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"51142:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51159:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"51142:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"id":68724,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"51183:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68725,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"51207:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68726,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51230:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51234:6:97","memberName":"sender","nodeType":"MemberAccess","src":"51230:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68728,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68546,"src":"51254:7:97","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":68729,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"51275:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51284:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"51275:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68731,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51296:16:97","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65423,"src":"51275:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68721,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65710,"src":"51112:16:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$72931_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":68732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51112:210:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68733,"nodeType":"EmitStatement","src":"51107:215:97"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"48933:15:97","parameters":{"id":68549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68544,"mutability":"mutable","name":"proposalId","nameLocation":"48957:10:97","nodeType":"VariableDeclaration","scope":68735,"src":"48949:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68543,"name":"uint256","nodeType":"ElementaryTypeName","src":"48949:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68546,"mutability":"mutable","name":"context","nameLocation":"48985:7:97","nodeType":"VariableDeclaration","scope":68735,"src":"48969:23:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":68545,"name":"string","nodeType":"ElementaryTypeName","src":"48969:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68548,"mutability":"mutable","name":"_extraData","nameLocation":"49009:10:97","nodeType":"VariableDeclaration","scope":68735,"src":"48994:25:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":68547,"name":"bytes","nodeType":"ElementaryTypeName","src":"48994:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48948:72:97"},"returnParameters":{"id":68552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68551,"mutability":"mutable","name":"disputeId","nameLocation":"49095:9:97","nodeType":"VariableDeclaration","scope":68735,"src":"49087:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68550,"name":"uint256","nodeType":"ElementaryTypeName","src":"49087:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49086:19:97"},"scope":69064,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":68991,"nodeType":"FunctionDefinition","src":"51335:2994:97","nodes":[],"body":{"id":68990,"nodeType":"Block","src":"51412:2917:97","nodes":[],"statements":[{"assignments":[68744],"declarations":[{"constant":false,"id":68744,"mutability":"mutable","name":"proposalId","nameLocation":"51430:10:97","nodeType":"VariableDeclaration","scope":68990,"src":"51422:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68743,"name":"uint256","nodeType":"ElementaryTypeName","src":"51422:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68748,"initialValue":{"baseExpression":{"id":68745,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65818,"src":"51443:21:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68747,"indexExpression":{"id":68746,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68737,"src":"51465:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51443:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51422:54:97"},{"assignments":[68753],"declarations":[{"constant":false,"id":68753,"mutability":"mutable","name":"proposal","nameLocation":"51518:8:97","nodeType":"VariableDeclaration","scope":68990,"src":"51486:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68752,"nodeType":"UserDefinedTypeName","pathNode":{"id":68751,"name":"StrategyStruct.Proposal","nameLocations":["51486:14:97","51501:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"51486:23:97"},"referencedDeclaration":65460,"src":"51486:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68757,"initialValue":{"baseExpression":{"id":68754,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"51529:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68756,"indexExpression":{"id":68755,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51539:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51529:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51486:64:97"},{"assignments":[68762],"declarations":[{"constant":false,"id":68762,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"51599:16:97","nodeType":"VariableDeclaration","scope":68990,"src":"51560:55:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68761,"nodeType":"UserDefinedTypeName","pathNode":{"id":68760,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["51560:14:97","51575:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"51560:31:97"},"referencedDeclaration":65482,"src":"51560:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68767,"initialValue":{"baseExpression":{"id":68763,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"51618:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68766,"indexExpression":{"expression":{"id":68764,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"51636:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51645:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"51636:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51618:51:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51560:109:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68768,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51684:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51698:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51684:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68776,"nodeType":"IfStatement","src":"51680:82:97","trueBody":{"id":68775,"nodeType":"Block","src":"51701:61:97","statements":[{"errorCall":{"arguments":[{"id":68772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51740:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68771,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"51722:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51722:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68774,"nodeType":"RevertStatement","src":"51715:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":68782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68777,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"51775:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51784:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"51775:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68779,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"51802:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51817:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"51802:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51832:8:97","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65417,"src":"51802:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"51775:65:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68788,"nodeType":"IfStatement","src":"51771:134:97","trueBody":{"id":68787,"nodeType":"Block","src":"51842:63:97","statements":[{"errorCall":{"arguments":[{"id":68784,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51883:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68783,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65607,"src":"51863:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51863:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68786,"nodeType":"RevertStatement","src":"51856:38:97"}]}},{"assignments":[68790],"declarations":[{"constant":false,"id":68790,"mutability":"mutable","name":"isTimeOut","nameLocation":"51920:9:97","nodeType":"VariableDeclaration","scope":68990,"src":"51915:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68789,"name":"bool","nodeType":"ElementaryTypeName","src":"51915:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68800,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68791,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"51932:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51938:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"51932:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68793,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"51950:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51959:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"51950:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51971:16:97","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65423,"src":"51950:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":68796,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"51990:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52007:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"51990:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51950:77:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51932:95:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"51915:112:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"52042:10:97","subExpression":{"id":68801,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68790,"src":"52043:9:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68803,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"52056:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52060:6:97","memberName":"sender","nodeType":"MemberAccess","src":"52056:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":68807,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52078:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68808,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52095:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"52078:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52070:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68805,"name":"address","nodeType":"ElementaryTypeName","src":"52070:7:97","typeDescriptions":{}}},"id":68809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52070:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52056:50:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52042:64:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68816,"nodeType":"IfStatement","src":"52038:118:97","trueBody":{"id":68815,"nodeType":"Block","src":"52108:48:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68812,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65603,"src":"52129:14:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52129:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68814,"nodeType":"RevertStatement","src":"52122:23:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68817,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68790,"src":"52170:9:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68818,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"52183:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52194:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52183:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52170:25:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68881,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"52967:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":68882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52978:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52967:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68910,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"53339:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":68911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53350:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53339:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68970,"nodeType":"IfStatement","src":"53335:834:97","trueBody":{"id":68969,"nodeType":"Block","src":"53353:816:97","statements":[{"expression":{"id":68919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68913,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53367:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53376:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"53367:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68916,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"53393:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53408:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"53393:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53423:8:97","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"53393:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53367:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68920,"nodeType":"ExpressionStatement","src":"53367:64:97"},{"expression":{"arguments":[{"id":68924,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53497:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":68925,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53509:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53518:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"53509:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53530:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"53509:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68928,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"53542:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53559:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"53542:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68921,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53445:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53461:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"53445:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53445:154:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68931,"nodeType":"ExpressionStatement","src":"53445:154:97"},{"expression":{"arguments":[{"id":68935,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53668:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68936,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53696:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53705:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"53696:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68940,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"53740:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":68941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53758:11:97","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70287,"src":"53740:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$73057_$","typeString":"function () view external returns (contract ISafe)"}},"id":68942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53740:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":68939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53732:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68938,"name":"address","nodeType":"ElementaryTypeName","src":"53732:7:97","typeDescriptions":{}}},"id":68943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53732:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68944,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"53790:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68946,"indexExpression":{"id":68945,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"53808:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53790:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68947,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53840:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"53790:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":68948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53868:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53790:79:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68932,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53613:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53629:21:97","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":72963,"src":"53613:37:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":68950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53613:270:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68951,"nodeType":"ExpressionStatement","src":"53613:270:97"},{"expression":{"arguments":[{"id":68955,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53952:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68956,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53980:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53989:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"53980:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":68958,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"54016:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54025:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"54016:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54037:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"54016:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68961,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"54065:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68963,"indexExpression":{"id":68962,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"54083:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54065:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54115:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"54065:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":68965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54143:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54065:79:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68952,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53897:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53913:21:97","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":72963,"src":"53897:37:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":68967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53897:261:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68968,"nodeType":"ExpressionStatement","src":"53897:261:97"}]}},"id":68971,"nodeType":"IfStatement","src":"52963:1206:97","trueBody":{"id":68909,"nodeType":"Block","src":"52981:348:97","statements":[{"expression":{"id":68890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68884,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52995:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53004:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"52995:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68887,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"53021:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53036:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"53021:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53051:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"53021:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52995:62:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68891,"nodeType":"ExpressionStatement","src":"52995:62:97"},{"expression":{"arguments":[{"id":68895,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53126:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":68896,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53154:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53163:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"53154:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53175:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"53154:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68901,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"53211:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":68902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53229:11:97","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70287,"src":"53211:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$73057_$","typeString":"function () view external returns (contract ISafe)"}},"id":68903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53211:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":68900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53203:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68899,"name":"address","nodeType":"ElementaryTypeName","src":"53203:7:97","typeDescriptions":{}}},"id":68904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53203:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68905,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"53261:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53278:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"53261:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68892,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53071:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53087:21:97","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":72963,"src":"53071:37:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":68907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53071:247:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68908,"nodeType":"ExpressionStatement","src":"53071:247:97"}]}},"id":68972,"nodeType":"IfStatement","src":"52166:2003:97","trueBody":{"id":68880,"nodeType":"Block","src":"52197:760:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68822,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52215:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52232:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"52215:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52249:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52215:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68830,"nodeType":"IfStatement","src":"52211:102:97","trueBody":{"id":68829,"nodeType":"Block","src":"52252:61:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68826,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65617,"src":"52277:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52277:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68828,"nodeType":"RevertStatement","src":"52270:28:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68831,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52330:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52347:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"52330:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":68833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52364:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52330:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68844,"nodeType":"IfStatement","src":"52326:136:97","trueBody":{"id":68843,"nodeType":"Block","src":"52367:95:97","statements":[{"expression":{"id":68841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68835,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52385:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52394:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"52385:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68838,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"52411:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52426:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"52411:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52441:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"52411:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52385:62:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68842,"nodeType":"ExpressionStatement","src":"52385:62:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68845,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52479:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68846,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52496:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"52479:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":68847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52513:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52479:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68868,"nodeType":"IfStatement","src":"52475:304:97","trueBody":{"id":68867,"nodeType":"Block","src":"52516:263:97","statements":[{"expression":{"id":68855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68849,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52534:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52543:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"52534:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68852,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"52560:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52575:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"52560:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52590:8:97","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"52560:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52534:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68856,"nodeType":"ExpressionStatement","src":"52534:64:97"},{"expression":{"arguments":[{"id":68860,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"52672:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68861,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52684:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52693:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"52684:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68863,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52704:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52721:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"52704:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68857,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"52616:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52632:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"52616:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52616:148:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68866,"nodeType":"ExpressionStatement","src":"52616:148:97"}]}},{"expression":{"arguments":[{"id":68872,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"52844:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":68873,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52856:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52865:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"52856:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52877:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"52856:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68876,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52889:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68877,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52906:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"52889:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68869,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"52792:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52808:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"52792:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52792:154:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68879,"nodeType":"ExpressionStatement","src":"52792:154:97"}]}},{"expression":{"id":68974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"54179:14:97","subExpression":{"id":68973,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65771,"src":"54179:12:97","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68975,"nodeType":"ExpressionStatement","src":"54179:14:97"},{"expression":{"id":68981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68976,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"54203:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54212:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"54203:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68979,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54236:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54242:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"54236:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"54203:48:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68982,"nodeType":"ExpressionStatement","src":"54203:48:97"},{"eventCall":{"arguments":[{"expression":{"id":68984,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"54273:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54290:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"54273:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"id":68986,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68737,"src":"54302:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68987,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"54314:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68983,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72818,"src":"54266:6:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$72931_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":68988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54266:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68989,"nodeType":"EmitStatement","src":"54261:61:97"}]},"baseFunctions":[72826],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"51344:4:97","overrides":{"id":68741,"nodeType":"OverrideSpecifier","overrides":[],"src":"51403:8:97"},"parameters":{"id":68740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68737,"mutability":"mutable","name":"_disputeID","nameLocation":"51357:10:97","nodeType":"VariableDeclaration","scope":68991,"src":"51349:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68736,"name":"uint256","nodeType":"ElementaryTypeName","src":"51349:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68739,"mutability":"mutable","name":"_ruling","nameLocation":"51377:7:97","nodeType":"VariableDeclaration","scope":68991,"src":"51369:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68738,"name":"uint256","nodeType":"ElementaryTypeName","src":"51369:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51348:37:97"},"returnParameters":{"id":68742,"nodeType":"ParameterList","parameters":[],"src":"51412:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69059,"nodeType":"FunctionDefinition","src":"54335:732:97","nodes":[],"body":{"id":69058,"nodeType":"Block","src":"54396:671:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":69003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68996,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54410:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68998,"indexExpression":{"id":68997,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54420:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54410:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54432:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"54410:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69000,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"54450:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":69001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54465:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"54450:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54480:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"54450:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54410:76:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69009,"nodeType":"IfStatement","src":"54406:143:97","trueBody":{"id":69008,"nodeType":"Block","src":"54488:61:97","statements":[{"errorCall":{"arguments":[{"id":69005,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54527:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69004,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65569,"src":"54509:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54509:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69007,"nodeType":"RevertStatement","src":"54502:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69010,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54563:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69012,"indexExpression":{"id":69011,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54573:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54563:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69013,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54585:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"54563:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69014,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54598:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54602:6:97","memberName":"sender","nodeType":"MemberAccess","src":"54598:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"54563:45:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69027,"nodeType":"IfStatement","src":"54559:141:97","trueBody":{"id":69026,"nodeType":"Block","src":"54610:90:97","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":69018,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54645:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69020,"indexExpression":{"id":69019,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54655:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54645:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54667:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"54645:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69022,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54678:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54682:6:97","memberName":"sender","nodeType":"MemberAccess","src":"54678:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69017,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"54631:13:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":69024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54631:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69025,"nodeType":"RevertStatement","src":"54624:65:97"}]}},{"expression":{"arguments":[{"id":69031,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54758:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":69032,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54782:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69034,"indexExpression":{"id":69033,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54792:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54782:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54804:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"54782:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":69036,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"54827:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69041,"indexExpression":{"expression":{"baseExpression":{"id":69037,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54845:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69039,"indexExpression":{"id":69038,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54855:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54845:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69040,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54867:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"54845:45:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54827:64:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54892:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"54827:90:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69028,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"54710:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":69030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54726:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"54710:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54710:217:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69044,"nodeType":"ExpressionStatement","src":"54710:217:97"},{"expression":{"id":69052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69045,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54938:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69047,"indexExpression":{"id":69046,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54948:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54938:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54960:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"54938:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69049,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"54977:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":69050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54992:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"54977:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55007:9:97","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65415,"src":"54977:39:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54938:78:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69053,"nodeType":"ExpressionStatement","src":"54938:78:97"},{"eventCall":{"arguments":[{"id":69055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"55049:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69054,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65722,"src":"55031:17:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55031:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69057,"nodeType":"EmitStatement","src":"55026:34:97"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"54344:14:97","parameters":{"id":68994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68993,"mutability":"mutable","name":"proposalId","nameLocation":"54367:10:97","nodeType":"VariableDeclaration","scope":69059,"src":"54359:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68992,"name":"uint256","nodeType":"ElementaryTypeName","src":"54359:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54358:20:97"},"returnParameters":{"id":68995,"nodeType":"ParameterList","parameters":[],"src":"54396:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69063,"nodeType":"VariableDeclaration","src":"55073:25:97","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"55093:5:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":69060,"name":"uint256","nodeType":"ElementaryTypeName","src":"55073:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69062,"length":{"hexValue":"3530","id":69061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55081:2:97","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"55073:11:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":65514,"name":"BaseStrategyUpgradeable","nameLocations":["4010:23:97"],"nodeType":"IdentifierPath","referencedDeclaration":65327,"src":"4010:23:97"},"id":65515,"nodeType":"InheritanceSpecifier","src":"4010:23:97"},{"baseName":{"id":65516,"name":"IArbitrable","nameLocations":["4035:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72827,"src":"4035:11:97"},"id":65517,"nodeType":"InheritanceSpecifier","src":"4035:11:97"},{"baseName":{"id":65518,"name":"IPointStrategy","nameLocations":["4048:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65390,"src":"4048:14:97"},"id":65519,"nodeType":"InheritanceSpecifier","src":"4048:14:97"},{"baseName":{"id":65520,"name":"ERC165","nameLocations":["4064:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":57022,"src":"4064:6:97"},"id":65521,"nodeType":"InheritanceSpecifier","src":"4064:6:97"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":65513,"nodeType":"StructuredDocumentation","src":"3939:44:97","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69064,57022,57228,65390,72827,65327,3089,3317,3106,2969,70005,54969,54622,54271,54281,52200,52993,52449],"name":"CVStrategyV0_0","nameLocation":"3992:14:97","scope":69065,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65523,65525,65527,65529,65531,65533,65535,65537,65539,65541,65543,65551,65553,65555,65561,65563,65565,65569,65573,65579,65581,65583,65591,65593,65595,65601,65603,65607,65609,65615,65617,65623,69928]}],"license":"AGPL-3.0-only"},"id":97} \ No newline at end of file +{"abi":[{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUntake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","getPointSystem()":"c3292171","increasePower(address,uint256)":"782aadff"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUntake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"IPointStrategy"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":70169,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[66431],"CVStrategyV0_0":[70168],"Clone":[3002],"ERC165":[57030],"ERC20":[55747],"IAllo":[2610],"IArbitrable":[74661],"IArbitrator":[74765],"ICollateralVault":[74798],"IERC165":[57236],"IPointStrategy":[66494],"ISybilScorer":[70536],"Math":[58102],"Metadata":[3098],"OwnableUpgradeable":[52200],"PassportData":[70454],"RegistryCommunityV0_0":[73113],"StrategyStruct":[66616],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"42:55060:95","nodes":[{"id":66433,"nodeType":"PragmaDirective","src":"42:24:95","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":66435,"nodeType":"ImportDirective","src":"68:71:95","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":66434,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66438,"nodeType":"ImportDirective","src":"140:82:95","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":66436,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":66437,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66440,"nodeType":"ImportDirective","src":"223:85:95","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":73114,"symbolAliases":[{"foreign":{"id":66439,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73113,"src":"231:21:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66443,"nodeType":"ImportDirective","src":"309:87:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":57031,"symbolAliases":[{"foreign":{"id":66441,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57030,"src":"317:6:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":66442,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57236,"src":"325:7:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66445,"nodeType":"ImportDirective","src":"397:68:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":55748,"symbolAliases":[{"foreign":{"id":66444,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"405:5:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66447,"nodeType":"ImportDirective","src":"466:58:95","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":74766,"symbolAliases":[{"foreign":{"id":66446,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74765,"src":"474:11:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66449,"nodeType":"ImportDirective","src":"525:58:95","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":74662,"symbolAliases":[{"foreign":{"id":66448,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"533:11:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66451,"nodeType":"ImportDirective","src":"584:65:95","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":66450,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66453,"nodeType":"ImportDirective","src":"700:65:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":58103,"symbolAliases":[{"foreign":{"id":66452,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"708:4:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66456,"nodeType":"ImportDirective","src":"766:63:95","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":70537,"symbolAliases":[{"foreign":{"id":66454,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"774:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":66455,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70454,"src":"788:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66458,"nodeType":"ImportDirective","src":"831:88:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":66457,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"839:15:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66460,"nodeType":"ImportDirective","src":"920:71:95","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":66432,"symbolAliases":[{"foreign":{"id":66459,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66431,"src":"928:23:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66462,"nodeType":"ImportDirective","src":"992:101:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":66461,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"1000:18:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66464,"nodeType":"ImportDirective","src":"1094:68:95","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":74799,"symbolAliases":[{"foreign":{"id":66463,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74798,"src":"1102:16:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66494,"nodeType":"ContractDefinition","src":"1164:358:95","nodes":[{"id":66469,"nodeType":"FunctionDefinition","src":"1195:52:95","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1204:16:95","parameters":{"id":66467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66466,"mutability":"mutable","name":"_member","nameLocation":"1229:7:95","nodeType":"VariableDeclaration","scope":66469,"src":"1221:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66465,"name":"address","nodeType":"ElementaryTypeName","src":"1221:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1220:17:95"},"returnParameters":{"id":66468,"nodeType":"ParameterList","parameters":[],"src":"1246:0:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66478,"nodeType":"FunctionDefinition","src":"1253:91:95","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1262:13:95","parameters":{"id":66474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66471,"mutability":"mutable","name":"_member","nameLocation":"1284:7:95","nodeType":"VariableDeclaration","scope":66478,"src":"1276:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66470,"name":"address","nodeType":"ElementaryTypeName","src":"1276:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66473,"mutability":"mutable","name":"_amountToStake","nameLocation":"1301:14:95","nodeType":"VariableDeclaration","scope":66478,"src":"1293:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66472,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1275:41:95"},"returnParameters":{"id":66477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66478,"src":"1335:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66475,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1334:9:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66487,"nodeType":"FunctionDefinition","src":"1350:92:95","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1359:13:95","parameters":{"id":66483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66480,"mutability":"mutable","name":"_member","nameLocation":"1381:7:95","nodeType":"VariableDeclaration","scope":66487,"src":"1373:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66479,"name":"address","nodeType":"ElementaryTypeName","src":"1373:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66482,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1398:15:95","nodeType":"VariableDeclaration","scope":66487,"src":"1390:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66481,"name":"uint256","nodeType":"ElementaryTypeName","src":"1390:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1372:42:95"},"returnParameters":{"id":66486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66487,"src":"1433:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66484,"name":"uint256","nodeType":"ElementaryTypeName","src":"1433:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1432:9:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66493,"nodeType":"FunctionDefinition","src":"1448:72:95","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1457:14:95","parameters":{"id":66488,"nodeType":"ParameterList","parameters":[],"src":"1471:2:95"},"returnParameters":{"id":66492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66493,"src":"1492:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66490,"nodeType":"UserDefinedTypeName","pathNode":{"id":66489,"name":"StrategyStruct.PointSystem","nameLocations":["1492:14:95","1507:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"1492:26:95"},"referencedDeclaration":66503,"src":"1492:26:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1491:28:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[66494],"name":"IPointStrategy","nameLocation":"1174:14:95","scope":70169,"usedErrors":[]},{"id":66616,"nodeType":"ContractDefinition","src":"1524:2413:95","nodes":[{"id":66498,"nodeType":"EnumDefinition","src":"1553:79:95","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":66495,"name":"Signaling","nameLocation":"1581:9:95","nodeType":"EnumValue","src":"1581:9:95"},{"id":66496,"name":"Funding","nameLocation":"1600:7:95","nodeType":"EnumValue","src":"1600:7:95"},{"id":66497,"name":"Streaming","nameLocation":"1617:9:95","nodeType":"EnumValue","src":"1617:9:95"}],"name":"ProposalType","nameLocation":"1558:12:95"},{"id":66503,"nodeType":"EnumDefinition","src":"1638:92:95","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":66499,"name":"Fixed","nameLocation":"1665:5:95","nodeType":"EnumValue","src":"1665:5:95"},{"id":66500,"name":"Capped","nameLocation":"1680:6:95","nodeType":"EnumValue","src":"1680:6:95"},{"id":66501,"name":"Unlimited","nameLocation":"1696:9:95","nodeType":"EnumValue","src":"1696:9:95"},{"id":66502,"name":"Quadratic","nameLocation":"1715:9:95","nodeType":"EnumValue","src":"1715:9:95"}],"name":"PointSystem","nameLocation":"1643:11:95"},{"id":66515,"nodeType":"StructDefinition","src":"1736:243:95","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":66505,"mutability":"mutable","name":"poolId","nameLocation":"1807:6:95","nodeType":"VariableDeclaration","scope":66515,"src":"1799:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66504,"name":"uint256","nodeType":"ElementaryTypeName","src":"1799:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66507,"mutability":"mutable","name":"beneficiary","nameLocation":"1831:11:95","nodeType":"VariableDeclaration","scope":66515,"src":"1823:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66506,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66509,"mutability":"mutable","name":"amountRequested","nameLocation":"1898:15:95","nodeType":"VariableDeclaration","scope":66515,"src":"1890:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66508,"name":"uint256","nodeType":"ElementaryTypeName","src":"1890:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66511,"mutability":"mutable","name":"requestedToken","nameLocation":"1931:14:95","nodeType":"VariableDeclaration","scope":66515,"src":"1923:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66510,"name":"address","nodeType":"ElementaryTypeName","src":"1923:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66514,"mutability":"mutable","name":"metadata","nameLocation":"1964:8:95","nodeType":"VariableDeclaration","scope":66515,"src":"1955:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":66513,"nodeType":"UserDefinedTypeName","pathNode":{"id":66512,"name":"Metadata","nameLocations":["1955:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1955:8:95"},"referencedDeclaration":3098,"src":"1955:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1743:14:95","scope":66616,"visibility":"public"},{"id":66523,"nodeType":"EnumDefinition","src":"1985:391:95","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":66516,"name":"Inactive","nameLocation":"2015:8:95","nodeType":"EnumValue","src":"2015:8:95"},{"id":66517,"name":"Active","nameLocation":"2045:6:95","nodeType":"EnumValue","src":"2045:6:95"},{"id":66518,"name":"Paused","nameLocation":"2108:6:95","nodeType":"EnumValue","src":"2108:6:95"},{"id":66519,"name":"Cancelled","nameLocation":"2173:9:95","nodeType":"EnumValue","src":"2173:9:95"},{"id":66520,"name":"Executed","nameLocation":"2226:8:95","nodeType":"EnumValue","src":"2226:8:95"},{"id":66521,"name":"Disputed","nameLocation":"2277:8:95","nodeType":"EnumValue","src":"2277:8:95"},{"id":66522,"name":"Rejected","nameLocation":"2328:8:95","nodeType":"EnumValue","src":"2328:8:95"}],"name":"ProposalStatus","nameLocation":"1990:14:95"},{"id":66530,"nodeType":"StructDefinition","src":"2382:123:95","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":66525,"mutability":"mutable","name":"disputeId","nameLocation":"2427:9:95","nodeType":"VariableDeclaration","scope":66530,"src":"2419:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66524,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66527,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2454:16:95","nodeType":"VariableDeclaration","scope":66530,"src":"2446:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66526,"name":"uint256","nodeType":"ElementaryTypeName","src":"2446:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66529,"mutability":"mutable","name":"challenger","nameLocation":"2488:10:95","nodeType":"VariableDeclaration","scope":66530,"src":"2480:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66528,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2389:19:95","scope":66616,"visibility":"public"},{"id":66564,"nodeType":"StructDefinition","src":"2511:526:95","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":66532,"mutability":"mutable","name":"proposalId","nameLocation":"2545:10:95","nodeType":"VariableDeclaration","scope":66564,"src":"2537:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66531,"name":"uint256","nodeType":"ElementaryTypeName","src":"2537:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66534,"mutability":"mutable","name":"requestedAmount","nameLocation":"2573:15:95","nodeType":"VariableDeclaration","scope":66564,"src":"2565:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66533,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66536,"mutability":"mutable","name":"stakedAmount","nameLocation":"2606:12:95","nodeType":"VariableDeclaration","scope":66564,"src":"2598:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66535,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66538,"mutability":"mutable","name":"convictionLast","nameLocation":"2636:14:95","nodeType":"VariableDeclaration","scope":66564,"src":"2628:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66537,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66540,"mutability":"mutable","name":"beneficiary","nameLocation":"2668:11:95","nodeType":"VariableDeclaration","scope":66564,"src":"2660:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66539,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66542,"mutability":"mutable","name":"submitter","nameLocation":"2697:9:95","nodeType":"VariableDeclaration","scope":66564,"src":"2689:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66541,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66544,"mutability":"mutable","name":"requestedToken","nameLocation":"2724:14:95","nodeType":"VariableDeclaration","scope":66564,"src":"2716:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66543,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66546,"mutability":"mutable","name":"blockLast","nameLocation":"2756:9:95","nodeType":"VariableDeclaration","scope":66564,"src":"2748:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66545,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66549,"mutability":"mutable","name":"proposalStatus","nameLocation":"2790:14:95","nodeType":"VariableDeclaration","scope":66564,"src":"2775:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":66548,"nodeType":"UserDefinedTypeName","pathNode":{"id":66547,"name":"ProposalStatus","nameLocations":["2775:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66523,"src":"2775:14:95"},"referencedDeclaration":66523,"src":"2775:14:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":66553,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2842:17:95","nodeType":"VariableDeclaration","scope":66564,"src":"2814:45:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":66552,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66550,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2814:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66551,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":66556,"mutability":"mutable","name":"metadata","nameLocation":"2901:8:95","nodeType":"VariableDeclaration","scope":66564,"src":"2892:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":66555,"nodeType":"UserDefinedTypeName","pathNode":{"id":66554,"name":"Metadata","nameLocations":["2892:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2892:8:95"},"referencedDeclaration":3098,"src":"2892:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":66559,"mutability":"mutable","name":"disputeInfo","nameLocation":"2939:11:95","nodeType":"VariableDeclaration","scope":66564,"src":"2919:31:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":66558,"nodeType":"UserDefinedTypeName","pathNode":{"id":66557,"name":"ProposalDisputeInfo","nameLocations":["2919:19:95"],"nodeType":"IdentifierPath","referencedDeclaration":66530,"src":"2919:19:95"},"referencedDeclaration":66530,"src":"2919:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":66561,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2968:21:95","nodeType":"VariableDeclaration","scope":66564,"src":"2960:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66560,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66563,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"3007:23:95","nodeType":"VariableDeclaration","scope":66564,"src":"2999:31:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66562,"name":"uint256","nodeType":"ElementaryTypeName","src":"2999:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2518:8:95","scope":66616,"visibility":"public"},{"id":66569,"nodeType":"StructDefinition","src":"3043:126:95","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":66566,"mutability":"mutable","name":"proposalId","nameLocation":"3084:10:95","nodeType":"VariableDeclaration","scope":66569,"src":"3076:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66565,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66568,"mutability":"mutable","name":"deltaSupport","nameLocation":"3111:12:95","nodeType":"VariableDeclaration","scope":66569,"src":"3104:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":66567,"name":"int256","nodeType":"ElementaryTypeName","src":"3104:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3050:15:95","scope":66616,"visibility":"public"},{"id":66572,"nodeType":"StructDefinition","src":"3175:89:95","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":66571,"mutability":"mutable","name":"maxAmount","nameLocation":"3248:9:95","nodeType":"VariableDeclaration","scope":66572,"src":"3240:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66570,"name":"uint256","nodeType":"ElementaryTypeName","src":"3240:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3182:17:95","scope":66616,"visibility":"public"},{"id":66586,"nodeType":"StructDefinition","src":"3270:249:95","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":66575,"mutability":"mutable","name":"arbitrator","nameLocation":"3316:10:95","nodeType":"VariableDeclaration","scope":66586,"src":"3304:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":66574,"nodeType":"UserDefinedTypeName","pathNode":{"id":66573,"name":"IArbitrator","nameLocations":["3304:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"3304:11:95"},"referencedDeclaration":74765,"src":"3304:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":66577,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3344:12:95","nodeType":"VariableDeclaration","scope":66586,"src":"3336:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66576,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66579,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3374:25:95","nodeType":"VariableDeclaration","scope":66586,"src":"3366:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66578,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66581,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3417:26:95","nodeType":"VariableDeclaration","scope":66586,"src":"3409:34:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66580,"name":"uint256","nodeType":"ElementaryTypeName","src":"3409:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66583,"mutability":"mutable","name":"defaultRuling","nameLocation":"3461:13:95","nodeType":"VariableDeclaration","scope":66586,"src":"3453:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66582,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66585,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3492:20:95","nodeType":"VariableDeclaration","scope":66586,"src":"3484:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66584,"name":"uint256","nodeType":"ElementaryTypeName","src":"3484:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3277:16:95","scope":66616,"visibility":"public"},{"id":66595,"nodeType":"StructDefinition","src":"3525:132:95","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":66588,"mutability":"mutable","name":"maxRatio","nameLocation":"3559:8:95","nodeType":"VariableDeclaration","scope":66595,"src":"3551:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66587,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66590,"mutability":"mutable","name":"weight","nameLocation":"3585:6:95","nodeType":"VariableDeclaration","scope":66595,"src":"3577:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66589,"name":"uint256","nodeType":"ElementaryTypeName","src":"3577:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66592,"mutability":"mutable","name":"decay","nameLocation":"3609:5:95","nodeType":"VariableDeclaration","scope":66595,"src":"3601:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66591,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66594,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3632:18:95","nodeType":"VariableDeclaration","scope":66595,"src":"3624:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66593,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3532:8:95","scope":66616,"visibility":"public"},{"id":66615,"nodeType":"StructDefinition","src":"3663:272:95","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":66598,"mutability":"mutable","name":"cvParams","nameLocation":"3706:8:95","nodeType":"VariableDeclaration","scope":66615,"src":"3697:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":66597,"nodeType":"UserDefinedTypeName","pathNode":{"id":66596,"name":"CVParams","nameLocations":["3697:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"3697:8:95"},"referencedDeclaration":66595,"src":"3697:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":66601,"mutability":"mutable","name":"proposalType","nameLocation":"3737:12:95","nodeType":"VariableDeclaration","scope":66615,"src":"3724:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":66600,"nodeType":"UserDefinedTypeName","pathNode":{"id":66599,"name":"ProposalType","nameLocations":["3724:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":66498,"src":"3724:12:95"},"referencedDeclaration":66498,"src":"3724:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":66604,"mutability":"mutable","name":"pointSystem","nameLocation":"3771:11:95","nodeType":"VariableDeclaration","scope":66615,"src":"3759:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66603,"nodeType":"UserDefinedTypeName","pathNode":{"id":66602,"name":"PointSystem","nameLocations":["3759:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"3759:11:95"},"referencedDeclaration":66503,"src":"3759:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":66607,"mutability":"mutable","name":"pointConfig","nameLocation":"3810:11:95","nodeType":"VariableDeclaration","scope":66615,"src":"3792:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":66606,"nodeType":"UserDefinedTypeName","pathNode":{"id":66605,"name":"PointSystemConfig","nameLocations":["3792:17:95"],"nodeType":"IdentifierPath","referencedDeclaration":66572,"src":"3792:17:95"},"referencedDeclaration":66572,"src":"3792:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":66610,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3848:16:95","nodeType":"VariableDeclaration","scope":66615,"src":"3831:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":66609,"nodeType":"UserDefinedTypeName","pathNode":{"id":66608,"name":"ArbitrableConfig","nameLocations":["3831:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"3831:16:95"},"referencedDeclaration":66586,"src":"3831:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":66612,"mutability":"mutable","name":"registryCommunity","nameLocation":"3882:17:95","nodeType":"VariableDeclaration","scope":66615,"src":"3874:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66611,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66614,"mutability":"mutable","name":"sybilScorer","nameLocation":"3917:11:95","nodeType":"VariableDeclaration","scope":66615,"src":"3909:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66613,"name":"address","nodeType":"ElementaryTypeName","src":"3909:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3670:16:95","scope":66616,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[66616],"name":"StrategyStruct","nameLocation":"1532:14:95","scope":70169,"usedErrors":[]},{"id":70168,"nodeType":"ContractDefinition","src":"3983:51118:95","nodes":[{"id":66627,"nodeType":"ErrorDefinition","src":"4243:25:95","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4249:16:95","parameters":{"id":66626,"nodeType":"ParameterList","parameters":[],"src":"4265:2:95"}},{"id":66629,"nodeType":"ErrorDefinition","src":"4287:26:95","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4293:17:95","parameters":{"id":66628,"nodeType":"ParameterList","parameters":[],"src":"4310:2:95"}},{"id":66631,"nodeType":"ErrorDefinition","src":"4331:23:95","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4337:14:95","parameters":{"id":66630,"nodeType":"ParameterList","parameters":[],"src":"4351:2:95"}},{"id":66633,"nodeType":"ErrorDefinition","src":"4373:20:95","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4379:11:95","parameters":{"id":66632,"nodeType":"ParameterList","parameters":[],"src":"4390:2:95"}},{"id":66635,"nodeType":"ErrorDefinition","src":"4412:23:95","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4418:14:95","parameters":{"id":66634,"nodeType":"ParameterList","parameters":[],"src":"4432:2:95"}},{"id":66637,"nodeType":"ErrorDefinition","src":"4453:26:95","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4459:17:95","parameters":{"id":66636,"nodeType":"ParameterList","parameters":[],"src":"4476:2:95"}},{"id":66639,"nodeType":"ErrorDefinition","src":"4497:24:95","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4503:15:95","parameters":{"id":66638,"nodeType":"ParameterList","parameters":[],"src":"4518:2:95"}},{"id":66641,"nodeType":"ErrorDefinition","src":"4540:27:95","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4546:18:95","parameters":{"id":66640,"nodeType":"ParameterList","parameters":[],"src":"4564:2:95"}},{"id":66643,"nodeType":"ErrorDefinition","src":"4586:27:95","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4592:18:95","parameters":{"id":66642,"nodeType":"ParameterList","parameters":[],"src":"4610:2:95"}},{"id":66645,"nodeType":"ErrorDefinition","src":"4631:28:95","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4637:19:95","parameters":{"id":66644,"nodeType":"ParameterList","parameters":[],"src":"4656:2:95"}},{"id":66647,"nodeType":"ErrorDefinition","src":"4677:29:95","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4683:20:95","parameters":{"id":66646,"nodeType":"ParameterList","parameters":[],"src":"4703:2:95"}},{"id":66655,"nodeType":"ErrorDefinition","src":"4725:72:95","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4731:16:95","parameters":{"id":66654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66649,"mutability":"mutable","name":"_support","nameLocation":"4756:8:95","nodeType":"VariableDeclaration","scope":66655,"src":"4748:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66648,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66651,"mutability":"mutable","name":"_delta","nameLocation":"4773:6:95","nodeType":"VariableDeclaration","scope":66655,"src":"4766:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":66650,"name":"int256","nodeType":"ElementaryTypeName","src":"4766:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":66653,"mutability":"mutable","name":"_result","nameLocation":"4788:7:95","nodeType":"VariableDeclaration","scope":66655,"src":"4781:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":66652,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4747:49:95"}},{"id":66657,"nodeType":"ErrorDefinition","src":"4816:25:95","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4822:16:95","parameters":{"id":66656,"nodeType":"ParameterList","parameters":[],"src":"4838:2:95"}},{"id":66659,"nodeType":"ErrorDefinition","src":"4860:32:95","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4866:23:95","parameters":{"id":66658,"nodeType":"ParameterList","parameters":[],"src":"4889:2:95"}},{"id":66665,"nodeType":"ErrorDefinition","src":"4911:77:95","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4917:24:95","parameters":{"id":66664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66661,"mutability":"mutable","name":"pointsSupport","nameLocation":"4950:13:95","nodeType":"VariableDeclaration","scope":66665,"src":"4942:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66660,"name":"uint256","nodeType":"ElementaryTypeName","src":"4942:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66663,"mutability":"mutable","name":"pointsBalance","nameLocation":"4973:13:95","nodeType":"VariableDeclaration","scope":66665,"src":"4965:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66662,"name":"uint256","nodeType":"ElementaryTypeName","src":"4965:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4941:46:95"}},{"id":66667,"nodeType":"ErrorDefinition","src":"5008:28:95","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5014:19:95","parameters":{"id":66666,"nodeType":"ParameterList","parameters":[],"src":"5033:2:95"}},{"id":66669,"nodeType":"ErrorDefinition","src":"5054:31:95","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5060:22:95","parameters":{"id":66668,"nodeType":"ParameterList","parameters":[],"src":"5082:2:95"}},{"id":66673,"nodeType":"ErrorDefinition","src":"5103:45:95","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5109:17:95","parameters":{"id":66672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66671,"mutability":"mutable","name":"_proposalId","nameLocation":"5135:11:95","nodeType":"VariableDeclaration","scope":66673,"src":"5127:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66670,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:21:95"}},{"id":66677,"nodeType":"ErrorDefinition","src":"5167:45:95","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5173:17:95","parameters":{"id":66676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66675,"mutability":"mutable","name":"_proposalId","nameLocation":"5199:11:95","nodeType":"VariableDeclaration","scope":66677,"src":"5191:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66674,"name":"uint256","nodeType":"ElementaryTypeName","src":"5191:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5190:21:95"}},{"id":66683,"nodeType":"ErrorDefinition","src":"5231:68:95","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5237:25:95","parameters":{"id":66682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66679,"mutability":"mutable","name":"_proposalId","nameLocation":"5271:11:95","nodeType":"VariableDeclaration","scope":66683,"src":"5263:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66678,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66681,"mutability":"mutable","name":"index","nameLocation":"5292:5:95","nodeType":"VariableDeclaration","scope":66683,"src":"5284:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66680,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5262:36:95"}},{"id":66685,"nodeType":"ErrorDefinition","src":"5317:40:95","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5323:31:95","parameters":{"id":66684,"nodeType":"ParameterList","parameters":[],"src":"5354:2:95"}},{"id":66687,"nodeType":"ErrorDefinition","src":"5376:29:95","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5382:20:95","parameters":{"id":66686,"nodeType":"ParameterList","parameters":[],"src":"5402:2:95"}},{"id":66695,"nodeType":"ErrorDefinition","src":"5424:94:95","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5430:19:95","parameters":{"id":66694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66689,"mutability":"mutable","name":"_proposalId","nameLocation":"5458:11:95","nodeType":"VariableDeclaration","scope":66695,"src":"5450:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66688,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66691,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5479:16:95","nodeType":"VariableDeclaration","scope":66695,"src":"5471:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66690,"name":"uint256","nodeType":"ElementaryTypeName","src":"5471:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66693,"mutability":"mutable","name":"_poolAmount","nameLocation":"5505:11:95","nodeType":"VariableDeclaration","scope":66695,"src":"5497:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66692,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5449:68:95"}},{"id":66697,"nodeType":"ErrorDefinition","src":"5536:24:95","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5542:15:95","parameters":{"id":66696,"nodeType":"ParameterList","parameters":[],"src":"5557:2:95"}},{"id":66699,"nodeType":"ErrorDefinition","src":"5565:32:95","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5571:23:95","parameters":{"id":66698,"nodeType":"ParameterList","parameters":[],"src":"5594:2:95"}},{"id":66705,"nodeType":"ErrorDefinition","src":"5602:73:95","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5608:22:95","parameters":{"id":66704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66701,"mutability":"mutable","name":"sentAmount","nameLocation":"5639:10:95","nodeType":"VariableDeclaration","scope":66705,"src":"5631:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66700,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66703,"mutability":"mutable","name":"requiredAmount","nameLocation":"5659:14:95","nodeType":"VariableDeclaration","scope":66705,"src":"5651:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66702,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5630:44:95"}},{"id":66707,"nodeType":"ErrorDefinition","src":"5680:23:95","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5686:14:95","parameters":{"id":66706,"nodeType":"ParameterList","parameters":[],"src":"5700:2:95"}},{"id":66711,"nodeType":"ErrorDefinition","src":"5708:47:95","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5714:19:95","parameters":{"id":66710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66709,"mutability":"mutable","name":"_proposalId","nameLocation":"5742:11:95","nodeType":"VariableDeclaration","scope":66711,"src":"5734:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66708,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:21:95"}},{"id":66713,"nodeType":"ErrorDefinition","src":"5760:31:95","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5766:22:95","parameters":{"id":66712,"nodeType":"ParameterList","parameters":[],"src":"5788:2:95"}},{"id":66719,"nodeType":"ErrorDefinition","src":"5796:55:95","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5802:13:95","parameters":{"id":66718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66715,"mutability":"mutable","name":"submitter","nameLocation":"5824:9:95","nodeType":"VariableDeclaration","scope":66719,"src":"5816:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66714,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66717,"mutability":"mutable","name":"sender","nameLocation":"5843:6:95","nodeType":"VariableDeclaration","scope":66719,"src":"5835:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66716,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5815:35:95"}},{"id":66721,"nodeType":"ErrorDefinition","src":"5937:28:95","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5943:19:95","parameters":{"id":66720,"nodeType":"ParameterList","parameters":[],"src":"5962:2:95"}},{"id":66727,"nodeType":"ErrorDefinition","src":"5970:75:95","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5976:24:95","parameters":{"id":66726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66723,"mutability":"mutable","name":"_proposalId","nameLocation":"6009:11:95","nodeType":"VariableDeclaration","scope":66727,"src":"6001:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66722,"name":"uint256","nodeType":"ElementaryTypeName","src":"6001:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66725,"mutability":"mutable","name":"_remainingSec","nameLocation":"6030:13:95","nodeType":"VariableDeclaration","scope":66727,"src":"6022:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66724,"name":"uint256","nodeType":"ElementaryTypeName","src":"6022:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6000:44:95"}},{"id":66734,"nodeType":"EventDefinition","src":"6217:74:95","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6223:13:95","parameters":{"id":66733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66729,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6245:6:95","nodeType":"VariableDeclaration","scope":66734,"src":"6237:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66728,"name":"uint256","nodeType":"ElementaryTypeName","src":"6237:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66732,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6285:4:95","nodeType":"VariableDeclaration","scope":66734,"src":"6253:36:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":66731,"nodeType":"UserDefinedTypeName","pathNode":{"id":66730,"name":"StrategyStruct.InitializeParams","nameLocations":["6253:14:95","6268:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"6253:31:95"},"referencedDeclaration":66615,"src":"6253:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6236:54:95"}},{"id":66742,"nodeType":"EventDefinition","src":"6296:75:95","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6302:11:95","parameters":{"id":66741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66736,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6322:10:95","nodeType":"VariableDeclaration","scope":66742,"src":"6314:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66735,"name":"uint256","nodeType":"ElementaryTypeName","src":"6314:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66738,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6342:11:95","nodeType":"VariableDeclaration","scope":66742,"src":"6334:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66737,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66740,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6363:6:95","nodeType":"VariableDeclaration","scope":66742,"src":"6355:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66739,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6313:57:95"}},{"id":66748,"nodeType":"EventDefinition","src":"6376:58:95","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6382:15:95","parameters":{"id":66747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66744,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6406:6:95","nodeType":"VariableDeclaration","scope":66748,"src":"6398:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66743,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66746,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6422:10:95","nodeType":"VariableDeclaration","scope":66748,"src":"6414:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66745,"name":"uint256","nodeType":"ElementaryTypeName","src":"6414:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:36:95"}},{"id":66752,"nodeType":"EventDefinition","src":"6439:42:95","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6445:19:95","parameters":{"id":66751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66750,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6473:6:95","nodeType":"VariableDeclaration","scope":66752,"src":"6465:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66749,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:16:95"}},{"id":66756,"nodeType":"EventDefinition","src":"6486:40:95","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6492:17:95","parameters":{"id":66755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66754,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6518:6:95","nodeType":"VariableDeclaration","scope":66756,"src":"6510:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66753,"name":"address","nodeType":"ElementaryTypeName","src":"6510:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6509:16:95"}},{"id":66764,"nodeType":"EventDefinition","src":"6531:85:95","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6537:14:95","parameters":{"id":66763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66758,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6560:6:95","nodeType":"VariableDeclaration","scope":66764,"src":"6552:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66757,"name":"address","nodeType":"ElementaryTypeName","src":"6552:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66760,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6576:12:95","nodeType":"VariableDeclaration","scope":66764,"src":"6568:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66759,"name":"uint256","nodeType":"ElementaryTypeName","src":"6568:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66762,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6598:16:95","nodeType":"VariableDeclaration","scope":66764,"src":"6590:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66761,"name":"uint256","nodeType":"ElementaryTypeName","src":"6590:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:64:95"}},{"id":66772,"nodeType":"EventDefinition","src":"6621:87:95","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6627:14:95","parameters":{"id":66771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66766,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6650:6:95","nodeType":"VariableDeclaration","scope":66772,"src":"6642:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66765,"name":"address","nodeType":"ElementaryTypeName","src":"6642:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66768,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6666:14:95","nodeType":"VariableDeclaration","scope":66772,"src":"6658:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66767,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66770,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6690:16:95","nodeType":"VariableDeclaration","scope":66772,"src":"6682:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66769,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6641:66:95"}},{"id":66784,"nodeType":"EventDefinition","src":"6713:134:95","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6719:12:95","parameters":{"id":66783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66774,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6749:4:95","nodeType":"VariableDeclaration","scope":66784,"src":"6741:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66773,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66776,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6763:10:95","nodeType":"VariableDeclaration","scope":66784,"src":"6755:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66775,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66778,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6783:6:95","nodeType":"VariableDeclaration","scope":66784,"src":"6775:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66777,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66780,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6799:17:95","nodeType":"VariableDeclaration","scope":66784,"src":"6791:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66779,"name":"uint256","nodeType":"ElementaryTypeName","src":"6791:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66782,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6826:14:95","nodeType":"VariableDeclaration","scope":66784,"src":"6818:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66781,"name":"uint256","nodeType":"ElementaryTypeName","src":"6818:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6731:115:95"}},{"id":66789,"nodeType":"EventDefinition","src":"6852:56:95","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6858:15:95","parameters":{"id":66788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66787,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6898:8:95","nodeType":"VariableDeclaration","scope":66789,"src":"6874:32:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":66786,"nodeType":"UserDefinedTypeName","pathNode":{"id":66785,"name":"StrategyStruct.CVParams","nameLocations":["6874:14:95","6889:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"6874:23:95"},"referencedDeclaration":66595,"src":"6874:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"6873:34:95"}},{"id":66793,"nodeType":"EventDefinition","src":"6913:49:95","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6919:15:95","parameters":{"id":66792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66791,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6943:17:95","nodeType":"VariableDeclaration","scope":66793,"src":"6935:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66790,"name":"address","nodeType":"ElementaryTypeName","src":"6935:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6934:27:95"}},{"id":66799,"nodeType":"EventDefinition","src":"6967:76:95","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6973:25:95","parameters":{"id":66798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66795,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7007:6:95","nodeType":"VariableDeclaration","scope":66799,"src":"6999:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66794,"name":"uint256","nodeType":"ElementaryTypeName","src":"6999:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66797,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7023:18:95","nodeType":"VariableDeclaration","scope":66799,"src":"7015:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66796,"name":"uint256","nodeType":"ElementaryTypeName","src":"7015:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6998:44:95"}},{"id":66814,"nodeType":"EventDefinition","src":"7048:195:95","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7054:16:95","parameters":{"id":66813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66802,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7092:10:95","nodeType":"VariableDeclaration","scope":66814,"src":"7080:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":66801,"nodeType":"UserDefinedTypeName","pathNode":{"id":66800,"name":"IArbitrator","nameLocations":["7080:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"7080:11:95"},"referencedDeclaration":74765,"src":"7080:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":66804,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7120:10:95","nodeType":"VariableDeclaration","scope":66814,"src":"7112:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66803,"name":"uint256","nodeType":"ElementaryTypeName","src":"7112:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66806,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7148:9:95","nodeType":"VariableDeclaration","scope":66814,"src":"7140:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66805,"name":"uint256","nodeType":"ElementaryTypeName","src":"7140:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66808,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7175:10:95","nodeType":"VariableDeclaration","scope":66814,"src":"7167:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66807,"name":"address","nodeType":"ElementaryTypeName","src":"7167:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66810,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7202:7:95","nodeType":"VariableDeclaration","scope":66814,"src":"7195:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66809,"name":"string","nodeType":"ElementaryTypeName","src":"7195:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":66812,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7227:9:95","nodeType":"VariableDeclaration","scope":66814,"src":"7219:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66811,"name":"uint256","nodeType":"ElementaryTypeName","src":"7219:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:172:95"}},{"id":66822,"nodeType":"EventDefinition","src":"7248:88:95","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7254:21:95","parameters":{"id":66821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66816,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7284:8:95","nodeType":"VariableDeclaration","scope":66822,"src":"7276:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66815,"name":"address","nodeType":"ElementaryTypeName","src":"7276:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66818,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7302:10:95","nodeType":"VariableDeclaration","scope":66822,"src":"7294:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66817,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66820,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7322:12:95","nodeType":"VariableDeclaration","scope":66822,"src":"7314:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66819,"name":"address","nodeType":"ElementaryTypeName","src":"7314:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7275:60:95"}},{"id":66826,"nodeType":"EventDefinition","src":"7341:44:95","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7347:17:95","parameters":{"id":66825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66824,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7373:10:95","nodeType":"VariableDeclaration","scope":66826,"src":"7365:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66823,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7364:20:95"}},{"id":66843,"nodeType":"EventDefinition","src":"7390:302:95","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7396:23:95","parameters":{"id":66842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66828,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7437:30:95","nodeType":"VariableDeclaration","scope":66843,"src":"7429:38:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66827,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66831,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7489:10:95","nodeType":"VariableDeclaration","scope":66843,"src":"7477:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":66830,"nodeType":"UserDefinedTypeName","pathNode":{"id":66829,"name":"IArbitrator","nameLocations":["7477:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"7477:11:95"},"referencedDeclaration":74765,"src":"7477:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":66833,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7517:12:95","nodeType":"VariableDeclaration","scope":66843,"src":"7509:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66832,"name":"address","nodeType":"ElementaryTypeName","src":"7509:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66835,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7547:25:95","nodeType":"VariableDeclaration","scope":66843,"src":"7539:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66834,"name":"uint256","nodeType":"ElementaryTypeName","src":"7539:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66837,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7590:26:95","nodeType":"VariableDeclaration","scope":66843,"src":"7582:34:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66836,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66839,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7634:13:95","nodeType":"VariableDeclaration","scope":66843,"src":"7626:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66838,"name":"uint256","nodeType":"ElementaryTypeName","src":"7626:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66841,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7665:20:95","nodeType":"VariableDeclaration","scope":66843,"src":"7657:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66840,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7419:272:95"}},{"id":66846,"nodeType":"VariableDeclaration","src":"8066:38:95","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"8089:7:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66844,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":66845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8099:5:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":66849,"nodeType":"VariableDeclaration","src":"8110:36:95","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"8134:1:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66847,"name":"uint256","nodeType":"ElementaryTypeName","src":"8110:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":66848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8138:8:95","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":66852,"nodeType":"VariableDeclaration","src":"8160:71:95","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"8186:7:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66850,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":66851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8196:35:95","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":66855,"nodeType":"VariableDeclaration","src":"8247:70:95","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8273:7:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66853,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":66854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8283:34:95","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":66858,"nodeType":"VariableDeclaration","src":"8333:54:95","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8359:6:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66856,"name":"uint256","nodeType":"ElementaryTypeName","src":"8333:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":66857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:19:95","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":66861,"nodeType":"VariableDeclaration","src":"8402:49:95","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8426:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66859,"name":"uint256","nodeType":"ElementaryTypeName","src":"8402:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":66860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8449:2:95","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":66864,"nodeType":"VariableDeclaration","src":"8537:42:95","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8561:14:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66862,"name":"uint256","nodeType":"ElementaryTypeName","src":"8537:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":66863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8578:1:95","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":66867,"nodeType":"VariableDeclaration","src":"8585:54:95","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8609:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66865,"name":"uint256","nodeType":"ElementaryTypeName","src":"8585:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":66866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8632:7:95","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":66869,"nodeType":"VariableDeclaration","src":"8646:40:95","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8663:23:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66868,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":66871,"nodeType":"VariableDeclaration","src":"8734:47:95","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8751:30:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66870,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":66873,"nodeType":"VariableDeclaration","src":"8825:25:95","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8840:10:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66872,"name":"uint256","nodeType":"ElementaryTypeName","src":"8825:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66875,"nodeType":"VariableDeclaration","src":"8856:26:95","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8870:12:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":66874,"name":"uint64","nodeType":"ElementaryTypeName","src":"8856:6:95","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":66877,"nodeType":"VariableDeclaration","src":"8888:30:95","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8903:15:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66876,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66879,"nodeType":"VariableDeclaration","src":"8924:45:95","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8939:30:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66878,"name":"uint256","nodeType":"ElementaryTypeName","src":"8924:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66881,"nodeType":"VariableDeclaration","src":"8976:26:95","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8991:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66880,"name":"uint256","nodeType":"ElementaryTypeName","src":"8976:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66883,"nodeType":"VariableDeclaration","src":"9008:35:95","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"9023:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66882,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66886,"nodeType":"VariableDeclaration","src":"9050:39:95","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"9081:8:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":66885,"nodeType":"UserDefinedTypeName","pathNode":{"id":66884,"name":"StrategyStruct.CVParams","nameLocations":["9050:14:95","9065:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"9050:23:95"},"referencedDeclaration":66595,"src":"9050:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":66889,"nodeType":"VariableDeclaration","src":"9136:47:95","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"9171:12:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":66888,"nodeType":"UserDefinedTypeName","pathNode":{"id":66887,"name":"StrategyStruct.ProposalType","nameLocations":["9136:14:95","9151:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":66498,"src":"9136:27:95"},"referencedDeclaration":66498,"src":"9136:27:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":66892,"nodeType":"VariableDeclaration","src":"9242:45:95","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9276:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66891,"nodeType":"UserDefinedTypeName","pathNode":{"id":66890,"name":"StrategyStruct.PointSystem","nameLocations":["9242:14:95","9257:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"9242:26:95"},"referencedDeclaration":66503,"src":"9242:26:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":66895,"nodeType":"VariableDeclaration","src":"9293:51:95","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9333:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":66894,"nodeType":"UserDefinedTypeName","pathNode":{"id":66893,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9293:14:95","9308:17:95"],"nodeType":"IdentifierPath","referencedDeclaration":66572,"src":"9293:32:95"},"referencedDeclaration":66572,"src":"9293:32:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":66898,"nodeType":"VariableDeclaration","src":"9377:46:95","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9406:17:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":66897,"nodeType":"UserDefinedTypeName","pathNode":{"id":66896,"name":"RegistryCommunityV0_0","nameLocations":["9377:21:95"],"nodeType":"IdentifierPath","referencedDeclaration":73113,"src":"9377:21:95"},"referencedDeclaration":73113,"src":"9377:21:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":66901,"nodeType":"VariableDeclaration","src":"9430:39:95","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9454:15:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"},"typeName":{"id":66900,"nodeType":"UserDefinedTypeName","pathNode":{"id":66899,"name":"ICollateralVault","nameLocations":["9430:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":74798,"src":"9430:16:95"},"referencedDeclaration":74798,"src":"9430:16:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":66904,"nodeType":"VariableDeclaration","src":"9475:31:95","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9495:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"},"typeName":{"id":66903,"nodeType":"UserDefinedTypeName","pathNode":{"id":66902,"name":"ISybilScorer","nameLocations":["9475:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":70536,"src":"9475:12:95"},"referencedDeclaration":70536,"src":"9475:12:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":66909,"nodeType":"VariableDeclaration","src":"9573:60:95","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9624:9:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":66908,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66905,"name":"uint256","nodeType":"ElementaryTypeName","src":"9581:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9573:43:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66907,"nodeType":"UserDefinedTypeName","pathNode":{"id":66906,"name":"StrategyStruct.Proposal","nameLocations":["9592:14:95","9607:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"9592:23:95"},"referencedDeclaration":66564,"src":"9592:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":66913,"nodeType":"VariableDeclaration","src":"9689:53:95","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9724:18:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":66912,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66910,"name":"address","nodeType":"ElementaryTypeName","src":"9697:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9689:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66911,"name":"uint256","nodeType":"ElementaryTypeName","src":"9708:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":66918,"nodeType":"VariableDeclaration","src":"9780:57:95","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9817:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":66917,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66914,"name":"address","nodeType":"ElementaryTypeName","src":"9788:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9780:29:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":66915,"name":"uint256","nodeType":"ElementaryTypeName","src":"9799:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66916,"nodeType":"ArrayTypeName","src":"9799:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":66922,"nodeType":"VariableDeclaration","src":"9875:56:95","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9910:21:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":66921,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66919,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9875:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66920,"name":"uint256","nodeType":"ElementaryTypeName","src":"9894:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":66927,"nodeType":"VariableDeclaration","src":"9937:76:95","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9996:17:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"typeName":{"id":66926,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66923,"name":"uint256","nodeType":"ElementaryTypeName","src":"9945:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9937:51:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66925,"nodeType":"UserDefinedTypeName","pathNode":{"id":66924,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9956:14:95","9971:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"9956:31:95"},"referencedDeclaration":66586,"src":"9956:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}}},"visibility":"public"},{"id":66951,"nodeType":"FunctionDefinition","src":"10266:222:95","nodes":[],"body":{"id":66950,"nodeType":"Block","src":"10373:115:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":66941,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66929,"src":"10394:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":66942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10401:12:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":66943,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66933,"src":"10415:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66938,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10383:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$70168_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":66940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10389:4:95","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":65875,"src":"10383:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":66944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10383:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66945,"nodeType":"ExpressionStatement","src":"10383:38:95"},{"expression":{"id":66948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66946,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66869,"src":"10431:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66947,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66931,"src":"10457:24:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10431:50:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66949,"nodeType":"ExpressionStatement","src":"10431:50:95"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":66936,"kind":"modifierInvocation","modifierName":{"id":66935,"name":"initializer","nameLocations":["10361:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"10361:11:95"},"nodeType":"ModifierInvocation","src":"10361:11:95"}],"name":"init","nameLocation":"10275:4:95","parameters":{"id":66934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66929,"mutability":"mutable","name":"_allo","nameLocation":"10288:5:95","nodeType":"VariableDeclaration","scope":66951,"src":"10280:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66928,"name":"address","nodeType":"ElementaryTypeName","src":"10280:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66931,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10303:24:95","nodeType":"VariableDeclaration","scope":66951,"src":"10295:32:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66930,"name":"address","nodeType":"ElementaryTypeName","src":"10295:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66933,"mutability":"mutable","name":"owner","nameLocation":"10337:5:95","nodeType":"VariableDeclaration","scope":66951,"src":"10329:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66932,"name":"address","nodeType":"ElementaryTypeName","src":"10329:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10279:64:95"},"returnParameters":{"id":66937,"nodeType":"ParameterList","parameters":[],"src":"10373:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67047,"nodeType":"FunctionDefinition","src":"10494:816:95","nodes":[],"body":{"id":67046,"nodeType":"Block","src":"10569:741:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":66961,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66953,"src":"10599:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66960,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66011,"src":"10579:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":66962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10579:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66963,"nodeType":"ExpressionStatement","src":"10579:28:95"},{"expression":{"id":66973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66964,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"10618:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66968,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66869,"src":"10671:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10696:12:95","subExpression":{"id":66969,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66873,"src":"10696:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66966,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10653:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":66967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10659:11:95","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10653:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":66971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10653:56:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66965,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74798,"src":"10636:16:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$74798_$","typeString":"type(contract ICollateralVault)"}},"id":66972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10636:74:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"src":"10618:92:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":66974,"nodeType":"ExpressionStatement","src":"10618:92:95"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66975,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"10720:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":66977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10736:10:95","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":74770,"src":"10720:26:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66979,"nodeType":"ExpressionStatement","src":"10720:28:95"},{"assignments":[66984],"declarations":[{"constant":false,"id":66984,"mutability":"mutable","name":"ip","nameLocation":"10798:2:95","nodeType":"VariableDeclaration","scope":67046,"src":"10759:41:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":66983,"nodeType":"UserDefinedTypeName","pathNode":{"id":66982,"name":"StrategyStruct.InitializeParams","nameLocations":["10759:14:95","10774:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"10759:31:95"},"referencedDeclaration":66615,"src":"10759:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":66992,"initialValue":{"arguments":[{"id":66987,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66955,"src":"10814:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66988,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"10822:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":66989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10837:16:95","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":66615,"src":"10822:31:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$66615_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":66990,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10821:33:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$66615_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$66615_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":66985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10803:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10807:6:95","memberName":"decode","nodeType":"MemberAccess","src":"10803:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10803:52:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10759:96:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66993,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"10870:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10873:17:95","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":66612,"src":"10870:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10902:1:95","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":66996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10894:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66995,"name":"address","nodeType":"ElementaryTypeName","src":"10894:7:95","typeDescriptions":{}}},"id":66998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10894:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10870:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67004,"nodeType":"IfStatement","src":"10866:94:95","trueBody":{"id":67003,"nodeType":"Block","src":"10906:54:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67000,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66647,"src":"10927:20:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10927:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67002,"nodeType":"RevertStatement","src":"10920:29:95"}]}},{"expression":{"id":67010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67005,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"10970:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":67007,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11012:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67008,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11015:17:95","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":66612,"src":"11012:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67006,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73113,"src":"10990:21:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$73113_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":67009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:43:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"src":"10970:63:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67011,"nodeType":"ExpressionStatement","src":"10970:63:95"},{"expression":{"id":67015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67012,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66889,"src":"11044:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67013,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11059:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11062:12:95","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":66601,"src":"11059:15:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"11044:30:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"id":67016,"nodeType":"ExpressionStatement","src":"11044:30:95"},{"expression":{"id":67020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67017,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"11084:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67018,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11098:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11101:11:95","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":66604,"src":"11098:14:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"11084:28:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"id":67021,"nodeType":"ExpressionStatement","src":"11084:28:95"},{"expression":{"id":67025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67022,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"11122:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67023,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11136:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11139:11:95","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":66607,"src":"11136:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"11122:28:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67026,"nodeType":"ExpressionStatement","src":"11122:28:95"},{"expression":{"id":67032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67027,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"11160:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":67029,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11187:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11190:11:95","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":66614,"src":"11187:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67028,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"11174:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70536_$","typeString":"type(contract ISybilScorer)"}},"id":67031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11174:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"src":"11160:42:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"id":67033,"nodeType":"ExpressionStatement","src":"11160:42:95"},{"expression":{"arguments":[{"expression":{"id":67035,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11228:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11231:16:95","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":66610,"src":"11228:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":67037,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11249:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11252:8:95","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":66598,"src":"11249:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":67034,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69553,"src":"11213:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$66586_memory_ptr_$_t_struct$_CVParams_$66595_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":67039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11213:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67040,"nodeType":"ExpressionStatement","src":"11213:48:95"},{"eventCall":{"arguments":[{"id":67042,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66953,"src":"11291:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67043,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11300:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":67041,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66734,"src":"11277:13:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$66615_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11277:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67045,"nodeType":"EmitStatement","src":"11272:31:95"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":66958,"kind":"modifierInvocation","modifierName":{"id":66957,"name":"onlyAllo","nameLocations":["10560:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":65883,"src":"10560:8:95"},"nodeType":"ModifierInvocation","src":"10560:8:95"}],"name":"initialize","nameLocation":"10503:10:95","parameters":{"id":66956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66953,"mutability":"mutable","name":"_poolId","nameLocation":"10522:7:95","nodeType":"VariableDeclaration","scope":67047,"src":"10514:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66952,"name":"uint256","nodeType":"ElementaryTypeName","src":"10514:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66955,"mutability":"mutable","name":"_data","nameLocation":"10544:5:95","nodeType":"VariableDeclaration","scope":67047,"src":"10531:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66954,"name":"bytes","nodeType":"ElementaryTypeName","src":"10531:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10513:37:95"},"returnParameters":{"id":66959,"nodeType":"ParameterList","parameters":[],"src":"10569:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67051,"nodeType":"FunctionDefinition","src":"11481:83:95","nodes":[],"body":{"id":67050,"nodeType":"Block","src":"11509:55:95","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":67048,"nodeType":"ParameterList","parameters":[],"src":"11489:2:95"},"returnParameters":{"id":67049,"nodeType":"ParameterList","parameters":[],"src":"11509:0:95"},"scope":70168,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":67055,"nodeType":"FunctionDefinition","src":"11570:135:95","nodes":[],"body":{"id":67054,"nodeType":"Block","src":"11597:108:95","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":67052,"nodeType":"ParameterList","parameters":[],"src":"11577:2:95"},"returnParameters":{"id":67053,"nodeType":"ParameterList","parameters":[],"src":"11597:0:95"},"scope":70168,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":67076,"nodeType":"FunctionDefinition","src":"11711:202:95","nodes":[],"body":{"id":67075,"nodeType":"Block","src":"11802:111:95","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":67068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67063,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67057,"src":"11819:11:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":67065,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"11839:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}],"id":67064,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11834:4:95","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":67066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11834:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$66494","typeString":"type(contract IPointStrategy)"}},"id":67067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11855:11:95","memberName":"interfaceId","nodeType":"MemberAccess","src":"11834:32:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11819:47:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":67071,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67057,"src":"11894:11:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67069,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11870:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$70168_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":67070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11876:17:95","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57029,"src":"11870:23:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":67072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11870:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11819:87:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67062,"id":67074,"nodeType":"Return","src":"11812:94:95"}]},"baseFunctions":[57029],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11720:17:95","overrides":{"id":67059,"nodeType":"OverrideSpecifier","overrides":[],"src":"11778:8:95"},"parameters":{"id":67058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67057,"mutability":"mutable","name":"interfaceId","nameLocation":"11745:11:95","nodeType":"VariableDeclaration","scope":67076,"src":"11738:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":67056,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11738:6:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11737:20:95"},"returnParameters":{"id":67062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67076,"src":"11796:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67060,"name":"bool","nodeType":"ElementaryTypeName","src":"11796:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11795:6:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67117,"nodeType":"FunctionDefinition","src":"12084:386:95","nodes":[],"body":{"id":67116,"nodeType":"Block","src":"12152:318:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67081,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"12166:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12185:1:95","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":67083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12177:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67082,"name":"address","nodeType":"ElementaryTypeName","src":"12177:7:95","typeDescriptions":{}}},"id":67085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12166:21:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67091,"nodeType":"IfStatement","src":"12162:77:95","trueBody":{"id":67090,"nodeType":"Block","src":"12189:50:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67087,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66627,"src":"12210:16:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12210:18:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67089,"nodeType":"RevertStatement","src":"12203:25:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67094,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12260:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":67093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12252:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67092,"name":"address","nodeType":"ElementaryTypeName","src":"12252:7:95","typeDescriptions":{}}},"id":67095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12252:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12290:1:95","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":67097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12282:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67096,"name":"address","nodeType":"ElementaryTypeName","src":"12282:7:95","typeDescriptions":{}}},"id":67099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12252:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67105,"nodeType":"IfStatement","src":"12248:100:95","trueBody":{"id":67104,"nodeType":"Block","src":"12294:54:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67101,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66647,"src":"12315:20:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12315:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67103,"nodeType":"RevertStatement","src":"12308:29:95"}]}},{"condition":{"id":67110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12361:36:95","subExpression":{"arguments":[{"id":67108,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"12389:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67106,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12362:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12380:8:95","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":72730,"src":"12362:26:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":67109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12362:35:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67115,"nodeType":"IfStatement","src":"12357:93:95","trueBody":{"id":67114,"nodeType":"Block","src":"12399:51:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67111,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66629,"src":"12420:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12420:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67113,"nodeType":"RevertStatement","src":"12413:26:95"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"12093:19:95","parameters":{"id":67079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67078,"mutability":"mutable","name":"_sender","nameLocation":"12121:7:95","nodeType":"VariableDeclaration","scope":67117,"src":"12113:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67077,"name":"address","nodeType":"ElementaryTypeName","src":"12113:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12112:17:95"},"returnParameters":{"id":67080,"nodeType":"ParameterList","parameters":[],"src":"12152:0:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67133,"nodeType":"FunctionDefinition","src":"12476:171:95","nodes":[],"body":{"id":67132,"nodeType":"Block","src":"12531:116:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67120,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12545:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12549:6:95","memberName":"sender","nodeType":"MemberAccess","src":"12545:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":67124,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12567:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":67123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12559:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67122,"name":"address","nodeType":"ElementaryTypeName","src":"12559:7:95","typeDescriptions":{}}},"id":67125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12559:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12545:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67131,"nodeType":"IfStatement","src":"12541:100:95","trueBody":{"id":67130,"nodeType":"Block","src":"12587:54:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67127,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66687,"src":"12608:20:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12608:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67129,"nodeType":"RevertStatement","src":"12601:29:95"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12485:21:95","parameters":{"id":67118,"nodeType":"ParameterList","parameters":[],"src":"12506:2:95"},"returnParameters":{"id":67119,"nodeType":"ParameterList","parameters":[],"src":"12531:0:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67149,"nodeType":"FunctionDefinition","src":"12653:141:95","nodes":[],"body":{"id":67148,"nodeType":"Block","src":"12721:73:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67138,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67135,"src":"12735:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12755:1:95","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":67140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12747:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67139,"name":"address","nodeType":"ElementaryTypeName","src":"12747:7:95","typeDescriptions":{}}},"id":67142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12747:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12735:22:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67147,"nodeType":"IfStatement","src":"12731:56:95","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67144,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66645,"src":"12766:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12766:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67146,"nodeType":"RevertStatement","src":"12759:28:95"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12662:18:95","parameters":{"id":67136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67135,"mutability":"mutable","name":"_address","nameLocation":"12689:8:95","nodeType":"VariableDeclaration","scope":67149,"src":"12681:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67134,"name":"address","nodeType":"ElementaryTypeName","src":"12681:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12680:18:95"},"returnParameters":{"id":67137,"nodeType":"ParameterList","parameters":[],"src":"12721:0:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67167,"nodeType":"FunctionDefinition","src":"12800:174:95","nodes":[],"body":{"id":67166,"nodeType":"Block","src":"12849:125:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67152,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12863:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12867:6:95","memberName":"sender","nodeType":"MemberAccess","src":"12863:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67156,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12885:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:11:95","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71426,"src":"12885:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74891_$","typeString":"function () view external returns (contract ISafe)"}},"id":67158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12885:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":67155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12877:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67154,"name":"address","nodeType":"ElementaryTypeName","src":"12877:7:95","typeDescriptions":{}}},"id":67159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12877:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12863:54:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67165,"nodeType":"IfStatement","src":"12859:109:95","trueBody":{"id":67164,"nodeType":"Block","src":"12919:49:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67161,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66697,"src":"12940:15:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12940:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67163,"nodeType":"RevertStatement","src":"12933:24:95"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12809:15:95","parameters":{"id":67150,"nodeType":"ParameterList","parameters":[],"src":"12824:2:95"},"returnParameters":{"id":67151,"nodeType":"ParameterList","parameters":[],"src":"12849:0:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67197,"nodeType":"FunctionDefinition","src":"12980:238:95","nodes":[],"body":{"id":67196,"nodeType":"Block","src":"13059:159:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67176,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"13081:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}],"id":67175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13073:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67174,"name":"address","nodeType":"ElementaryTypeName","src":"13073:7:95","typeDescriptions":{}}},"id":67177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13073:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13105:1:95","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":67179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13097:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67178,"name":"address","nodeType":"ElementaryTypeName","src":"13097:7:95","typeDescriptions":{}}},"id":67181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13097:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13073:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67186,"nodeType":"IfStatement","src":"13069:76:95","trueBody":{"id":67185,"nodeType":"Block","src":"13109:36:95","statements":[{"expression":{"hexValue":"74727565","id":67183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13130:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":67173,"id":67184,"nodeType":"Return","src":"13123:11:95"}]}},{"expression":{"arguments":[{"id":67189,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67169,"src":"13190:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67192,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13205:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13197:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67190,"name":"address","nodeType":"ElementaryTypeName","src":"13197:7:95","typeDescriptions":{}}},"id":67193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13197:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67187,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"13161:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"id":67188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13173:16:95","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70493,"src":"13161:28:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13161:50:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67173,"id":67195,"nodeType":"Return","src":"13154:57:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12989:17:95","parameters":{"id":67170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67169,"mutability":"mutable","name":"_user","nameLocation":"13015:5:95","nodeType":"VariableDeclaration","scope":67197,"src":"13007:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67168,"name":"address","nodeType":"ElementaryTypeName","src":"13007:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13006:15:95"},"returnParameters":{"id":67173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67172,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67197,"src":"13053:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67171,"name":"bool","nodeType":"ElementaryTypeName","src":"13053:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13052:6:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67209,"nodeType":"FunctionDefinition","src":"13224:124:95","nodes":[],"body":{"id":67208,"nodeType":"Block","src":"13297:51:95","nodes":[],"statements":[{"expression":{"id":67206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67204,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66869,"src":"13307:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67205,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67199,"src":"13333:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13307:34:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67207,"nodeType":"ExpressionStatement","src":"13307:34:95"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":67202,"kind":"modifierInvocation","modifierName":{"id":67201,"name":"onlyOwner","nameLocations":["13287:9:95"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"13287:9:95"},"nodeType":"ModifierInvocation","src":"13287:9:95"}],"name":"setCollateralVaultTemplate","nameLocation":"13233:26:95","parameters":{"id":67200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67199,"mutability":"mutable","name":"template","nameLocation":"13268:8:95","nodeType":"VariableDeclaration","scope":67209,"src":"13260:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67198,"name":"address","nodeType":"ElementaryTypeName","src":"13260:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13259:18:95"},"returnParameters":{"id":67203,"nodeType":"ParameterList","parameters":[],"src":"13297:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67450,"nodeType":"FunctionDefinition","src":"13674:2691:95","nodes":[],"body":{"id":67449,"nodeType":"Block","src":"13775:2590:95","nodes":[],"statements":[{"condition":{"id":67222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13789:27:95","subExpression":{"arguments":[{"id":67220,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67213,"src":"13808:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67219,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"13790:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13790:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67227,"nodeType":"IfStatement","src":"13785:90:95","trueBody":{"id":67226,"nodeType":"Block","src":"13818:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67223,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"13839:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13839:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67225,"nodeType":"RevertStatement","src":"13832:32:95"}]}},{"expression":{"id":67228,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67211,"src":"13929:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67229,"nodeType":"ExpressionStatement","src":"13929:5:95"},{"assignments":[67234],"declarations":[{"constant":false,"id":67234,"mutability":"mutable","name":"proposal","nameLocation":"13981:8:95","nodeType":"VariableDeclaration","scope":67449,"src":"13944:45:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":67233,"nodeType":"UserDefinedTypeName","pathNode":{"id":67232,"name":"StrategyStruct.CreateProposal","nameLocations":["13944:14:95","13959:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66515,"src":"13944:29:95"},"referencedDeclaration":66515,"src":"13944:29:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":67242,"initialValue":{"arguments":[{"id":67237,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67211,"src":"14003:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":67238,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"14011:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14026:14:95","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":66515,"src":"14011:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$66515_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":67240,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14010:31:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$66515_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$66515_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":67235,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13992:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13996:6:95","memberName":"decode","nodeType":"MemberAccess","src":"13992:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13992:50:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13944:98:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67243,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14157:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14166:6:95","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":66505,"src":"14157:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14176:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14157:20:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67251,"nodeType":"IfStatement","src":"14153:78:95","trueBody":{"id":67250,"nodeType":"Block","src":"14179:52:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67247,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66643,"src":"14200:18:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14200:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67249,"nodeType":"RevertStatement","src":"14193:27:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"id":67256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67252,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66889,"src":"14307:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67253,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"14323:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14338:12:95","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":66498,"src":"14323:27:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$66498_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":67255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14351:7:95","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":66496,"src":"14323:35:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"14307:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67312,"nodeType":"IfStatement","src":"14303:764:95","trueBody":{"id":67311,"nodeType":"Block","src":"14360:707:95","statements":[{"expression":{"arguments":[{"expression":{"id":67258,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14393:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14402:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66507,"src":"14393:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67257,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67149,"src":"14374:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":67260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14374:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67261,"nodeType":"ExpressionStatement","src":"14374:40:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67262,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14480:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14489:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66511,"src":"14480:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14515:1:95","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":67265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14507:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67264,"name":"address","nodeType":"ElementaryTypeName","src":"14507:7:95","typeDescriptions":{}}},"id":67267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14507:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14480:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67273,"nodeType":"IfStatement","src":"14476:102:95","trueBody":{"id":67272,"nodeType":"Block","src":"14519:59:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67269,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66637,"src":"14544:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14544:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67271,"nodeType":"RevertStatement","src":"14537:26:95"}]}},{"assignments":[67276],"declarations":[{"constant":false,"id":67276,"mutability":"mutable","name":"_allo","nameLocation":"14597:5:95","nodeType":"VariableDeclaration","scope":67311,"src":"14591:11:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":67275,"nodeType":"UserDefinedTypeName","pathNode":{"id":67274,"name":"IAllo","nameLocations":["14591:5:95"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14591:5:95"},"referencedDeclaration":2610,"src":"14591:5:95","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":67280,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67277,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14605:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}},"id":67278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14610:7:95","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":65929,"src":"14605:12:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":67279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14605:14:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14591:28:95"},{"assignments":[67285],"declarations":[{"constant":false,"id":67285,"mutability":"mutable","name":"pool","nameLocation":"14651:4:95","nodeType":"VariableDeclaration","scope":67311,"src":"14633:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67284,"nodeType":"UserDefinedTypeName","pathNode":{"id":67283,"name":"IAllo.Pool","nameLocations":["14633:5:95","14639:4:95"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14633:10:95"},"referencedDeclaration":2319,"src":"14633:10:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67291,"initialValue":{"arguments":[{"expression":{"id":67288,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14672:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14681:6:95","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":66505,"src":"14672:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67286,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67276,"src":"14658:5:95","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14664:7:95","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14658:13:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:30:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14633:55:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67292,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14706:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14715:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66511,"src":"14706:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":67294,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67285,"src":"14733:4:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14738:5:95","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14733:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14706:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67301,"nodeType":"IfStatement","src":"14702:235:95","trueBody":{"id":67300,"nodeType":"Block","src":"14745:192:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67297,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66639,"src":"14905:15:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14905:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67299,"nodeType":"RevertStatement","src":"14898:24:95"}]}},{"condition":{"arguments":[{"expression":{"id":67303,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14970:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14979:15:95","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":66509,"src":"14970:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67302,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68636,"src":"14954:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14954:41:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67310,"nodeType":"IfStatement","src":"14950:107:95","trueBody":{"id":67309,"nodeType":"Block","src":"14997:60:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67306,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66641,"src":"15022:18:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15022:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67308,"nodeType":"RevertStatement","src":"15015:27:95"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":67315,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"15102:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67317,"indexExpression":{"id":67316,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"15120:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15102:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15152:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"15102:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":67314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15094:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67313,"name":"address","nodeType":"ElementaryTypeName","src":"15094:7:95","typeDescriptions":{}}},"id":67319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15094:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15175:1:95","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":67321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15167:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67320,"name":"address","nodeType":"ElementaryTypeName","src":"15167:7:95","typeDescriptions":{}}},"id":67323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15167:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15094:83:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67325,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15197:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15201:5:95","memberName":"value","nodeType":"MemberAccess","src":"15197:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67327,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"15209:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67329,"indexExpression":{"id":67328,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"15227:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15209:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15259:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"15209:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15197:87:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15094:190:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67343,"nodeType":"IfStatement","src":"15077:390:95","trueBody":{"id":67342,"nodeType":"Block","src":"15295:172:95","statements":[{"errorCall":{"arguments":[{"expression":{"id":67334,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15356:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15360:5:95","memberName":"value","nodeType":"MemberAccess","src":"15356:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67336,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"15367:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67338,"indexExpression":{"id":67337,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"15385:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15367:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15417:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"15367:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67333,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66705,"src":"15316:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15316:140:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67341,"nodeType":"RevertStatement","src":"15309:147:95"}]}},{"assignments":[67345],"declarations":[{"constant":false,"id":67345,"mutability":"mutable","name":"proposalId","nameLocation":"15485:10:95","nodeType":"VariableDeclaration","scope":67449,"src":"15477:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67344,"name":"uint256","nodeType":"ElementaryTypeName","src":"15477:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67348,"initialValue":{"id":67347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15498:17:95","subExpression":{"id":67346,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66877,"src":"15500:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15477:38:95"},{"assignments":[67353],"declarations":[{"constant":false,"id":67353,"mutability":"mutable","name":"p","nameLocation":"15557:1:95","nodeType":"VariableDeclaration","scope":67449,"src":"15525:33:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67352,"nodeType":"UserDefinedTypeName","pathNode":{"id":67351,"name":"StrategyStruct.Proposal","nameLocations":["15525:14:95","15540:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"15525:23:95"},"referencedDeclaration":66564,"src":"15525:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67357,"initialValue":{"baseExpression":{"id":67354,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"15561:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67356,"indexExpression":{"id":67355,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"15571:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15561:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15525:57:95"},{"expression":{"id":67362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67358,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15593:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15595:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"15593:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67361,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"15608:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15593:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67363,"nodeType":"ExpressionStatement","src":"15593:25:95"},{"expression":{"id":67368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67364,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15628:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15630:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"15628:11:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67367,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67213,"src":"15642:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15628:21:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67369,"nodeType":"ExpressionStatement","src":"15628:21:95"},{"expression":{"id":67375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67370,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15659:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15661:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"15659:13:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"15675:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15684:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66507,"src":"15675:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15659:36:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67376,"nodeType":"ExpressionStatement","src":"15659:36:95"},{"expression":{"id":67382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67377,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15705:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15707:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66544,"src":"15705:16:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67380,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"15724:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15733:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66511,"src":"15724:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15705:42:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67383,"nodeType":"ExpressionStatement","src":"15705:42:95"},{"expression":{"id":67389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67384,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15757:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15759:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"15757:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67387,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"15777:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67388,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15786:15:95","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":66509,"src":"15777:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15757:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67390,"nodeType":"ExpressionStatement","src":"15757:44:95"},{"expression":{"id":67397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67391,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15862:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15864:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"15862:16:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":67394,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"15881:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15896:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"15881:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15911:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"15881:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15862:55:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":67398,"nodeType":"ExpressionStatement","src":"15862:55:95"},{"expression":{"id":67404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67399,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15927:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15929:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"15927:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67402,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15941:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":67403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15947:6:95","memberName":"number","nodeType":"MemberAccess","src":"15941:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15927:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67405,"nodeType":"ExpressionStatement","src":"15927:26:95"},{"expression":{"id":67410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67406,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15963:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15965:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"15963:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15982:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15963:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67411,"nodeType":"ExpressionStatement","src":"15963:20:95"},{"expression":{"id":67417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67412,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"16029:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16031:8:95","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":66556,"src":"16029:10:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67415,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"16042:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16051:8:95","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":66514,"src":"16042:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"16029:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":67418,"nodeType":"ExpressionStatement","src":"16029:30:95"},{"expression":{"id":67423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67419,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"16069:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16071:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"16069:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67422,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"16097:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16069:58:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67424,"nodeType":"ExpressionStatement","src":"16069:58:95"},{"expression":{"arguments":[{"id":67431,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"16189:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67432,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"16201:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16203:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"16201:11:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67425,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"16137:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":67427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16153:17:95","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74777,"src":"16137:33:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":67430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":67428,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16178:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16182:5:95","memberName":"value","nodeType":"MemberAccess","src":"16178:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"16137:51:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":67434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:76:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67435,"nodeType":"ExpressionStatement","src":"16137:76:95"},{"eventCall":{"arguments":[{"id":67437,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65839,"src":"16245:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67438,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"16253:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67436,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66748,"src":"16229:15:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":67439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16229:35:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67440,"nodeType":"EmitStatement","src":"16224:40:95"},{"expression":{"arguments":[{"arguments":[{"id":67445,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"16346:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16338:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":67443,"name":"uint160","nodeType":"ElementaryTypeName","src":"16338:7:95","typeDescriptions":{}}},"id":67446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16338:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":67442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16330:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67441,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:95","typeDescriptions":{}}},"id":67447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16330:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":67218,"id":67448,"nodeType":"Return","src":"16323:35:95"}]},"baseFunctions":[66317],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13683:18:95","overrides":{"id":67215,"nodeType":"OverrideSpecifier","overrides":[],"src":"13748:8:95"},"parameters":{"id":67214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67211,"mutability":"mutable","name":"_data","nameLocation":"13715:5:95","nodeType":"VariableDeclaration","scope":67450,"src":"13702:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67210,"name":"bytes","nodeType":"ElementaryTypeName","src":"13702:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67213,"mutability":"mutable","name":"_sender","nameLocation":"13730:7:95","nodeType":"VariableDeclaration","scope":67450,"src":"13722:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67212,"name":"address","nodeType":"ElementaryTypeName","src":"13722:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13701:37:95"},"returnParameters":{"id":67218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67450,"src":"13766:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67216,"name":"address","nodeType":"ElementaryTypeName","src":"13766:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13765:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67459,"nodeType":"FunctionDefinition","src":"16371:98:95","nodes":[],"body":{"id":67458,"nodeType":"Block","src":"16431:38:95","nodes":[],"statements":[{"expression":{"expression":{"id":67455,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"16448:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16457:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"16448:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67454,"id":67457,"nodeType":"Return","src":"16441:21:95"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16380:8:95","parameters":{"id":67451,"nodeType":"ParameterList","parameters":[],"src":"16388:2:95"},"returnParameters":{"id":67454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67459,"src":"16422:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67452,"name":"uint256","nodeType":"ElementaryTypeName","src":"16422:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16421:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67498,"nodeType":"FunctionDefinition","src":"16475:359:95","nodes":[],"body":{"id":67497,"nodeType":"Block","src":"16518:316:95","nodes":[],"statements":[{"assignments":[67463],"declarations":[{"constant":false,"id":67463,"mutability":"mutable","name":"member","nameLocation":"16536:6:95","nodeType":"VariableDeclaration","scope":67497,"src":"16528:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67462,"name":"address","nodeType":"ElementaryTypeName","src":"16528:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":67466,"initialValue":{"expression":{"id":67464,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16545:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16549:6:95","memberName":"sender","nodeType":"MemberAccess","src":"16545:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16528:27:95"},{"condition":{"id":67470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16569:26:95","subExpression":{"arguments":[{"id":67468,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"16588:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67467,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"16570:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16570:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67475,"nodeType":"IfStatement","src":"16565:89:95","trueBody":{"id":67474,"nodeType":"Block","src":"16597:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67471,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"16618:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16618:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67473,"nodeType":"RevertStatement","src":"16611:32:95"}]}},{"expression":{"arguments":[{"id":67479,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"16706:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67482,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16722:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16714:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67480,"name":"address","nodeType":"ElementaryTypeName","src":"16714:7:95","typeDescriptions":{}}},"id":67483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16714:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67476,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"16663:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16681:24:95","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"16663:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":67484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16663:65:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67485,"nodeType":"ExpressionStatement","src":"16663:65:95"},{"expression":{"id":67495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67486,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"16738:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":67489,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"16805:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67492,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16821:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16813:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67490,"name":"address","nodeType":"ElementaryTypeName","src":"16813:7:95","typeDescriptions":{}}},"id":67493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16813:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67487,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"16762:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16780:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"16762:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16762:65:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16738:89:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67496,"nodeType":"ExpressionStatement","src":"16738:89:95"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16484:14:95","parameters":{"id":67460,"nodeType":"ParameterList","parameters":[],"src":"16498:2:95"},"returnParameters":{"id":67461,"nodeType":"ParameterList","parameters":[],"src":"16518:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67507,"nodeType":"FunctionDefinition","src":"16840:89:95","nodes":[],"body":{"id":67506,"nodeType":"Block","src":"16883:46:95","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":67502,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16911:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16915:6:95","memberName":"sender","nodeType":"MemberAccess","src":"16911:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67501,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67555,"src":"16893:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16893:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67505,"nodeType":"ExpressionStatement","src":"16893:29:95"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16849:16:95","parameters":{"id":67499,"nodeType":"ParameterList","parameters":[],"src":"16865:2:95"},"returnParameters":{"id":67500,"nodeType":"ParameterList","parameters":[],"src":"16883:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":67520,"nodeType":"FunctionDefinition","src":"16935:136:95","nodes":[],"body":{"id":67519,"nodeType":"Block","src":"16995:76:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67512,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67133,"src":"17005:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":67513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17005:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67514,"nodeType":"ExpressionStatement","src":"17005:23:95"},{"expression":{"arguments":[{"id":67516,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67509,"src":"17056:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67515,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67555,"src":"17038:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17038:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67518,"nodeType":"ExpressionStatement","src":"17038:26:95"}]},"baseFunctions":[66469],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16944:16:95","parameters":{"id":67510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67509,"mutability":"mutable","name":"_member","nameLocation":"16969:7:95","nodeType":"VariableDeclaration","scope":67520,"src":"16961:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67508,"name":"address","nodeType":"ElementaryTypeName","src":"16961:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16960:17:95"},"returnParameters":{"id":67511,"nodeType":"ParameterList","parameters":[],"src":"16995:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67555,"nodeType":"FunctionDefinition","src":"17077:359:95","nodes":[],"body":{"id":67554,"nodeType":"Block","src":"17138:298:95","nodes":[],"statements":[{"expression":{"id":67534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67525,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"17148:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":67528,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17215:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67531,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17232:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17224:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67529,"name":"address","nodeType":"ElementaryTypeName","src":"17224:7:95","typeDescriptions":{}}},"id":67532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17224:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67526,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"17172:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17190:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"17172:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17148:90:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67535,"nodeType":"ExpressionStatement","src":"17148:90:95"},{"expression":{"arguments":[{"id":67539,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17293:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67542,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17310:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17302:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67540,"name":"address","nodeType":"ElementaryTypeName","src":"17302:7:95","typeDescriptions":{}}},"id":67543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17302:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67536,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"17248:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17266:26:95","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":72196,"src":"17248:44:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":67544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17248:68:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67545,"nodeType":"ExpressionStatement","src":"17248:68:95"},{"expression":{"arguments":[{"id":67547,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17380:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67546,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68382,"src":"17371:8:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17371:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67549,"nodeType":"ExpressionStatement","src":"17371:17:95"},{"eventCall":{"arguments":[{"id":67551,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17421:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67550,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66756,"src":"17403:17:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17403:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67553,"nodeType":"EmitStatement","src":"17398:31:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"17086:17:95","parameters":{"id":67523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67522,"mutability":"mutable","name":"_member","nameLocation":"17112:7:95","nodeType":"VariableDeclaration","scope":67555,"src":"17104:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67521,"name":"address","nodeType":"ElementaryTypeName","src":"17104:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17103:17:95"},"returnParameters":{"id":67524,"nodeType":"ParameterList","parameters":[],"src":"17138:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67648,"nodeType":"FunctionDefinition","src":"17442:1065:95","nodes":[],"body":{"id":67647,"nodeType":"Block","src":"17541:966:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67564,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67133,"src":"17596:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":67565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17596:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67566,"nodeType":"ExpressionStatement","src":"17596:23:95"},{"condition":{"id":67570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17633:27:95","subExpression":{"arguments":[{"id":67568,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"17652:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67567,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"17634:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17634:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67575,"nodeType":"IfStatement","src":"17629:90:95","trueBody":{"id":67574,"nodeType":"Block","src":"17662:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67571,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"17683:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67573,"nodeType":"RevertStatement","src":"17676:32:95"}]}},{"assignments":[67577],"declarations":[{"constant":false,"id":67577,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17736:16:95","nodeType":"VariableDeclaration","scope":67647,"src":"17728:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67576,"name":"uint256","nodeType":"ElementaryTypeName","src":"17728:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67579,"initialValue":{"hexValue":"30","id":67578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17755:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17728:28:95"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67580,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"17770:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67581,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"17785:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17800:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"17785:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17812:9:95","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":66501,"src":"17785:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"17770:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67592,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"17915:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67593,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"17930:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17945:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"17930:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17957:6:95","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":66500,"src":"17930:33:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"17915:48:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67605,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18063:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67606,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"18078:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18093:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"18078:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18105:9:95","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":66502,"src":"18078:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"18063:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67618,"nodeType":"IfStatement","src":"18059:148:95","trueBody":{"id":67617,"nodeType":"Block","src":"18116:91:95","statements":[{"expression":{"id":67615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67610,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18130:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67612,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18172:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67613,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"18181:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67611,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"18149:22:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":67614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18149:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18130:66:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67616,"nodeType":"ExpressionStatement","src":"18130:66:95"}]}},"id":67619,"nodeType":"IfStatement","src":"17911:296:95","trueBody":{"id":67604,"nodeType":"Block","src":"17965:88:95","statements":[{"expression":{"id":67602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67597,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"17979:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67599,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18018:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67600,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"18027:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67598,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67756,"src":"17998:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":67601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17998:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17979:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67603,"nodeType":"ExpressionStatement","src":"17979:63:95"}]}},"id":67620,"nodeType":"IfStatement","src":"17766:441:95","trueBody":{"id":67591,"nodeType":"Block","src":"17823:82:95","statements":[{"expression":{"id":67589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67585,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"17837:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67587,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"17879:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67586,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67714,"src":"17856:22:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17856:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17837:57:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67590,"nodeType":"ExpressionStatement","src":"17837:57:95"}]}},{"assignments":[67622],"declarations":[{"constant":false,"id":67622,"mutability":"mutable","name":"isActivated","nameLocation":"18221:11:95","nodeType":"VariableDeclaration","scope":67647,"src":"18216:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67621,"name":"bool","nodeType":"ElementaryTypeName","src":"18216:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67631,"initialValue":{"arguments":[{"id":67625,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18281:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67628,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18298:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18290:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67626,"name":"address","nodeType":"ElementaryTypeName","src":"18290:7:95","typeDescriptions":{}}},"id":67629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18290:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67623,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"18235:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18253:27:95","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71467,"src":"18235:45:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18235:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18216:88:95"},{"condition":{"id":67632,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67622,"src":"18318:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67638,"nodeType":"IfStatement","src":"18314:82:95","trueBody":{"id":67637,"nodeType":"Block","src":"18331:65:95","statements":[{"expression":{"id":67635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67633,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"18345:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":67634,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18369:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18345:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67636,"nodeType":"ExpressionStatement","src":"18345:40:95"}]}},{"eventCall":{"arguments":[{"id":67640,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18425:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67641,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"18434:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67642,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18450:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67639,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66764,"src":"18410:14:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":67643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18410:57:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67644,"nodeType":"EmitStatement","src":"18405:62:95"},{"expression":{"id":67645,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18484:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67563,"id":67646,"nodeType":"Return","src":"18477:23:95"}]},"baseFunctions":[66478],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17451:13:95","parameters":{"id":67560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67557,"mutability":"mutable","name":"_member","nameLocation":"17473:7:95","nodeType":"VariableDeclaration","scope":67648,"src":"17465:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67556,"name":"address","nodeType":"ElementaryTypeName","src":"17465:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67559,"mutability":"mutable","name":"_amountToStake","nameLocation":"17490:14:95","nodeType":"VariableDeclaration","scope":67648,"src":"17482:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67558,"name":"uint256","nodeType":"ElementaryTypeName","src":"17482:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17464:41:95"},"returnParameters":{"id":67563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67648,"src":"17532:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67561,"name":"uint256","nodeType":"ElementaryTypeName","src":"17532:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17531:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67704,"nodeType":"FunctionDefinition","src":"18513:689:95","nodes":[],"body":{"id":67703,"nodeType":"Block","src":"18614:588:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67657,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67133,"src":"18624:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":67658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18624:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67659,"nodeType":"ExpressionStatement","src":"18624:23:95"},{"assignments":[67661],"declarations":[{"constant":false,"id":67661,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18711:16:95","nodeType":"VariableDeclaration","scope":67703,"src":"18703:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67660,"name":"uint256","nodeType":"ElementaryTypeName","src":"18703:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67663,"initialValue":{"hexValue":"30","id":67662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18730:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18703:28:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67664,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18745:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67665,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"18760:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18775:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"18760:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18787:9:95","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":66501,"src":"18760:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"18745:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67669,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18800:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67670,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"18815:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18830:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"18815:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18842:6:95","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":66500,"src":"18815:33:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"18800:48:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18745:103:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67689,"nodeType":"Block","src":"18946:93:95","statements":[{"expression":{"id":67687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67682,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"18960:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67684,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67650,"src":"19002:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67685,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67652,"src":"19011:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67683,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67918,"src":"18979:22:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":67686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18979:49:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18960:68:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67688,"nodeType":"ExpressionStatement","src":"18960:68:95"}]},"id":67690,"nodeType":"IfStatement","src":"18741:298:95","trueBody":{"id":67681,"nodeType":"Block","src":"18850:90:95","statements":[{"expression":{"id":67679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67675,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"18864:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67677,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67652,"src":"18912:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67676,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67844,"src":"18883:28:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18883:46:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18864:65:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67680,"nodeType":"ExpressionStatement","src":"18864:65:95"}]}},{"expression":{"id":67693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67691,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"19048:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67692,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"19072:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19048:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67694,"nodeType":"ExpressionStatement","src":"19048:40:95"},{"eventCall":{"arguments":[{"id":67696,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67650,"src":"19118:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67697,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67652,"src":"19127:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67698,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"19145:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67695,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66772,"src":"19103:14:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":67699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19103:59:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67700,"nodeType":"EmitStatement","src":"19098:64:95"},{"expression":{"id":67701,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"19179:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67656,"id":67702,"nodeType":"Return","src":"19172:23:95"}]},"baseFunctions":[66487],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18522:13:95","parameters":{"id":67653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67650,"mutability":"mutable","name":"_member","nameLocation":"18544:7:95","nodeType":"VariableDeclaration","scope":67704,"src":"18536:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67649,"name":"address","nodeType":"ElementaryTypeName","src":"18536:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67652,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18561:16:95","nodeType":"VariableDeclaration","scope":67704,"src":"18553:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67651,"name":"uint256","nodeType":"ElementaryTypeName","src":"18553:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18535:43:95"},"returnParameters":{"id":67656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67704,"src":"18605:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67654,"name":"uint256","nodeType":"ElementaryTypeName","src":"18605:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18604:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67714,"nodeType":"FunctionDefinition","src":"19208:126:95","nodes":[],"body":{"id":67713,"nodeType":"Block","src":"19296:38:95","nodes":[],"statements":[{"expression":{"id":67711,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67706,"src":"19313:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67710,"id":67712,"nodeType":"Return","src":"19306:21:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"19217:22:95","parameters":{"id":67707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67706,"mutability":"mutable","name":"_amountToStake","nameLocation":"19248:14:95","nodeType":"VariableDeclaration","scope":67714,"src":"19240:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67705,"name":"uint256","nodeType":"ElementaryTypeName","src":"19240:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19239:24:95"},"returnParameters":{"id":67710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67714,"src":"19287:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67708,"name":"uint256","nodeType":"ElementaryTypeName","src":"19287:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19286:9:95"},"scope":70168,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":67756,"nodeType":"FunctionDefinition","src":"19340:632:95","nodes":[],"body":{"id":67755,"nodeType":"Block","src":"19450:522:95","nodes":[],"statements":[{"assignments":[67724],"declarations":[{"constant":false,"id":67724,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19468:16:95","nodeType":"VariableDeclaration","scope":67755,"src":"19460:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67723,"name":"uint256","nodeType":"ElementaryTypeName","src":"19460:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67726,"initialValue":{"id":67725,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67718,"src":"19487:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19460:41:95"},{"assignments":[67728],"declarations":[{"constant":false,"id":67728,"mutability":"mutable","name":"memberPower","nameLocation":"19583:11:95","nodeType":"VariableDeclaration","scope":67755,"src":"19575:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67727,"name":"uint256","nodeType":"ElementaryTypeName","src":"19575:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67737,"initialValue":{"arguments":[{"id":67731,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67716,"src":"19640:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67734,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19657:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19649:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67732,"name":"address","nodeType":"ElementaryTypeName","src":"19649:7:95","typeDescriptions":{}}},"id":67735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19649:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67729,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"19597:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19615:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"19597:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19597:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19575:88:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67738,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67728,"src":"19729:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67739,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67724,"src":"19743:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":67741,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"19762:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19774:9:95","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"19762:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:54:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67752,"nodeType":"IfStatement","src":"19725:139:95","trueBody":{"id":67751,"nodeType":"Block","src":"19785:79:95","statements":[{"expression":{"id":67749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67744,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67724,"src":"19799:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67745,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"19818:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19830:9:95","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"19818:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67747,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67728,"src":"19842:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19818:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19799:54:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67750,"nodeType":"ExpressionStatement","src":"19799:54:95"}]}},{"expression":{"id":67753,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67724,"src":"19949:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67722,"id":67754,"nodeType":"Return","src":"19942:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19349:19:95","parameters":{"id":67719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67716,"mutability":"mutable","name":"_member","nameLocation":"19377:7:95","nodeType":"VariableDeclaration","scope":67756,"src":"19369:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67715,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67718,"mutability":"mutable","name":"_amountToStake","nameLocation":"19394:14:95","nodeType":"VariableDeclaration","scope":67756,"src":"19386:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67717,"name":"uint256","nodeType":"ElementaryTypeName","src":"19386:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19368:41:95"},"returnParameters":{"id":67722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67756,"src":"19441:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67720,"name":"uint256","nodeType":"ElementaryTypeName","src":"19441:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19440:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67834,"nodeType":"FunctionDefinition","src":"19978:741:95","nodes":[],"body":{"id":67833,"nodeType":"Block","src":"20091:628:95","nodes":[],"statements":[{"assignments":[67766],"declarations":[{"constant":false,"id":67766,"mutability":"mutable","name":"totalStake","nameLocation":"20109:10:95","nodeType":"VariableDeclaration","scope":67833,"src":"20101:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67765,"name":"uint256","nodeType":"ElementaryTypeName","src":"20101:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67773,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67769,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67758,"src":"20162:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67767,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"20122:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20140:21:95","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72519,"src":"20122:39:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":67770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20122:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67771,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67760,"src":"20173:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20122:65:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20101:86:95"},{"assignments":[67775],"declarations":[{"constant":false,"id":67775,"mutability":"mutable","name":"decimal","nameLocation":"20206:7:95","nodeType":"VariableDeclaration","scope":67833,"src":"20198:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67774,"name":"uint256","nodeType":"ElementaryTypeName","src":"20198:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67777,"initialValue":{"hexValue":"3138","id":67776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20216:2:95","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20198:20:95"},{"clauses":[{"block":{"id":67798,"nodeType":"Block","src":"20316:52:95","statements":[{"expression":{"id":67796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67791,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67775,"src":"20330:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67794,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"20348:8:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":67793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20340:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67792,"name":"uint256","nodeType":"ElementaryTypeName","src":"20340:7:95","typeDescriptions":{}}},"id":67795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20340:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20330:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67797,"nodeType":"ExpressionStatement","src":"20330:27:95"}]},"errorName":"","id":67799,"nodeType":"TryCatchClause","parameters":{"id":67790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67789,"mutability":"mutable","name":"_decimal","nameLocation":"20306:8:95","nodeType":"VariableDeclaration","scope":67799,"src":"20300:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67788,"name":"uint8","nodeType":"ElementaryTypeName","src":"20300:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20299:16:95"},"src":"20291:77:95"},{"block":{"id":67800,"nodeType":"Block","src":"20375:64:95","statements":[]},"errorName":"","id":67801,"nodeType":"TryCatchClause","src":"20369:70:95"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67781,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"20246:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20264:11:95","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71422,"src":"20246:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":67783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":67780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20238:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67779,"name":"address","nodeType":"ElementaryTypeName","src":"20238:7:95","typeDescriptions":{}}},"id":67784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20238:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67778,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"20232:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":67785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":67786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20280:8:95","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"20232:56:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":67787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:58:95","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":67802,"nodeType":"TryStatement","src":"20228:211:95"},{"assignments":[67804],"declarations":[{"constant":false,"id":67804,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20456:14:95","nodeType":"VariableDeclaration","scope":67833,"src":"20448:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67803,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67813,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67807,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67766,"src":"20483:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":67808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20496:2:95","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":67809,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67775,"src":"20502:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20496:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20483:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67805,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"20473:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58102_$","typeString":"type(library Math)"}},"id":67806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20478:4:95","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57606,"src":"20473:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20473:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20448:62:95"},{"assignments":[67815],"declarations":[{"constant":false,"id":67815,"mutability":"mutable","name":"currentPoints","nameLocation":"20528:13:95","nodeType":"VariableDeclaration","scope":67833,"src":"20520:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67814,"name":"uint256","nodeType":"ElementaryTypeName","src":"20520:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67824,"initialValue":{"arguments":[{"id":67818,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67758,"src":"20587:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67821,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20604:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20596:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67819,"name":"address","nodeType":"ElementaryTypeName","src":"20596:7:95","typeDescriptions":{}}},"id":67822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20596:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67816,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"20544:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20562:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"20544:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20544:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20520:90:95"},{"assignments":[67826],"declarations":[{"constant":false,"id":67826,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20629:16:95","nodeType":"VariableDeclaration","scope":67833,"src":"20621:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67825,"name":"uint256","nodeType":"ElementaryTypeName","src":"20621:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67830,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67827,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"20648:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67828,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67815,"src":"20665:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20648:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20621:57:95"},{"expression":{"id":67831,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67826,"src":"20696:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67764,"id":67832,"nodeType":"Return","src":"20689:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19987:22:95","parameters":{"id":67761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67758,"mutability":"mutable","name":"_member","nameLocation":"20018:7:95","nodeType":"VariableDeclaration","scope":67834,"src":"20010:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67757,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67760,"mutability":"mutable","name":"_amountToStake","nameLocation":"20035:14:95","nodeType":"VariableDeclaration","scope":67834,"src":"20027:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67759,"name":"uint256","nodeType":"ElementaryTypeName","src":"20027:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20009:41:95"},"returnParameters":{"id":67764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67834,"src":"20082:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67762,"name":"uint256","nodeType":"ElementaryTypeName","src":"20082:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20081:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67844,"nodeType":"FunctionDefinition","src":"20725:144:95","nodes":[],"body":{"id":67843,"nodeType":"Block","src":"20829:40:95","nodes":[],"statements":[{"expression":{"id":67841,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67836,"src":"20846:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67840,"id":67842,"nodeType":"Return","src":"20839:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20734:28:95","parameters":{"id":67837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67836,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20771:16:95","nodeType":"VariableDeclaration","scope":67844,"src":"20763:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67835,"name":"uint256","nodeType":"ElementaryTypeName","src":"20763:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20762:26:95"},"returnParameters":{"id":67840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67844,"src":"20820:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67838,"name":"uint256","nodeType":"ElementaryTypeName","src":"20820:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20819:9:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67918,"nodeType":"FunctionDefinition","src":"20875:855:95","nodes":[],"body":{"id":67917,"nodeType":"Block","src":"21026:704:95","nodes":[],"statements":[{"assignments":[67854],"declarations":[{"constant":false,"id":67854,"mutability":"mutable","name":"decimal","nameLocation":"21044:7:95","nodeType":"VariableDeclaration","scope":67917,"src":"21036:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67853,"name":"uint256","nodeType":"ElementaryTypeName","src":"21036:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67856,"initialValue":{"hexValue":"3138","id":67855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21054:2:95","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"21036:20:95"},{"clauses":[{"block":{"id":67877,"nodeType":"Block","src":"21154:52:95","statements":[{"expression":{"id":67875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67870,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67854,"src":"21168:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67873,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67868,"src":"21186:8:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":67872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21178:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67871,"name":"uint256","nodeType":"ElementaryTypeName","src":"21178:7:95","typeDescriptions":{}}},"id":67874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21178:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21168:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67876,"nodeType":"ExpressionStatement","src":"21168:27:95"}]},"errorName":"","id":67878,"nodeType":"TryCatchClause","parameters":{"id":67869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67868,"mutability":"mutable","name":"_decimal","nameLocation":"21144:8:95","nodeType":"VariableDeclaration","scope":67878,"src":"21138:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67867,"name":"uint8","nodeType":"ElementaryTypeName","src":"21138:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21137:16:95"},"src":"21129:77:95"},{"block":{"id":67879,"nodeType":"Block","src":"21213:64:95","statements":[]},"errorName":"","id":67880,"nodeType":"TryCatchClause","src":"21207:70:95"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67860,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"21084:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21102:11:95","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71422,"src":"21084:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":67862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21084:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":67859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21076:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67858,"name":"address","nodeType":"ElementaryTypeName","src":"21076:7:95","typeDescriptions":{}}},"id":67863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21076:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67857,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"21070:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":67864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":67865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21118:8:95","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"21070:56:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":67866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:58:95","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":67881,"nodeType":"TryStatement","src":"21066:211:95"},{"assignments":[67883],"declarations":[{"constant":false,"id":67883,"mutability":"mutable","name":"newTotalStake","nameLocation":"21356:13:95","nodeType":"VariableDeclaration","scope":67917,"src":"21348:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67882,"name":"uint256","nodeType":"ElementaryTypeName","src":"21348:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67890,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67886,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67846,"src":"21412:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67884,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"21372:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21390:21:95","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72519,"src":"21372:39:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":67887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21372:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67888,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67848,"src":"21423:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21372:67:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21348:91:95"},{"assignments":[67892],"declarations":[{"constant":false,"id":67892,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21513:14:95","nodeType":"VariableDeclaration","scope":67917,"src":"21505:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67891,"name":"uint256","nodeType":"ElementaryTypeName","src":"21505:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67901,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67895,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67883,"src":"21540:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":67896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21556:2:95","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":67897,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67854,"src":"21562:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21556:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21540:29:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67893,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"21530:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58102_$","typeString":"type(library Math)"}},"id":67894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21535:4:95","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57606,"src":"21530:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21530:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21505:65:95"},{"assignments":[67903],"declarations":[{"constant":false,"id":67903,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21588:16:95","nodeType":"VariableDeclaration","scope":67917,"src":"21580:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67902,"name":"uint256","nodeType":"ElementaryTypeName","src":"21580:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67914,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67906,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67846,"src":"21650:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67909,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21667:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21659:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67907,"name":"address","nodeType":"ElementaryTypeName","src":"21659:7:95","typeDescriptions":{}}},"id":67910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21659:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67904,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"21607:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21625:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"21607:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21607:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67912,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67892,"src":"21676:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21607:83:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21580:110:95"},{"expression":{"id":67915,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67903,"src":"21707:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67852,"id":67916,"nodeType":"Return","src":"21700:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20884:22:95","parameters":{"id":67849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67846,"mutability":"mutable","name":"_member","nameLocation":"20915:7:95","nodeType":"VariableDeclaration","scope":67918,"src":"20907:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67845,"name":"address","nodeType":"ElementaryTypeName","src":"20907:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67848,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20932:16:95","nodeType":"VariableDeclaration","scope":67918,"src":"20924:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67847,"name":"uint256","nodeType":"ElementaryTypeName","src":"20924:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20906:43:95"},"returnParameters":{"id":67852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67918,"src":"21013:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67850,"name":"uint256","nodeType":"ElementaryTypeName","src":"21013:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21012:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67927,"nodeType":"FunctionDefinition","src":"21736:99:95","nodes":[],"body":{"id":67926,"nodeType":"Block","src":"21790:45:95","nodes":[],"statements":[{"expression":{"expression":{"id":67923,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"21807:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21819:9:95","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"21807:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67922,"id":67925,"nodeType":"Return","src":"21800:28:95"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21745:12:95","parameters":{"id":67919,"nodeType":"ParameterList","parameters":[],"src":"21757:2:95"},"returnParameters":{"id":67922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67927,"src":"21781:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67920,"name":"uint256","nodeType":"ElementaryTypeName","src":"21781:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21780:9:95"},"scope":70168,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67936,"nodeType":"FunctionDefinition","src":"21841:110:95","nodes":[],"body":{"id":67935,"nodeType":"Block","src":"21916:35:95","nodes":[],"statements":[{"expression":{"id":67933,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"21933:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":67932,"id":67934,"nodeType":"Return","src":"21926:18:95"}]},"baseFunctions":[66493],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21850:14:95","parameters":{"id":67928,"nodeType":"ParameterList","parameters":[],"src":"21864:2:95"},"returnParameters":{"id":67932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67931,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67936,"src":"21888:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":67930,"nodeType":"UserDefinedTypeName","pathNode":{"id":67929,"name":"StrategyStruct.PointSystem","nameLocations":["21888:14:95","21903:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"21888:26:95"},"referencedDeclaration":66503,"src":"21888:26:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21887:28:95"},"scope":70168,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":68001,"nodeType":"FunctionDefinition","src":"22457:650:95","nodes":[],"body":{"id":68000,"nodeType":"Block","src":"22531:576:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":67945,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"22561:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67944,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"22541:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":67946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22541:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67947,"nodeType":"ExpressionStatement","src":"22541:28:95"},{"condition":{"id":67951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22583:27:95","subExpression":{"arguments":[{"id":67949,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"22602:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67948,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"22584:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22584:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67956,"nodeType":"IfStatement","src":"22579:90:95","trueBody":{"id":67955,"nodeType":"Block","src":"22612:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67952,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"22633:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22633:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67954,"nodeType":"RevertStatement","src":"22626:32:95"}]}},{"assignments":[67958],"declarations":[{"constant":false,"id":67958,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22729:23:95","nodeType":"VariableDeclaration","scope":68000,"src":"22724:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67957,"name":"bool","nodeType":"ElementaryTypeName","src":"22724:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67967,"initialValue":{"arguments":[{"id":67961,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"22801:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67964,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22818:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22810:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67962,"name":"address","nodeType":"ElementaryTypeName","src":"22810:7:95","typeDescriptions":{}}},"id":67965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22810:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67959,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"22755:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22773:27:95","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71467,"src":"22755:45:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22755:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22724:100:95"},{"condition":{"id":67969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22838:24:95","subExpression":{"id":67968,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67958,"src":"22839:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67974,"nodeType":"IfStatement","src":"22834:78:95","trueBody":{"id":67973,"nodeType":"Block","src":"22864:48:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67970,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"22885:14:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22885:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67972,"nodeType":"RevertStatement","src":"22878:23:95"}]}},{"assignments":[67980],"declarations":[{"constant":false,"id":67980,"mutability":"mutable","name":"pv","nameLocation":"22961:2:95","nodeType":"VariableDeclaration","scope":68000,"src":"22921:42:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67978,"nodeType":"UserDefinedTypeName","pathNode":{"id":67977,"name":"StrategyStruct.ProposalSupport","nameLocations":["22921:14:95","22936:15:95"],"nodeType":"IdentifierPath","referencedDeclaration":66569,"src":"22921:30:95"},"referencedDeclaration":66569,"src":"22921:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67979,"nodeType":"ArrayTypeName","src":"22921:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":67989,"initialValue":{"arguments":[{"id":67983,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67938,"src":"22977:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":67984,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"22985:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23000:15:95","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":66569,"src":"22985:30:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$66569_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":67986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22985:32:95","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":67987,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22984:34:95","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":67981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22966:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22970:6:95","memberName":"decode","nodeType":"MemberAccess","src":"22966:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22966:53:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22921:98:95"},{"expression":{"arguments":[{"id":67991,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"23054:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67992,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67980,"src":"23063:2:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67990,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68732,"src":"23029:24:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23029:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67994,"nodeType":"ExpressionStatement","src":"23029:37:95"},{"expression":{"arguments":[{"id":67996,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"23088:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67997,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67980,"src":"23097:2:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67995,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69019,"src":"23076:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23076:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67999,"nodeType":"ExpressionStatement","src":"23076:24:95"}]},"baseFunctions":[66325],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22466:9:95","overrides":{"id":67942,"nodeType":"OverrideSpecifier","overrides":[],"src":"22522:8:95"},"parameters":{"id":67941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67938,"mutability":"mutable","name":"_data","nameLocation":"22489:5:95","nodeType":"VariableDeclaration","scope":68001,"src":"22476:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67937,"name":"bytes","nodeType":"ElementaryTypeName","src":"22476:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67940,"mutability":"mutable","name":"_sender","nameLocation":"22504:7:95","nodeType":"VariableDeclaration","scope":68001,"src":"22496:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67939,"name":"address","nodeType":"ElementaryTypeName","src":"22496:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22475:37:95"},"returnParameters":{"id":67943,"nodeType":"ParameterList","parameters":[],"src":"22531:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68169,"nodeType":"FunctionDefinition","src":"23363:1925:95","nodes":[],"body":{"id":68168,"nodeType":"Block","src":"23449:1839:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68012,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68006,"src":"23508:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23514:6:95","memberName":"length","nodeType":"MemberAccess","src":"23508:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23524:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23508:17:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68020,"nodeType":"IfStatement","src":"23504:76:95","trueBody":{"id":68019,"nodeType":"Block","src":"23527:53:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68016,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66667,"src":"23548:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23548:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68018,"nodeType":"RevertStatement","src":"23541:28:95"}]}},{"assignments":[68022],"declarations":[{"constant":false,"id":68022,"mutability":"mutable","name":"proposalId","nameLocation":"23598:10:95","nodeType":"VariableDeclaration","scope":68168,"src":"23590:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68021,"name":"uint256","nodeType":"ElementaryTypeName","src":"23590:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68030,"initialValue":{"arguments":[{"id":68025,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68006,"src":"23622:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":68027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23630:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68026,"name":"uint256","nodeType":"ElementaryTypeName","src":"23630:7:95","typeDescriptions":{}}}],"id":68028,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23629:9:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":68023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23611:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23615:6:95","memberName":"decode","nodeType":"MemberAccess","src":"23611:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":68029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23611:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23590:49:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68031,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23654:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23668:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23654:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68038,"nodeType":"IfStatement","src":"23650:77:95","trueBody":{"id":68037,"nodeType":"Block","src":"23671:56:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68034,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66669,"src":"23692:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23692:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68036,"nodeType":"RevertStatement","src":"23685:31:95"}]}},{"assignments":[68043],"declarations":[{"constant":false,"id":68043,"mutability":"mutable","name":"proposal","nameLocation":"23768:8:95","nodeType":"VariableDeclaration","scope":68168,"src":"23736:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68042,"nodeType":"UserDefinedTypeName","pathNode":{"id":68041,"name":"StrategyStruct.Proposal","nameLocations":["23736:14:95","23751:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"23736:23:95"},"referencedDeclaration":66564,"src":"23736:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68047,"initialValue":{"baseExpression":{"id":68044,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"23779:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68046,"indexExpression":{"id":68045,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23789:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23779:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23736:64:95"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"id":68052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68048,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66889,"src":"23815:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":68049,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"23831:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":68050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23846:12:95","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":66498,"src":"23831:27:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$66498_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":68051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23859:7:95","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":66496,"src":"23831:35:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"23815:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68167,"nodeType":"IfStatement","src":"23811:1411:95","trueBody":{"id":68166,"nodeType":"Block","src":"23868:1354:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68053,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"23886:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23895:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"23886:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23909:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23886:33:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68062,"nodeType":"IfStatement","src":"23882:108:95","trueBody":{"id":68061,"nodeType":"Block","src":"23921:69:95","statements":[{"errorCall":{"arguments":[{"id":68058,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23964:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68057,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"23946:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23946:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68060,"nodeType":"RevertStatement","src":"23939:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68063,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24008:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24017:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24008:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":68065,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"24035:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24008:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68075,"nodeType":"IfStatement","src":"24004:152:95","trueBody":{"id":68074,"nodeType":"Block","src":"24047:109:95","statements":[{"errorCall":{"arguments":[{"id":68068,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24092:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68069,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24104:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24113:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24104:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68071,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"24130:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68067,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66695,"src":"24072:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":68072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24072:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68073,"nodeType":"RevertStatement","src":"24065:76:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":68081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68076,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24174:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24183:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"24174:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68078,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"24201:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":68079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24216:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"24201:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24231:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"24201:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24174:63:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68087,"nodeType":"IfStatement","src":"24170:138:95","trueBody":{"id":68086,"nodeType":"Block","src":"24239:69:95","statements":[{"errorCall":{"arguments":[{"id":68083,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24282:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68082,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"24264:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24264:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68085,"nodeType":"RevertStatement","src":"24257:36:95"}]}},{"assignments":[68089],"declarations":[{"constant":false,"id":68089,"mutability":"mutable","name":"convictionLast","nameLocation":"24330:14:95","nodeType":"VariableDeclaration","scope":68166,"src":"24322:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68088,"name":"uint256","nodeType":"ElementaryTypeName","src":"24322:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68093,"initialValue":{"arguments":[{"id":68091,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24372:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68090,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69589,"src":"24347:24:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":68092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24347:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24322:61:95"},{"assignments":[68095],"declarations":[{"constant":false,"id":68095,"mutability":"mutable","name":"threshold","nameLocation":"24405:9:95","nodeType":"VariableDeclaration","scope":68166,"src":"24397:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68094,"name":"uint256","nodeType":"ElementaryTypeName","src":"24397:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68100,"initialValue":{"arguments":[{"expression":{"id":68097,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24436:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24445:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24436:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68096,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69205,"src":"24417:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":68099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24417:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24397:64:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68101,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68089,"src":"24480:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68102,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68095,"src":"24497:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24480:26:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68104,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24510:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24519:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24510:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24537:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24510:28:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24480:58:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68113,"nodeType":"IfStatement","src":"24476:137:95","trueBody":{"id":68112,"nodeType":"Block","src":"24540:73:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68109,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66685,"src":"24565:31:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24565:33:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68111,"nodeType":"RevertStatement","src":"24558:40:95"}]}},{"assignments":[68118],"declarations":[{"constant":false,"id":68118,"mutability":"mutable","name":"pool","nameLocation":"24645:4:95","nodeType":"VariableDeclaration","scope":68166,"src":"24627:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":68117,"nodeType":"UserDefinedTypeName","pathNode":{"id":68116,"name":"IAllo.Pool","nameLocations":["24627:5:95","24633:4:95"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24627:10:95"},"referencedDeclaration":2319,"src":"24627:10:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":68123,"initialValue":{"arguments":[{"id":68121,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65839,"src":"24665:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68119,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65833,"src":"24652:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":68120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24657:7:95","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24652:12:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":68122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24652:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24627:45:95"},{"expression":{"id":68127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68124,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"24687:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":68125,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24701:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24710:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24701:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24687:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68128,"nodeType":"ExpressionStatement","src":"24687:38:95"},{"expression":{"arguments":[{"expression":{"id":68130,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68118,"src":"24763:4:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":68131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24768:5:95","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24763:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68132,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24775:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24784:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"24775:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68134,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24797:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68135,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24806:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24797:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68129,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24747:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":68136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24747:75:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68137,"nodeType":"ExpressionStatement","src":"24747:75:95"},{"expression":{"id":68144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68138,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24837:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24846:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"24837:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68141,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"24863:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":68142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24878:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"24863:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24893:8:95","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":66520,"src":"24863:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24837:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68145,"nodeType":"ExpressionStatement","src":"24837:64:95"},{"expression":{"arguments":[{"id":68149,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24967:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68150,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24995:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25004:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"24995:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":68152,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"25031:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68154,"indexExpression":{"id":68153,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"25049:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25031:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25081:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"25031:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68146,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"24915:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":68148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24931:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"24915:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24915:205:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68157,"nodeType":"ExpressionStatement","src":"24915:205:95"},{"eventCall":{"arguments":[{"id":68159,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"25152:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68160,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"25164:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25173:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"25164:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68162,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"25186:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25195:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"25186:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68158,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[66742,2858],"referencedDeclaration":66742,"src":"25140:11:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":68164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25140:71:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68165,"nodeType":"EmitStatement","src":"25135:76:95"}]}}]},"baseFunctions":[66336],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23372:11:95","overrides":{"id":68010,"nodeType":"OverrideSpecifier","overrides":[],"src":"23440:8:95"},"parameters":{"id":68009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68169,"src":"23384:16:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68002,"name":"address","nodeType":"ElementaryTypeName","src":"23384:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68003,"nodeType":"ArrayTypeName","src":"23384:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":68006,"mutability":"mutable","name":"_data","nameLocation":"23415:5:95","nodeType":"VariableDeclaration","scope":68169,"src":"23402:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68005,"name":"bytes","nodeType":"ElementaryTypeName","src":"23402:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":68008,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68169,"src":"23422:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68007,"name":"address","nodeType":"ElementaryTypeName","src":"23422:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23383:47:95"},"returnParameters":{"id":68011,"nodeType":"ParameterList","parameters":[],"src":"23449:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68223,"nodeType":"FunctionDefinition","src":"25294:743:95","nodes":[],"body":{"id":68222,"nodeType":"Block","src":"25391:646:95","nodes":[],"statements":[{"assignments":[68180],"declarations":[{"constant":false,"id":68180,"mutability":"mutable","name":"proposal","nameLocation":"25433:8:95","nodeType":"VariableDeclaration","scope":68222,"src":"25401:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68179,"nodeType":"UserDefinedTypeName","pathNode":{"id":68178,"name":"StrategyStruct.Proposal","nameLocations":["25401:14:95","25416:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"25401:23:95"},"referencedDeclaration":66564,"src":"25401:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68184,"initialValue":{"baseExpression":{"id":68181,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"25444:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68183,"indexExpression":{"id":68182,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68171,"src":"25454:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25444:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25401:64:95"},{"assignments":[68186,68188],"declarations":[{"constant":false,"id":68186,"mutability":"mutable","name":"convictionLast","nameLocation":"25559:14:95","nodeType":"VariableDeclaration","scope":68222,"src":"25551:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68185,"name":"uint256","nodeType":"ElementaryTypeName","src":"25551:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68188,"mutability":"mutable","name":"blockNumber","nameLocation":"25583:11:95","nodeType":"VariableDeclaration","scope":68222,"src":"25575:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68187,"name":"uint256","nodeType":"ElementaryTypeName","src":"25575:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68194,"initialValue":{"arguments":[{"id":68190,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25644:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":68191,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25654:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25663:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"25654:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68189,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69401,"src":"25610:33:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25610:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25550:126:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68195,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"25691:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25709:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25691:19:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68198,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68188,"src":"25714:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25729:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25714:16:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25691:39:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68208,"nodeType":"IfStatement","src":"25687:110:95","trueBody":{"id":68207,"nodeType":"Block","src":"25732:65:95","statements":[{"expression":{"id":68205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68202,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"25746:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68203,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25763:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25772:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"25763:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25746:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68206,"nodeType":"ExpressionStatement","src":"25746:40:95"}]}},{"assignments":[68210],"declarations":[{"constant":false,"id":68210,"mutability":"mutable","name":"threshold","nameLocation":"25814:9:95","nodeType":"VariableDeclaration","scope":68222,"src":"25806:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68209,"name":"uint256","nodeType":"ElementaryTypeName","src":"25806:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68215,"initialValue":{"arguments":[{"expression":{"id":68212,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25845:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25854:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"25845:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68211,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69205,"src":"25826:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":68214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25826:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25806:64:95"},{"expression":{"id":68220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68216,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68174,"src":"25987:13:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68217,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"26003:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":68218,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68210,"src":"26021:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26003:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25987:43:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68221,"nodeType":"ExpressionStatement","src":"25987:43:95"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25303:18:95","parameters":{"id":68172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68171,"mutability":"mutable","name":"proposalId","nameLocation":"25330:10:95","nodeType":"VariableDeclaration","scope":68223,"src":"25322:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68170,"name":"uint256","nodeType":"ElementaryTypeName","src":"25322:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25321:20:95"},"returnParameters":{"id":68175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68174,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25376:13:95","nodeType":"VariableDeclaration","scope":68223,"src":"25371:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68173,"name":"bool","nodeType":"ElementaryTypeName","src":"25371:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25370:20:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68233,"nodeType":"FunctionDefinition","src":"26327:231:95","nodes":[],"body":{"id":68232,"nodeType":"Block","src":"26426:132:95","nodes":[],"statements":[]},"baseFunctions":[66356],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26336:19:95","overrides":{"id":68227,"nodeType":"OverrideSpecifier","overrides":[],"src":"26400:8:95"},"parameters":{"id":68226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68225,"mutability":"mutable","name":"_recipientId","nameLocation":"26364:12:95","nodeType":"VariableDeclaration","scope":68233,"src":"26356:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68224,"name":"address","nodeType":"ElementaryTypeName","src":"26356:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26355:22:95"},"returnParameters":{"id":68231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68233,"src":"26418:6:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":68229,"nodeType":"UserDefinedTypeName","pathNode":{"id":68228,"name":"Status","nameLocations":["26418:6:95"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26418:6:95"},"referencedDeclaration":2815,"src":"26418:6:95","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26417:8:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68252,"nodeType":"FunctionDefinition","src":"26687:287:95","nodes":[],"body":{"id":68251,"nodeType":"Block","src":"26797:177:95","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68248,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66635,"src":"26951:14:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26951:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68250,"nodeType":"RevertStatement","src":"26944:23:95"}]},"baseFunctions":[66195],"documentation":{"id":68234,"nodeType":"StructuredDocumentation","src":"26564:118:95","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26696:10:95","overrides":{"id":68242,"nodeType":"OverrideSpecifier","overrides":[],"src":"26755:8:95"},"parameters":{"id":68241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68252,"src":"26707:16:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68235,"name":"address","nodeType":"ElementaryTypeName","src":"26707:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68236,"nodeType":"ArrayTypeName","src":"26707:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":68240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68252,"src":"26725:14:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":68238,"name":"bytes","nodeType":"ElementaryTypeName","src":"26725:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":68239,"nodeType":"ArrayTypeName","src":"26725:7:95","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26706:34:95"},"returnParameters":{"id":68247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68252,"src":"26773:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":68244,"nodeType":"UserDefinedTypeName","pathNode":{"id":68243,"name":"PayoutSummary","nameLocations":["26773:13:95"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26773:13:95"},"referencedDeclaration":2820,"src":"26773:13:95","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":68245,"nodeType":"ArrayTypeName","src":"26773:15:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26772:24:95"},"scope":70168,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":68264,"nodeType":"FunctionDefinition","src":"26980:286:95","nodes":[],"body":{"id":68263,"nodeType":"Block","src":"27148:118:95","nodes":[],"statements":[]},"baseFunctions":[66347],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26989:10:95","overrides":{"id":68258,"nodeType":"OverrideSpecifier","overrides":[],"src":"27096:8:95"},"parameters":{"id":68257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68254,"mutability":"mutable","name":"_recipientId","nameLocation":"27008:12:95","nodeType":"VariableDeclaration","scope":68264,"src":"27000:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68253,"name":"address","nodeType":"ElementaryTypeName","src":"27000:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68256,"mutability":"mutable","name":"_data","nameLocation":"27035:5:95","nodeType":"VariableDeclaration","scope":68264,"src":"27022:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68255,"name":"bytes","nodeType":"ElementaryTypeName","src":"27022:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26999:42:95"},"returnParameters":{"id":68262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68264,"src":"27122:20:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":68260,"nodeType":"UserDefinedTypeName","pathNode":{"id":68259,"name":"PayoutSummary","nameLocations":["27122:13:95"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27122:13:95"},"referencedDeclaration":2820,"src":"27122:13:95","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"27121:22:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68275,"nodeType":"FunctionDefinition","src":"27272:127:95","nodes":[],"body":{"id":68274,"nodeType":"Block","src":"27349:50:95","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":68271,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68266,"src":"27384:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68270,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66752,"src":"27364:19:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":68272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27364:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68273,"nodeType":"EmitStatement","src":"27359:33:95"}]},"baseFunctions":[66370],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27281:24:95","overrides":{"id":68268,"nodeType":"OverrideSpecifier","overrides":[],"src":"27340:8:95"},"parameters":{"id":68267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68266,"mutability":"mutable","name":"_amount","nameLocation":"27314:7:95","nodeType":"VariableDeclaration","scope":68275,"src":"27306:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68265,"name":"uint256","nodeType":"ElementaryTypeName","src":"27306:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27305:17:95"},"returnParameters":{"id":68269,"nodeType":"ParameterList","parameters":[],"src":"27349:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68284,"nodeType":"FunctionDefinition","src":"27494:143:95","nodes":[],"body":{"id":68283,"nodeType":"Block","src":"27587:50:95","nodes":[],"statements":[]},"baseFunctions":[66307],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27503:17:95","overrides":{"id":68279,"nodeType":"OverrideSpecifier","overrides":[],"src":"27563:8:95"},"parameters":{"id":68278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68277,"mutability":"mutable","name":"_allocator","nameLocation":"27529:10:95","nodeType":"VariableDeclaration","scope":68284,"src":"27521:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68276,"name":"address","nodeType":"ElementaryTypeName","src":"27521:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27520:20:95"},"returnParameters":{"id":68282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68284,"src":"27581:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68280,"name":"bool","nodeType":"ElementaryTypeName","src":"27581:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27580:6:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68294,"nodeType":"FunctionDefinition","src":"27643:86:95","nodes":[],"body":{"id":68293,"nodeType":"Block","src":"27689:40:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":68290,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68286,"src":"27714:7:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68289,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66290,"src":"27699:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":68291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27699:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68292,"nodeType":"ExpressionStatement","src":"27699:23:95"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27652:13:95","parameters":{"id":68287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68286,"mutability":"mutable","name":"_active","nameLocation":"27671:7:95","nodeType":"VariableDeclaration","scope":68294,"src":"27666:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68285,"name":"bool","nodeType":"ElementaryTypeName","src":"27666:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27665:14:95"},"returnParameters":{"id":68288,"nodeType":"ParameterList","parameters":[],"src":"27689:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":68382,"nodeType":"FunctionDefinition","src":"27735:844:95","nodes":[],"body":{"id":68381,"nodeType":"Block","src":"27787:792:95","nodes":[],"statements":[{"assignments":[68303],"declarations":[{"constant":false,"id":68303,"mutability":"mutable","name":"proposalsIds","nameLocation":"27862:12:95","nodeType":"VariableDeclaration","scope":68381,"src":"27845:29:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68301,"name":"uint256","nodeType":"ElementaryTypeName","src":"27845:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68302,"nodeType":"ArrayTypeName","src":"27845:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":68307,"initialValue":{"baseExpression":{"id":68304,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"27877:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68306,"indexExpression":{"id":68305,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"27898:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27877:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27845:61:95"},{"body":{"id":68379,"nodeType":"Block","src":"27966:607:95","statements":[{"assignments":[68320],"declarations":[{"constant":false,"id":68320,"mutability":"mutable","name":"proposalId","nameLocation":"27988:10:95","nodeType":"VariableDeclaration","scope":68379,"src":"27980:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68319,"name":"uint256","nodeType":"ElementaryTypeName","src":"27980:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68324,"initialValue":{"baseExpression":{"id":68321,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"28001:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68323,"indexExpression":{"id":68322,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"28014:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28001:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27980:36:95"},{"assignments":[68329],"declarations":[{"constant":false,"id":68329,"mutability":"mutable","name":"proposal","nameLocation":"28062:8:95","nodeType":"VariableDeclaration","scope":68379,"src":"28030:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68328,"nodeType":"UserDefinedTypeName","pathNode":{"id":68327,"name":"StrategyStruct.Proposal","nameLocations":["28030:14:95","28045:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"28030:23:95"},"referencedDeclaration":66564,"src":"28030:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68333,"initialValue":{"baseExpression":{"id":68330,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"28073:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68332,"indexExpression":{"id":68331,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68320,"src":"28083:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28073:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28030:64:95"},{"condition":{"arguments":[{"id":68335,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68320,"src":"28127:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68334,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"28112:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28112:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68378,"nodeType":"IfStatement","src":"28108:455:95","trueBody":{"id":68377,"nodeType":"Block","src":"28140:423:95","statements":[{"assignments":[68338],"declarations":[{"constant":false,"id":68338,"mutability":"mutable","name":"stakedPoints","nameLocation":"28166:12:95","nodeType":"VariableDeclaration","scope":68377,"src":"28158:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68337,"name":"uint256","nodeType":"ElementaryTypeName","src":"28158:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68343,"initialValue":{"baseExpression":{"expression":{"id":68339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28181:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28190:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"28181:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68342,"indexExpression":{"id":68341,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"28208:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28181:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28158:58:95"},{"expression":{"id":68350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":68344,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28234:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28243:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"28234:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68348,"indexExpression":{"id":68346,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"28261:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28234:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":68349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28272:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28234:39:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68351,"nodeType":"ExpressionStatement","src":"28234:39:95"},{"expression":{"id":68356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68352,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28291:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28300:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"28291:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":68355,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"28316:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28291:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68357,"nodeType":"ExpressionStatement","src":"28291:37:95"},{"expression":{"id":68360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68358,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66881,"src":"28346:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":68359,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"28361:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28346:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68361,"nodeType":"ExpressionStatement","src":"28346:27:95"},{"expression":{"arguments":[{"id":68363,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28418:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68364,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"28428:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68362,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69354,"src":"28391:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28391:50:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68366,"nodeType":"ExpressionStatement","src":"28391:50:95"},{"eventCall":{"arguments":[{"id":68368,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"28477:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68369,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68320,"src":"28486:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":68370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28498:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":68371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28501:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28510:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"28501:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28524:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28533:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"28524:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68367,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66784,"src":"28464:12:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":68375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28464:84:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68376,"nodeType":"EmitStatement","src":"28459:89:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68312,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"27936:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68313,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"27940:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27953:6:95","memberName":"length","nodeType":"MemberAccess","src":"27940:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27936:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68380,"initializationExpression":{"assignments":[68309],"declarations":[{"constant":false,"id":68309,"mutability":"mutable","name":"i","nameLocation":"27929:1:95","nodeType":"VariableDeclaration","scope":68380,"src":"27921:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68308,"name":"uint256","nodeType":"ElementaryTypeName","src":"27921:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68311,"initialValue":{"hexValue":"30","id":68310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27933:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27921:13:95"},"loopExpression":{"expression":{"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27961:3:95","subExpression":{"id":68316,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"27961:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68318,"nodeType":"ExpressionStatement","src":"27961:3:95"},"nodeType":"ForStatement","src":"27916:657:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27744:8:95","parameters":{"id":68297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68296,"mutability":"mutable","name":"_member","nameLocation":"27761:7:95","nodeType":"VariableDeclaration","scope":68382,"src":"27753:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68295,"name":"address","nodeType":"ElementaryTypeName","src":"27753:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27752:17:95"},"returnParameters":{"id":68298,"nodeType":"ParameterList","parameters":[],"src":"27787:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68460,"nodeType":"FunctionDefinition","src":"29263:1145:95","nodes":[],"body":{"id":68459,"nodeType":"Block","src":"29793:615:95","nodes":[],"statements":[{"assignments":[68415],"declarations":[{"constant":false,"id":68415,"mutability":"mutable","name":"proposal","nameLocation":"29835:8:95","nodeType":"VariableDeclaration","scope":68459,"src":"29803:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68414,"nodeType":"UserDefinedTypeName","pathNode":{"id":68413,"name":"StrategyStruct.Proposal","nameLocations":["29803:14:95","29818:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"29803:23:95"},"referencedDeclaration":66564,"src":"29803:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68419,"initialValue":{"baseExpression":{"id":68416,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"29846:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68418,"indexExpression":{"id":68417,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68385,"src":"29856:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29846:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29803:65:95"},{"expression":{"id":68431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68420,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68405,"src":"29879:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68421,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"29891:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29900:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"29891:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29919:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29891:29:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":68427,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"29946:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29955:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"29946:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68426,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69205,"src":"29927:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":68429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29927:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29891:80:95","trueExpression":{"hexValue":"30","id":68425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29923:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29879:92:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68432,"nodeType":"ExpressionStatement","src":"29879:92:95"},{"expression":{"components":[{"expression":{"id":68433,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30002:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30011:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"30002:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68435,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30034:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30043:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"30034:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68437,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30068:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30077:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66544,"src":"30068:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68439,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30105:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30114:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"30105:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68441,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30143:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68442,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30152:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"30143:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68443,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30178:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30187:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"30178:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":68445,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30215:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"30215:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68447,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30247:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30256:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"30247:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68449,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68405,"src":"30284:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":68450,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30307:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30316:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"30307:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68454,"indexExpression":{"expression":{"id":68452,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30334:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30338:6:95","memberName":"sender","nodeType":"MemberAccess","src":"30334:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30307:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68455,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30359:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30368:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"30359:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68457,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29988:413:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$66523_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":68410,"id":68458,"nodeType":"Return","src":"29981:420:95"}]},"documentation":{"id":68383,"nodeType":"StructuredDocumentation","src":"28585:673:95","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"29272:11:95","parameters":{"id":68386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68385,"mutability":"mutable","name":"_proposalId","nameLocation":"29292:11:95","nodeType":"VariableDeclaration","scope":68460,"src":"29284:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68384,"name":"uint256","nodeType":"ElementaryTypeName","src":"29284:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29283:21:95"},"returnParameters":{"id":68410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68388,"mutability":"mutable","name":"submitter","nameLocation":"29389:9:95","nodeType":"VariableDeclaration","scope":68460,"src":"29381:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68387,"name":"address","nodeType":"ElementaryTypeName","src":"29381:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68390,"mutability":"mutable","name":"beneficiary","nameLocation":"29420:11:95","nodeType":"VariableDeclaration","scope":68460,"src":"29412:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68389,"name":"address","nodeType":"ElementaryTypeName","src":"29412:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68392,"mutability":"mutable","name":"requestedToken","nameLocation":"29453:14:95","nodeType":"VariableDeclaration","scope":68460,"src":"29445:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68391,"name":"address","nodeType":"ElementaryTypeName","src":"29445:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68394,"mutability":"mutable","name":"requestedAmount","nameLocation":"29489:15:95","nodeType":"VariableDeclaration","scope":68460,"src":"29481:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68393,"name":"uint256","nodeType":"ElementaryTypeName","src":"29481:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68396,"mutability":"mutable","name":"stakedAmount","nameLocation":"29526:12:95","nodeType":"VariableDeclaration","scope":68460,"src":"29518:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68395,"name":"uint256","nodeType":"ElementaryTypeName","src":"29518:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68399,"mutability":"mutable","name":"proposalStatus","nameLocation":"29582:14:95","nodeType":"VariableDeclaration","scope":68460,"src":"29552:44:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":68398,"nodeType":"UserDefinedTypeName","pathNode":{"id":68397,"name":"StrategyStruct.ProposalStatus","nameLocations":["29552:14:95","29567:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66523,"src":"29552:29:95"},"referencedDeclaration":66523,"src":"29552:29:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":68401,"mutability":"mutable","name":"blockLast","nameLocation":"29618:9:95","nodeType":"VariableDeclaration","scope":68460,"src":"29610:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68400,"name":"uint256","nodeType":"ElementaryTypeName","src":"29610:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68403,"mutability":"mutable","name":"convictionLast","nameLocation":"29649:14:95","nodeType":"VariableDeclaration","scope":68460,"src":"29641:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68402,"name":"uint256","nodeType":"ElementaryTypeName","src":"29641:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68405,"mutability":"mutable","name":"threshold","nameLocation":"29685:9:95","nodeType":"VariableDeclaration","scope":68460,"src":"29677:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68404,"name":"uint256","nodeType":"ElementaryTypeName","src":"29677:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68407,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29716:17:95","nodeType":"VariableDeclaration","scope":68460,"src":"29708:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68406,"name":"uint256","nodeType":"ElementaryTypeName","src":"29708:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68409,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"29755:23:95","nodeType":"VariableDeclaration","scope":68460,"src":"29747:31:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68408,"name":"uint256","nodeType":"ElementaryTypeName","src":"29747:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29367:421:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68481,"nodeType":"FunctionDefinition","src":"30414:206:95","nodes":[],"body":{"id":68480,"nodeType":"Block","src":"30504:116:95","nodes":[],"statements":[{"assignments":[68472],"declarations":[{"constant":false,"id":68472,"mutability":"mutable","name":"proposal","nameLocation":"30546:8:95","nodeType":"VariableDeclaration","scope":68480,"src":"30514:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68471,"nodeType":"UserDefinedTypeName","pathNode":{"id":68470,"name":"StrategyStruct.Proposal","nameLocations":["30514:14:95","30529:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"30514:23:95"},"referencedDeclaration":66564,"src":"30514:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68476,"initialValue":{"baseExpression":{"id":68473,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"30557:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68475,"indexExpression":{"id":68474,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68462,"src":"30567:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30557:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30514:65:95"},{"expression":{"expression":{"id":68477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68472,"src":"30596:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30605:8:95","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":66556,"src":"30596:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":68467,"id":68479,"nodeType":"Return","src":"30589:24:95"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30423:11:95","parameters":{"id":68463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68462,"mutability":"mutable","name":"_proposalId","nameLocation":"30443:11:95","nodeType":"VariableDeclaration","scope":68481,"src":"30435:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68461,"name":"uint256","nodeType":"ElementaryTypeName","src":"30435:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30434:21:95"},"returnParameters":{"id":68467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68481,"src":"30487:15:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":68465,"nodeType":"UserDefinedTypeName","pathNode":{"id":68464,"name":"Metadata","nameLocations":["30487:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30487:8:95"},"referencedDeclaration":3098,"src":"30487:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30486:17:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68497,"nodeType":"FunctionDefinition","src":"30821:184:95","nodes":[],"body":{"id":68496,"nodeType":"Block","src":"30929:76:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":68492,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"30978:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68493,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68486,"src":"30991:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68491,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68582,"src":"30946:31:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":68494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30946:52:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68490,"id":68495,"nodeType":"Return","src":"30939:59:95"}]},"documentation":{"id":68482,"nodeType":"StructuredDocumentation","src":"30626:190:95","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"30830:21:95","parameters":{"id":68487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68484,"mutability":"mutable","name":"_proposalId","nameLocation":"30860:11:95","nodeType":"VariableDeclaration","scope":68497,"src":"30852:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68483,"name":"uint256","nodeType":"ElementaryTypeName","src":"30852:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68486,"mutability":"mutable","name":"_voter","nameLocation":"30881:6:95","nodeType":"VariableDeclaration","scope":68497,"src":"30873:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68485,"name":"address","nodeType":"ElementaryTypeName","src":"30873:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30851:37:95"},"returnParameters":{"id":68490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68497,"src":"30920:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68488,"name":"uint256","nodeType":"ElementaryTypeName","src":"30920:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30919:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68510,"nodeType":"FunctionDefinition","src":"31011:153:95","nodes":[],"body":{"id":68509,"nodeType":"Block","src":"31105:59:95","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":68504,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"31122:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68506,"indexExpression":{"id":68505,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68499,"src":"31132:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31122:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31145:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"31122:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68503,"id":68508,"nodeType":"Return","src":"31115:42:95"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"31020:23:95","parameters":{"id":68500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68499,"mutability":"mutable","name":"_proposalId","nameLocation":"31052:11:95","nodeType":"VariableDeclaration","scope":68510,"src":"31044:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68498,"name":"uint256","nodeType":"ElementaryTypeName","src":"31044:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31043:21:95"},"returnParameters":{"id":68503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68510,"src":"31096:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68501,"name":"uint256","nodeType":"ElementaryTypeName","src":"31096:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31095:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68522,"nodeType":"FunctionDefinition","src":"31232:135:95","nodes":[],"body":{"id":68521,"nodeType":"Block","src":"31317:50:95","nodes":[],"statements":[{"expression":{"baseExpression":{"id":68517,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66913,"src":"31334:18:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68519,"indexExpression":{"id":68518,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68512,"src":"31353:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31334:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68516,"id":68520,"nodeType":"Return","src":"31327:33:95"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"31241:21:95","parameters":{"id":68513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68512,"mutability":"mutable","name":"_voter","nameLocation":"31271:6:95","nodeType":"VariableDeclaration","scope":68522,"src":"31263:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68511,"name":"address","nodeType":"ElementaryTypeName","src":"31263:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31262:16:95"},"returnParameters":{"id":68516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68515,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68522,"src":"31308:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68514,"name":"uint256","nodeType":"ElementaryTypeName","src":"31308:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31307:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68565,"nodeType":"FunctionDefinition","src":"31373:874:95","nodes":[],"body":{"id":68564,"nodeType":"Block","src":"31723:524:95","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":68538,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31754:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68540,"indexExpression":{"id":68539,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"31772:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31754:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31804:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"31754:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":68542,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31828:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68544,"indexExpression":{"id":68543,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"31846:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31828:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31878:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"31828:62:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":68546,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31904:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68548,"indexExpression":{"id":68547,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"31922:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31904:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68549,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31954:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"31904:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":68550,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31993:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68552,"indexExpression":{"id":68551,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"32011:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31993:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32043:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"31993:76:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":68554,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"32083:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68556,"indexExpression":{"id":68555,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"32101:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32083:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68557,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32133:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"32083:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":68558,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"32160:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68560,"indexExpression":{"id":68559,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"32178:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32160:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32210:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"32160:70:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68562,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31740:500:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$74765_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":68537,"id":68563,"nodeType":"Return","src":"31733:507:95"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31382:19:95","parameters":{"id":68523,"nodeType":"ParameterList","parameters":[],"src":"31401:2:95"},"returnParameters":{"id":68537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68526,"mutability":"mutable","name":"arbitrator","nameLocation":"31492:10:95","nodeType":"VariableDeclaration","scope":68565,"src":"31480:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":68525,"nodeType":"UserDefinedTypeName","pathNode":{"id":68524,"name":"IArbitrator","nameLocations":["31480:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"31480:11:95"},"referencedDeclaration":74765,"src":"31480:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":68528,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31524:12:95","nodeType":"VariableDeclaration","scope":68565,"src":"31516:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68527,"name":"address","nodeType":"ElementaryTypeName","src":"31516:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68530,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31558:25:95","nodeType":"VariableDeclaration","scope":68565,"src":"31550:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68529,"name":"uint256","nodeType":"ElementaryTypeName","src":"31550:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68532,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31605:26:95","nodeType":"VariableDeclaration","scope":68565,"src":"31597:34:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68531,"name":"uint256","nodeType":"ElementaryTypeName","src":"31597:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68534,"mutability":"mutable","name":"defaultRuling","nameLocation":"31653:13:95","nodeType":"VariableDeclaration","scope":68565,"src":"31645:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68533,"name":"uint256","nodeType":"ElementaryTypeName","src":"31645:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68536,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31688:20:95","nodeType":"VariableDeclaration","scope":68565,"src":"31680:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68535,"name":"uint256","nodeType":"ElementaryTypeName","src":"31680:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31466:252:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68582,"nodeType":"FunctionDefinition","src":"32253:226:95","nodes":[],"body":{"id":68581,"nodeType":"Block","src":"32407:72:95","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":68574,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"32424:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68576,"indexExpression":{"id":68575,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68567,"src":"32434:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32447:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"32424:40:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68579,"indexExpression":{"id":68578,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68569,"src":"32465:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:48:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68573,"id":68580,"nodeType":"Return","src":"32417:55:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"32262:31:95","parameters":{"id":68570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68567,"mutability":"mutable","name":"_proposalId","nameLocation":"32302:11:95","nodeType":"VariableDeclaration","scope":68582,"src":"32294:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68566,"name":"uint256","nodeType":"ElementaryTypeName","src":"32294:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68569,"mutability":"mutable","name":"_voter","nameLocation":"32323:6:95","nodeType":"VariableDeclaration","scope":68582,"src":"32315:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68568,"name":"address","nodeType":"ElementaryTypeName","src":"32315:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32293:37:95"},"returnParameters":{"id":68573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68582,"src":"32394:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68571,"name":"uint256","nodeType":"ElementaryTypeName","src":"32394:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32393:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68592,"nodeType":"FunctionDefinition","src":"32485:153:95","nodes":[],"body":{"id":68591,"nodeType":"Block","src":"32557:81:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68587,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"32574:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":68588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32592:20:95","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72906,"src":"32574:38:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":68589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32574:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68586,"id":68590,"nodeType":"Return","src":"32567:47:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32494:20:95","parameters":{"id":68583,"nodeType":"ParameterList","parameters":[],"src":"32514:2:95"},"returnParameters":{"id":68586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68592,"src":"32548:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68584,"name":"uint256","nodeType":"ElementaryTypeName","src":"32548:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32547:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68617,"nodeType":"FunctionDefinition","src":"32644:193:95","nodes":[],"body":{"id":68616,"nodeType":"Block","src":"32726:111:95","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68599,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"32743:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68601,"indexExpression":{"id":68600,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68594,"src":"32753:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32743:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32766:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"32743:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32779:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32743:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68605,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"32784:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68607,"indexExpression":{"id":68606,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68594,"src":"32794:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32784:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68608,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32807:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"32784:32:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32828:1:95","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":68610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32820:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68609,"name":"address","nodeType":"ElementaryTypeName","src":"32820:7:95","typeDescriptions":{}}},"id":68612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32820:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32784:46:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32743:87:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":68598,"id":68615,"nodeType":"Return","src":"32736:94:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32653:14:95","parameters":{"id":68595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68594,"mutability":"mutable","name":"_proposalID","nameLocation":"32676:11:95","nodeType":"VariableDeclaration","scope":68617,"src":"32668:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68593,"name":"uint256","nodeType":"ElementaryTypeName","src":"32668:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32667:21:95"},"returnParameters":{"id":68598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68617,"src":"32720:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68596,"name":"bool","nodeType":"ElementaryTypeName","src":"32720:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32719:6:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68636,"nodeType":"FunctionDefinition","src":"32843:191:95","nodes":[],"body":{"id":68635,"nodeType":"Block","src":"32946:88:95","nodes":[],"statements":[{"expression":{"id":68633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68624,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68622,"src":"32956:14:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68625,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"32973:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68626,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32982:8:95","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":66588,"src":"32973:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68627,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"32993:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68629,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"33007:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68630,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"33026:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33007:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:54:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32956:71:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68634,"nodeType":"ExpressionStatement","src":"32956:71:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"32852:15:95","parameters":{"id":68620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68619,"mutability":"mutable","name":"_requestedAmount","nameLocation":"32876:16:95","nodeType":"VariableDeclaration","scope":68636,"src":"32868:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68618,"name":"uint256","nodeType":"ElementaryTypeName","src":"32868:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32867:26:95"},"returnParameters":{"id":68623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68622,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"32930:14:95","nodeType":"VariableDeclaration","scope":68636,"src":"32925:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68621,"name":"bool","nodeType":"ElementaryTypeName","src":"32925:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32924:21:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68732,"nodeType":"FunctionDefinition","src":"33040:1548:95","nodes":[],"body":{"id":68731,"nodeType":"Block","src":"33170:1418:95","nodes":[],"statements":[{"assignments":[68646],"declarations":[{"constant":false,"id":68646,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"33187:15:95","nodeType":"VariableDeclaration","scope":68731,"src":"33180:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68645,"name":"int256","nodeType":"ElementaryTypeName","src":"33180:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68648,"initialValue":{"hexValue":"30","id":68647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33205:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33180:26:95"},{"body":{"id":68693,"nodeType":"Block","src":"33270:576:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68660,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33343:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68662,"indexExpression":{"id":68661,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33360:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33343:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33363:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66566,"src":"33343:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33377:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33343:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68668,"nodeType":"IfStatement","src":"33339:187:95","trueBody":{"id":68667,"nodeType":"Block","src":"33380:146:95","statements":[{"id":68666,"nodeType":"Continue","src":"33503:8:95"}]}},{"assignments":[68670],"declarations":[{"constant":false,"id":68670,"mutability":"mutable","name":"proposalId","nameLocation":"33547:10:95","nodeType":"VariableDeclaration","scope":68693,"src":"33539:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68669,"name":"uint256","nodeType":"ElementaryTypeName","src":"33539:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68675,"initialValue":{"expression":{"baseExpression":{"id":68671,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33560:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68673,"indexExpression":{"id":68672,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33577:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33560:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33580:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66566,"src":"33560:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33539:51:95"},{"condition":{"id":68679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33608:27:95","subExpression":{"arguments":[{"id":68677,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68670,"src":"33624:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68676,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"33609:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33609:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68685,"nodeType":"IfStatement","src":"33604:167:95","trueBody":{"id":68684,"nodeType":"Block","src":"33637:134:95","statements":[{"errorCall":{"arguments":[{"id":68681,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68670,"src":"33680:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68680,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"33662:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33662:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68683,"nodeType":"RevertStatement","src":"33655:36:95"}]}},{"expression":{"id":68691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68686,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68646,"src":"33784:15:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":68687,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33803:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68689,"indexExpression":{"id":68688,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33820:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33803:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33823:12:95","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":66568,"src":"33803:32:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33784:51:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":68692,"nodeType":"ExpressionStatement","src":"33784:51:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33236:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68654,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33240:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33257:6:95","memberName":"length","nodeType":"MemberAccess","src":"33240:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33236:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68694,"initializationExpression":{"assignments":[68650],"declarations":[{"constant":false,"id":68650,"mutability":"mutable","name":"i","nameLocation":"33229:1:95","nodeType":"VariableDeclaration","scope":68694,"src":"33221:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68649,"name":"uint256","nodeType":"ElementaryTypeName","src":"33221:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68652,"initialValue":{"hexValue":"30","id":68651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33233:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33221:13:95"},"loopExpression":{"expression":{"id":68658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33265:3:95","subExpression":{"id":68657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33265:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68659,"nodeType":"ExpressionStatement","src":"33265:3:95"},"nodeType":"ForStatement","src":"33216:630:95"},{"assignments":[68696],"declarations":[{"constant":false,"id":68696,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"33950:21:95","nodeType":"VariableDeclaration","scope":68731,"src":"33942:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68695,"name":"uint256","nodeType":"ElementaryTypeName","src":"33942:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68703,"initialValue":{"arguments":[{"arguments":[{"id":68699,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68638,"src":"34008:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68698,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68522,"src":"33986:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":68700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33986:30:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68701,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68646,"src":"34018:15:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68697,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69054,"src":"33974:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":68702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33974:60:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33942:92:95"},{"assignments":[68705],"declarations":[{"constant":false,"id":68705,"mutability":"mutable","name":"participantBalance","nameLocation":"34124:18:95","nodeType":"VariableDeclaration","scope":68731,"src":"34116:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68704,"name":"uint256","nodeType":"ElementaryTypeName","src":"34116:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68714,"initialValue":{"arguments":[{"id":68708,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68638,"src":"34188:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":68711,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"34205:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":68710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34197:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68709,"name":"address","nodeType":"ElementaryTypeName","src":"34197:7:95","typeDescriptions":{}}},"id":68712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34197:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68706,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"34145:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":68707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34163:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"34145:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":68713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34145:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34116:95:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68715,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"34377:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":68716,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68705,"src":"34401:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34377:42:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68724,"nodeType":"IfStatement","src":"34373:147:95","trueBody":{"id":68723,"nodeType":"Block","src":"34421:99:95","statements":[{"errorCall":{"arguments":[{"id":68719,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"34467:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68720,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68705,"src":"34490:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68718,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66665,"src":"34442:24:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34442:67:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68722,"nodeType":"RevertStatement","src":"34435:74:95"}]}},{"expression":{"id":68729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68725,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66913,"src":"34530:18:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68727,"indexExpression":{"id":68726,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68638,"src":"34549:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34530:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68728,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"34560:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34530:51:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68730,"nodeType":"ExpressionStatement","src":"34530:51:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"33049:24:95","parameters":{"id":68643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68638,"mutability":"mutable","name":"_sender","nameLocation":"33082:7:95","nodeType":"VariableDeclaration","scope":68732,"src":"33074:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68637,"name":"address","nodeType":"ElementaryTypeName","src":"33074:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68642,"mutability":"mutable","name":"_proposalSupport","nameLocation":"33131:16:95","nodeType":"VariableDeclaration","scope":68732,"src":"33091:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":68640,"nodeType":"UserDefinedTypeName","pathNode":{"id":68639,"name":"StrategyStruct.ProposalSupport","nameLocations":["33091:14:95","33106:15:95"],"nodeType":"IdentifierPath","referencedDeclaration":66569,"src":"33091:30:95"},"referencedDeclaration":66569,"src":"33091:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":68641,"nodeType":"ArrayTypeName","src":"33091:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"33073:75:95"},"returnParameters":{"id":68644,"nodeType":"ParameterList","parameters":[],"src":"33170:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":69019,"nodeType":"FunctionDefinition","src":"34594:3487:95","nodes":[],"body":{"id":69018,"nodeType":"Block","src":"34707:3374:95","nodes":[],"statements":[{"assignments":[68745],"declarations":[{"constant":false,"id":68745,"mutability":"mutable","name":"proposalsIds","nameLocation":"34734:12:95","nodeType":"VariableDeclaration","scope":69018,"src":"34717:29:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68743,"name":"uint256","nodeType":"ElementaryTypeName","src":"34717:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68744,"nodeType":"ArrayTypeName","src":"34717:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":68746,"nodeType":"VariableDeclarationStatement","src":"34717:29:95"},{"body":{"id":69016,"nodeType":"Block","src":"34810:3265:95","statements":[{"assignments":[68759],"declarations":[{"constant":false,"id":68759,"mutability":"mutable","name":"proposalId","nameLocation":"34832:10:95","nodeType":"VariableDeclaration","scope":69016,"src":"34824:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68758,"name":"uint256","nodeType":"ElementaryTypeName","src":"34824:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68764,"initialValue":{"expression":{"baseExpression":{"id":68760,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68738,"src":"34845:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68762,"indexExpression":{"id":68761,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"34862:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34845:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34865:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66566,"src":"34845:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34824:51:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68765,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"34948:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34961:6:95","memberName":"length","nodeType":"MemberAccess","src":"34948:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34971:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34948:24:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68867,"nodeType":"Block","src":"35100:764:95","statements":[{"assignments":[68785],"declarations":[{"constant":false,"id":68785,"mutability":"mutable","name":"exist","nameLocation":"35123:5:95","nodeType":"VariableDeclaration","scope":68867,"src":"35118:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68784,"name":"bool","nodeType":"ElementaryTypeName","src":"35118:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68787,"initialValue":{"hexValue":"66616c7365","id":68786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35131:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35118:18:95"},{"body":{"id":68815,"nodeType":"Block","src":"35204:268:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":68799,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35255:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68801,"indexExpression":{"id":68800,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35268:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35255:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68802,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35274:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35255:29:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68814,"nodeType":"IfStatement","src":"35251:203:95","trueBody":{"id":68813,"nodeType":"Block","src":"35286:168:95","statements":[{"expression":{"id":68806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68804,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68785,"src":"35312:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":68805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35320:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35312:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68807,"nodeType":"ExpressionStatement","src":"35312:12:95"},{"errorCall":{"arguments":[{"id":68809,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35383:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68810,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35395:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68808,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66683,"src":"35357:25:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35357:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68812,"nodeType":"RevertStatement","src":"35350:47:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68792,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35174:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68793,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35178:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35191:6:95","memberName":"length","nodeType":"MemberAccess","src":"35178:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35174:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68816,"initializationExpression":{"assignments":[68789],"declarations":[{"constant":false,"id":68789,"mutability":"mutable","name":"j","nameLocation":"35167:1:95","nodeType":"VariableDeclaration","scope":68816,"src":"35159:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68788,"name":"uint256","nodeType":"ElementaryTypeName","src":"35159:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68791,"initialValue":{"hexValue":"30","id":68790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35171:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35159:13:95"},"loopExpression":{"expression":{"id":68797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35199:3:95","subExpression":{"id":68796,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35199:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68798,"nodeType":"ExpressionStatement","src":"35199:3:95"},"nodeType":"ForStatement","src":"35154:318:95"},{"condition":{"id":68818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35493:6:95","subExpression":{"id":68817,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68785,"src":"35494:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68866,"nodeType":"IfStatement","src":"35489:361:95","trueBody":{"id":68865,"nodeType":"Block","src":"35501:349:95","statements":[{"assignments":[68823],"declarations":[{"constant":false,"id":68823,"mutability":"mutable","name":"temp","nameLocation":"35540:4:95","nodeType":"VariableDeclaration","scope":68865,"src":"35523:21:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68821,"name":"uint256","nodeType":"ElementaryTypeName","src":"35523:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68822,"nodeType":"ArrayTypeName","src":"35523:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":68832,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68827,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35561:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35574:6:95","memberName":"length","nodeType":"MemberAccess","src":"35561:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":68829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35583:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35561:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35547:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":68824,"name":"uint256","nodeType":"ElementaryTypeName","src":"35551:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68825,"nodeType":"ArrayTypeName","src":"35551:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":68831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35547:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35523:62:95"},{"body":{"id":68852,"nodeType":"Block","src":"35657:74:95","statements":[{"expression":{"id":68850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68844,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68823,"src":"35683:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68846,"indexExpression":{"id":68845,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35688:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35683:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":68847,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35693:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68849,"indexExpression":{"id":68848,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35706:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35693:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35683:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68851,"nodeType":"ExpressionStatement","src":"35683:25:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35627:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68838,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35631:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35644:6:95","memberName":"length","nodeType":"MemberAccess","src":"35631:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35627:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68853,"initializationExpression":{"assignments":[68834],"declarations":[{"constant":false,"id":68834,"mutability":"mutable","name":"j","nameLocation":"35620:1:95","nodeType":"VariableDeclaration","scope":68853,"src":"35612:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68833,"name":"uint256","nodeType":"ElementaryTypeName","src":"35612:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68836,"initialValue":{"hexValue":"30","id":68835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35624:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35612:13:95"},"loopExpression":{"expression":{"id":68842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35652:3:95","subExpression":{"id":68841,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35652:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68843,"nodeType":"ExpressionStatement","src":"35652:3:95"},"nodeType":"ForStatement","src":"35607:124:95"},{"expression":{"id":68859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68854,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68823,"src":"35752:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68857,"indexExpression":{"expression":{"id":68855,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35757:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35770:6:95","memberName":"length","nodeType":"MemberAccess","src":"35757:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35752:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68858,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35780:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35752:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68860,"nodeType":"ExpressionStatement","src":"35752:38:95"},{"expression":{"id":68863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68861,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35812:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68862,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68823,"src":"35827:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35812:19:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68864,"nodeType":"ExpressionStatement","src":"35812:19:95"}]}}]},"id":68868,"nodeType":"IfStatement","src":"34944:920:95","trueBody":{"id":68783,"nodeType":"Block","src":"34974:120:95","statements":[{"expression":{"id":68775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68769,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"34992:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":68773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35021:1:95","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"}],"id":68772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35007:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":68770,"name":"uint256","nodeType":"ElementaryTypeName","src":"35011:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68771,"nodeType":"ArrayTypeName","src":"35011:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":68774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35007:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"34992:31:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68776,"nodeType":"ExpressionStatement","src":"34992:31:95"},{"expression":{"id":68781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68777,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35041:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68779,"indexExpression":{"hexValue":"30","id":68778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35054:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35041:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68780,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35059:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35041:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68782,"nodeType":"ExpressionStatement","src":"35041:28:95"}]}},{"assignments":[68870],"declarations":[{"constant":false,"id":68870,"mutability":"mutable","name":"delta","nameLocation":"35884:5:95","nodeType":"VariableDeclaration","scope":69016,"src":"35877:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68869,"name":"int256","nodeType":"ElementaryTypeName","src":"35877:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68875,"initialValue":{"expression":{"baseExpression":{"id":68871,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68738,"src":"35892:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68873,"indexExpression":{"id":68872,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"35909:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35892:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35912:12:95","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":66568,"src":"35892:32:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"35877:47:95"},{"assignments":[68880],"declarations":[{"constant":false,"id":68880,"mutability":"mutable","name":"proposal","nameLocation":"35971:8:95","nodeType":"VariableDeclaration","scope":69016,"src":"35939:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68879,"nodeType":"UserDefinedTypeName","pathNode":{"id":68878,"name":"StrategyStruct.Proposal","nameLocations":["35939:14:95","35954:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"35939:23:95"},"referencedDeclaration":66564,"src":"35939:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68884,"initialValue":{"baseExpression":{"id":68881,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"35982:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68883,"indexExpression":{"id":68882,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35992:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35982:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35939:64:95"},{"assignments":[68886],"declarations":[{"constant":false,"id":68886,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"36113:20:95","nodeType":"VariableDeclaration","scope":69016,"src":"36105:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68885,"name":"uint256","nodeType":"ElementaryTypeName","src":"36105:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68891,"initialValue":{"baseExpression":{"expression":{"id":68887,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"36136:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68888,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36145:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"36136:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68890,"indexExpression":{"id":68889,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36163:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36136:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36105:66:95"},{"assignments":[68893],"declarations":[{"constant":false,"id":68893,"mutability":"mutable","name":"stakedPoints","nameLocation":"36344:12:95","nodeType":"VariableDeclaration","scope":69016,"src":"36336:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68892,"name":"uint256","nodeType":"ElementaryTypeName","src":"36336:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68898,"initialValue":{"arguments":[{"id":68895,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"36371:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68896,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68870,"src":"36393:5:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68894,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69054,"src":"36359:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":68897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36359:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36336:63:95"},{"expression":{"id":68905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":68899,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"36534:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36543:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"36534:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68903,"indexExpression":{"id":68901,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36561:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36534:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68904,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"36572:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36534:50:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68906,"nodeType":"ExpressionStatement","src":"36534:50:95"},{"assignments":[68908],"declarations":[{"constant":false,"id":68908,"mutability":"mutable","name":"hasProposal","nameLocation":"36823:11:95","nodeType":"VariableDeclaration","scope":69016,"src":"36818:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68907,"name":"bool","nodeType":"ElementaryTypeName","src":"36818:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68910,"initialValue":{"hexValue":"66616c7365","id":68909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36837:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"36818:24:95"},{"body":{"id":68939,"nodeType":"Block","src":"36923:179:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":68924,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"36945:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68926,"indexExpression":{"id":68925,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36966:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68928,"indexExpression":{"id":68927,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"36975:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":68929,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"36981:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36990:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"36981:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36945:55:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68938,"nodeType":"IfStatement","src":"36941:147:95","trueBody":{"id":68937,"nodeType":"Block","src":"37002:86:95","statements":[{"expression":{"id":68934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68932,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68908,"src":"37024:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":68933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37038:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"37024:18:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68935,"nodeType":"ExpressionStatement","src":"37024:18:95"},{"id":68936,"nodeType":"Break","src":"37064:5:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68915,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"36876:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":68916,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"36880:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68918,"indexExpression":{"id":68917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36901:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36880:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36910:6:95","memberName":"length","nodeType":"MemberAccess","src":"36880:36:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36876:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68940,"initializationExpression":{"assignments":[68912],"declarations":[{"constant":false,"id":68912,"mutability":"mutable","name":"k","nameLocation":"36869:1:95","nodeType":"VariableDeclaration","scope":68940,"src":"36861:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68911,"name":"uint256","nodeType":"ElementaryTypeName","src":"36861:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68914,"initialValue":{"hexValue":"30","id":68913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36873:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36861:13:95"},"loopExpression":{"expression":{"id":68922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36918:3:95","subExpression":{"id":68921,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"36918:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68923,"nodeType":"ExpressionStatement","src":"36918:3:95"},"nodeType":"ForStatement","src":"36856:246:95"},{"condition":{"id":68942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37119:12:95","subExpression":{"id":68941,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68908,"src":"37120:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68952,"nodeType":"IfStatement","src":"37115:106:95","trueBody":{"id":68951,"nodeType":"Block","src":"37133:88:95","statements":[{"expression":{"arguments":[{"expression":{"id":68947,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37186:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37195:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"37186:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":68943,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"37151:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68945,"indexExpression":{"id":68944,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"37172:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37151:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37181:4:95","memberName":"push","nodeType":"MemberAccess","src":"37151:34:95","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":68949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37151:55:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68950,"nodeType":"ExpressionStatement","src":"37151:55:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68953,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37376:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68954,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37400:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37376:36:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68985,"nodeType":"Block","src":"37581:161:95","statements":[{"expression":{"id":68975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68971,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66881,"src":"37599:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68972,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37614:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68973,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37637:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37614:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37599:50:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68976,"nodeType":"ExpressionStatement","src":"37599:50:95"},{"expression":{"id":68983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68977,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37667:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37676:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"37667:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68980,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37692:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68981,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37715:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37692:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37667:60:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68984,"nodeType":"ExpressionStatement","src":"37667:60:95"}]},"id":68986,"nodeType":"IfStatement","src":"37372:370:95","trueBody":{"id":68970,"nodeType":"Block","src":"37414:161:95","statements":[{"expression":{"id":68960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68956,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66881,"src":"37432:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68957,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37447:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68958,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37462:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37447:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37432:50:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68961,"nodeType":"ExpressionStatement","src":"37432:50:95"},{"expression":{"id":68968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68962,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37500:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37509:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"37500:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68965,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37525:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68966,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37540:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37525:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37500:60:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68969,"nodeType":"ExpressionStatement","src":"37500:60:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68987,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37759:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37768:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"37759:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37781:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37759:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69014,"nodeType":"Block","src":"37856:209:95","statements":[{"expression":{"arguments":[{"id":69000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37901:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":69001,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37911:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68999,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69354,"src":"37874:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":69002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37874:58:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69003,"nodeType":"ExpressionStatement","src":"37874:58:95"},{"eventCall":{"arguments":[{"id":69005,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"37968:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69006,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"37977:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69007,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37989:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69008,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"38003:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38012:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"38003:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69010,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"38026:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69011,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38035:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"38026:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69004,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66784,"src":"37955:12:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":69012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37955:95:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69013,"nodeType":"EmitStatement","src":"37950:100:95"}]},"id":69015,"nodeType":"IfStatement","src":"37755:310:95","trueBody":{"id":68998,"nodeType":"Block","src":"37784:66:95","statements":[{"expression":{"id":68996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68991,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37802:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68993,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37811:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"37802:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68994,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"37823:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37829:6:95","memberName":"number","nodeType":"MemberAccess","src":"37823:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37802:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68997,"nodeType":"ExpressionStatement","src":"37802:33:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"34776:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68752,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68738,"src":"34780:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34797:6:95","memberName":"length","nodeType":"MemberAccess","src":"34780:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34776:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69017,"initializationExpression":{"assignments":[68748],"declarations":[{"constant":false,"id":68748,"mutability":"mutable","name":"i","nameLocation":"34769:1:95","nodeType":"VariableDeclaration","scope":69017,"src":"34761:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68747,"name":"uint256","nodeType":"ElementaryTypeName","src":"34761:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68750,"initialValue":{"hexValue":"30","id":68749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34773:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34761:13:95"},"loopExpression":{"expression":{"id":68756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34805:3:95","subExpression":{"id":68755,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"34805:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68757,"nodeType":"ExpressionStatement","src":"34805:3:95"},"nodeType":"ForStatement","src":"34756:3319:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34603:11:95","parameters":{"id":68739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68734,"mutability":"mutable","name":"_sender","nameLocation":"34623:7:95","nodeType":"VariableDeclaration","scope":69019,"src":"34615:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68733,"name":"address","nodeType":"ElementaryTypeName","src":"34615:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68738,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34672:16:95","nodeType":"VariableDeclaration","scope":69019,"src":"34632:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":68736,"nodeType":"UserDefinedTypeName","pathNode":{"id":68735,"name":"StrategyStruct.ProposalSupport","nameLocations":["34632:14:95","34647:15:95"],"nodeType":"IdentifierPath","referencedDeclaration":66569,"src":"34632:30:95"},"referencedDeclaration":66569,"src":"34632:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":68737,"nodeType":"ArrayTypeName","src":"34632:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"34614:75:95"},"returnParameters":{"id":68740,"nodeType":"ParameterList","parameters":[],"src":"34707:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69054,"nodeType":"FunctionDefinition","src":"38087:284:95","nodes":[],"body":{"id":69053,"nodeType":"Block","src":"38181:190:95","nodes":[],"statements":[{"assignments":[69029],"declarations":[{"constant":false,"id":69029,"mutability":"mutable","name":"result","nameLocation":"38198:6:95","nodeType":"VariableDeclaration","scope":69053,"src":"38191:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":69028,"name":"int256","nodeType":"ElementaryTypeName","src":"38191:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":69036,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":69035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":69032,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69021,"src":"38214:8:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38207:6:95","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":69030,"name":"int256","nodeType":"ElementaryTypeName","src":"38207:6:95","typeDescriptions":{}}},"id":69033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38207:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69034,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69023,"src":"38226:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"38207:25:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"38191:41:95"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":69039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69037,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69029,"src":"38247:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":69038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38256:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38247:10:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69047,"nodeType":"IfStatement","src":"38243:90:95","trueBody":{"id":69046,"nodeType":"Block","src":"38259:74:95","statements":[{"errorCall":{"arguments":[{"id":69041,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69021,"src":"38297:8:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69042,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69023,"src":"38307:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":69043,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69029,"src":"38315:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":69040,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66655,"src":"38280:16:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":69044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38280:42:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69045,"nodeType":"RevertStatement","src":"38273:49:95"}]}},{"expression":{"arguments":[{"id":69050,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69029,"src":"38357:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":69049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38349:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":69048,"name":"uint256","nodeType":"ElementaryTypeName","src":"38349:7:95","typeDescriptions":{}}},"id":69051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38349:15:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69027,"id":69052,"nodeType":"Return","src":"38342:22:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"38096:11:95","parameters":{"id":69024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69021,"mutability":"mutable","name":"_support","nameLocation":"38116:8:95","nodeType":"VariableDeclaration","scope":69054,"src":"38108:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69020,"name":"uint256","nodeType":"ElementaryTypeName","src":"38108:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69023,"mutability":"mutable","name":"_delta","nameLocation":"38133:6:95","nodeType":"VariableDeclaration","scope":69054,"src":"38126:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":69022,"name":"int256","nodeType":"ElementaryTypeName","src":"38126:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"38107:33:95"},"returnParameters":{"id":69027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69054,"src":"38172:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69025,"name":"uint256","nodeType":"ElementaryTypeName","src":"38172:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38171:9:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":69112,"nodeType":"FunctionDefinition","src":"38788:1191:95","nodes":[],"body":{"id":69111,"nodeType":"Block","src":"38951:1028:95","nodes":[],"statements":[{"assignments":[69067],"declarations":[{"constant":false,"id":69067,"mutability":"mutable","name":"t","nameLocation":"38969:1:95","nodeType":"VariableDeclaration","scope":69111,"src":"38961:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69066,"name":"uint256","nodeType":"ElementaryTypeName","src":"38961:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69069,"initialValue":{"id":69068,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69057,"src":"38973:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38961:23:95"},{"assignments":[69071],"declarations":[{"constant":false,"id":69071,"mutability":"mutable","name":"atTWO_128","nameLocation":"39307:9:95","nodeType":"VariableDeclaration","scope":69111,"src":"39299:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69070,"name":"uint256","nodeType":"ElementaryTypeName","src":"39299:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69082,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69073,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"39325:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39334:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"39325:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":69075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39343:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39325:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39324:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69078,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"39350:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39324:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69080,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69067,"src":"39353:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69072,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69305,"src":"39319:4:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":69081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39319:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39299:56:95"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69083,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69071,"src":"39851:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69084,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69059,"src":"39863:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39851:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39850:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69087,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69061,"src":"39878:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69088,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"39891:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69090,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"39896:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":69091,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69071,"src":"39906:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39896:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39895:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69095,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39877:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69096,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"39921:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69097,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"39925:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39934:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"39925:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39921:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69100,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39920:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39877:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69102,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39876:65:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39850:91:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69104,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39849:93:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69105,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66855,"src":"39945:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39849:103:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69107,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39848:105:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":69108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39969:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39848:124:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69065,"id":69110,"nodeType":"Return","src":"39841:131:95"}]},"documentation":{"id":69055,"nodeType":"StructuredDocumentation","src":"38377:406:95","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"38797:19:95","parameters":{"id":69062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69057,"mutability":"mutable","name":"_timePassed","nameLocation":"38825:11:95","nodeType":"VariableDeclaration","scope":69112,"src":"38817:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69056,"name":"uint256","nodeType":"ElementaryTypeName","src":"38817:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69059,"mutability":"mutable","name":"_lastConv","nameLocation":"38846:9:95","nodeType":"VariableDeclaration","scope":69112,"src":"38838:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69058,"name":"uint256","nodeType":"ElementaryTypeName","src":"38838:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69061,"mutability":"mutable","name":"_oldAmount","nameLocation":"38865:10:95","nodeType":"VariableDeclaration","scope":69112,"src":"38857:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69060,"name":"uint256","nodeType":"ElementaryTypeName","src":"38857:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38816:60:95"},"returnParameters":{"id":69065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69112,"src":"38938:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69063,"name":"uint256","nodeType":"ElementaryTypeName","src":"38938:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38937:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69205,"nodeType":"FunctionDefinition","src":"40560:1549:95","nodes":[],"body":{"id":69204,"nodeType":"Block","src":"40663:1446:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69120,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"40797:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":69121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40811:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"40797:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69127,"nodeType":"IfStatement","src":"40793:66:95","trueBody":{"id":69126,"nodeType":"Block","src":"40814:45:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69123,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66633,"src":"40835:11:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40835:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69125,"nodeType":"RevertStatement","src":"40828:20:95"}]}},{"condition":{"arguments":[{"id":69129,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69115,"src":"41315:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69128,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68636,"src":"41299:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":69130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41299:33:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69135,"nodeType":"IfStatement","src":"41295:91:95","trueBody":{"id":69134,"nodeType":"Block","src":"41334:52:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69131,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66641,"src":"41355:18:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41355:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69133,"nodeType":"RevertStatement","src":"41348:27:95"}]}},{"assignments":[69137],"declarations":[{"constant":false,"id":69137,"mutability":"mutable","name":"denom","nameLocation":"41542:5:95","nodeType":"VariableDeclaration","scope":69204,"src":"41534:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69136,"name":"uint256","nodeType":"ElementaryTypeName","src":"41534:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69156,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69138,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"41551:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41560:8:95","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":66588,"src":"41551:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":69142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":69140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41571:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":69141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41576:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41571:7:95","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41551:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69144,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41550:29:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69145,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41582:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69147,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69115,"src":"41587:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":69150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":69148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41606:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":69149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41611:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41606:7:95","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41587:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69152,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41586:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69153,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"41617:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41586:41:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:77:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41534:93:95"},{"expression":{"id":69191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69157,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"41637:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69158,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"41669:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69159,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41678:6:95","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":66590,"src":"41669:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":69160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41688:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41669:22:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41668:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69163,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41695:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41668:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41667:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69166,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69137,"src":"41702:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69167,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69137,"src":"41710:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41702:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41701:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":69170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41720:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41701:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69172,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41700:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41667:56:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69174,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41666:58:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69175,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41727:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41666:62:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69177,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41665:64:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69178,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41733:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69179,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"41737:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41746:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"41737:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41733:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69182,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41732:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41665:87:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69184,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41664:89:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":69185,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69313,"src":"41772:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":69186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41772:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41664:136:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69188,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41650:160:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":69189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41814:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41650:166:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41637:179:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69192,"nodeType":"ExpressionStatement","src":"41637:179:95"},{"expression":{"id":69202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69193,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"42006:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69194,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"42019:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":69195,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"42032:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42041:18:95","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":66594,"src":"42032:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42019:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":69199,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"42075:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42084:18:95","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":66594,"src":"42075:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42019:83:95","trueExpression":{"id":69198,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"42062:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42006:96:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69203,"nodeType":"ExpressionStatement","src":"42006:96:95"}]},"documentation":{"id":69113,"nodeType":"StructuredDocumentation","src":"39985:570:95","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"40569:18:95","parameters":{"id":69116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69115,"mutability":"mutable","name":"_requestedAmount","nameLocation":"40596:16:95","nodeType":"VariableDeclaration","scope":69205,"src":"40588:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69114,"name":"uint256","nodeType":"ElementaryTypeName","src":"40588:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40587:26:95"},"returnParameters":{"id":69119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69118,"mutability":"mutable","name":"_threshold","nameLocation":"40651:10:95","nodeType":"VariableDeclaration","scope":69205,"src":"40643:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69117,"name":"uint256","nodeType":"ElementaryTypeName","src":"40643:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40642:20:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69240,"nodeType":"FunctionDefinition","src":"42370:277:95","nodes":[],"body":{"id":69239,"nodeType":"Block","src":"42456:191:95","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69216,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69208,"src":"42474:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":69217,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"42480:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42474:13:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":69219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42489:42:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":69215,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42466:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42466:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69221,"nodeType":"ExpressionStatement","src":"42466:66:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69223,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69210,"src":"42550:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":69224,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"42555:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42550:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":69226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42564:30:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":69222,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42542:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42542:53:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69228,"nodeType":"ExpressionStatement","src":"42542:53:95"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69229,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69208,"src":"42614:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69230,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69210,"src":"42619:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42614:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69232,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42613:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69233,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66855,"src":"42625:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42613:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69235,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42612:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":69236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42637:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"42612:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69214,"id":69238,"nodeType":"Return","src":"42605:35:95"}]},"documentation":{"id":69206,"nodeType":"StructuredDocumentation","src":"42115:250:95","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"42379:4:95","parameters":{"id":69211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69208,"mutability":"mutable","name":"_a","nameLocation":"42392:2:95","nodeType":"VariableDeclaration","scope":69240,"src":"42384:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69207,"name":"uint256","nodeType":"ElementaryTypeName","src":"42384:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69210,"mutability":"mutable","name":"_b","nameLocation":"42404:2:95","nodeType":"VariableDeclaration","scope":69240,"src":"42396:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69209,"name":"uint256","nodeType":"ElementaryTypeName","src":"42396:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42383:24:95"},"returnParameters":{"id":69214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69213,"mutability":"mutable","name":"_result","nameLocation":"42447:7:95","nodeType":"VariableDeclaration","scope":69240,"src":"42439:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69212,"name":"uint256","nodeType":"ElementaryTypeName","src":"42439:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42438:17:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":69305,"nodeType":"FunctionDefinition","src":"42869:455:95","nodes":[],"body":{"id":69304,"nodeType":"Block","src":"42955:369:95","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69251,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69243,"src":"42973:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":69252,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"42978:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42973:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":69254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42987:30:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":69250,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42965:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42965:53:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69256,"nodeType":"ExpressionStatement","src":"42965:53:95"},{"assignments":[69258],"declarations":[{"constant":false,"id":69258,"mutability":"mutable","name":"a","nameLocation":"43036:1:95","nodeType":"VariableDeclaration","scope":69304,"src":"43028:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69257,"name":"uint256","nodeType":"ElementaryTypeName","src":"43028:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69260,"initialValue":{"id":69259,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69243,"src":"43040:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43028:14:95"},{"assignments":[69262],"declarations":[{"constant":false,"id":69262,"mutability":"mutable","name":"b","nameLocation":"43060:1:95","nodeType":"VariableDeclaration","scope":69304,"src":"43052:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69261,"name":"uint256","nodeType":"ElementaryTypeName","src":"43052:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69264,"initialValue":{"id":69263,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69245,"src":"43064:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43052:14:95"},{"expression":{"id":69267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69265,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69248,"src":"43076:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69266,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"43086:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43076:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69268,"nodeType":"ExpressionStatement","src":"43076:17:95"},{"body":{"id":69302,"nodeType":"Block","src":"43117:201:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69272,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43135:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":69273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43139:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43135:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43144:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43135:10:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69300,"nodeType":"Block","src":"43225:83:95","statements":[{"expression":{"id":69294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69289,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69248,"src":"43243:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69291,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69248,"src":"43258:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69292,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43267:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69290,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69240,"src":"43253:4:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":69293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43253:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43243:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69295,"nodeType":"ExpressionStatement","src":"43243:26:95"},{"expression":{"id":69298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69296,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43287:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":69297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43292:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43287:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69299,"nodeType":"ExpressionStatement","src":"43287:6:95"}]},"id":69301,"nodeType":"IfStatement","src":"43131:177:95","trueBody":{"id":69288,"nodeType":"Block","src":"43147:72:95","statements":[{"expression":{"id":69282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69277,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43165:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69279,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43174:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69280,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43177:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69278,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69240,"src":"43169:4:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":69281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43169:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43165:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69283,"nodeType":"ExpressionStatement","src":"43165:14:95"},{"expression":{"id":69286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69284,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43197:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":69285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43203:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43197:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69287,"nodeType":"ExpressionStatement","src":"43197:7:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43110:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43114:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43110:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69303,"nodeType":"WhileStatement","src":"43103:215:95"}]},"documentation":{"id":69241,"nodeType":"StructuredDocumentation","src":"42653:211:95","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"42878:4:95","parameters":{"id":69246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69243,"mutability":"mutable","name":"_a","nameLocation":"42891:2:95","nodeType":"VariableDeclaration","scope":69305,"src":"42883:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69242,"name":"uint256","nodeType":"ElementaryTypeName","src":"42883:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69245,"mutability":"mutable","name":"_b","nameLocation":"42903:2:95","nodeType":"VariableDeclaration","scope":69305,"src":"42895:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69244,"name":"uint256","nodeType":"ElementaryTypeName","src":"42895:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42882:24:95"},"returnParameters":{"id":69249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69248,"mutability":"mutable","name":"_result","nameLocation":"42946:7:95","nodeType":"VariableDeclaration","scope":69305,"src":"42938:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69247,"name":"uint256","nodeType":"ElementaryTypeName","src":"42938:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42937:17:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":69313,"nodeType":"FunctionDefinition","src":"43330:120:95","nodes":[],"body":{"id":69312,"nodeType":"Block","src":"43406:44:95","nodes":[],"statements":[{"expression":{"id":69310,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"43423:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69309,"id":69311,"nodeType":"Return","src":"43416:27:95"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"43339:26:95","parameters":{"id":69306,"nodeType":"ParameterList","parameters":[],"src":"43365:2:95"},"returnParameters":{"id":69309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69313,"src":"43397:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69307,"name":"uint256","nodeType":"ElementaryTypeName","src":"43397:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43396:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69354,"nodeType":"FunctionDefinition","src":"43640:424:95","nodes":[],"body":{"id":69353,"nodeType":"Block","src":"43776:288:95","nodes":[],"statements":[{"assignments":[69323,69325],"declarations":[{"constant":false,"id":69323,"mutability":"mutable","name":"conviction","nameLocation":"43795:10:95","nodeType":"VariableDeclaration","scope":69353,"src":"43787:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69322,"name":"uint256","nodeType":"ElementaryTypeName","src":"43787:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69325,"mutability":"mutable","name":"blockNumber","nameLocation":"43815:11:95","nodeType":"VariableDeclaration","scope":69353,"src":"43807:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69324,"name":"uint256","nodeType":"ElementaryTypeName","src":"43807:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69330,"initialValue":{"arguments":[{"id":69327,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"43864:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":69328,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69319,"src":"43875:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69326,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69401,"src":"43830:33:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":69329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43830:56:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"43786:100:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69331,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69323,"src":"43900:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43914:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43900:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69334,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69325,"src":"43919:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43934:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43919:16:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43900:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69340,"nodeType":"IfStatement","src":"43896:72:95","trueBody":{"id":69339,"nodeType":"Block","src":"43937:31:95","statements":[{"functionReturnParameters":69321,"id":69338,"nodeType":"Return","src":"43951:7:95"}]}},{"expression":{"id":69345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69341,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"43977:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69343,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43987:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"43977:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69344,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69325,"src":"43999:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43977:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69346,"nodeType":"ExpressionStatement","src":"43977:33:95"},{"expression":{"id":69351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69347,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"44020:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44030:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"44020:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69350,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69323,"src":"44047:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44020:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69352,"nodeType":"ExpressionStatement","src":"44020:37:95"}]},"documentation":{"id":69314,"nodeType":"StructuredDocumentation","src":"43456:179:95","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"43649:26:95","parameters":{"id":69320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69317,"mutability":"mutable","name":"_proposal","nameLocation":"43708:9:95","nodeType":"VariableDeclaration","scope":69354,"src":"43676:41:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69316,"nodeType":"UserDefinedTypeName","pathNode":{"id":69315,"name":"StrategyStruct.Proposal","nameLocations":["43676:14:95","43691:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"43676:23:95"},"referencedDeclaration":66564,"src":"43676:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":69319,"mutability":"mutable","name":"_oldStaked","nameLocation":"43727:10:95","nodeType":"VariableDeclaration","scope":69354,"src":"43719:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69318,"name":"uint256","nodeType":"ElementaryTypeName","src":"43719:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43675:63:95"},"returnParameters":{"id":69321,"nodeType":"ParameterList","parameters":[],"src":"43776:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69401,"nodeType":"FunctionDefinition","src":"44070:845:95","nodes":[],"body":{"id":69400,"nodeType":"Block","src":"44284:631:95","nodes":[],"statements":[{"expression":{"id":69369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69366,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44294:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69367,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44308:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44314:6:95","memberName":"number","nodeType":"MemberAccess","src":"44308:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44294:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69370,"nodeType":"ExpressionStatement","src":"44294:26:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69372,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44337:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44347:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"44337:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":69374,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44360:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44337:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":69371,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"44330:6:95","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":69376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44330:42:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69377,"nodeType":"ExpressionStatement","src":"44330:42:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69378,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44386:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44396:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"44386:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":69380,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44409:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44386:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69387,"nodeType":"IfStatement","src":"44382:173:95","trueBody":{"id":69386,"nodeType":"Block","src":"44422:133:95","statements":[{"expression":{"components":[{"hexValue":"30","id":69382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44510:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":69383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44513:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":69384,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44509:6:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":69365,"id":69385,"nodeType":"Return","src":"44502:13:95"}]}},{"expression":{"id":69398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69388,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69362,"src":"44608:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69390,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44764:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69391,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44778:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44788:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"44778:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44764:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69394,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44850:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44860:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"44850:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69396,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69359,"src":"44888:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69389,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69112,"src":"44621:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":69397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44621:287:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44608:300:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69399,"nodeType":"ExpressionStatement","src":"44608:300:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"44079:33:95","parameters":{"id":69360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69357,"mutability":"mutable","name":"_proposal","nameLocation":"44145:9:95","nodeType":"VariableDeclaration","scope":69401,"src":"44113:41:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69356,"nodeType":"UserDefinedTypeName","pathNode":{"id":69355,"name":"StrategyStruct.Proposal","nameLocations":["44113:14:95","44128:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"44113:23:95"},"referencedDeclaration":66564,"src":"44113:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":69359,"mutability":"mutable","name":"_oldStaked","nameLocation":"44164:10:95","nodeType":"VariableDeclaration","scope":69401,"src":"44156:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69358,"name":"uint256","nodeType":"ElementaryTypeName","src":"44156:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44112:63:95"},"returnParameters":{"id":69365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69362,"mutability":"mutable","name":"conviction","nameLocation":"44247:10:95","nodeType":"VariableDeclaration","scope":69401,"src":"44239:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69361,"name":"uint256","nodeType":"ElementaryTypeName","src":"44239:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69364,"mutability":"mutable","name":"blockNumber","nameLocation":"44267:11:95","nodeType":"VariableDeclaration","scope":69401,"src":"44259:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69363,"name":"uint256","nodeType":"ElementaryTypeName","src":"44259:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44238:41:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":69553,"nodeType":"FunctionDefinition","src":"44921:2409:95","nodes":[],"body":{"id":69552,"nodeType":"Block","src":"45084:2246:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69410,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45111:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45129:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"45111:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":69414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45153:1:95","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":69413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45145:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69412,"name":"address","nodeType":"ElementaryTypeName","src":"45145:7:95","typeDescriptions":{}}},"id":69415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45145:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45111:44:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":69419,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45167:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69420,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45185:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"45167:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45159:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69417,"name":"address","nodeType":"ElementaryTypeName","src":"45159:7:95","typeDescriptions":{}}},"id":69421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45159:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":69424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45208:1:95","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":69423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45200:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69422,"name":"address","nodeType":"ElementaryTypeName","src":"45200:7:95","typeDescriptions":{}}},"id":69425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45200:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45159:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:99:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69428,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45252:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45270:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"45252:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69430,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45286:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69432,"indexExpression":{"id":69431,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45304:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45286:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45336:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"45286:62:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45252:96:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"id":69441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69435,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45376:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45394:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"45376:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69437,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45408:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69439,"indexExpression":{"id":69438,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45426:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45408:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45458:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"45408:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"src":"45376:92:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:216:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69443,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45496:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45514:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"45496:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69445,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45571:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69447,"indexExpression":{"id":69446,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45589:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45571:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45621:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"45571:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45496:150:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:394:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69451,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45674:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45692:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"45674:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69453,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45750:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69455,"indexExpression":{"id":69454,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45768:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45750:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45800:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"45750:76:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45674:152:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:574:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69459,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45854:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45872:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"45854:31:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69461,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45889:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69463,"indexExpression":{"id":69462,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45907:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45889:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45939:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"45889:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45854:98:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:700:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69467,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45980:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45998:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"45980:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69469,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46050:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69471,"indexExpression":{"id":69470,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46068:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46050:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46100:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"46050:70:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45980:140:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:868:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":69475,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45230:908:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:1027:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69543,"nodeType":"IfStatement","src":"45094:2158:95","trueBody":{"id":69542,"nodeType":"Block","src":"46149:1103:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69477,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46184:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69479,"indexExpression":{"id":69478,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46202:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46184:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46234:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46184:62:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69481,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46250:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46268:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46250:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46184:96:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"id":69490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69484,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46304:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69486,"indexExpression":{"id":69485,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46322:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46304:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46354:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46304:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69488,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46368:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46386:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46368:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"src":"46304:92:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46184:212:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69516,"nodeType":"IfStatement","src":"46163:522:95","trueBody":{"id":69515,"nodeType":"Block","src":"46411:274:95","statements":[{"expression":{"arguments":[{"expression":{"id":69497,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46471:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46489:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46471:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":69492,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46429:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46447:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46429:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"id":69496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46458:12:95","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":74764,"src":"46429:41:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":69499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46429:73:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69500,"nodeType":"ExpressionStatement","src":"46429:73:95"},{"eventCall":{"arguments":[{"arguments":[{"id":69504,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46576:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":69503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46568:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69502,"name":"address","nodeType":"ElementaryTypeName","src":"46568:7:95","typeDescriptions":{}}},"id":69505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46568:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":69508,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46591:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69509,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46609:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46591:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46583:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69506,"name":"address","nodeType":"ElementaryTypeName","src":"46583:7:95","typeDescriptions":{}}},"id":69510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46583:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69511,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46622:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46640:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46622:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69501,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66822,"src":"46525:21:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":69513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46525:145:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69514,"nodeType":"EmitStatement","src":"46520:150:95"}]}},{"expression":{"id":69518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46699:32:95","subExpression":{"id":69517,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46699:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69519,"nodeType":"ExpressionStatement","src":"46699:32:95"},{"expression":{"id":69524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":69520,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46745:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69522,"indexExpression":{"id":69521,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46763:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"46745:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69523,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46797:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"46745:69:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69525,"nodeType":"ExpressionStatement","src":"46745:69:95"},{"eventCall":{"arguments":[{"id":69527,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46875:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69528,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46923:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69529,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46941:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46923:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"expression":{"id":69530,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46969:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69531,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46987:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46969:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69532,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47017:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47035:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"47017:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69534,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47078:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47096:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"47078:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69536,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47140:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69537,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47158:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"47140:31:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69538,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47189:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47207:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"47189:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69526,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66843,"src":"46834:23:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$74765_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":69540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46834:407:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69541,"nodeType":"EmitStatement","src":"46829:412:95"}]}},{"expression":{"id":69546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69544,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"47262:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69545,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69407,"src":"47273:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"47262:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69547,"nodeType":"ExpressionStatement","src":"47262:20:95"},{"eventCall":{"arguments":[{"id":69549,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69407,"src":"47313:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":69548,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66789,"src":"47297:15:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$66595_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory)"}},"id":69550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47297:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69551,"nodeType":"EmitStatement","src":"47292:31:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"44930:14:95","parameters":{"id":69408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69404,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"44993:17:95","nodeType":"VariableDeclaration","scope":69553,"src":"44954:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69403,"nodeType":"UserDefinedTypeName","pathNode":{"id":69402,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["44954:14:95","44969:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"44954:31:95"},"referencedDeclaration":66586,"src":"44954:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69407,"mutability":"mutable","name":"_cvParams","nameLocation":"45051:9:95","nodeType":"VariableDeclaration","scope":69553,"src":"45020:40:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69406,"nodeType":"UserDefinedTypeName","pathNode":{"id":69405,"name":"StrategyStruct.CVParams","nameLocations":["45020:14:95","45035:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"45020:23:95"},"referencedDeclaration":66595,"src":"45020:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"44944:122:95"},"returnParameters":{"id":69409,"nodeType":"ParameterList","parameters":[],"src":"45084:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69589,"nodeType":"FunctionDefinition","src":"47336:639:95","nodes":[],"body":{"id":69588,"nodeType":"Block","src":"47423:552:95","nodes":[],"statements":[{"assignments":[69564],"declarations":[{"constant":false,"id":69564,"mutability":"mutable","name":"proposal","nameLocation":"47465:8:95","nodeType":"VariableDeclaration","scope":69588,"src":"47433:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69563,"nodeType":"UserDefinedTypeName","pathNode":{"id":69562,"name":"StrategyStruct.Proposal","nameLocations":["47433:14:95","47448:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"47433:23:95"},"referencedDeclaration":66564,"src":"47433:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69568,"initialValue":{"baseExpression":{"id":69565,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"47476:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69567,"indexExpression":{"id":69566,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69555,"src":"47486:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47476:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"47433:64:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69569,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47512:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47521:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"47512:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":69571,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69555,"src":"47535:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47512:33:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69578,"nodeType":"IfStatement","src":"47508:100:95","trueBody":{"id":69577,"nodeType":"Block","src":"47547:61:95","statements":[{"errorCall":{"arguments":[{"id":69574,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69555,"src":"47586:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69573,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"47568:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47568:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69576,"nodeType":"RevertStatement","src":"47561:36:95"}]}},{"expression":{"arguments":[{"id":69580,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47896:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":69581,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47906:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47915:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"47906:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69579,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69354,"src":"47869:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":69583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47869:59:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69584,"nodeType":"ExpressionStatement","src":"47869:59:95"},{"expression":{"expression":{"id":69585,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47945:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47954:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"47945:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69559,"id":69587,"nodeType":"Return","src":"47938:30:95"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"47345:24:95","parameters":{"id":69556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69555,"mutability":"mutable","name":"proposalId","nameLocation":"47378:10:95","nodeType":"VariableDeclaration","scope":69589,"src":"47370:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69554,"name":"uint256","nodeType":"ElementaryTypeName","src":"47370:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47369:20:95"},"returnParameters":{"id":69559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69558,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69589,"src":"47414:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69557,"name":"uint256","nodeType":"ElementaryTypeName","src":"47414:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47413:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":69609,"nodeType":"FunctionDefinition","src":"47981:141:95","nodes":[],"body":{"id":69608,"nodeType":"Block","src":"48061:61:95","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69596,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69591,"src":"48080:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69597,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"48089:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48080:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69599,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48079:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69600,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"48095:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69601,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"48099:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48108:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"48099:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48095:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69604,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48094:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48079:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69606,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48078:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69595,"id":69607,"nodeType":"Return","src":"48071:44:95"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"47990:16:95","parameters":{"id":69592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69591,"mutability":"mutable","name":"amount","nameLocation":"48015:6:95","nodeType":"VariableDeclaration","scope":69609,"src":"48007:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69590,"name":"uint256","nodeType":"ElementaryTypeName","src":"48007:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48006:16:95"},"returnParameters":{"id":69595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69609,"src":"48052:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69593,"name":"uint256","nodeType":"ElementaryTypeName","src":"48052:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48051:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69628,"nodeType":"FunctionDefinition","src":"48473:189:95","nodes":[],"body":{"id":69627,"nodeType":"Block","src":"48536:126:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69614,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67167,"src":"48546:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48546:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69616,"nodeType":"ExpressionStatement","src":"48546:17:95"},{"expression":{"arguments":[{"id":69618,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69611,"src":"48592:12:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69617,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67149,"src":"48573:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48573:32:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69620,"nodeType":"ExpressionStatement","src":"48573:32:95"},{"expression":{"id":69625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69621,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"48615:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69623,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69611,"src":"48642:12:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69622,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"48629:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70536_$","typeString":"type(contract ISybilScorer)"}},"id":69624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48629:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"src":"48615:40:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"id":69626,"nodeType":"ExpressionStatement","src":"48615:40:95"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"48482:14:95","parameters":{"id":69612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69611,"mutability":"mutable","name":"_sybilScorer","nameLocation":"48505:12:95","nodeType":"VariableDeclaration","scope":69628,"src":"48497:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69610,"name":"address","nodeType":"ElementaryTypeName","src":"48497:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48496:22:95"},"returnParameters":{"id":69613,"nodeType":"ParameterList","parameters":[],"src":"48536:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69646,"nodeType":"FunctionDefinition","src":"48668:250:95","nodes":[],"body":{"id":69645,"nodeType":"Block","src":"48830:88:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69637,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67167,"src":"48840:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48840:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69639,"nodeType":"ExpressionStatement","src":"48840:17:95"},{"expression":{"arguments":[{"id":69641,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69631,"src":"48882:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":69642,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69634,"src":"48901:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":69640,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69553,"src":"48867:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$66586_memory_ptr_$_t_struct$_CVParams_$66595_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":69643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48867:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69644,"nodeType":"ExpressionStatement","src":"48867:44:95"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"48677:13:95","parameters":{"id":69635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69631,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"48739:17:95","nodeType":"VariableDeclaration","scope":69646,"src":"48700:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69630,"nodeType":"UserDefinedTypeName","pathNode":{"id":69629,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["48700:14:95","48715:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"48700:31:95"},"referencedDeclaration":66586,"src":"48700:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69634,"mutability":"mutable","name":"_cvParams","nameLocation":"48797:9:95","nodeType":"VariableDeclaration","scope":69646,"src":"48766:40:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69633,"nodeType":"UserDefinedTypeName","pathNode":{"id":69632,"name":"StrategyStruct.CVParams","nameLocations":["48766:14:95","48781:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"48766:23:95"},"referencedDeclaration":66595,"src":"48766:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"48690:122:95"},"returnParameters":{"id":69636,"nodeType":"ParameterList","parameters":[],"src":"48830:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69839,"nodeType":"FunctionDefinition","src":"48924:2405:95","nodes":[],"body":{"id":69838,"nodeType":"Block","src":"49110:2219:95","nodes":[],"statements":[{"assignments":[69661],"declarations":[{"constant":false,"id":69661,"mutability":"mutable","name":"proposal","nameLocation":"49152:8:95","nodeType":"VariableDeclaration","scope":69838,"src":"49120:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69660,"nodeType":"UserDefinedTypeName","pathNode":{"id":69659,"name":"StrategyStruct.Proposal","nameLocations":["49120:14:95","49135:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"49120:23:95"},"referencedDeclaration":66564,"src":"49120:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69665,"initialValue":{"baseExpression":{"id":69662,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"49163:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69664,"indexExpression":{"id":69663,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49173:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49163:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49120:64:95"},{"assignments":[69670],"declarations":[{"constant":false,"id":69670,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"49233:16:95","nodeType":"VariableDeclaration","scope":69838,"src":"49194:55:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69669,"nodeType":"UserDefinedTypeName","pathNode":{"id":69668,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["49194:14:95","49209:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"49194:31:95"},"referencedDeclaration":66586,"src":"49194:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":69675,"initialValue":{"baseExpression":{"id":69671,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"49252:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69674,"indexExpression":{"expression":{"id":69672,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"49270:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49279:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"49270:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49252:51:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49194:109:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":69678,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"49326:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69679,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49343:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"49326:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49318:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69676,"name":"address","nodeType":"ElementaryTypeName","src":"49318:7:95","typeDescriptions":{}}},"id":69680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49318:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49366:1:95","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":69682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49358:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69681,"name":"address","nodeType":"ElementaryTypeName","src":"49358:7:95","typeDescriptions":{}}},"id":69684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49358:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49318:50:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69690,"nodeType":"IfStatement","src":"49314:112:95","trueBody":{"id":69689,"nodeType":"Block","src":"49370:56:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69686,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"49391:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49391:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69688,"nodeType":"RevertStatement","src":"49384:31:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69691,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"49603:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49612:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"49603:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":69693,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49626:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49603:33:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69700,"nodeType":"IfStatement","src":"49599:100:95","trueBody":{"id":69699,"nodeType":"Block","src":"49638:61:95","statements":[{"errorCall":{"arguments":[{"id":69696,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49677:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69695,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"49659:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49659:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69698,"nodeType":"RevertStatement","src":"49652:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":69706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69701,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"49712:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49721:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"49712:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69703,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"49739:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49754:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"49739:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49769:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"49739:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49712:63:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69712,"nodeType":"IfStatement","src":"49708:130:95","trueBody":{"id":69711,"nodeType":"Block","src":"49777:61:95","statements":[{"errorCall":{"arguments":[{"id":69708,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49816:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69707,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"49798:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49798:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69710,"nodeType":"RevertStatement","src":"49791:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69713,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49851:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49855:5:95","memberName":"value","nodeType":"MemberAccess","src":"49851:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69715,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"49863:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49880:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"49863:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49851:55:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69726,"nodeType":"IfStatement","src":"49847:171:95","trueBody":{"id":69725,"nodeType":"Block","src":"49908:110:95","statements":[{"errorCall":{"arguments":[{"expression":{"id":69719,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49952:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49956:5:95","memberName":"value","nodeType":"MemberAccess","src":"49952:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69721,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"49963:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69722,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49980:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"49963:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69718,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66705,"src":"49929:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":69723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49929:78:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69724,"nodeType":"RevertStatement","src":"49922:85:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69727,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50137:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50146:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"50137:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":69729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50171:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50137:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69731,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50192:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69732,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50201:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"50192:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69733,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66867,"src":"50225:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:53:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":69735,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50248:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50254:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"50248:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:71:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50137:126:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69751,"nodeType":"IfStatement","src":"50120:325:95","trueBody":{"id":69750,"nodeType":"Block","src":"50274:171:95","statements":[{"errorCall":{"arguments":[{"id":69740,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"50337:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69741,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50349:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50358:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"50349:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69743,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66867,"src":"50382:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:53:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69745,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50405:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50411:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"50405:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:71:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69739,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66727,"src":"50295:24:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":69748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50295:139:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69749,"nodeType":"RevertStatement","src":"50288:146:95"}]}},{"assignments":[69753],"declarations":[{"constant":false,"id":69753,"mutability":"mutable","name":"arbitrationFee","nameLocation":"50463:14:95","nodeType":"VariableDeclaration","scope":69838,"src":"50455:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69752,"name":"uint256","nodeType":"ElementaryTypeName","src":"50455:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69754,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50480:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50484:5:95","memberName":"value","nodeType":"MemberAccess","src":"50480:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69756,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"50492:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69757,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50509:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"50492:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50480:55:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50455:80:95"},{"expression":{"arguments":[{"id":69766,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"50632:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69767,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50644:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50648:6:95","memberName":"sender","nodeType":"MemberAccess","src":"50644:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":69760,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"50546:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50562:17:95","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74777,"src":"50546:33:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":69765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":69763,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"50587:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50604:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"50587:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50546:85:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":69769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50546:109:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69770,"nodeType":"ExpressionStatement","src":"50546:109:95"},{"expression":{"id":69780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69771,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"50666:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69777,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66864,"src":"50743:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69778,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69652,"src":"50759:10:95","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":69772,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"50678:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50695:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"50678:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"id":69774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50706:13:95","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":74712,"src":"50678:41:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":69776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":69775,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69753,"src":"50727:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50678:64:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":69779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50678:92:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50666:104:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69781,"nodeType":"ExpressionStatement","src":"50666:104:95"},{"expression":{"id":69788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69782,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50781:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50790:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"50781:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69785,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"50807:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50822:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"50807:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50837:8:95","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":66521,"src":"50807:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"50781:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69789,"nodeType":"ExpressionStatement","src":"50781:64:95"},{"expression":{"id":69796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":69790,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50855:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50864:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"50855:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50876:9:95","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":66525,"src":"50855:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69795,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"50888:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50855:42:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69797,"nodeType":"ExpressionStatement","src":"50855:42:95"},{"expression":{"id":69805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":69798,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50907:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50916:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"50907:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50928:16:95","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":66527,"src":"50907:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69803,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50947:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50953:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"50947:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50907:55:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69806,"nodeType":"ExpressionStatement","src":"50907:55:95"},{"expression":{"id":69814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":69807,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50972:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69810,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50981:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"50972:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50993:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"50972:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69812,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51006:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51010:6:95","memberName":"sender","nodeType":"MemberAccess","src":"51006:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"50972:44:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69815,"nodeType":"ExpressionStatement","src":"50972:44:95"},{"expression":{"id":69820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":69816,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66922,"src":"51026:21:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":69818,"indexExpression":{"id":69817,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"51048:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51026:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69819,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"51061:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51026:45:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69821,"nodeType":"ExpressionStatement","src":"51026:45:95"},{"expression":{"id":69823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51082:14:95","subExpression":{"id":69822,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66875,"src":"51082:12:95","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":69824,"nodeType":"ExpressionStatement","src":"51082:14:95"},{"eventCall":{"arguments":[{"expression":{"id":69826,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"51142:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51159:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"51142:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"id":69828,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"51183:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69829,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"51207:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69830,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51230:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51234:6:95","memberName":"sender","nodeType":"MemberAccess","src":"51230:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69832,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69650,"src":"51254:7:95","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":69833,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"51275:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51284:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"51275:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51296:16:95","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":66527,"src":"51275:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69825,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66814,"src":"51112:16:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74765_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":69836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51112:210:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69837,"nodeType":"EmitStatement","src":"51107:215:95"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"48933:15:95","parameters":{"id":69653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69648,"mutability":"mutable","name":"proposalId","nameLocation":"48957:10:95","nodeType":"VariableDeclaration","scope":69839,"src":"48949:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69647,"name":"uint256","nodeType":"ElementaryTypeName","src":"48949:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69650,"mutability":"mutable","name":"context","nameLocation":"48985:7:95","nodeType":"VariableDeclaration","scope":69839,"src":"48969:23:95","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":69649,"name":"string","nodeType":"ElementaryTypeName","src":"48969:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":69652,"mutability":"mutable","name":"_extraData","nameLocation":"49009:10:95","nodeType":"VariableDeclaration","scope":69839,"src":"48994:25:95","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":69651,"name":"bytes","nodeType":"ElementaryTypeName","src":"48994:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48948:72:95"},"returnParameters":{"id":69656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69655,"mutability":"mutable","name":"disputeId","nameLocation":"49095:9:95","nodeType":"VariableDeclaration","scope":69839,"src":"49087:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69654,"name":"uint256","nodeType":"ElementaryTypeName","src":"49087:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49086:19:95"},"scope":70168,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":70095,"nodeType":"FunctionDefinition","src":"51335:2994:95","nodes":[],"body":{"id":70094,"nodeType":"Block","src":"51412:2917:95","nodes":[],"statements":[{"assignments":[69848],"declarations":[{"constant":false,"id":69848,"mutability":"mutable","name":"proposalId","nameLocation":"51430:10:95","nodeType":"VariableDeclaration","scope":70094,"src":"51422:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69847,"name":"uint256","nodeType":"ElementaryTypeName","src":"51422:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69852,"initialValue":{"baseExpression":{"id":69849,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66922,"src":"51443:21:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":69851,"indexExpression":{"id":69850,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69841,"src":"51465:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51443:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51422:54:95"},{"assignments":[69857],"declarations":[{"constant":false,"id":69857,"mutability":"mutable","name":"proposal","nameLocation":"51518:8:95","nodeType":"VariableDeclaration","scope":70094,"src":"51486:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69856,"nodeType":"UserDefinedTypeName","pathNode":{"id":69855,"name":"StrategyStruct.Proposal","nameLocations":["51486:14:95","51501:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"51486:23:95"},"referencedDeclaration":66564,"src":"51486:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69861,"initialValue":{"baseExpression":{"id":69858,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"51529:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69860,"indexExpression":{"id":69859,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51539:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51529:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51486:64:95"},{"assignments":[69866],"declarations":[{"constant":false,"id":69866,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"51599:16:95","nodeType":"VariableDeclaration","scope":70094,"src":"51560:55:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69865,"nodeType":"UserDefinedTypeName","pathNode":{"id":69864,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["51560:14:95","51575:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"51560:31:95"},"referencedDeclaration":66586,"src":"51560:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":69871,"initialValue":{"baseExpression":{"id":69867,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"51618:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69870,"indexExpression":{"expression":{"id":69868,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"51636:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51645:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"51636:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51618:51:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51560:109:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69872,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51684:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51698:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51684:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69880,"nodeType":"IfStatement","src":"51680:82:95","trueBody":{"id":69879,"nodeType":"Block","src":"51701:61:95","statements":[{"errorCall":{"arguments":[{"id":69876,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51740:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69875,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"51722:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51722:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69878,"nodeType":"RevertStatement","src":"51715:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":69886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69881,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"51775:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51784:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"51775:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69883,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"51802:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51817:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"51802:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51832:8:95","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":66521,"src":"51802:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"51775:65:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69892,"nodeType":"IfStatement","src":"51771:134:95","trueBody":{"id":69891,"nodeType":"Block","src":"51842:63:95","statements":[{"errorCall":{"arguments":[{"id":69888,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51883:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69887,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66711,"src":"51863:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51863:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69890,"nodeType":"RevertStatement","src":"51856:38:95"}]}},{"assignments":[69894],"declarations":[{"constant":false,"id":69894,"mutability":"mutable","name":"isTimeOut","nameLocation":"51920:9:95","nodeType":"VariableDeclaration","scope":70094,"src":"51915:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69893,"name":"bool","nodeType":"ElementaryTypeName","src":"51915:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":69904,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69895,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"51932:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51938:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"51932:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":69897,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"51950:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51959:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"51950:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51971:16:95","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":66527,"src":"51950:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":69900,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"51990:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69901,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52007:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"51990:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51950:77:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51932:95:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"51915:112:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"52042:10:95","subExpression":{"id":69905,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69894,"src":"52043:9:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69907,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"52056:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52060:6:95","memberName":"sender","nodeType":"MemberAccess","src":"52056:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":69911,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52078:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52095:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"52078:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52070:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69909,"name":"address","nodeType":"ElementaryTypeName","src":"52070:7:95","typeDescriptions":{}}},"id":69913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52070:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52056:50:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52042:64:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69920,"nodeType":"IfStatement","src":"52038:118:95","trueBody":{"id":69919,"nodeType":"Block","src":"52108:48:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69916,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66707,"src":"52129:14:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52129:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69918,"nodeType":"RevertStatement","src":"52122:23:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69921,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69894,"src":"52170:9:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69922,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"52183:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52194:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52183:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52170:25:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69985,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"52967:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52978:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52967:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70014,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"53339:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":70015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53350:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53339:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70074,"nodeType":"IfStatement","src":"53335:834:95","trueBody":{"id":70073,"nodeType":"Block","src":"53353:816:95","statements":[{"expression":{"id":70023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":70017,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53367:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53376:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"53367:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":70020,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"53393:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":70021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53408:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"53393:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":70022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53423:8:95","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":66522,"src":"53393:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53367:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":70024,"nodeType":"ExpressionStatement","src":"53367:64:95"},{"expression":{"arguments":[{"id":70028,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53497:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":70029,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53509:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53518:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"53509:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":70031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53530:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"53509:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70032,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"53542:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":70033,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53559:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"53542:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70025,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53445:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53461:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"53445:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":70034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53445:154:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70035,"nodeType":"ExpressionStatement","src":"53445:154:95"},{"expression":{"arguments":[{"id":70039,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53668:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":70040,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53696:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53705:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"53696:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":70044,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"53740:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":70045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53758:11:95","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71426,"src":"53740:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74891_$","typeString":"function () view external returns (contract ISafe)"}},"id":70046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53740:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":70043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53732:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70042,"name":"address","nodeType":"ElementaryTypeName","src":"53732:7:95","typeDescriptions":{}}},"id":70047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53732:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70048,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"53790:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":70050,"indexExpression":{"id":70049,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"53808:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53790:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":70051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53840:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"53790:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":70052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53868:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53790:79:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70036,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53613:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53629:21:95","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"53613:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":70054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53613:270:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70055,"nodeType":"ExpressionStatement","src":"53613:270:95"},{"expression":{"arguments":[{"id":70059,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53952:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":70060,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53980:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53989:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"53980:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":70062,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"54016:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70063,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54025:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"54016:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":70064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54037:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"54016:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70065,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"54065:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":70067,"indexExpression":{"id":70066,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"54083:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54065:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":70068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54115:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"54065:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":70069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54143:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54065:79:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70056,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53897:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53913:21:95","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"53897:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":70071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53897:261:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70072,"nodeType":"ExpressionStatement","src":"53897:261:95"}]}},"id":70075,"nodeType":"IfStatement","src":"52963:1206:95","trueBody":{"id":70013,"nodeType":"Block","src":"52981:348:95","statements":[{"expression":{"id":69994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69988,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52995:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53004:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"52995:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69991,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"53021:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53036:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"53021:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53051:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"53021:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52995:62:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69995,"nodeType":"ExpressionStatement","src":"52995:62:95"},{"expression":{"arguments":[{"id":69999,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53126:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":70000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53154:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53163:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"53154:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":70002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53175:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"53154:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":70005,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"53211:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":70006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53229:11:95","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71426,"src":"53211:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74891_$","typeString":"function () view external returns (contract ISafe)"}},"id":70007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53211:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":70004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53203:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70003,"name":"address","nodeType":"ElementaryTypeName","src":"53203:7:95","typeDescriptions":{}}},"id":70008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53203:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70009,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"53261:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":70010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53278:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"53261:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69996,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53071:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53087:21:95","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"53071:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":70011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53071:247:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70012,"nodeType":"ExpressionStatement","src":"53071:247:95"}]}},"id":70076,"nodeType":"IfStatement","src":"52166:2003:95","trueBody":{"id":69984,"nodeType":"Block","src":"52197:760:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69926,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52215:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52232:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"52215:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52249:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52215:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69934,"nodeType":"IfStatement","src":"52211:102:95","trueBody":{"id":69933,"nodeType":"Block","src":"52252:61:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69930,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66721,"src":"52277:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52277:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69932,"nodeType":"RevertStatement","src":"52270:28:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69935,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52330:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52347:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"52330:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52364:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52330:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69948,"nodeType":"IfStatement","src":"52326:136:95","trueBody":{"id":69947,"nodeType":"Block","src":"52367:95:95","statements":[{"expression":{"id":69945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69939,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52385:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52394:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"52385:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69942,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"52411:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52426:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"52411:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52441:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"52411:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52385:62:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69946,"nodeType":"ExpressionStatement","src":"52385:62:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69949,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52479:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52496:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"52479:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52513:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52479:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69972,"nodeType":"IfStatement","src":"52475:304:95","trueBody":{"id":69971,"nodeType":"Block","src":"52516:263:95","statements":[{"expression":{"id":69959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69953,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52534:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52543:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"52534:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69956,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"52560:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52575:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"52560:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52590:8:95","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":66522,"src":"52560:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52534:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69960,"nodeType":"ExpressionStatement","src":"52534:64:95"},{"expression":{"arguments":[{"id":69964,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"52672:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69965,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52684:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52693:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"52684:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69967,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52704:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52721:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"52704:42:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69961,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"52616:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52632:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"52616:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52616:148:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69970,"nodeType":"ExpressionStatement","src":"52616:148:95"}]}},{"expression":{"arguments":[{"id":69976,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"52844:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69977,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52856:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52865:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"52856:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52877:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"52856:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69980,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52889:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52906:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"52889:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69973,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"52792:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52808:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"52792:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52792:154:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69983,"nodeType":"ExpressionStatement","src":"52792:154:95"}]}},{"expression":{"id":70078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"54179:14:95","subExpression":{"id":70077,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66875,"src":"54179:12:95","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":70079,"nodeType":"ExpressionStatement","src":"54179:14:95"},{"expression":{"id":70085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":70080,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"54203:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54212:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"54203:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70083,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54236:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":70084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54242:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"54236:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"54203:48:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70086,"nodeType":"ExpressionStatement","src":"54203:48:95"},{"eventCall":{"arguments":[{"expression":{"id":70088,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"54273:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":70089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54290:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"54273:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"id":70090,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69841,"src":"54302:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":70091,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"54314:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70087,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74652,"src":"54266:6:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74765_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":70092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54266:56:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70093,"nodeType":"EmitStatement","src":"54261:61:95"}]},"baseFunctions":[74660],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"51344:4:95","overrides":{"id":69845,"nodeType":"OverrideSpecifier","overrides":[],"src":"51403:8:95"},"parameters":{"id":69844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69841,"mutability":"mutable","name":"_disputeID","nameLocation":"51357:10:95","nodeType":"VariableDeclaration","scope":70095,"src":"51349:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69840,"name":"uint256","nodeType":"ElementaryTypeName","src":"51349:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69843,"mutability":"mutable","name":"_ruling","nameLocation":"51377:7:95","nodeType":"VariableDeclaration","scope":70095,"src":"51369:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69842,"name":"uint256","nodeType":"ElementaryTypeName","src":"51369:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51348:37:95"},"returnParameters":{"id":69846,"nodeType":"ParameterList","parameters":[],"src":"51412:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":70163,"nodeType":"FunctionDefinition","src":"54335:732:95","nodes":[],"body":{"id":70162,"nodeType":"Block","src":"54396:671:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":70107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70100,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54410:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70102,"indexExpression":{"id":70101,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54420:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54410:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70103,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54432:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"54410:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":70104,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"54450:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":70105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54465:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"54450:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":70106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54480:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"54450:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54410:76:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70113,"nodeType":"IfStatement","src":"54406:143:95","trueBody":{"id":70112,"nodeType":"Block","src":"54488:61:95","statements":[{"errorCall":{"arguments":[{"id":70109,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54527:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70108,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"54509:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":70110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54509:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70111,"nodeType":"RevertStatement","src":"54502:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70114,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54563:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70116,"indexExpression":{"id":70115,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54573:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54563:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54585:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"54563:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":70118,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54598:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54602:6:95","memberName":"sender","nodeType":"MemberAccess","src":"54598:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"54563:45:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70131,"nodeType":"IfStatement","src":"54559:141:95","trueBody":{"id":70130,"nodeType":"Block","src":"54610:90:95","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":70122,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54645:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70124,"indexExpression":{"id":70123,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54655:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54645:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54667:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"54645:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70126,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54678:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54682:6:95","memberName":"sender","nodeType":"MemberAccess","src":"54678:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70121,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66719,"src":"54631:13:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":70128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54631:58:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70129,"nodeType":"RevertStatement","src":"54624:65:95"}]}},{"expression":{"arguments":[{"id":70135,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54758:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":70136,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54782:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70138,"indexExpression":{"id":70137,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54792:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54782:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54804:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"54782:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":70140,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"54827:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":70145,"indexExpression":{"expression":{"baseExpression":{"id":70141,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54845:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70143,"indexExpression":{"id":70142,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54855:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54845:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54867:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"54845:45:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54827:64:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":70146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54892:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"54827:90:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70132,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"54710:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54726:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"54710:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":70147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54710:217:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70148,"nodeType":"ExpressionStatement","src":"54710:217:95"},{"expression":{"id":70156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70149,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54938:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70151,"indexExpression":{"id":70150,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54948:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54938:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54960:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"54938:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":70153,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"54977:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":70154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54992:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"54977:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":70155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55007:9:95","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":66519,"src":"54977:39:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54938:78:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":70157,"nodeType":"ExpressionStatement","src":"54938:78:95"},{"eventCall":{"arguments":[{"id":70159,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"55049:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70158,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66826,"src":"55031:17:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":70160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55031:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70161,"nodeType":"EmitStatement","src":"55026:34:95"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"54344:14:95","parameters":{"id":70098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70097,"mutability":"mutable","name":"proposalId","nameLocation":"54367:10:95","nodeType":"VariableDeclaration","scope":70163,"src":"54359:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70096,"name":"uint256","nodeType":"ElementaryTypeName","src":"54359:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54358:20:95"},"returnParameters":{"id":70099,"nodeType":"ParameterList","parameters":[],"src":"54396:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":70167,"nodeType":"VariableDeclaration","src":"55073:25:95","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"55093:5:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":70164,"name":"uint256","nodeType":"ElementaryTypeName","src":"55073:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70166,"length":{"hexValue":"3530","id":70165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55081:2:95","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"55073:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":66618,"name":"BaseStrategyUpgradeable","nameLocations":["4010:23:95"],"nodeType":"IdentifierPath","referencedDeclaration":66431,"src":"4010:23:95"},"id":66619,"nodeType":"InheritanceSpecifier","src":"4010:23:95"},{"baseName":{"id":66620,"name":"IArbitrable","nameLocations":["4035:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74661,"src":"4035:11:95"},"id":66621,"nodeType":"InheritanceSpecifier","src":"4035:11:95"},{"baseName":{"id":66622,"name":"IPointStrategy","nameLocations":["4048:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66494,"src":"4048:14:95"},"id":66623,"nodeType":"InheritanceSpecifier","src":"4048:14:95"},{"baseName":{"id":66624,"name":"ERC165","nameLocations":["4064:6:95"],"nodeType":"IdentifierPath","referencedDeclaration":57030,"src":"4064:6:95"},"id":66625,"nodeType":"InheritanceSpecifier","src":"4064:6:95"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":66617,"nodeType":"StructuredDocumentation","src":"3939:44:95","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[70168,57030,57236,66494,74661,66431,3089,3317,3106,2969,71125,54969,54622,54271,54281,52200,52993,52449],"name":"CVStrategyV0_0","nameLocation":"3992:14:95","scope":70169,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,66627,66629,66631,66633,66635,66637,66639,66641,66643,66645,66647,66655,66657,66659,66665,66667,66669,66673,66677,66683,66685,66687,66695,66697,66699,66705,66707,66711,66713,66719,66721,66727,71048]}],"license":"AGPL-3.0-only"},"id":95} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json b/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json index c521ba8bd..ed3059069 100644 --- a/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json +++ b/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220ce861b26185955e9676ae29d4fbda3bc8874753510254f9dd4eedbbad6148d0c64736f6c63430008130033","sourceMap":"1524:2413:97:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220ce861b26185955e9676ae29d4fbda3bc8874753510254f9dd4eedbbad6148d0c64736f6c63430008130033","sourceMap":"1524:2413:97:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"StrategyStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"StrategyStruct"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":69065,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[65327],"CVStrategyV0_0":[69064],"Clone":[3002],"ERC165":[57022],"ERC20":[55747],"IAllo":[2610],"IArbitrable":[72827],"IArbitrator":[72931],"ICollateralVault":[72964],"IERC165":[57228],"IPointStrategy":[65390],"ISybilScorer":[69416],"Math":[58094],"Metadata":[3098],"OwnableUpgradeable":[52200],"PassportData":[69334],"RegistryCommunityV0_0":[71974],"StrategyStruct":[65512],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"42:55060:97","nodes":[{"id":65329,"nodeType":"PragmaDirective","src":"42:24:97","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65331,"nodeType":"ImportDirective","src":"68:71:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65330,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65334,"nodeType":"ImportDirective","src":"140:82:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":65332,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65333,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65336,"nodeType":"ImportDirective","src":"223:85:97","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":71975,"symbolAliases":[{"foreign":{"id":65335,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"231:21:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65339,"nodeType":"ImportDirective","src":"309:87:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":57023,"symbolAliases":[{"foreign":{"id":65337,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57022,"src":"317:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65338,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57228,"src":"325:7:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65341,"nodeType":"ImportDirective","src":"397:68:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":55748,"symbolAliases":[{"foreign":{"id":65340,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"405:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65343,"nodeType":"ImportDirective","src":"466:58:97","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":72932,"symbolAliases":[{"foreign":{"id":65342,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72931,"src":"474:11:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65345,"nodeType":"ImportDirective","src":"525:58:97","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":72828,"symbolAliases":[{"foreign":{"id":65344,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72827,"src":"533:11:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65347,"nodeType":"ImportDirective","src":"584:65:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":65346,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65349,"nodeType":"ImportDirective","src":"700:65:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":58095,"symbolAliases":[{"foreign":{"id":65348,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"708:4:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65352,"nodeType":"ImportDirective","src":"766:63:97","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":69417,"symbolAliases":[{"foreign":{"id":65350,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69416,"src":"774:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65351,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69334,"src":"788:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65354,"nodeType":"ImportDirective","src":"831:88:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":65353,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"839:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65356,"nodeType":"ImportDirective","src":"920:71:97","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":65328,"symbolAliases":[{"foreign":{"id":65355,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65327,"src":"928:23:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65358,"nodeType":"ImportDirective","src":"992:101:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":65357,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"1000:18:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65360,"nodeType":"ImportDirective","src":"1094:68:97","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69065,"sourceUnit":72965,"symbolAliases":[{"foreign":{"id":65359,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"1102:16:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65390,"nodeType":"ContractDefinition","src":"1164:358:97","nodes":[{"id":65365,"nodeType":"FunctionDefinition","src":"1195:52:97","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1204:16:97","parameters":{"id":65363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65362,"mutability":"mutable","name":"_member","nameLocation":"1229:7:97","nodeType":"VariableDeclaration","scope":65365,"src":"1221:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65361,"name":"address","nodeType":"ElementaryTypeName","src":"1221:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1220:17:97"},"returnParameters":{"id":65364,"nodeType":"ParameterList","parameters":[],"src":"1246:0:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65374,"nodeType":"FunctionDefinition","src":"1253:91:97","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1262:13:97","parameters":{"id":65370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65367,"mutability":"mutable","name":"_member","nameLocation":"1284:7:97","nodeType":"VariableDeclaration","scope":65374,"src":"1276:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65366,"name":"address","nodeType":"ElementaryTypeName","src":"1276:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65369,"mutability":"mutable","name":"_amountToStake","nameLocation":"1301:14:97","nodeType":"VariableDeclaration","scope":65374,"src":"1293:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65368,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1275:41:97"},"returnParameters":{"id":65373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65374,"src":"1335:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65371,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1334:9:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65383,"nodeType":"FunctionDefinition","src":"1350:92:97","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1359:13:97","parameters":{"id":65379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65376,"mutability":"mutable","name":"_member","nameLocation":"1381:7:97","nodeType":"VariableDeclaration","scope":65383,"src":"1373:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65375,"name":"address","nodeType":"ElementaryTypeName","src":"1373:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65378,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1398:15:97","nodeType":"VariableDeclaration","scope":65383,"src":"1390:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65377,"name":"uint256","nodeType":"ElementaryTypeName","src":"1390:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1372:42:97"},"returnParameters":{"id":65382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65383,"src":"1433:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65380,"name":"uint256","nodeType":"ElementaryTypeName","src":"1433:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1432:9:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65389,"nodeType":"FunctionDefinition","src":"1448:72:97","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1457:14:97","parameters":{"id":65384,"nodeType":"ParameterList","parameters":[],"src":"1471:2:97"},"returnParameters":{"id":65388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65387,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65389,"src":"1492:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65386,"nodeType":"UserDefinedTypeName","pathNode":{"id":65385,"name":"StrategyStruct.PointSystem","nameLocations":["1492:14:97","1507:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"1492:26:97"},"referencedDeclaration":65399,"src":"1492:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1491:28:97"},"scope":65390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[65390],"name":"IPointStrategy","nameLocation":"1174:14:97","scope":69065,"usedErrors":[]},{"id":65512,"nodeType":"ContractDefinition","src":"1524:2413:97","nodes":[{"id":65394,"nodeType":"EnumDefinition","src":"1553:79:97","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":65391,"name":"Signaling","nameLocation":"1581:9:97","nodeType":"EnumValue","src":"1581:9:97"},{"id":65392,"name":"Funding","nameLocation":"1600:7:97","nodeType":"EnumValue","src":"1600:7:97"},{"id":65393,"name":"Streaming","nameLocation":"1617:9:97","nodeType":"EnumValue","src":"1617:9:97"}],"name":"ProposalType","nameLocation":"1558:12:97"},{"id":65399,"nodeType":"EnumDefinition","src":"1638:92:97","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":65395,"name":"Fixed","nameLocation":"1665:5:97","nodeType":"EnumValue","src":"1665:5:97"},{"id":65396,"name":"Capped","nameLocation":"1680:6:97","nodeType":"EnumValue","src":"1680:6:97"},{"id":65397,"name":"Unlimited","nameLocation":"1696:9:97","nodeType":"EnumValue","src":"1696:9:97"},{"id":65398,"name":"Quadratic","nameLocation":"1715:9:97","nodeType":"EnumValue","src":"1715:9:97"}],"name":"PointSystem","nameLocation":"1643:11:97"},{"id":65411,"nodeType":"StructDefinition","src":"1736:243:97","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":65401,"mutability":"mutable","name":"poolId","nameLocation":"1807:6:97","nodeType":"VariableDeclaration","scope":65411,"src":"1799:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65400,"name":"uint256","nodeType":"ElementaryTypeName","src":"1799:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65403,"mutability":"mutable","name":"beneficiary","nameLocation":"1831:11:97","nodeType":"VariableDeclaration","scope":65411,"src":"1823:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65402,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65405,"mutability":"mutable","name":"amountRequested","nameLocation":"1898:15:97","nodeType":"VariableDeclaration","scope":65411,"src":"1890:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65404,"name":"uint256","nodeType":"ElementaryTypeName","src":"1890:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65407,"mutability":"mutable","name":"requestedToken","nameLocation":"1931:14:97","nodeType":"VariableDeclaration","scope":65411,"src":"1923:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65406,"name":"address","nodeType":"ElementaryTypeName","src":"1923:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65410,"mutability":"mutable","name":"metadata","nameLocation":"1964:8:97","nodeType":"VariableDeclaration","scope":65411,"src":"1955:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65409,"nodeType":"UserDefinedTypeName","pathNode":{"id":65408,"name":"Metadata","nameLocations":["1955:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1955:8:97"},"referencedDeclaration":3098,"src":"1955:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1743:14:97","scope":65512,"visibility":"public"},{"id":65419,"nodeType":"EnumDefinition","src":"1985:391:97","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":65412,"name":"Inactive","nameLocation":"2015:8:97","nodeType":"EnumValue","src":"2015:8:97"},{"id":65413,"name":"Active","nameLocation":"2045:6:97","nodeType":"EnumValue","src":"2045:6:97"},{"id":65414,"name":"Paused","nameLocation":"2108:6:97","nodeType":"EnumValue","src":"2108:6:97"},{"id":65415,"name":"Cancelled","nameLocation":"2173:9:97","nodeType":"EnumValue","src":"2173:9:97"},{"id":65416,"name":"Executed","nameLocation":"2226:8:97","nodeType":"EnumValue","src":"2226:8:97"},{"id":65417,"name":"Disputed","nameLocation":"2277:8:97","nodeType":"EnumValue","src":"2277:8:97"},{"id":65418,"name":"Rejected","nameLocation":"2328:8:97","nodeType":"EnumValue","src":"2328:8:97"}],"name":"ProposalStatus","nameLocation":"1990:14:97"},{"id":65426,"nodeType":"StructDefinition","src":"2382:123:97","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":65421,"mutability":"mutable","name":"disputeId","nameLocation":"2427:9:97","nodeType":"VariableDeclaration","scope":65426,"src":"2419:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65420,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65423,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2454:16:97","nodeType":"VariableDeclaration","scope":65426,"src":"2446:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65422,"name":"uint256","nodeType":"ElementaryTypeName","src":"2446:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65425,"mutability":"mutable","name":"challenger","nameLocation":"2488:10:97","nodeType":"VariableDeclaration","scope":65426,"src":"2480:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65424,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2389:19:97","scope":65512,"visibility":"public"},{"id":65460,"nodeType":"StructDefinition","src":"2511:526:97","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":65428,"mutability":"mutable","name":"proposalId","nameLocation":"2545:10:97","nodeType":"VariableDeclaration","scope":65460,"src":"2537:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65427,"name":"uint256","nodeType":"ElementaryTypeName","src":"2537:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65430,"mutability":"mutable","name":"requestedAmount","nameLocation":"2573:15:97","nodeType":"VariableDeclaration","scope":65460,"src":"2565:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65429,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65432,"mutability":"mutable","name":"stakedAmount","nameLocation":"2606:12:97","nodeType":"VariableDeclaration","scope":65460,"src":"2598:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65431,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65434,"mutability":"mutable","name":"convictionLast","nameLocation":"2636:14:97","nodeType":"VariableDeclaration","scope":65460,"src":"2628:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65433,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65436,"mutability":"mutable","name":"beneficiary","nameLocation":"2668:11:97","nodeType":"VariableDeclaration","scope":65460,"src":"2660:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65435,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65438,"mutability":"mutable","name":"submitter","nameLocation":"2697:9:97","nodeType":"VariableDeclaration","scope":65460,"src":"2689:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65437,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65440,"mutability":"mutable","name":"requestedToken","nameLocation":"2724:14:97","nodeType":"VariableDeclaration","scope":65460,"src":"2716:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65439,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65442,"mutability":"mutable","name":"blockLast","nameLocation":"2756:9:97","nodeType":"VariableDeclaration","scope":65460,"src":"2748:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65441,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65445,"mutability":"mutable","name":"proposalStatus","nameLocation":"2790:14:97","nodeType":"VariableDeclaration","scope":65460,"src":"2775:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":65444,"nodeType":"UserDefinedTypeName","pathNode":{"id":65443,"name":"ProposalStatus","nameLocations":["2775:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"2775:14:97"},"referencedDeclaration":65419,"src":"2775:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":65449,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2842:17:97","nodeType":"VariableDeclaration","scope":65460,"src":"2814:45:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65448,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65446,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2814:27:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65447,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":65452,"mutability":"mutable","name":"metadata","nameLocation":"2901:8:97","nodeType":"VariableDeclaration","scope":65460,"src":"2892:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65451,"nodeType":"UserDefinedTypeName","pathNode":{"id":65450,"name":"Metadata","nameLocations":["2892:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2892:8:97"},"referencedDeclaration":3098,"src":"2892:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":65455,"mutability":"mutable","name":"disputeInfo","nameLocation":"2939:11:97","nodeType":"VariableDeclaration","scope":65460,"src":"2919:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":65454,"nodeType":"UserDefinedTypeName","pathNode":{"id":65453,"name":"ProposalDisputeInfo","nameLocations":["2919:19:97"],"nodeType":"IdentifierPath","referencedDeclaration":65426,"src":"2919:19:97"},"referencedDeclaration":65426,"src":"2919:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":65457,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2968:21:97","nodeType":"VariableDeclaration","scope":65460,"src":"2960:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65456,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65459,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"3007:23:97","nodeType":"VariableDeclaration","scope":65460,"src":"2999:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65458,"name":"uint256","nodeType":"ElementaryTypeName","src":"2999:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2518:8:97","scope":65512,"visibility":"public"},{"id":65465,"nodeType":"StructDefinition","src":"3043:126:97","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":65462,"mutability":"mutable","name":"proposalId","nameLocation":"3084:10:97","nodeType":"VariableDeclaration","scope":65465,"src":"3076:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65461,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65464,"mutability":"mutable","name":"deltaSupport","nameLocation":"3111:12:97","nodeType":"VariableDeclaration","scope":65465,"src":"3104:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65463,"name":"int256","nodeType":"ElementaryTypeName","src":"3104:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3050:15:97","scope":65512,"visibility":"public"},{"id":65468,"nodeType":"StructDefinition","src":"3175:89:97","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":65467,"mutability":"mutable","name":"maxAmount","nameLocation":"3248:9:97","nodeType":"VariableDeclaration","scope":65468,"src":"3240:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65466,"name":"uint256","nodeType":"ElementaryTypeName","src":"3240:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3182:17:97","scope":65512,"visibility":"public"},{"id":65482,"nodeType":"StructDefinition","src":"3270:249:97","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":65471,"mutability":"mutable","name":"arbitrator","nameLocation":"3316:10:97","nodeType":"VariableDeclaration","scope":65482,"src":"3304:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":65470,"nodeType":"UserDefinedTypeName","pathNode":{"id":65469,"name":"IArbitrator","nameLocations":["3304:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"3304:11:97"},"referencedDeclaration":72931,"src":"3304:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65473,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3344:12:97","nodeType":"VariableDeclaration","scope":65482,"src":"3336:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65472,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65475,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3374:25:97","nodeType":"VariableDeclaration","scope":65482,"src":"3366:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65474,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65477,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3417:26:97","nodeType":"VariableDeclaration","scope":65482,"src":"3409:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65476,"name":"uint256","nodeType":"ElementaryTypeName","src":"3409:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65479,"mutability":"mutable","name":"defaultRuling","nameLocation":"3461:13:97","nodeType":"VariableDeclaration","scope":65482,"src":"3453:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65478,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65481,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3492:20:97","nodeType":"VariableDeclaration","scope":65482,"src":"3484:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65480,"name":"uint256","nodeType":"ElementaryTypeName","src":"3484:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3277:16:97","scope":65512,"visibility":"public"},{"id":65491,"nodeType":"StructDefinition","src":"3525:132:97","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":65484,"mutability":"mutable","name":"maxRatio","nameLocation":"3559:8:97","nodeType":"VariableDeclaration","scope":65491,"src":"3551:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65483,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65486,"mutability":"mutable","name":"weight","nameLocation":"3585:6:97","nodeType":"VariableDeclaration","scope":65491,"src":"3577:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65485,"name":"uint256","nodeType":"ElementaryTypeName","src":"3577:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65488,"mutability":"mutable","name":"decay","nameLocation":"3609:5:97","nodeType":"VariableDeclaration","scope":65491,"src":"3601:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65487,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65490,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3632:18:97","nodeType":"VariableDeclaration","scope":65491,"src":"3624:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65489,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3532:8:97","scope":65512,"visibility":"public"},{"id":65511,"nodeType":"StructDefinition","src":"3663:272:97","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":65494,"mutability":"mutable","name":"cvParams","nameLocation":"3706:8:97","nodeType":"VariableDeclaration","scope":65511,"src":"3697:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65493,"nodeType":"UserDefinedTypeName","pathNode":{"id":65492,"name":"CVParams","nameLocations":["3697:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"3697:8:97"},"referencedDeclaration":65491,"src":"3697:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":65497,"mutability":"mutable","name":"proposalType","nameLocation":"3737:12:97","nodeType":"VariableDeclaration","scope":65511,"src":"3724:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65496,"nodeType":"UserDefinedTypeName","pathNode":{"id":65495,"name":"ProposalType","nameLocations":["3724:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":65394,"src":"3724:12:97"},"referencedDeclaration":65394,"src":"3724:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":65500,"mutability":"mutable","name":"pointSystem","nameLocation":"3771:11:97","nodeType":"VariableDeclaration","scope":65511,"src":"3759:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65499,"nodeType":"UserDefinedTypeName","pathNode":{"id":65498,"name":"PointSystem","nameLocations":["3759:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"3759:11:97"},"referencedDeclaration":65399,"src":"3759:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":65503,"mutability":"mutable","name":"pointConfig","nameLocation":"3810:11:97","nodeType":"VariableDeclaration","scope":65511,"src":"3792:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65502,"nodeType":"UserDefinedTypeName","pathNode":{"id":65501,"name":"PointSystemConfig","nameLocations":["3792:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":65468,"src":"3792:17:97"},"referencedDeclaration":65468,"src":"3792:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":65506,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3848:16:97","nodeType":"VariableDeclaration","scope":65511,"src":"3831:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":65505,"nodeType":"UserDefinedTypeName","pathNode":{"id":65504,"name":"ArbitrableConfig","nameLocations":["3831:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"3831:16:97"},"referencedDeclaration":65482,"src":"3831:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":65508,"mutability":"mutable","name":"registryCommunity","nameLocation":"3882:17:97","nodeType":"VariableDeclaration","scope":65511,"src":"3874:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65507,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65510,"mutability":"mutable","name":"sybilScorer","nameLocation":"3917:11:97","nodeType":"VariableDeclaration","scope":65511,"src":"3909:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65509,"name":"address","nodeType":"ElementaryTypeName","src":"3909:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3670:16:97","scope":65512,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[65512],"name":"StrategyStruct","nameLocation":"1532:14:97","scope":69065,"usedErrors":[]},{"id":69064,"nodeType":"ContractDefinition","src":"3983:51118:97","nodes":[{"id":65523,"nodeType":"ErrorDefinition","src":"4243:25:97","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4249:16:97","parameters":{"id":65522,"nodeType":"ParameterList","parameters":[],"src":"4265:2:97"}},{"id":65525,"nodeType":"ErrorDefinition","src":"4287:26:97","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4293:17:97","parameters":{"id":65524,"nodeType":"ParameterList","parameters":[],"src":"4310:2:97"}},{"id":65527,"nodeType":"ErrorDefinition","src":"4331:23:97","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4337:14:97","parameters":{"id":65526,"nodeType":"ParameterList","parameters":[],"src":"4351:2:97"}},{"id":65529,"nodeType":"ErrorDefinition","src":"4373:20:97","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4379:11:97","parameters":{"id":65528,"nodeType":"ParameterList","parameters":[],"src":"4390:2:97"}},{"id":65531,"nodeType":"ErrorDefinition","src":"4412:23:97","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4418:14:97","parameters":{"id":65530,"nodeType":"ParameterList","parameters":[],"src":"4432:2:97"}},{"id":65533,"nodeType":"ErrorDefinition","src":"4453:26:97","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4459:17:97","parameters":{"id":65532,"nodeType":"ParameterList","parameters":[],"src":"4476:2:97"}},{"id":65535,"nodeType":"ErrorDefinition","src":"4497:24:97","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4503:15:97","parameters":{"id":65534,"nodeType":"ParameterList","parameters":[],"src":"4518:2:97"}},{"id":65537,"nodeType":"ErrorDefinition","src":"4540:27:97","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4546:18:97","parameters":{"id":65536,"nodeType":"ParameterList","parameters":[],"src":"4564:2:97"}},{"id":65539,"nodeType":"ErrorDefinition","src":"4586:27:97","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4592:18:97","parameters":{"id":65538,"nodeType":"ParameterList","parameters":[],"src":"4610:2:97"}},{"id":65541,"nodeType":"ErrorDefinition","src":"4631:28:97","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4637:19:97","parameters":{"id":65540,"nodeType":"ParameterList","parameters":[],"src":"4656:2:97"}},{"id":65543,"nodeType":"ErrorDefinition","src":"4677:29:97","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4683:20:97","parameters":{"id":65542,"nodeType":"ParameterList","parameters":[],"src":"4703:2:97"}},{"id":65551,"nodeType":"ErrorDefinition","src":"4725:72:97","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4731:16:97","parameters":{"id":65550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65545,"mutability":"mutable","name":"_support","nameLocation":"4756:8:97","nodeType":"VariableDeclaration","scope":65551,"src":"4748:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65544,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65547,"mutability":"mutable","name":"_delta","nameLocation":"4773:6:97","nodeType":"VariableDeclaration","scope":65551,"src":"4766:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65546,"name":"int256","nodeType":"ElementaryTypeName","src":"4766:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":65549,"mutability":"mutable","name":"_result","nameLocation":"4788:7:97","nodeType":"VariableDeclaration","scope":65551,"src":"4781:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65548,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4747:49:97"}},{"id":65553,"nodeType":"ErrorDefinition","src":"4816:25:97","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4822:16:97","parameters":{"id":65552,"nodeType":"ParameterList","parameters":[],"src":"4838:2:97"}},{"id":65555,"nodeType":"ErrorDefinition","src":"4860:32:97","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4866:23:97","parameters":{"id":65554,"nodeType":"ParameterList","parameters":[],"src":"4889:2:97"}},{"id":65561,"nodeType":"ErrorDefinition","src":"4911:77:97","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4917:24:97","parameters":{"id":65560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65557,"mutability":"mutable","name":"pointsSupport","nameLocation":"4950:13:97","nodeType":"VariableDeclaration","scope":65561,"src":"4942:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65556,"name":"uint256","nodeType":"ElementaryTypeName","src":"4942:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65559,"mutability":"mutable","name":"pointsBalance","nameLocation":"4973:13:97","nodeType":"VariableDeclaration","scope":65561,"src":"4965:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65558,"name":"uint256","nodeType":"ElementaryTypeName","src":"4965:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4941:46:97"}},{"id":65563,"nodeType":"ErrorDefinition","src":"5008:28:97","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5014:19:97","parameters":{"id":65562,"nodeType":"ParameterList","parameters":[],"src":"5033:2:97"}},{"id":65565,"nodeType":"ErrorDefinition","src":"5054:31:97","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5060:22:97","parameters":{"id":65564,"nodeType":"ParameterList","parameters":[],"src":"5082:2:97"}},{"id":65569,"nodeType":"ErrorDefinition","src":"5103:45:97","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5109:17:97","parameters":{"id":65568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65567,"mutability":"mutable","name":"_proposalId","nameLocation":"5135:11:97","nodeType":"VariableDeclaration","scope":65569,"src":"5127:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65566,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:21:97"}},{"id":65573,"nodeType":"ErrorDefinition","src":"5167:45:97","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5173:17:97","parameters":{"id":65572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65571,"mutability":"mutable","name":"_proposalId","nameLocation":"5199:11:97","nodeType":"VariableDeclaration","scope":65573,"src":"5191:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65570,"name":"uint256","nodeType":"ElementaryTypeName","src":"5191:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5190:21:97"}},{"id":65579,"nodeType":"ErrorDefinition","src":"5231:68:97","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5237:25:97","parameters":{"id":65578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65575,"mutability":"mutable","name":"_proposalId","nameLocation":"5271:11:97","nodeType":"VariableDeclaration","scope":65579,"src":"5263:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65574,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65577,"mutability":"mutable","name":"index","nameLocation":"5292:5:97","nodeType":"VariableDeclaration","scope":65579,"src":"5284:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5262:36:97"}},{"id":65581,"nodeType":"ErrorDefinition","src":"5317:40:97","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5323:31:97","parameters":{"id":65580,"nodeType":"ParameterList","parameters":[],"src":"5354:2:97"}},{"id":65583,"nodeType":"ErrorDefinition","src":"5376:29:97","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5382:20:97","parameters":{"id":65582,"nodeType":"ParameterList","parameters":[],"src":"5402:2:97"}},{"id":65591,"nodeType":"ErrorDefinition","src":"5424:94:97","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5430:19:97","parameters":{"id":65590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65585,"mutability":"mutable","name":"_proposalId","nameLocation":"5458:11:97","nodeType":"VariableDeclaration","scope":65591,"src":"5450:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65584,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65587,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5479:16:97","nodeType":"VariableDeclaration","scope":65591,"src":"5471:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65586,"name":"uint256","nodeType":"ElementaryTypeName","src":"5471:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65589,"mutability":"mutable","name":"_poolAmount","nameLocation":"5505:11:97","nodeType":"VariableDeclaration","scope":65591,"src":"5497:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65588,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5449:68:97"}},{"id":65593,"nodeType":"ErrorDefinition","src":"5536:24:97","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5542:15:97","parameters":{"id":65592,"nodeType":"ParameterList","parameters":[],"src":"5557:2:97"}},{"id":65595,"nodeType":"ErrorDefinition","src":"5565:32:97","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5571:23:97","parameters":{"id":65594,"nodeType":"ParameterList","parameters":[],"src":"5594:2:97"}},{"id":65601,"nodeType":"ErrorDefinition","src":"5602:73:97","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5608:22:97","parameters":{"id":65600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65597,"mutability":"mutable","name":"sentAmount","nameLocation":"5639:10:97","nodeType":"VariableDeclaration","scope":65601,"src":"5631:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65596,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65599,"mutability":"mutable","name":"requiredAmount","nameLocation":"5659:14:97","nodeType":"VariableDeclaration","scope":65601,"src":"5651:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65598,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5630:44:97"}},{"id":65603,"nodeType":"ErrorDefinition","src":"5680:23:97","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5686:14:97","parameters":{"id":65602,"nodeType":"ParameterList","parameters":[],"src":"5700:2:97"}},{"id":65607,"nodeType":"ErrorDefinition","src":"5708:47:97","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5714:19:97","parameters":{"id":65606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65605,"mutability":"mutable","name":"_proposalId","nameLocation":"5742:11:97","nodeType":"VariableDeclaration","scope":65607,"src":"5734:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65604,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:21:97"}},{"id":65609,"nodeType":"ErrorDefinition","src":"5760:31:97","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5766:22:97","parameters":{"id":65608,"nodeType":"ParameterList","parameters":[],"src":"5788:2:97"}},{"id":65615,"nodeType":"ErrorDefinition","src":"5796:55:97","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5802:13:97","parameters":{"id":65614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65611,"mutability":"mutable","name":"submitter","nameLocation":"5824:9:97","nodeType":"VariableDeclaration","scope":65615,"src":"5816:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65610,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65613,"mutability":"mutable","name":"sender","nameLocation":"5843:6:97","nodeType":"VariableDeclaration","scope":65615,"src":"5835:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65612,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5815:35:97"}},{"id":65617,"nodeType":"ErrorDefinition","src":"5937:28:97","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5943:19:97","parameters":{"id":65616,"nodeType":"ParameterList","parameters":[],"src":"5962:2:97"}},{"id":65623,"nodeType":"ErrorDefinition","src":"5970:75:97","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5976:24:97","parameters":{"id":65622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65619,"mutability":"mutable","name":"_proposalId","nameLocation":"6009:11:97","nodeType":"VariableDeclaration","scope":65623,"src":"6001:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65618,"name":"uint256","nodeType":"ElementaryTypeName","src":"6001:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65621,"mutability":"mutable","name":"_remainingSec","nameLocation":"6030:13:97","nodeType":"VariableDeclaration","scope":65623,"src":"6022:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65620,"name":"uint256","nodeType":"ElementaryTypeName","src":"6022:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6000:44:97"}},{"id":65630,"nodeType":"EventDefinition","src":"6217:74:97","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6223:13:97","parameters":{"id":65629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65625,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6245:6:97","nodeType":"VariableDeclaration","scope":65630,"src":"6237:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65624,"name":"uint256","nodeType":"ElementaryTypeName","src":"6237:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65628,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6285:4:97","nodeType":"VariableDeclaration","scope":65630,"src":"6253:36:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":65627,"nodeType":"UserDefinedTypeName","pathNode":{"id":65626,"name":"StrategyStruct.InitializeParams","nameLocations":["6253:14:97","6268:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"6253:31:97"},"referencedDeclaration":65511,"src":"6253:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6236:54:97"}},{"id":65638,"nodeType":"EventDefinition","src":"6296:75:97","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6302:11:97","parameters":{"id":65637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65632,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6322:10:97","nodeType":"VariableDeclaration","scope":65638,"src":"6314:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65631,"name":"uint256","nodeType":"ElementaryTypeName","src":"6314:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65634,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6342:11:97","nodeType":"VariableDeclaration","scope":65638,"src":"6334:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65633,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65636,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6363:6:97","nodeType":"VariableDeclaration","scope":65638,"src":"6355:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65635,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6313:57:97"}},{"id":65644,"nodeType":"EventDefinition","src":"6376:58:97","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6382:15:97","parameters":{"id":65643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65640,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6406:6:97","nodeType":"VariableDeclaration","scope":65644,"src":"6398:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65639,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65642,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6422:10:97","nodeType":"VariableDeclaration","scope":65644,"src":"6414:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65641,"name":"uint256","nodeType":"ElementaryTypeName","src":"6414:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:36:97"}},{"id":65648,"nodeType":"EventDefinition","src":"6439:42:97","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6445:19:97","parameters":{"id":65647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65646,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6473:6:97","nodeType":"VariableDeclaration","scope":65648,"src":"6465:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65645,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:16:97"}},{"id":65652,"nodeType":"EventDefinition","src":"6486:40:97","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6492:17:97","parameters":{"id":65651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65650,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6518:6:97","nodeType":"VariableDeclaration","scope":65652,"src":"6510:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65649,"name":"address","nodeType":"ElementaryTypeName","src":"6510:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6509:16:97"}},{"id":65660,"nodeType":"EventDefinition","src":"6531:85:97","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6537:14:97","parameters":{"id":65659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65654,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6560:6:97","nodeType":"VariableDeclaration","scope":65660,"src":"6552:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65653,"name":"address","nodeType":"ElementaryTypeName","src":"6552:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65656,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6576:12:97","nodeType":"VariableDeclaration","scope":65660,"src":"6568:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65655,"name":"uint256","nodeType":"ElementaryTypeName","src":"6568:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65658,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6598:16:97","nodeType":"VariableDeclaration","scope":65660,"src":"6590:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65657,"name":"uint256","nodeType":"ElementaryTypeName","src":"6590:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:64:97"}},{"id":65668,"nodeType":"EventDefinition","src":"6621:87:97","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6627:14:97","parameters":{"id":65667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65662,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6650:6:97","nodeType":"VariableDeclaration","scope":65668,"src":"6642:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65661,"name":"address","nodeType":"ElementaryTypeName","src":"6642:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65664,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6666:14:97","nodeType":"VariableDeclaration","scope":65668,"src":"6658:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65663,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65666,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6690:16:97","nodeType":"VariableDeclaration","scope":65668,"src":"6682:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65665,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6641:66:97"}},{"id":65680,"nodeType":"EventDefinition","src":"6713:134:97","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6719:12:97","parameters":{"id":65679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65670,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6749:4:97","nodeType":"VariableDeclaration","scope":65680,"src":"6741:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65669,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65672,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6763:10:97","nodeType":"VariableDeclaration","scope":65680,"src":"6755:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65671,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65674,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6783:6:97","nodeType":"VariableDeclaration","scope":65680,"src":"6775:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65673,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65676,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6799:17:97","nodeType":"VariableDeclaration","scope":65680,"src":"6791:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65675,"name":"uint256","nodeType":"ElementaryTypeName","src":"6791:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65678,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6826:14:97","nodeType":"VariableDeclaration","scope":65680,"src":"6818:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65677,"name":"uint256","nodeType":"ElementaryTypeName","src":"6818:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6731:115:97"}},{"id":65685,"nodeType":"EventDefinition","src":"6852:56:97","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6858:15:97","parameters":{"id":65684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65683,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6898:8:97","nodeType":"VariableDeclaration","scope":65685,"src":"6874:32:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65682,"nodeType":"UserDefinedTypeName","pathNode":{"id":65681,"name":"StrategyStruct.CVParams","nameLocations":["6874:14:97","6889:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"6874:23:97"},"referencedDeclaration":65491,"src":"6874:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"6873:34:97"}},{"id":65689,"nodeType":"EventDefinition","src":"6913:49:97","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6919:15:97","parameters":{"id":65688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65687,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6943:17:97","nodeType":"VariableDeclaration","scope":65689,"src":"6935:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65686,"name":"address","nodeType":"ElementaryTypeName","src":"6935:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6934:27:97"}},{"id":65695,"nodeType":"EventDefinition","src":"6967:76:97","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6973:25:97","parameters":{"id":65694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65691,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7007:6:97","nodeType":"VariableDeclaration","scope":65695,"src":"6999:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65690,"name":"uint256","nodeType":"ElementaryTypeName","src":"6999:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65693,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7023:18:97","nodeType":"VariableDeclaration","scope":65695,"src":"7015:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65692,"name":"uint256","nodeType":"ElementaryTypeName","src":"7015:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6998:44:97"}},{"id":65710,"nodeType":"EventDefinition","src":"7048:195:97","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7054:16:97","parameters":{"id":65709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65698,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7092:10:97","nodeType":"VariableDeclaration","scope":65710,"src":"7080:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":65697,"nodeType":"UserDefinedTypeName","pathNode":{"id":65696,"name":"IArbitrator","nameLocations":["7080:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"7080:11:97"},"referencedDeclaration":72931,"src":"7080:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65700,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7120:10:97","nodeType":"VariableDeclaration","scope":65710,"src":"7112:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65699,"name":"uint256","nodeType":"ElementaryTypeName","src":"7112:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65702,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7148:9:97","nodeType":"VariableDeclaration","scope":65710,"src":"7140:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65701,"name":"uint256","nodeType":"ElementaryTypeName","src":"7140:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65704,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7175:10:97","nodeType":"VariableDeclaration","scope":65710,"src":"7167:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65703,"name":"address","nodeType":"ElementaryTypeName","src":"7167:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65706,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7202:7:97","nodeType":"VariableDeclaration","scope":65710,"src":"7195:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65705,"name":"string","nodeType":"ElementaryTypeName","src":"7195:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65708,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7227:9:97","nodeType":"VariableDeclaration","scope":65710,"src":"7219:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65707,"name":"uint256","nodeType":"ElementaryTypeName","src":"7219:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:172:97"}},{"id":65718,"nodeType":"EventDefinition","src":"7248:88:97","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7254:21:97","parameters":{"id":65717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65712,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7284:8:97","nodeType":"VariableDeclaration","scope":65718,"src":"7276:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65711,"name":"address","nodeType":"ElementaryTypeName","src":"7276:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65714,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7302:10:97","nodeType":"VariableDeclaration","scope":65718,"src":"7294:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65713,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65716,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7322:12:97","nodeType":"VariableDeclaration","scope":65718,"src":"7314:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65715,"name":"address","nodeType":"ElementaryTypeName","src":"7314:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7275:60:97"}},{"id":65722,"nodeType":"EventDefinition","src":"7341:44:97","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7347:17:97","parameters":{"id":65721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65720,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7373:10:97","nodeType":"VariableDeclaration","scope":65722,"src":"7365:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65719,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7364:20:97"}},{"id":65739,"nodeType":"EventDefinition","src":"7390:302:97","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7396:23:97","parameters":{"id":65738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65724,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7437:30:97","nodeType":"VariableDeclaration","scope":65739,"src":"7429:38:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65723,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65727,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7489:10:97","nodeType":"VariableDeclaration","scope":65739,"src":"7477:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":65726,"nodeType":"UserDefinedTypeName","pathNode":{"id":65725,"name":"IArbitrator","nameLocations":["7477:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"7477:11:97"},"referencedDeclaration":72931,"src":"7477:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65729,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7517:12:97","nodeType":"VariableDeclaration","scope":65739,"src":"7509:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65728,"name":"address","nodeType":"ElementaryTypeName","src":"7509:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65731,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7547:25:97","nodeType":"VariableDeclaration","scope":65739,"src":"7539:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65730,"name":"uint256","nodeType":"ElementaryTypeName","src":"7539:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65733,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7590:26:97","nodeType":"VariableDeclaration","scope":65739,"src":"7582:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65732,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65735,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7634:13:97","nodeType":"VariableDeclaration","scope":65739,"src":"7626:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65734,"name":"uint256","nodeType":"ElementaryTypeName","src":"7626:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65737,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7665:20:97","nodeType":"VariableDeclaration","scope":65739,"src":"7657:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65736,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7419:272:97"}},{"id":65742,"nodeType":"VariableDeclaration","src":"8066:38:97","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"8089:7:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65740,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":65741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8099:5:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":65745,"nodeType":"VariableDeclaration","src":"8110:36:97","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"8134:1:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65743,"name":"uint256","nodeType":"ElementaryTypeName","src":"8110:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":65744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8138:8:97","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":65748,"nodeType":"VariableDeclaration","src":"8160:71:97","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"8186:7:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65746,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":65747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8196:35:97","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":65751,"nodeType":"VariableDeclaration","src":"8247:70:97","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8273:7:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65749,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":65750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8283:34:97","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":65754,"nodeType":"VariableDeclaration","src":"8333:54:97","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8359:6:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65752,"name":"uint256","nodeType":"ElementaryTypeName","src":"8333:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":65753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:19:97","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":65757,"nodeType":"VariableDeclaration","src":"8402:49:97","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8426:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65755,"name":"uint256","nodeType":"ElementaryTypeName","src":"8402:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":65756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8449:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":65760,"nodeType":"VariableDeclaration","src":"8537:42:97","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8561:14:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65758,"name":"uint256","nodeType":"ElementaryTypeName","src":"8537:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":65759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8578:1:97","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":65763,"nodeType":"VariableDeclaration","src":"8585:54:97","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8609:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65761,"name":"uint256","nodeType":"ElementaryTypeName","src":"8585:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":65762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8632:7:97","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":65765,"nodeType":"VariableDeclaration","src":"8646:40:97","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8663:23:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65764,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65767,"nodeType":"VariableDeclaration","src":"8734:47:97","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8751:30:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65766,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":65769,"nodeType":"VariableDeclaration","src":"8825:25:97","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8840:10:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65768,"name":"uint256","nodeType":"ElementaryTypeName","src":"8825:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65771,"nodeType":"VariableDeclaration","src":"8856:26:97","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8870:12:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":65770,"name":"uint64","nodeType":"ElementaryTypeName","src":"8856:6:97","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":65773,"nodeType":"VariableDeclaration","src":"8888:30:97","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8903:15:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65772,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65775,"nodeType":"VariableDeclaration","src":"8924:45:97","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8939:30:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65774,"name":"uint256","nodeType":"ElementaryTypeName","src":"8924:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65777,"nodeType":"VariableDeclaration","src":"8976:26:97","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8991:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65776,"name":"uint256","nodeType":"ElementaryTypeName","src":"8976:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65779,"nodeType":"VariableDeclaration","src":"9008:35:97","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"9023:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65778,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65782,"nodeType":"VariableDeclaration","src":"9050:39:97","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"9081:8:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65781,"nodeType":"UserDefinedTypeName","pathNode":{"id":65780,"name":"StrategyStruct.CVParams","nameLocations":["9050:14:97","9065:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"9050:23:97"},"referencedDeclaration":65491,"src":"9050:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":65785,"nodeType":"VariableDeclaration","src":"9136:47:97","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"9171:12:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65784,"nodeType":"UserDefinedTypeName","pathNode":{"id":65783,"name":"StrategyStruct.ProposalType","nameLocations":["9136:14:97","9151:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":65394,"src":"9136:27:97"},"referencedDeclaration":65394,"src":"9136:27:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":65788,"nodeType":"VariableDeclaration","src":"9242:45:97","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9276:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65787,"nodeType":"UserDefinedTypeName","pathNode":{"id":65786,"name":"StrategyStruct.PointSystem","nameLocations":["9242:14:97","9257:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"9242:26:97"},"referencedDeclaration":65399,"src":"9242:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":65791,"nodeType":"VariableDeclaration","src":"9293:51:97","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9333:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65790,"nodeType":"UserDefinedTypeName","pathNode":{"id":65789,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9293:14:97","9308:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":65468,"src":"9293:32:97"},"referencedDeclaration":65468,"src":"9293:32:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":65794,"nodeType":"VariableDeclaration","src":"9377:46:97","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9406:17:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":65793,"nodeType":"UserDefinedTypeName","pathNode":{"id":65792,"name":"RegistryCommunityV0_0","nameLocations":["9377:21:97"],"nodeType":"IdentifierPath","referencedDeclaration":71974,"src":"9377:21:97"},"referencedDeclaration":71974,"src":"9377:21:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":65797,"nodeType":"VariableDeclaration","src":"9430:39:97","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9454:15:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"},"typeName":{"id":65796,"nodeType":"UserDefinedTypeName","pathNode":{"id":65795,"name":"ICollateralVault","nameLocations":["9430:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":72964,"src":"9430:16:97"},"referencedDeclaration":72964,"src":"9430:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":65800,"nodeType":"VariableDeclaration","src":"9475:31:97","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9495:11:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"},"typeName":{"id":65799,"nodeType":"UserDefinedTypeName","pathNode":{"id":65798,"name":"ISybilScorer","nameLocations":["9475:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":69416,"src":"9475:12:97"},"referencedDeclaration":69416,"src":"9475:12:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":65805,"nodeType":"VariableDeclaration","src":"9573:60:97","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9624:9:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":65804,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65801,"name":"uint256","nodeType":"ElementaryTypeName","src":"9581:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9573:43:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65803,"nodeType":"UserDefinedTypeName","pathNode":{"id":65802,"name":"StrategyStruct.Proposal","nameLocations":["9592:14:97","9607:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"9592:23:97"},"referencedDeclaration":65460,"src":"9592:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":65809,"nodeType":"VariableDeclaration","src":"9689:53:97","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9724:18:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65808,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65806,"name":"address","nodeType":"ElementaryTypeName","src":"9697:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9689:27:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65807,"name":"uint256","nodeType":"ElementaryTypeName","src":"9708:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65814,"nodeType":"VariableDeclaration","src":"9780:57:97","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9817:20:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":65813,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65810,"name":"address","nodeType":"ElementaryTypeName","src":"9788:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9780:29:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":65811,"name":"uint256","nodeType":"ElementaryTypeName","src":"9799:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65812,"nodeType":"ArrayTypeName","src":"9799:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":65818,"nodeType":"VariableDeclaration","src":"9875:56:97","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9910:21:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":65817,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65815,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9875:27:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65816,"name":"uint256","nodeType":"ElementaryTypeName","src":"9894:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65823,"nodeType":"VariableDeclaration","src":"9937:76:97","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9996:17:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"typeName":{"id":65822,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65819,"name":"uint256","nodeType":"ElementaryTypeName","src":"9945:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9937:51:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65821,"nodeType":"UserDefinedTypeName","pathNode":{"id":65820,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9956:14:97","9971:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"9956:31:97"},"referencedDeclaration":65482,"src":"9956:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}}},"visibility":"public"},{"id":65847,"nodeType":"FunctionDefinition","src":"10266:222:97","nodes":[],"body":{"id":65846,"nodeType":"Block","src":"10373:115:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":65837,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65825,"src":"10394:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":65838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10401:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":65839,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65829,"src":"10415:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65834,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10383:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69064_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10389:4:97","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":64771,"src":"10383:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":65840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10383:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65841,"nodeType":"ExpressionStatement","src":"10383:38:97"},{"expression":{"id":65844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65842,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"10431:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65843,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65827,"src":"10457:24:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10431:50:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65845,"nodeType":"ExpressionStatement","src":"10431:50:97"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":65832,"kind":"modifierInvocation","modifierName":{"id":65831,"name":"initializer","nameLocations":["10361:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"10361:11:97"},"nodeType":"ModifierInvocation","src":"10361:11:97"}],"name":"init","nameLocation":"10275:4:97","parameters":{"id":65830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65825,"mutability":"mutable","name":"_allo","nameLocation":"10288:5:97","nodeType":"VariableDeclaration","scope":65847,"src":"10280:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65824,"name":"address","nodeType":"ElementaryTypeName","src":"10280:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65827,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10303:24:97","nodeType":"VariableDeclaration","scope":65847,"src":"10295:32:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65826,"name":"address","nodeType":"ElementaryTypeName","src":"10295:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65829,"mutability":"mutable","name":"owner","nameLocation":"10337:5:97","nodeType":"VariableDeclaration","scope":65847,"src":"10329:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65828,"name":"address","nodeType":"ElementaryTypeName","src":"10329:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10279:64:97"},"returnParameters":{"id":65833,"nodeType":"ParameterList","parameters":[],"src":"10373:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":65943,"nodeType":"FunctionDefinition","src":"10494:816:97","nodes":[],"body":{"id":65942,"nodeType":"Block","src":"10569:741:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":65857,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65849,"src":"10599:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65856,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64907,"src":"10579:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":65858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10579:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65859,"nodeType":"ExpressionStatement","src":"10579:28:97"},{"expression":{"id":65869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65860,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"10618:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65864,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"10671:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10696:12:97","subExpression":{"id":65865,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65769,"src":"10696:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65862,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10653:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":65863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10659:11:97","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10653:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":65867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10653:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65861,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"10636:16:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$72964_$","typeString":"type(contract ICollateralVault)"}},"id":65868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10636:74:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"src":"10618:92:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":65870,"nodeType":"ExpressionStatement","src":"10618:92:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65871,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"10720:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":65873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10736:10:97","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":72936,"src":"10720:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65875,"nodeType":"ExpressionStatement","src":"10720:28:97"},{"assignments":[65880],"declarations":[{"constant":false,"id":65880,"mutability":"mutable","name":"ip","nameLocation":"10798:2:97","nodeType":"VariableDeclaration","scope":65942,"src":"10759:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":65879,"nodeType":"UserDefinedTypeName","pathNode":{"id":65878,"name":"StrategyStruct.InitializeParams","nameLocations":["10759:14:97","10774:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"10759:31:97"},"referencedDeclaration":65511,"src":"10759:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":65888,"initialValue":{"arguments":[{"id":65883,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65851,"src":"10814:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":65884,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"10822:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":65885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10837:16:97","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":65511,"src":"10822:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65511_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":65886,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10821:33:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65511_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65511_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":65881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10803:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10807:6:97","memberName":"decode","nodeType":"MemberAccess","src":"10803:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":65887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10803:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10759:96:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":65889,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"10870:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65890,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10873:17:97","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65508,"src":"10870:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":65893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10902:1:97","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":65892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10894:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65891,"name":"address","nodeType":"ElementaryTypeName","src":"10894:7:97","typeDescriptions":{}}},"id":65894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10894:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10870:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65900,"nodeType":"IfStatement","src":"10866:94:97","trueBody":{"id":65899,"nodeType":"Block","src":"10906:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":65896,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65543,"src":"10927:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10927:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65898,"nodeType":"RevertStatement","src":"10920:29:97"}]}},{"expression":{"id":65906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65901,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"10970:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":65903,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11012:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11015:17:97","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65508,"src":"11012:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65902,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"10990:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$71974_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":65905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"src":"10970:63:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":65907,"nodeType":"ExpressionStatement","src":"10970:63:97"},{"expression":{"id":65911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65908,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65785,"src":"11044:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":65909,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11059:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11062:12:97","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65497,"src":"11059:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"11044:30:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"id":65912,"nodeType":"ExpressionStatement","src":"11044:30:97"},{"expression":{"id":65916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65913,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"11084:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":65914,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11098:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11101:11:97","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":65500,"src":"11098:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"11084:28:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"id":65917,"nodeType":"ExpressionStatement","src":"11084:28:97"},{"expression":{"id":65921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65918,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"11122:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":65919,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11136:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11139:11:97","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":65503,"src":"11136:14:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"11122:28:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":65922,"nodeType":"ExpressionStatement","src":"11122:28:97"},{"expression":{"id":65928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65923,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"11160:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":65925,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11187:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11190:11:97","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":65510,"src":"11187:14:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65924,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69416,"src":"11174:12:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$69416_$","typeString":"type(contract ISybilScorer)"}},"id":65927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11174:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"src":"11160:42:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"id":65929,"nodeType":"ExpressionStatement","src":"11160:42:97"},{"expression":{"arguments":[{"expression":{"id":65931,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11228:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11231:16:97","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65506,"src":"11228:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":65933,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11249:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":65934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11252:8:97","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65494,"src":"11249:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":65930,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68449,"src":"11213:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65482_memory_ptr_$_t_struct$_CVParams_$65491_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":65935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11213:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65936,"nodeType":"ExpressionStatement","src":"11213:48:97"},{"eventCall":{"arguments":[{"id":65938,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65849,"src":"11291:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65939,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65880,"src":"11300:2:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":65937,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65630,"src":"11277:13:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$65511_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":65940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11277:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65941,"nodeType":"EmitStatement","src":"11272:31:97"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":65854,"kind":"modifierInvocation","modifierName":{"id":65853,"name":"onlyAllo","nameLocations":["10560:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":64779,"src":"10560:8:97"},"nodeType":"ModifierInvocation","src":"10560:8:97"}],"name":"initialize","nameLocation":"10503:10:97","parameters":{"id":65852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65849,"mutability":"mutable","name":"_poolId","nameLocation":"10522:7:97","nodeType":"VariableDeclaration","scope":65943,"src":"10514:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65848,"name":"uint256","nodeType":"ElementaryTypeName","src":"10514:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65851,"mutability":"mutable","name":"_data","nameLocation":"10544:5:97","nodeType":"VariableDeclaration","scope":65943,"src":"10531:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65850,"name":"bytes","nodeType":"ElementaryTypeName","src":"10531:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10513:37:97"},"returnParameters":{"id":65855,"nodeType":"ParameterList","parameters":[],"src":"10569:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65947,"nodeType":"FunctionDefinition","src":"11481:83:97","nodes":[],"body":{"id":65946,"nodeType":"Block","src":"11509:55:97","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":65944,"nodeType":"ParameterList","parameters":[],"src":"11489:2:97"},"returnParameters":{"id":65945,"nodeType":"ParameterList","parameters":[],"src":"11509:0:97"},"scope":69064,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":65951,"nodeType":"FunctionDefinition","src":"11570:135:97","nodes":[],"body":{"id":65950,"nodeType":"Block","src":"11597:108:97","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":65948,"nodeType":"ParameterList","parameters":[],"src":"11577:2:97"},"returnParameters":{"id":65949,"nodeType":"ParameterList","parameters":[],"src":"11597:0:97"},"scope":69064,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":65972,"nodeType":"FunctionDefinition","src":"11711:202:97","nodes":[],"body":{"id":65971,"nodeType":"Block","src":"11802:111:97","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":65969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":65964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65959,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"11819:11:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":65961,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"11839:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}],"id":65960,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11834:4:97","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":65962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11834:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65390","typeString":"type(contract IPointStrategy)"}},"id":65963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11855:11:97","memberName":"interfaceId","nodeType":"MemberAccess","src":"11834:32:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11819:47:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":65967,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"11894:11:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65965,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11870:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69064_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11876:17:97","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57021,"src":"11870:23:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":65968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11870:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11819:87:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":65958,"id":65970,"nodeType":"Return","src":"11812:94:97"}]},"baseFunctions":[57021],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11720:17:97","overrides":{"id":65955,"nodeType":"OverrideSpecifier","overrides":[],"src":"11778:8:97"},"parameters":{"id":65954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65953,"mutability":"mutable","name":"interfaceId","nameLocation":"11745:11:97","nodeType":"VariableDeclaration","scope":65972,"src":"11738:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":65952,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11738:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11737:20:97"},"returnParameters":{"id":65958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65972,"src":"11796:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65956,"name":"bool","nodeType":"ElementaryTypeName","src":"11796:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11795:6:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66013,"nodeType":"FunctionDefinition","src":"12084:386:97","nodes":[],"body":{"id":66012,"nodeType":"Block","src":"12152:318:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65977,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65974,"src":"12166:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":65980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12185:1:97","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":65979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12177:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65978,"name":"address","nodeType":"ElementaryTypeName","src":"12177:7:97","typeDescriptions":{}}},"id":65981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12166:21:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65987,"nodeType":"IfStatement","src":"12162:77:97","trueBody":{"id":65986,"nodeType":"Block","src":"12189:50:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":65983,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65523,"src":"12210:16:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12210:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65985,"nodeType":"RevertStatement","src":"12203:25:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":65990,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12260:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":65989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12252:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65988,"name":"address","nodeType":"ElementaryTypeName","src":"12252:7:97","typeDescriptions":{}}},"id":65991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12252:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":65994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12290:1:97","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":65993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12282:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65992,"name":"address","nodeType":"ElementaryTypeName","src":"12282:7:97","typeDescriptions":{}}},"id":65995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12252:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66001,"nodeType":"IfStatement","src":"12248:100:97","trueBody":{"id":66000,"nodeType":"Block","src":"12294:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":65997,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65543,"src":"12315:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12315:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65999,"nodeType":"RevertStatement","src":"12308:29:97"}]}},{"condition":{"id":66006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12361:36:97","subExpression":{"arguments":[{"id":66004,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65974,"src":"12389:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66002,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12362:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12380:8:97","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":71591,"src":"12362:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12362:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66011,"nodeType":"IfStatement","src":"12357:93:97","trueBody":{"id":66010,"nodeType":"Block","src":"12399:51:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66007,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65525,"src":"12420:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12420:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66009,"nodeType":"RevertStatement","src":"12413:26:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"12093:19:97","parameters":{"id":65975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65974,"mutability":"mutable","name":"_sender","nameLocation":"12121:7:97","nodeType":"VariableDeclaration","scope":66013,"src":"12113:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65973,"name":"address","nodeType":"ElementaryTypeName","src":"12113:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12112:17:97"},"returnParameters":{"id":65976,"nodeType":"ParameterList","parameters":[],"src":"12152:0:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66029,"nodeType":"FunctionDefinition","src":"12476:171:97","nodes":[],"body":{"id":66028,"nodeType":"Block","src":"12531:116:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66016,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12545:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12549:6:97","memberName":"sender","nodeType":"MemberAccess","src":"12545:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":66020,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12567:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":66019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12559:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66018,"name":"address","nodeType":"ElementaryTypeName","src":"12559:7:97","typeDescriptions":{}}},"id":66021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12559:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12545:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66027,"nodeType":"IfStatement","src":"12541:100:97","trueBody":{"id":66026,"nodeType":"Block","src":"12587:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66023,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65583,"src":"12608:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12608:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66025,"nodeType":"RevertStatement","src":"12601:29:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12485:21:97","parameters":{"id":66014,"nodeType":"ParameterList","parameters":[],"src":"12506:2:97"},"returnParameters":{"id":66015,"nodeType":"ParameterList","parameters":[],"src":"12531:0:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66045,"nodeType":"FunctionDefinition","src":"12653:141:97","nodes":[],"body":{"id":66044,"nodeType":"Block","src":"12721:73:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66034,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66031,"src":"12735:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12755:1:97","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":66036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12747:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66035,"name":"address","nodeType":"ElementaryTypeName","src":"12747:7:97","typeDescriptions":{}}},"id":66038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12747:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12735:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66043,"nodeType":"IfStatement","src":"12731:56:97","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66040,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65541,"src":"12766:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12766:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66042,"nodeType":"RevertStatement","src":"12759:28:97"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12662:18:97","parameters":{"id":66032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66031,"mutability":"mutable","name":"_address","nameLocation":"12689:8:97","nodeType":"VariableDeclaration","scope":66045,"src":"12681:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66030,"name":"address","nodeType":"ElementaryTypeName","src":"12681:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12680:18:97"},"returnParameters":{"id":66033,"nodeType":"ParameterList","parameters":[],"src":"12721:0:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66063,"nodeType":"FunctionDefinition","src":"12800:174:97","nodes":[],"body":{"id":66062,"nodeType":"Block","src":"12849:125:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66048,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12863:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12867:6:97","memberName":"sender","nodeType":"MemberAccess","src":"12863:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66052,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"12885:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:11:97","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70287,"src":"12885:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$73057_$","typeString":"function () view external returns (contract ISafe)"}},"id":66054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12885:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":66051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12877:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66050,"name":"address","nodeType":"ElementaryTypeName","src":"12877:7:97","typeDescriptions":{}}},"id":66055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12877:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12863:54:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66061,"nodeType":"IfStatement","src":"12859:109:97","trueBody":{"id":66060,"nodeType":"Block","src":"12919:49:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66057,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65593,"src":"12940:15:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12940:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66059,"nodeType":"RevertStatement","src":"12933:24:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12809:15:97","parameters":{"id":66046,"nodeType":"ParameterList","parameters":[],"src":"12824:2:97"},"returnParameters":{"id":66047,"nodeType":"ParameterList","parameters":[],"src":"12849:0:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66093,"nodeType":"FunctionDefinition","src":"12980:238:97","nodes":[],"body":{"id":66092,"nodeType":"Block","src":"13059:159:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66072,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"13081:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}],"id":66071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13073:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66070,"name":"address","nodeType":"ElementaryTypeName","src":"13073:7:97","typeDescriptions":{}}},"id":66073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13073:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13105:1:97","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":66075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13097:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66074,"name":"address","nodeType":"ElementaryTypeName","src":"13097:7:97","typeDescriptions":{}}},"id":66077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13097:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13073:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66082,"nodeType":"IfStatement","src":"13069:76:97","trueBody":{"id":66081,"nodeType":"Block","src":"13109:36:97","statements":[{"expression":{"hexValue":"74727565","id":66079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13130:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":66069,"id":66080,"nodeType":"Return","src":"13123:11:97"}]}},{"expression":{"arguments":[{"id":66085,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66065,"src":"13190:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66088,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13205:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13197:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66086,"name":"address","nodeType":"ElementaryTypeName","src":"13197:7:97","typeDescriptions":{}}},"id":66089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13197:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66083,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"13161:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"id":66084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13173:16:97","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":69373,"src":"13161:28:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13161:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66069,"id":66091,"nodeType":"Return","src":"13154:57:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12989:17:97","parameters":{"id":66066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66065,"mutability":"mutable","name":"_user","nameLocation":"13015:5:97","nodeType":"VariableDeclaration","scope":66093,"src":"13007:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66064,"name":"address","nodeType":"ElementaryTypeName","src":"13007:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13006:15:97"},"returnParameters":{"id":66069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66093,"src":"13053:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66067,"name":"bool","nodeType":"ElementaryTypeName","src":"13053:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13052:6:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66105,"nodeType":"FunctionDefinition","src":"13224:124:97","nodes":[],"body":{"id":66104,"nodeType":"Block","src":"13297:51:97","nodes":[],"statements":[{"expression":{"id":66102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66100,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"13307:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66101,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66095,"src":"13333:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13307:34:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66103,"nodeType":"ExpressionStatement","src":"13307:34:97"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":66098,"kind":"modifierInvocation","modifierName":{"id":66097,"name":"onlyOwner","nameLocations":["13287:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"13287:9:97"},"nodeType":"ModifierInvocation","src":"13287:9:97"}],"name":"setCollateralVaultTemplate","nameLocation":"13233:26:97","parameters":{"id":66096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66095,"mutability":"mutable","name":"template","nameLocation":"13268:8:97","nodeType":"VariableDeclaration","scope":66105,"src":"13260:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66094,"name":"address","nodeType":"ElementaryTypeName","src":"13260:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13259:18:97"},"returnParameters":{"id":66099,"nodeType":"ParameterList","parameters":[],"src":"13297:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66346,"nodeType":"FunctionDefinition","src":"13674:2691:97","nodes":[],"body":{"id":66345,"nodeType":"Block","src":"13775:2590:97","nodes":[],"statements":[{"condition":{"id":66118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13789:27:97","subExpression":{"arguments":[{"id":66116,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"13808:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66115,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"13790:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13790:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66123,"nodeType":"IfStatement","src":"13785:90:97","trueBody":{"id":66122,"nodeType":"Block","src":"13818:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66119,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"13839:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13839:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66121,"nodeType":"RevertStatement","src":"13832:32:97"}]}},{"expression":{"id":66124,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66107,"src":"13929:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66125,"nodeType":"ExpressionStatement","src":"13929:5:97"},{"assignments":[66130],"declarations":[{"constant":false,"id":66130,"mutability":"mutable","name":"proposal","nameLocation":"13981:8:97","nodeType":"VariableDeclaration","scope":66345,"src":"13944:45:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":66129,"nodeType":"UserDefinedTypeName","pathNode":{"id":66128,"name":"StrategyStruct.CreateProposal","nameLocations":["13944:14:97","13959:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65411,"src":"13944:29:97"},"referencedDeclaration":65411,"src":"13944:29:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":66138,"initialValue":{"arguments":[{"id":66133,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66107,"src":"14003:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66134,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"14011:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14026:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":65411,"src":"14011:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65411_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":66136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14010:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65411_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65411_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":66131,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13992:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13996:6:97","memberName":"decode","nodeType":"MemberAccess","src":"13992:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13992:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13944:98:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66139,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14157:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14166:6:97","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65401,"src":"14157:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14176:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14157:20:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66147,"nodeType":"IfStatement","src":"14153:78:97","trueBody":{"id":66146,"nodeType":"Block","src":"14179:52:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66143,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65539,"src":"14200:18:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14200:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66145,"nodeType":"RevertStatement","src":"14193:27:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"id":66152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66148,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65785,"src":"14307:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66149,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"14323:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14338:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65394,"src":"14323:27:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65394_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":66151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14351:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"14323:35:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"14307:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66208,"nodeType":"IfStatement","src":"14303:764:97","trueBody":{"id":66207,"nodeType":"Block","src":"14360:707:97","statements":[{"expression":{"arguments":[{"expression":{"id":66154,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14393:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14402:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65403,"src":"14393:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66153,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66045,"src":"14374:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":66156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14374:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66157,"nodeType":"ExpressionStatement","src":"14374:40:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66158,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14480:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66159,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14489:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65407,"src":"14480:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14515:1:97","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":66161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14507:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66160,"name":"address","nodeType":"ElementaryTypeName","src":"14507:7:97","typeDescriptions":{}}},"id":66163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14507:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14480:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66169,"nodeType":"IfStatement","src":"14476:102:97","trueBody":{"id":66168,"nodeType":"Block","src":"14519:59:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66165,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65533,"src":"14544:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14544:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66167,"nodeType":"RevertStatement","src":"14537:26:97"}]}},{"assignments":[66172],"declarations":[{"constant":false,"id":66172,"mutability":"mutable","name":"_allo","nameLocation":"14597:5:97","nodeType":"VariableDeclaration","scope":66207,"src":"14591:11:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":66171,"nodeType":"UserDefinedTypeName","pathNode":{"id":66170,"name":"IAllo","nameLocations":["14591:5:97"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14591:5:97"},"referencedDeclaration":2610,"src":"14591:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":66176,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66173,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14605:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}},"id":66174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14610:7:97","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":64825,"src":"14605:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":66175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14605:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14591:28:97"},{"assignments":[66181],"declarations":[{"constant":false,"id":66181,"mutability":"mutable","name":"pool","nameLocation":"14651:4:97","nodeType":"VariableDeclaration","scope":66207,"src":"14633:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":66180,"nodeType":"UserDefinedTypeName","pathNode":{"id":66179,"name":"IAllo.Pool","nameLocations":["14633:5:97","14639:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14633:10:97"},"referencedDeclaration":2319,"src":"14633:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":66187,"initialValue":{"arguments":[{"expression":{"id":66184,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14672:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14681:6:97","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65401,"src":"14672:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66182,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66172,"src":"14658:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":66183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14664:7:97","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14658:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":66186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14633:55:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66188,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14706:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66189,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14715:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65407,"src":"14706:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":66190,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66181,"src":"14733:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":66191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14738:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14733:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14706:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66197,"nodeType":"IfStatement","src":"14702:235:97","trueBody":{"id":66196,"nodeType":"Block","src":"14745:192:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66193,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65535,"src":"14905:15:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14905:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66195,"nodeType":"RevertStatement","src":"14898:24:97"}]}},{"condition":{"arguments":[{"expression":{"id":66199,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"14970:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14979:15:97","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65405,"src":"14970:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66198,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67532,"src":"14954:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":66201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14954:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66206,"nodeType":"IfStatement","src":"14950:107:97","trueBody":{"id":66205,"nodeType":"Block","src":"14997:60:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66202,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65537,"src":"15022:18:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15022:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66204,"nodeType":"RevertStatement","src":"15015:27:97"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":66211,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"15102:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66213,"indexExpression":{"id":66212,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"15120:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15102:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15152:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"15102:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":66210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15094:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66209,"name":"address","nodeType":"ElementaryTypeName","src":"15094:7:97","typeDescriptions":{}}},"id":66215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15094:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":66218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15175:1:97","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":66217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15167:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66216,"name":"address","nodeType":"ElementaryTypeName","src":"15167:7:97","typeDescriptions":{}}},"id":66219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15167:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15094:83:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15197:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15201:5:97","memberName":"value","nodeType":"MemberAccess","src":"15197:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":66223,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"15209:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66225,"indexExpression":{"id":66224,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"15227:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15209:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15259:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"15209:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15197:87:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15094:190:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66239,"nodeType":"IfStatement","src":"15077:390:97","trueBody":{"id":66238,"nodeType":"Block","src":"15295:172:97","statements":[{"errorCall":{"arguments":[{"expression":{"id":66230,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15356:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15360:5:97","memberName":"value","nodeType":"MemberAccess","src":"15356:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":66232,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"15367:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66234,"indexExpression":{"id":66233,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"15385:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15367:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15417:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"15367:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66229,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65601,"src":"15316:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15316:140:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66237,"nodeType":"RevertStatement","src":"15309:147:97"}]}},{"assignments":[66241],"declarations":[{"constant":false,"id":66241,"mutability":"mutable","name":"proposalId","nameLocation":"15485:10:97","nodeType":"VariableDeclaration","scope":66345,"src":"15477:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66240,"name":"uint256","nodeType":"ElementaryTypeName","src":"15477:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66244,"initialValue":{"id":66243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15498:17:97","subExpression":{"id":66242,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65773,"src":"15500:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15477:38:97"},{"assignments":[66249],"declarations":[{"constant":false,"id":66249,"mutability":"mutable","name":"p","nameLocation":"15557:1:97","nodeType":"VariableDeclaration","scope":66345,"src":"15525:33:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":66248,"nodeType":"UserDefinedTypeName","pathNode":{"id":66247,"name":"StrategyStruct.Proposal","nameLocations":["15525:14:97","15540:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"15525:23:97"},"referencedDeclaration":65460,"src":"15525:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":66253,"initialValue":{"baseExpression":{"id":66250,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"15561:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":66252,"indexExpression":{"id":66251,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"15571:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15561:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15525:57:97"},{"expression":{"id":66258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66254,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15593:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15595:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"15593:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66257,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"15608:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15593:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66259,"nodeType":"ExpressionStatement","src":"15593:25:97"},{"expression":{"id":66264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66260,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15628:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15630:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"15628:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66263,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"15642:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15628:21:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66265,"nodeType":"ExpressionStatement","src":"15628:21:97"},{"expression":{"id":66271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66266,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15659:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15661:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"15659:13:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66269,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"15675:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15684:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65403,"src":"15675:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15659:36:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66272,"nodeType":"ExpressionStatement","src":"15659:36:97"},{"expression":{"id":66278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66273,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15705:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15707:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65440,"src":"15705:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66276,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"15724:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15733:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65407,"src":"15724:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15705:42:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66279,"nodeType":"ExpressionStatement","src":"15705:42:97"},{"expression":{"id":66285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66280,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15757:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15759:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"15757:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66283,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"15777:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15786:15:97","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65405,"src":"15777:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15757:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66286,"nodeType":"ExpressionStatement","src":"15757:44:97"},{"expression":{"id":66293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66287,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15862:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15864:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"15862:16:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":66290,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"15881:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15896:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"15881:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":66292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15911:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"15881:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15862:55:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":66294,"nodeType":"ExpressionStatement","src":"15862:55:97"},{"expression":{"id":66300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66295,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15927:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15929:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"15927:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66298,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15941:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15947:6:97","memberName":"number","nodeType":"MemberAccess","src":"15941:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15927:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66301,"nodeType":"ExpressionStatement","src":"15927:26:97"},{"expression":{"id":66306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66302,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"15963:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15965:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"15963:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":66305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15982:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15963:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66307,"nodeType":"ExpressionStatement","src":"15963:20:97"},{"expression":{"id":66313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66308,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"16029:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16031:8:97","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65452,"src":"16029:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66311,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66130,"src":"16042:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65411_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16051:8:97","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65410,"src":"16042:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"16029:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":66314,"nodeType":"ExpressionStatement","src":"16029:30:97"},{"expression":{"id":66319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66315,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"16069:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16071:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"16069:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66318,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"16097:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16069:58:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66320,"nodeType":"ExpressionStatement","src":"16069:58:97"},{"expression":{"arguments":[{"id":66327,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"16189:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66328,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66249,"src":"16201:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16203:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"16201:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66321,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"16137:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":66323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16153:17:97","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":72943,"src":"16137:33:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":66326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":66324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16178:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16182:5:97","memberName":"value","nodeType":"MemberAccess","src":"16178:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"16137:51:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":66330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66331,"nodeType":"ExpressionStatement","src":"16137:76:97"},{"eventCall":{"arguments":[{"id":66333,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64735,"src":"16245:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66334,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"16253:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66332,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65644,"src":"16229:15:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":66335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16229:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66336,"nodeType":"EmitStatement","src":"16224:40:97"},{"expression":{"arguments":[{"arguments":[{"id":66341,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66241,"src":"16346:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16338:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66339,"name":"uint160","nodeType":"ElementaryTypeName","src":"16338:7:97","typeDescriptions":{}}},"id":66342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16338:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16330:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66337,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:97","typeDescriptions":{}}},"id":66343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16330:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":66114,"id":66344,"nodeType":"Return","src":"16323:35:97"}]},"baseFunctions":[65213],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13683:18:97","overrides":{"id":66111,"nodeType":"OverrideSpecifier","overrides":[],"src":"13748:8:97"},"parameters":{"id":66110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66107,"mutability":"mutable","name":"_data","nameLocation":"13715:5:97","nodeType":"VariableDeclaration","scope":66346,"src":"13702:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66106,"name":"bytes","nodeType":"ElementaryTypeName","src":"13702:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66109,"mutability":"mutable","name":"_sender","nameLocation":"13730:7:97","nodeType":"VariableDeclaration","scope":66346,"src":"13722:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66108,"name":"address","nodeType":"ElementaryTypeName","src":"13722:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13701:37:97"},"returnParameters":{"id":66114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66346,"src":"13766:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66112,"name":"address","nodeType":"ElementaryTypeName","src":"13766:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13765:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66355,"nodeType":"FunctionDefinition","src":"16371:98:97","nodes":[],"body":{"id":66354,"nodeType":"Block","src":"16431:38:97","nodes":[],"statements":[{"expression":{"expression":{"id":66351,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"16448:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":66352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16457:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"16448:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66350,"id":66353,"nodeType":"Return","src":"16441:21:97"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16380:8:97","parameters":{"id":66347,"nodeType":"ParameterList","parameters":[],"src":"16388:2:97"},"returnParameters":{"id":66350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66349,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66355,"src":"16422:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66348,"name":"uint256","nodeType":"ElementaryTypeName","src":"16422:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16421:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":66394,"nodeType":"FunctionDefinition","src":"16475:359:97","nodes":[],"body":{"id":66393,"nodeType":"Block","src":"16518:316:97","nodes":[],"statements":[{"assignments":[66359],"declarations":[{"constant":false,"id":66359,"mutability":"mutable","name":"member","nameLocation":"16536:6:97","nodeType":"VariableDeclaration","scope":66393,"src":"16528:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66358,"name":"address","nodeType":"ElementaryTypeName","src":"16528:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66362,"initialValue":{"expression":{"id":66360,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16545:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16549:6:97","memberName":"sender","nodeType":"MemberAccess","src":"16545:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16528:27:97"},{"condition":{"id":66366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16569:26:97","subExpression":{"arguments":[{"id":66364,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66359,"src":"16588:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66363,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"16570:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16570:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66371,"nodeType":"IfStatement","src":"16565:89:97","trueBody":{"id":66370,"nodeType":"Block","src":"16597:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66367,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"16618:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16618:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66369,"nodeType":"RevertStatement","src":"16611:32:97"}]}},{"expression":{"arguments":[{"id":66375,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66359,"src":"16706:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66378,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16722:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16714:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66376,"name":"address","nodeType":"ElementaryTypeName","src":"16714:7:97","typeDescriptions":{}}},"id":66379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16714:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66372,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"16663:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16681:24:97","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":70998,"src":"16663:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16663:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66381,"nodeType":"ExpressionStatement","src":"16663:65:97"},{"expression":{"id":66391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66382,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"16738:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":66385,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66359,"src":"16805:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66388,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16821:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16813:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66386,"name":"address","nodeType":"ElementaryTypeName","src":"16813:7:97","typeDescriptions":{}}},"id":66389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16813:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66383,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"16762:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16780:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"16762:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16762:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16738:89:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66392,"nodeType":"ExpressionStatement","src":"16738:89:97"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16484:14:97","parameters":{"id":66356,"nodeType":"ParameterList","parameters":[],"src":"16498:2:97"},"returnParameters":{"id":66357,"nodeType":"ParameterList","parameters":[],"src":"16518:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66403,"nodeType":"FunctionDefinition","src":"16840:89:97","nodes":[],"body":{"id":66402,"nodeType":"Block","src":"16883:46:97","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":66398,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16911:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16915:6:97","memberName":"sender","nodeType":"MemberAccess","src":"16911:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66397,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66451,"src":"16893:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16893:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66401,"nodeType":"ExpressionStatement","src":"16893:29:97"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16849:16:97","parameters":{"id":66395,"nodeType":"ParameterList","parameters":[],"src":"16865:2:97"},"returnParameters":{"id":66396,"nodeType":"ParameterList","parameters":[],"src":"16883:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":66416,"nodeType":"FunctionDefinition","src":"16935:136:97","nodes":[],"body":{"id":66415,"nodeType":"Block","src":"16995:76:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66408,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66029,"src":"17005:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17005:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66410,"nodeType":"ExpressionStatement","src":"17005:23:97"},{"expression":{"arguments":[{"id":66412,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66405,"src":"17056:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66411,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66451,"src":"17038:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17038:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66414,"nodeType":"ExpressionStatement","src":"17038:26:97"}]},"baseFunctions":[65365],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16944:16:97","parameters":{"id":66406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66405,"mutability":"mutable","name":"_member","nameLocation":"16969:7:97","nodeType":"VariableDeclaration","scope":66416,"src":"16961:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66404,"name":"address","nodeType":"ElementaryTypeName","src":"16961:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16960:17:97"},"returnParameters":{"id":66407,"nodeType":"ParameterList","parameters":[],"src":"16995:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66451,"nodeType":"FunctionDefinition","src":"17077:359:97","nodes":[],"body":{"id":66450,"nodeType":"Block","src":"17138:298:97","nodes":[],"statements":[{"expression":{"id":66430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66421,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"17148:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":66424,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17215:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17232:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17224:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66425,"name":"address","nodeType":"ElementaryTypeName","src":"17224:7:97","typeDescriptions":{}}},"id":66428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17224:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66422,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"17172:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17190:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"17172:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17148:90:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66431,"nodeType":"ExpressionStatement","src":"17148:90:97"},{"expression":{"arguments":[{"id":66435,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17293:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66438,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17310:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17302:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66436,"name":"address","nodeType":"ElementaryTypeName","src":"17302:7:97","typeDescriptions":{}}},"id":66439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17302:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66432,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"17248:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17266:26:97","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71057,"src":"17248:44:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17248:68:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66441,"nodeType":"ExpressionStatement","src":"17248:68:97"},{"expression":{"arguments":[{"id":66443,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17380:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66442,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67278,"src":"17371:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17371:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66445,"nodeType":"ExpressionStatement","src":"17371:17:97"},{"eventCall":{"arguments":[{"id":66447,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66418,"src":"17421:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66446,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65652,"src":"17403:17:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17403:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66449,"nodeType":"EmitStatement","src":"17398:31:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"17086:17:97","parameters":{"id":66419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66418,"mutability":"mutable","name":"_member","nameLocation":"17112:7:97","nodeType":"VariableDeclaration","scope":66451,"src":"17104:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66417,"name":"address","nodeType":"ElementaryTypeName","src":"17104:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17103:17:97"},"returnParameters":{"id":66420,"nodeType":"ParameterList","parameters":[],"src":"17138:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66544,"nodeType":"FunctionDefinition","src":"17442:1065:97","nodes":[],"body":{"id":66543,"nodeType":"Block","src":"17541:966:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66460,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66029,"src":"17596:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17596:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66462,"nodeType":"ExpressionStatement","src":"17596:23:97"},{"condition":{"id":66466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17633:27:97","subExpression":{"arguments":[{"id":66464,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"17652:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66463,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"17634:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17634:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66471,"nodeType":"IfStatement","src":"17629:90:97","trueBody":{"id":66470,"nodeType":"Block","src":"17662:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66467,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"17683:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66469,"nodeType":"RevertStatement","src":"17676:32:97"}]}},{"assignments":[66473],"declarations":[{"constant":false,"id":66473,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17736:16:97","nodeType":"VariableDeclaration","scope":66543,"src":"17728:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66472,"name":"uint256","nodeType":"ElementaryTypeName","src":"17728:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66475,"initialValue":{"hexValue":"30","id":66474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17755:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17728:28:97"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66476,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"17770:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66477,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"17785:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17800:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"17785:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17812:9:97","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65397,"src":"17785:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"17770:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66488,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"17915:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66489,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"17930:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17945:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"17930:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17957:6:97","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65396,"src":"17930:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"17915:48:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66501,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"18063:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66502,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"18078:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18093:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"18078:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18105:9:97","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65398,"src":"18078:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"18063:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66514,"nodeType":"IfStatement","src":"18059:148:97","trueBody":{"id":66513,"nodeType":"Block","src":"18116:91:97","statements":[{"expression":{"id":66511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66506,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18130:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66508,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18172:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66509,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"18181:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66507,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66730,"src":"18149:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18149:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18130:66:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66512,"nodeType":"ExpressionStatement","src":"18130:66:97"}]}},"id":66515,"nodeType":"IfStatement","src":"17911:296:97","trueBody":{"id":66500,"nodeType":"Block","src":"17965:88:97","statements":[{"expression":{"id":66498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66493,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"17979:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66495,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18018:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66496,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"18027:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66494,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66652,"src":"17998:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17998:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17979:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66499,"nodeType":"ExpressionStatement","src":"17979:63:97"}]}},"id":66516,"nodeType":"IfStatement","src":"17766:441:97","trueBody":{"id":66487,"nodeType":"Block","src":"17823:82:97","statements":[{"expression":{"id":66485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66481,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"17837:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66483,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"17879:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66482,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"17856:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17856:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17837:57:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66486,"nodeType":"ExpressionStatement","src":"17837:57:97"}]}},{"assignments":[66518],"declarations":[{"constant":false,"id":66518,"mutability":"mutable","name":"isActivated","nameLocation":"18221:11:97","nodeType":"VariableDeclaration","scope":66543,"src":"18216:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66517,"name":"bool","nodeType":"ElementaryTypeName","src":"18216:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66527,"initialValue":{"arguments":[{"id":66521,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18281:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66524,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18298:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18290:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66522,"name":"address","nodeType":"ElementaryTypeName","src":"18290:7:97","typeDescriptions":{}}},"id":66525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18290:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66519,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"18235:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18253:27:97","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":70328,"src":"18235:45:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18235:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18216:88:97"},{"condition":{"id":66528,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66518,"src":"18318:11:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66534,"nodeType":"IfStatement","src":"18314:82:97","trueBody":{"id":66533,"nodeType":"Block","src":"18331:65:97","statements":[{"expression":{"id":66531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66529,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"18345:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":66530,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18369:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18345:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66532,"nodeType":"ExpressionStatement","src":"18345:40:97"}]}},{"eventCall":{"arguments":[{"id":66536,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66453,"src":"18425:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66537,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66455,"src":"18434:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66538,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18450:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66535,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65660,"src":"18410:14:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18410:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66540,"nodeType":"EmitStatement","src":"18405:62:97"},{"expression":{"id":66541,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66473,"src":"18484:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66459,"id":66542,"nodeType":"Return","src":"18477:23:97"}]},"baseFunctions":[65374],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17451:13:97","parameters":{"id":66456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66453,"mutability":"mutable","name":"_member","nameLocation":"17473:7:97","nodeType":"VariableDeclaration","scope":66544,"src":"17465:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66452,"name":"address","nodeType":"ElementaryTypeName","src":"17465:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66455,"mutability":"mutable","name":"_amountToStake","nameLocation":"17490:14:97","nodeType":"VariableDeclaration","scope":66544,"src":"17482:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66454,"name":"uint256","nodeType":"ElementaryTypeName","src":"17482:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17464:41:97"},"returnParameters":{"id":66459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66544,"src":"17532:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66457,"name":"uint256","nodeType":"ElementaryTypeName","src":"17532:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17531:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66600,"nodeType":"FunctionDefinition","src":"18513:689:97","nodes":[],"body":{"id":66599,"nodeType":"Block","src":"18614:588:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66553,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66029,"src":"18624:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18624:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66555,"nodeType":"ExpressionStatement","src":"18624:23:97"},{"assignments":[66557],"declarations":[{"constant":false,"id":66557,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18711:16:97","nodeType":"VariableDeclaration","scope":66599,"src":"18703:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66556,"name":"uint256","nodeType":"ElementaryTypeName","src":"18703:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66559,"initialValue":{"hexValue":"30","id":66558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18730:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18703:28:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66560,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"18745:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66561,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"18760:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18775:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"18760:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18787:9:97","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65397,"src":"18760:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"18745:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":66569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66565,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"18800:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66566,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"18815:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18830:11:97","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"18815:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18842:6:97","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65396,"src":"18815:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"18800:48:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18745:103:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66585,"nodeType":"Block","src":"18946:93:97","statements":[{"expression":{"id":66583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66578,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"18960:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66580,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66546,"src":"19002:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66581,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66548,"src":"19011:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66579,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66814,"src":"18979:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18979:49:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18960:68:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66584,"nodeType":"ExpressionStatement","src":"18960:68:97"}]},"id":66586,"nodeType":"IfStatement","src":"18741:298:97","trueBody":{"id":66577,"nodeType":"Block","src":"18850:90:97","statements":[{"expression":{"id":66575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66571,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"18864:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66573,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66548,"src":"18912:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66572,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66740,"src":"18883:28:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18883:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18864:65:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66576,"nodeType":"ExpressionStatement","src":"18864:65:97"}]}},{"expression":{"id":66589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66587,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"19048:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":66588,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"19072:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19048:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66590,"nodeType":"ExpressionStatement","src":"19048:40:97"},{"eventCall":{"arguments":[{"id":66592,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66546,"src":"19118:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66593,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66548,"src":"19127:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66594,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"19145:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66591,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65668,"src":"19103:14:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19103:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66596,"nodeType":"EmitStatement","src":"19098:64:97"},{"expression":{"id":66597,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66557,"src":"19179:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66552,"id":66598,"nodeType":"Return","src":"19172:23:97"}]},"baseFunctions":[65383],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18522:13:97","parameters":{"id":66549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66546,"mutability":"mutable","name":"_member","nameLocation":"18544:7:97","nodeType":"VariableDeclaration","scope":66600,"src":"18536:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66545,"name":"address","nodeType":"ElementaryTypeName","src":"18536:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66548,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18561:16:97","nodeType":"VariableDeclaration","scope":66600,"src":"18553:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66547,"name":"uint256","nodeType":"ElementaryTypeName","src":"18553:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18535:43:97"},"returnParameters":{"id":66552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66600,"src":"18605:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66550,"name":"uint256","nodeType":"ElementaryTypeName","src":"18605:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18604:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66610,"nodeType":"FunctionDefinition","src":"19208:126:97","nodes":[],"body":{"id":66609,"nodeType":"Block","src":"19296:38:97","nodes":[],"statements":[{"expression":{"id":66607,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66602,"src":"19313:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66606,"id":66608,"nodeType":"Return","src":"19306:21:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"19217:22:97","parameters":{"id":66603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66602,"mutability":"mutable","name":"_amountToStake","nameLocation":"19248:14:97","nodeType":"VariableDeclaration","scope":66610,"src":"19240:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66601,"name":"uint256","nodeType":"ElementaryTypeName","src":"19240:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19239:24:97"},"returnParameters":{"id":66606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66605,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66610,"src":"19287:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66604,"name":"uint256","nodeType":"ElementaryTypeName","src":"19287:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19286:9:97"},"scope":69064,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":66652,"nodeType":"FunctionDefinition","src":"19340:632:97","nodes":[],"body":{"id":66651,"nodeType":"Block","src":"19450:522:97","nodes":[],"statements":[{"assignments":[66620],"declarations":[{"constant":false,"id":66620,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19468:16:97","nodeType":"VariableDeclaration","scope":66651,"src":"19460:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66619,"name":"uint256","nodeType":"ElementaryTypeName","src":"19460:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66622,"initialValue":{"id":66621,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66614,"src":"19487:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19460:41:97"},{"assignments":[66624],"declarations":[{"constant":false,"id":66624,"mutability":"mutable","name":"memberPower","nameLocation":"19583:11:97","nodeType":"VariableDeclaration","scope":66651,"src":"19575:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66623,"name":"uint256","nodeType":"ElementaryTypeName","src":"19575:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66633,"initialValue":{"arguments":[{"id":66627,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"19640:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66630,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19657:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19649:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66628,"name":"address","nodeType":"ElementaryTypeName","src":"19649:7:97","typeDescriptions":{}}},"id":66631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19649:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66625,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"19597:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19615:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"19597:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19597:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19575:88:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66634,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66624,"src":"19729:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66635,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66620,"src":"19743:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":66637,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"19762:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19774:9:97","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"19762:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:54:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66648,"nodeType":"IfStatement","src":"19725:139:97","trueBody":{"id":66647,"nodeType":"Block","src":"19785:79:97","statements":[{"expression":{"id":66645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66640,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66620,"src":"19799:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66641,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"19818:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19830:9:97","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"19818:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66643,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66624,"src":"19842:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19818:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19799:54:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66646,"nodeType":"ExpressionStatement","src":"19799:54:97"}]}},{"expression":{"id":66649,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66620,"src":"19949:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66618,"id":66650,"nodeType":"Return","src":"19942:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19349:19:97","parameters":{"id":66615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66612,"mutability":"mutable","name":"_member","nameLocation":"19377:7:97","nodeType":"VariableDeclaration","scope":66652,"src":"19369:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66611,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66614,"mutability":"mutable","name":"_amountToStake","nameLocation":"19394:14:97","nodeType":"VariableDeclaration","scope":66652,"src":"19386:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66613,"name":"uint256","nodeType":"ElementaryTypeName","src":"19386:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19368:41:97"},"returnParameters":{"id":66618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66617,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66652,"src":"19441:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66616,"name":"uint256","nodeType":"ElementaryTypeName","src":"19441:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19440:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66730,"nodeType":"FunctionDefinition","src":"19978:741:97","nodes":[],"body":{"id":66729,"nodeType":"Block","src":"20091:628:97","nodes":[],"statements":[{"assignments":[66662],"declarations":[{"constant":false,"id":66662,"mutability":"mutable","name":"totalStake","nameLocation":"20109:10:97","nodeType":"VariableDeclaration","scope":66729,"src":"20101:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66661,"name":"uint256","nodeType":"ElementaryTypeName","src":"20101:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66669,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66665,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66654,"src":"20162:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66663,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"20122:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20140:21:97","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":71380,"src":"20122:39:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20122:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66667,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66656,"src":"20173:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20122:65:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20101:86:97"},{"assignments":[66671],"declarations":[{"constant":false,"id":66671,"mutability":"mutable","name":"decimal","nameLocation":"20206:7:97","nodeType":"VariableDeclaration","scope":66729,"src":"20198:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66670,"name":"uint256","nodeType":"ElementaryTypeName","src":"20198:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66673,"initialValue":{"hexValue":"3138","id":66672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20216:2:97","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20198:20:97"},{"clauses":[{"block":{"id":66694,"nodeType":"Block","src":"20316:52:97","statements":[{"expression":{"id":66692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66687,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66671,"src":"20330:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66690,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66685,"src":"20348:8:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20340:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66688,"name":"uint256","nodeType":"ElementaryTypeName","src":"20340:7:97","typeDescriptions":{}}},"id":66691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20340:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20330:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66693,"nodeType":"ExpressionStatement","src":"20330:27:97"}]},"errorName":"","id":66695,"nodeType":"TryCatchClause","parameters":{"id":66686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66685,"mutability":"mutable","name":"_decimal","nameLocation":"20306:8:97","nodeType":"VariableDeclaration","scope":66695,"src":"20300:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66684,"name":"uint8","nodeType":"ElementaryTypeName","src":"20300:5:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20299:16:97"},"src":"20291:77:97"},{"block":{"id":66696,"nodeType":"Block","src":"20375:64:97","statements":[]},"errorName":"","id":66697,"nodeType":"TryCatchClause","src":"20369:70:97"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66677,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"20246:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20264:11:97","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":70283,"src":"20246:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":66679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":66676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20238:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66675,"name":"address","nodeType":"ElementaryTypeName","src":"20238:7:97","typeDescriptions":{}}},"id":66680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20238:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66674,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"20232:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":66681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":66682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20280:8:97","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"20232:56:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:58:97","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66698,"nodeType":"TryStatement","src":"20228:211:97"},{"assignments":[66700],"declarations":[{"constant":false,"id":66700,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20456:14:97","nodeType":"VariableDeclaration","scope":66729,"src":"20448:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66699,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66709,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66703,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66662,"src":"20483:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20496:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66705,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66671,"src":"20502:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20496:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20483:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66701,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"20473:4:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58094_$","typeString":"type(library Math)"}},"id":66702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20478:4:97","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57598,"src":"20473:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20473:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20448:62:97"},{"assignments":[66711],"declarations":[{"constant":false,"id":66711,"mutability":"mutable","name":"currentPoints","nameLocation":"20528:13:97","nodeType":"VariableDeclaration","scope":66729,"src":"20520:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66710,"name":"uint256","nodeType":"ElementaryTypeName","src":"20520:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66720,"initialValue":{"arguments":[{"id":66714,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66654,"src":"20587:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66717,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20604:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20596:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66715,"name":"address","nodeType":"ElementaryTypeName","src":"20596:7:97","typeDescriptions":{}}},"id":66718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20596:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66712,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"20544:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20562:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"20544:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20544:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20520:90:97"},{"assignments":[66722],"declarations":[{"constant":false,"id":66722,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20629:16:97","nodeType":"VariableDeclaration","scope":66729,"src":"20621:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66721,"name":"uint256","nodeType":"ElementaryTypeName","src":"20621:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66726,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66723,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66700,"src":"20648:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66724,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66711,"src":"20665:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20648:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20621:57:97"},{"expression":{"id":66727,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66722,"src":"20696:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66660,"id":66728,"nodeType":"Return","src":"20689:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19987:22:97","parameters":{"id":66657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66654,"mutability":"mutable","name":"_member","nameLocation":"20018:7:97","nodeType":"VariableDeclaration","scope":66730,"src":"20010:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66653,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66656,"mutability":"mutable","name":"_amountToStake","nameLocation":"20035:14:97","nodeType":"VariableDeclaration","scope":66730,"src":"20027:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66655,"name":"uint256","nodeType":"ElementaryTypeName","src":"20027:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20009:41:97"},"returnParameters":{"id":66660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66659,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66730,"src":"20082:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66658,"name":"uint256","nodeType":"ElementaryTypeName","src":"20082:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20081:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66740,"nodeType":"FunctionDefinition","src":"20725:144:97","nodes":[],"body":{"id":66739,"nodeType":"Block","src":"20829:40:97","nodes":[],"statements":[{"expression":{"id":66737,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66732,"src":"20846:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66736,"id":66738,"nodeType":"Return","src":"20839:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20734:28:97","parameters":{"id":66733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66732,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20771:16:97","nodeType":"VariableDeclaration","scope":66740,"src":"20763:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66731,"name":"uint256","nodeType":"ElementaryTypeName","src":"20763:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20762:26:97"},"returnParameters":{"id":66736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66735,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66740,"src":"20820:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66734,"name":"uint256","nodeType":"ElementaryTypeName","src":"20820:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20819:9:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66814,"nodeType":"FunctionDefinition","src":"20875:855:97","nodes":[],"body":{"id":66813,"nodeType":"Block","src":"21026:704:97","nodes":[],"statements":[{"assignments":[66750],"declarations":[{"constant":false,"id":66750,"mutability":"mutable","name":"decimal","nameLocation":"21044:7:97","nodeType":"VariableDeclaration","scope":66813,"src":"21036:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66749,"name":"uint256","nodeType":"ElementaryTypeName","src":"21036:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66752,"initialValue":{"hexValue":"3138","id":66751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21054:2:97","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"21036:20:97"},{"clauses":[{"block":{"id":66773,"nodeType":"Block","src":"21154:52:97","statements":[{"expression":{"id":66771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66766,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66750,"src":"21168:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66769,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66764,"src":"21186:8:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21178:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66767,"name":"uint256","nodeType":"ElementaryTypeName","src":"21178:7:97","typeDescriptions":{}}},"id":66770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21178:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21168:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66772,"nodeType":"ExpressionStatement","src":"21168:27:97"}]},"errorName":"","id":66774,"nodeType":"TryCatchClause","parameters":{"id":66765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66764,"mutability":"mutable","name":"_decimal","nameLocation":"21144:8:97","nodeType":"VariableDeclaration","scope":66774,"src":"21138:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66763,"name":"uint8","nodeType":"ElementaryTypeName","src":"21138:5:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21137:16:97"},"src":"21129:77:97"},{"block":{"id":66775,"nodeType":"Block","src":"21213:64:97","statements":[]},"errorName":"","id":66776,"nodeType":"TryCatchClause","src":"21207:70:97"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66756,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"21084:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21102:11:97","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":70283,"src":"21084:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":66758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21084:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":66755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21076:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66754,"name":"address","nodeType":"ElementaryTypeName","src":"21076:7:97","typeDescriptions":{}}},"id":66759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21076:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66753,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"21070:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":66760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":66761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21118:8:97","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"21070:56:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:58:97","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66777,"nodeType":"TryStatement","src":"21066:211:97"},{"assignments":[66779],"declarations":[{"constant":false,"id":66779,"mutability":"mutable","name":"newTotalStake","nameLocation":"21356:13:97","nodeType":"VariableDeclaration","scope":66813,"src":"21348:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66778,"name":"uint256","nodeType":"ElementaryTypeName","src":"21348:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66786,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66782,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66742,"src":"21412:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66780,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"21372:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21390:21:97","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":71380,"src":"21372:39:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21372:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66784,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66744,"src":"21423:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21372:67:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21348:91:97"},{"assignments":[66788],"declarations":[{"constant":false,"id":66788,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21513:14:97","nodeType":"VariableDeclaration","scope":66813,"src":"21505:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66787,"name":"uint256","nodeType":"ElementaryTypeName","src":"21505:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66797,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66791,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66779,"src":"21540:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21556:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66793,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66750,"src":"21562:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21556:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21540:29:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66789,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"21530:4:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58094_$","typeString":"type(library Math)"}},"id":66790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21535:4:97","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57598,"src":"21530:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21530:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21505:65:97"},{"assignments":[66799],"declarations":[{"constant":false,"id":66799,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21588:16:97","nodeType":"VariableDeclaration","scope":66813,"src":"21580:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66798,"name":"uint256","nodeType":"ElementaryTypeName","src":"21580:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66810,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66802,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66742,"src":"21650:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66805,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21667:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21659:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66803,"name":"address","nodeType":"ElementaryTypeName","src":"21659:7:97","typeDescriptions":{}}},"id":66806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21659:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66800,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"21607:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21625:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"21607:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21607:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66808,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66788,"src":"21676:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21607:83:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21580:110:97"},{"expression":{"id":66811,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66799,"src":"21707:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66748,"id":66812,"nodeType":"Return","src":"21700:23:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20884:22:97","parameters":{"id":66745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66742,"mutability":"mutable","name":"_member","nameLocation":"20915:7:97","nodeType":"VariableDeclaration","scope":66814,"src":"20907:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66741,"name":"address","nodeType":"ElementaryTypeName","src":"20907:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66744,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20932:16:97","nodeType":"VariableDeclaration","scope":66814,"src":"20924:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66743,"name":"uint256","nodeType":"ElementaryTypeName","src":"20924:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20906:43:97"},"returnParameters":{"id":66748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66814,"src":"21013:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66746,"name":"uint256","nodeType":"ElementaryTypeName","src":"21013:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21012:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66823,"nodeType":"FunctionDefinition","src":"21736:99:97","nodes":[],"body":{"id":66822,"nodeType":"Block","src":"21790:45:97","nodes":[],"statements":[{"expression":{"expression":{"id":66819,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65791,"src":"21807:11:97","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65468_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21819:9:97","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65467,"src":"21807:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66818,"id":66821,"nodeType":"Return","src":"21800:28:97"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21745:12:97","parameters":{"id":66815,"nodeType":"ParameterList","parameters":[],"src":"21757:2:97"},"returnParameters":{"id":66818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66817,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66823,"src":"21781:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66816,"name":"uint256","nodeType":"ElementaryTypeName","src":"21781:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21780:9:97"},"scope":69064,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66832,"nodeType":"FunctionDefinition","src":"21841:110:97","nodes":[],"body":{"id":66831,"nodeType":"Block","src":"21916:35:97","nodes":[],"statements":[{"expression":{"id":66829,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"21933:11:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":66828,"id":66830,"nodeType":"Return","src":"21926:18:97"}]},"baseFunctions":[65389],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21850:14:97","parameters":{"id":66824,"nodeType":"ParameterList","parameters":[],"src":"21864:2:97"},"returnParameters":{"id":66828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66832,"src":"21888:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66826,"nodeType":"UserDefinedTypeName","pathNode":{"id":66825,"name":"StrategyStruct.PointSystem","nameLocations":["21888:14:97","21903:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65399,"src":"21888:26:97"},"referencedDeclaration":65399,"src":"21888:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21887:28:97"},"scope":69064,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66897,"nodeType":"FunctionDefinition","src":"22457:650:97","nodes":[],"body":{"id":66896,"nodeType":"Block","src":"22531:576:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":66841,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"22561:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66840,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66013,"src":"22541:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":66842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22541:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66843,"nodeType":"ExpressionStatement","src":"22541:28:97"},{"condition":{"id":66847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22583:27:97","subExpression":{"arguments":[{"id":66845,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"22602:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66844,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66093,"src":"22584:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22584:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66852,"nodeType":"IfStatement","src":"22579:90:97","trueBody":{"id":66851,"nodeType":"Block","src":"22612:57:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66848,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65595,"src":"22633:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22633:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66850,"nodeType":"RevertStatement","src":"22626:32:97"}]}},{"assignments":[66854],"declarations":[{"constant":false,"id":66854,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22729:23:97","nodeType":"VariableDeclaration","scope":66896,"src":"22724:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66853,"name":"bool","nodeType":"ElementaryTypeName","src":"22724:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66863,"initialValue":{"arguments":[{"id":66857,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"22801:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66860,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22818:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":66859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22810:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66858,"name":"address","nodeType":"ElementaryTypeName","src":"22810:7:97","typeDescriptions":{}}},"id":66861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22810:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66855,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"22755:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":66856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22773:27:97","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":70328,"src":"22755:45:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22755:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22724:100:97"},{"condition":{"id":66865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22838:24:97","subExpression":{"id":66864,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66854,"src":"22839:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66870,"nodeType":"IfStatement","src":"22834:78:97","trueBody":{"id":66869,"nodeType":"Block","src":"22864:48:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66866,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65527,"src":"22885:14:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22885:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66868,"nodeType":"RevertStatement","src":"22878:23:97"}]}},{"assignments":[66876],"declarations":[{"constant":false,"id":66876,"mutability":"mutable","name":"pv","nameLocation":"22961:2:97","nodeType":"VariableDeclaration","scope":66896,"src":"22921:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":66874,"nodeType":"UserDefinedTypeName","pathNode":{"id":66873,"name":"StrategyStruct.ProposalSupport","nameLocations":["22921:14:97","22936:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":65465,"src":"22921:30:97"},"referencedDeclaration":65465,"src":"22921:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":66875,"nodeType":"ArrayTypeName","src":"22921:32:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":66885,"initialValue":{"arguments":[{"id":66879,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66834,"src":"22977:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":66880,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"22985:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23000:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":65465,"src":"22985:30:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65465_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":66882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22985:32:97","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":66883,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22984:34:97","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":66877,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22966:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22970:6:97","memberName":"decode","nodeType":"MemberAccess","src":"22966:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22966:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22921:98:97"},{"expression":{"arguments":[{"id":66887,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"23054:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66888,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66876,"src":"23063:2:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":66886,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67628,"src":"23029:24:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":66889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23029:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66890,"nodeType":"ExpressionStatement","src":"23029:37:97"},{"expression":{"arguments":[{"id":66892,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66836,"src":"23088:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66893,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66876,"src":"23097:2:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":66891,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67915,"src":"23076:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":66894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23076:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66895,"nodeType":"ExpressionStatement","src":"23076:24:97"}]},"baseFunctions":[65221],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22466:9:97","overrides":{"id":66838,"nodeType":"OverrideSpecifier","overrides":[],"src":"22522:8:97"},"parameters":{"id":66837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66834,"mutability":"mutable","name":"_data","nameLocation":"22489:5:97","nodeType":"VariableDeclaration","scope":66897,"src":"22476:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66833,"name":"bytes","nodeType":"ElementaryTypeName","src":"22476:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66836,"mutability":"mutable","name":"_sender","nameLocation":"22504:7:97","nodeType":"VariableDeclaration","scope":66897,"src":"22496:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66835,"name":"address","nodeType":"ElementaryTypeName","src":"22496:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22475:37:97"},"returnParameters":{"id":66839,"nodeType":"ParameterList","parameters":[],"src":"22531:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67065,"nodeType":"FunctionDefinition","src":"23363:1925:97","nodes":[],"body":{"id":67064,"nodeType":"Block","src":"23449:1839:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66908,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"23508:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23514:6:97","memberName":"length","nodeType":"MemberAccess","src":"23508:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":66910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23524:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23508:17:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66916,"nodeType":"IfStatement","src":"23504:76:97","trueBody":{"id":66915,"nodeType":"Block","src":"23527:53:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66912,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65563,"src":"23548:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23548:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66914,"nodeType":"RevertStatement","src":"23541:28:97"}]}},{"assignments":[66918],"declarations":[{"constant":false,"id":66918,"mutability":"mutable","name":"proposalId","nameLocation":"23598:10:97","nodeType":"VariableDeclaration","scope":67064,"src":"23590:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66917,"name":"uint256","nodeType":"ElementaryTypeName","src":"23590:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66926,"initialValue":{"arguments":[{"id":66921,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"23622:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":66923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23630:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66922,"name":"uint256","nodeType":"ElementaryTypeName","src":"23630:7:97","typeDescriptions":{}}}],"id":66924,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23629:9:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":66919,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23611:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23615:6:97","memberName":"decode","nodeType":"MemberAccess","src":"23611:10:97","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23611:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23590:49:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66927,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23654:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23668:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23654:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66934,"nodeType":"IfStatement","src":"23650:77:97","trueBody":{"id":66933,"nodeType":"Block","src":"23671:56:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66930,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"23692:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23692:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66932,"nodeType":"RevertStatement","src":"23685:31:97"}]}},{"assignments":[66939],"declarations":[{"constant":false,"id":66939,"mutability":"mutable","name":"proposal","nameLocation":"23768:8:97","nodeType":"VariableDeclaration","scope":67064,"src":"23736:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":66938,"nodeType":"UserDefinedTypeName","pathNode":{"id":66937,"name":"StrategyStruct.Proposal","nameLocations":["23736:14:97","23751:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"23736:23:97"},"referencedDeclaration":65460,"src":"23736:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":66943,"initialValue":{"baseExpression":{"id":66940,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"23779:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":66942,"indexExpression":{"id":66941,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23789:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23779:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23736:64:97"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"},"id":66948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66944,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65785,"src":"23815:12:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66945,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"23831:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23846:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65394,"src":"23831:27:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65394_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":66947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23859:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"23831:35:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65394","typeString":"enum StrategyStruct.ProposalType"}},"src":"23815:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67063,"nodeType":"IfStatement","src":"23811:1411:97","trueBody":{"id":67062,"nodeType":"Block","src":"23868:1354:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66949,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"23886:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23895:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"23886:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":66951,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23909:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23886:33:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66958,"nodeType":"IfStatement","src":"23882:108:97","trueBody":{"id":66957,"nodeType":"Block","src":"23921:69:97","statements":[{"errorCall":{"arguments":[{"id":66954,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"23964:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66953,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"23946:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":66955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23946:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66956,"nodeType":"RevertStatement","src":"23939:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66959,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24008:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24017:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24008:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":66961,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"24035:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24008:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66971,"nodeType":"IfStatement","src":"24004:152:97","trueBody":{"id":66970,"nodeType":"Block","src":"24047:109:97","statements":[{"errorCall":{"arguments":[{"id":66964,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24092:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66965,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24104:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24113:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24104:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66967,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"24130:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66963,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65591,"src":"24072:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":66968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24072:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66969,"nodeType":"RevertStatement","src":"24065:76:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":66977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66972,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24174:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24183:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"24174:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":66974,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"24201:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":66975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24216:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"24201:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":66976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24231:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"24201:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24174:63:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66983,"nodeType":"IfStatement","src":"24170:138:97","trueBody":{"id":66982,"nodeType":"Block","src":"24239:69:97","statements":[{"errorCall":{"arguments":[{"id":66979,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24282:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66978,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65569,"src":"24264:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":66980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24264:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66981,"nodeType":"RevertStatement","src":"24257:36:97"}]}},{"assignments":[66985],"declarations":[{"constant":false,"id":66985,"mutability":"mutable","name":"convictionLast","nameLocation":"24330:14:97","nodeType":"VariableDeclaration","scope":67062,"src":"24322:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66984,"name":"uint256","nodeType":"ElementaryTypeName","src":"24322:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66989,"initialValue":{"arguments":[{"id":66987,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24372:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66986,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68485,"src":"24347:24:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":66988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24347:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24322:61:97"},{"assignments":[66991],"declarations":[{"constant":false,"id":66991,"mutability":"mutable","name":"threshold","nameLocation":"24405:9:97","nodeType":"VariableDeclaration","scope":67062,"src":"24397:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66990,"name":"uint256","nodeType":"ElementaryTypeName","src":"24397:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66996,"initialValue":{"arguments":[{"expression":{"id":66993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24436:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24445:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24436:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66992,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68101,"src":"24417:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":66995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24417:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24397:64:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66997,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66985,"src":"24480:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":66998,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66991,"src":"24497:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24480:26:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24510:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24519:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24510:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24537:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24510:28:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24480:58:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67009,"nodeType":"IfStatement","src":"24476:137:97","trueBody":{"id":67008,"nodeType":"Block","src":"24540:73:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67005,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65581,"src":"24565:31:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24565:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67007,"nodeType":"RevertStatement","src":"24558:40:97"}]}},{"assignments":[67014],"declarations":[{"constant":false,"id":67014,"mutability":"mutable","name":"pool","nameLocation":"24645:4:97","nodeType":"VariableDeclaration","scope":67062,"src":"24627:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67013,"nodeType":"UserDefinedTypeName","pathNode":{"id":67012,"name":"IAllo.Pool","nameLocations":["24627:5:97","24633:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24627:10:97"},"referencedDeclaration":2319,"src":"24627:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67019,"initialValue":{"arguments":[{"id":67017,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64735,"src":"24665:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67015,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64729,"src":"24652:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24657:7:97","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24652:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24652:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24627:45:97"},{"expression":{"id":67023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67020,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"24687:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":67021,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24701:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24710:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24701:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24687:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67024,"nodeType":"ExpressionStatement","src":"24687:38:97"},{"expression":{"arguments":[{"expression":{"id":67026,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67014,"src":"24763:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24768:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24763:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67028,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24775:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24784:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"24775:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67030,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24797:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24806:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"24797:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67025,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24747:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":67032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24747:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67033,"nodeType":"ExpressionStatement","src":"24747:75:97"},{"expression":{"id":67040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67034,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24837:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24846:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"24837:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":67037,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"24863:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":67038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24878:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"24863:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24893:8:97","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"24863:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24837:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":67041,"nodeType":"ExpressionStatement","src":"24837:64:97"},{"expression":{"arguments":[{"id":67045,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"24967:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67046,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"24995:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25004:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"24995:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67048,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"25031:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67050,"indexExpression":{"id":67049,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"25049:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25031:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25081:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"25031:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67042,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"24915:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24931:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"24915:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":67052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24915:205:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67053,"nodeType":"ExpressionStatement","src":"24915:205:97"},{"eventCall":{"arguments":[{"id":67055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"25152:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67056,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"25164:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25173:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"25164:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67058,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66939,"src":"25186:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25195:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"25186:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67054,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[65638,2858],"referencedDeclaration":65638,"src":"25140:11:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":67060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25140:71:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67061,"nodeType":"EmitStatement","src":"25135:76:97"}]}}]},"baseFunctions":[65232],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23372:11:97","overrides":{"id":66906,"nodeType":"OverrideSpecifier","overrides":[],"src":"23440:8:97"},"parameters":{"id":66905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66900,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67065,"src":"23384:16:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":66898,"name":"address","nodeType":"ElementaryTypeName","src":"23384:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66899,"nodeType":"ArrayTypeName","src":"23384:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":66902,"mutability":"mutable","name":"_data","nameLocation":"23415:5:97","nodeType":"VariableDeclaration","scope":67065,"src":"23402:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66901,"name":"bytes","nodeType":"ElementaryTypeName","src":"23402:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67065,"src":"23422:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66903,"name":"address","nodeType":"ElementaryTypeName","src":"23422:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23383:47:97"},"returnParameters":{"id":66907,"nodeType":"ParameterList","parameters":[],"src":"23449:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67119,"nodeType":"FunctionDefinition","src":"25294:743:97","nodes":[],"body":{"id":67118,"nodeType":"Block","src":"25391:646:97","nodes":[],"statements":[{"assignments":[67076],"declarations":[{"constant":false,"id":67076,"mutability":"mutable","name":"proposal","nameLocation":"25433:8:97","nodeType":"VariableDeclaration","scope":67118,"src":"25401:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67075,"nodeType":"UserDefinedTypeName","pathNode":{"id":67074,"name":"StrategyStruct.Proposal","nameLocations":["25401:14:97","25416:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"25401:23:97"},"referencedDeclaration":65460,"src":"25401:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67080,"initialValue":{"baseExpression":{"id":67077,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"25444:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67079,"indexExpression":{"id":67078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67067,"src":"25454:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25444:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25401:64:97"},{"assignments":[67082,67084],"declarations":[{"constant":false,"id":67082,"mutability":"mutable","name":"convictionLast","nameLocation":"25559:14:97","nodeType":"VariableDeclaration","scope":67118,"src":"25551:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67081,"name":"uint256","nodeType":"ElementaryTypeName","src":"25551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67084,"mutability":"mutable","name":"blockNumber","nameLocation":"25583:11:97","nodeType":"VariableDeclaration","scope":67118,"src":"25575:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67083,"name":"uint256","nodeType":"ElementaryTypeName","src":"25575:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67090,"initialValue":{"arguments":[{"id":67086,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25644:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":67087,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25654:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25663:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"25654:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67085,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"25610:33:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":67089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25610:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25550:126:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67091,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"25691:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25709:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25691:19:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67094,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"25714:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25729:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25714:16:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25691:39:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67104,"nodeType":"IfStatement","src":"25687:110:97","trueBody":{"id":67103,"nodeType":"Block","src":"25732:65:97","statements":[{"expression":{"id":67101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67098,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"25746:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67099,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25763:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25772:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"25763:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25746:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67102,"nodeType":"ExpressionStatement","src":"25746:40:97"}]}},{"assignments":[67106],"declarations":[{"constant":false,"id":67106,"mutability":"mutable","name":"threshold","nameLocation":"25814:9:97","nodeType":"VariableDeclaration","scope":67118,"src":"25806:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67105,"name":"uint256","nodeType":"ElementaryTypeName","src":"25806:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67111,"initialValue":{"arguments":[{"expression":{"id":67108,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67076,"src":"25845:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25854:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"25845:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67107,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68101,"src":"25826:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25826:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25806:64:97"},{"expression":{"id":67116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67112,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67070,"src":"25987:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67113,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"26003:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":67114,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67106,"src":"26021:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26003:27:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25987:43:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67117,"nodeType":"ExpressionStatement","src":"25987:43:97"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25303:18:97","parameters":{"id":67068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67067,"mutability":"mutable","name":"proposalId","nameLocation":"25330:10:97","nodeType":"VariableDeclaration","scope":67119,"src":"25322:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67066,"name":"uint256","nodeType":"ElementaryTypeName","src":"25322:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25321:20:97"},"returnParameters":{"id":67071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67070,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25376:13:97","nodeType":"VariableDeclaration","scope":67119,"src":"25371:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67069,"name":"bool","nodeType":"ElementaryTypeName","src":"25371:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25370:20:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67129,"nodeType":"FunctionDefinition","src":"26327:231:97","nodes":[],"body":{"id":67128,"nodeType":"Block","src":"26426:132:97","nodes":[],"statements":[]},"baseFunctions":[65252],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26336:19:97","overrides":{"id":67123,"nodeType":"OverrideSpecifier","overrides":[],"src":"26400:8:97"},"parameters":{"id":67122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67121,"mutability":"mutable","name":"_recipientId","nameLocation":"26364:12:97","nodeType":"VariableDeclaration","scope":67129,"src":"26356:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67120,"name":"address","nodeType":"ElementaryTypeName","src":"26356:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26355:22:97"},"returnParameters":{"id":67127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67129,"src":"26418:6:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":67125,"nodeType":"UserDefinedTypeName","pathNode":{"id":67124,"name":"Status","nameLocations":["26418:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26418:6:97"},"referencedDeclaration":2815,"src":"26418:6:97","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26417:8:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67148,"nodeType":"FunctionDefinition","src":"26687:287:97","nodes":[],"body":{"id":67147,"nodeType":"Block","src":"26797:177:97","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67144,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65531,"src":"26951:14:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26951:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67146,"nodeType":"RevertStatement","src":"26944:23:97"}]},"baseFunctions":[65091],"documentation":{"id":67130,"nodeType":"StructuredDocumentation","src":"26564:118:97","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26696:10:97","overrides":{"id":67138,"nodeType":"OverrideSpecifier","overrides":[],"src":"26755:8:97"},"parameters":{"id":67137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67148,"src":"26707:16:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67131,"name":"address","nodeType":"ElementaryTypeName","src":"26707:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67132,"nodeType":"ArrayTypeName","src":"26707:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67148,"src":"26725:14:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":67134,"name":"bytes","nodeType":"ElementaryTypeName","src":"26725:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":67135,"nodeType":"ArrayTypeName","src":"26725:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26706:34:97"},"returnParameters":{"id":67143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67148,"src":"26773:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":67140,"nodeType":"UserDefinedTypeName","pathNode":{"id":67139,"name":"PayoutSummary","nameLocations":["26773:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26773:13:97"},"referencedDeclaration":2820,"src":"26773:13:97","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":67141,"nodeType":"ArrayTypeName","src":"26773:15:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26772:24:97"},"scope":69064,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":67160,"nodeType":"FunctionDefinition","src":"26980:286:97","nodes":[],"body":{"id":67159,"nodeType":"Block","src":"27148:118:97","nodes":[],"statements":[]},"baseFunctions":[65243],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26989:10:97","overrides":{"id":67154,"nodeType":"OverrideSpecifier","overrides":[],"src":"27096:8:97"},"parameters":{"id":67153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67150,"mutability":"mutable","name":"_recipientId","nameLocation":"27008:12:97","nodeType":"VariableDeclaration","scope":67160,"src":"27000:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67149,"name":"address","nodeType":"ElementaryTypeName","src":"27000:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67152,"mutability":"mutable","name":"_data","nameLocation":"27035:5:97","nodeType":"VariableDeclaration","scope":67160,"src":"27022:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67151,"name":"bytes","nodeType":"ElementaryTypeName","src":"27022:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26999:42:97"},"returnParameters":{"id":67158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67157,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67160,"src":"27122:20:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":67156,"nodeType":"UserDefinedTypeName","pathNode":{"id":67155,"name":"PayoutSummary","nameLocations":["27122:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27122:13:97"},"referencedDeclaration":2820,"src":"27122:13:97","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"27121:22:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67171,"nodeType":"FunctionDefinition","src":"27272:127:97","nodes":[],"body":{"id":67170,"nodeType":"Block","src":"27349:50:97","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":67167,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67162,"src":"27384:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67166,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65648,"src":"27364:19:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":67168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27364:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67169,"nodeType":"EmitStatement","src":"27359:33:97"}]},"baseFunctions":[65266],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27281:24:97","overrides":{"id":67164,"nodeType":"OverrideSpecifier","overrides":[],"src":"27340:8:97"},"parameters":{"id":67163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67162,"mutability":"mutable","name":"_amount","nameLocation":"27314:7:97","nodeType":"VariableDeclaration","scope":67171,"src":"27306:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67161,"name":"uint256","nodeType":"ElementaryTypeName","src":"27306:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27305:17:97"},"returnParameters":{"id":67165,"nodeType":"ParameterList","parameters":[],"src":"27349:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67180,"nodeType":"FunctionDefinition","src":"27494:143:97","nodes":[],"body":{"id":67179,"nodeType":"Block","src":"27587:50:97","nodes":[],"statements":[]},"baseFunctions":[65203],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27503:17:97","overrides":{"id":67175,"nodeType":"OverrideSpecifier","overrides":[],"src":"27563:8:97"},"parameters":{"id":67174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67173,"mutability":"mutable","name":"_allocator","nameLocation":"27529:10:97","nodeType":"VariableDeclaration","scope":67180,"src":"27521:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67172,"name":"address","nodeType":"ElementaryTypeName","src":"27521:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27520:20:97"},"returnParameters":{"id":67178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67177,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67180,"src":"27581:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67176,"name":"bool","nodeType":"ElementaryTypeName","src":"27581:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27580:6:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67190,"nodeType":"FunctionDefinition","src":"27643:86:97","nodes":[],"body":{"id":67189,"nodeType":"Block","src":"27689:40:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":67186,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67182,"src":"27714:7:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67185,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65186,"src":"27699:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":67187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27699:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67188,"nodeType":"ExpressionStatement","src":"27699:23:97"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27652:13:97","parameters":{"id":67183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67182,"mutability":"mutable","name":"_active","nameLocation":"27671:7:97","nodeType":"VariableDeclaration","scope":67190,"src":"27666:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67181,"name":"bool","nodeType":"ElementaryTypeName","src":"27666:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27665:14:97"},"returnParameters":{"id":67184,"nodeType":"ParameterList","parameters":[],"src":"27689:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67278,"nodeType":"FunctionDefinition","src":"27735:844:97","nodes":[],"body":{"id":67277,"nodeType":"Block","src":"27787:792:97","nodes":[],"statements":[{"assignments":[67199],"declarations":[{"constant":false,"id":67199,"mutability":"mutable","name":"proposalsIds","nameLocation":"27862:12:97","nodeType":"VariableDeclaration","scope":67277,"src":"27845:29:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67197,"name":"uint256","nodeType":"ElementaryTypeName","src":"27845:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67198,"nodeType":"ArrayTypeName","src":"27845:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67203,"initialValue":{"baseExpression":{"id":67200,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"27877:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67202,"indexExpression":{"id":67201,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"27898:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27877:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27845:61:97"},{"body":{"id":67275,"nodeType":"Block","src":"27966:607:97","statements":[{"assignments":[67216],"declarations":[{"constant":false,"id":67216,"mutability":"mutable","name":"proposalId","nameLocation":"27988:10:97","nodeType":"VariableDeclaration","scope":67275,"src":"27980:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67215,"name":"uint256","nodeType":"ElementaryTypeName","src":"27980:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67220,"initialValue":{"baseExpression":{"id":67217,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67199,"src":"28001:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67219,"indexExpression":{"id":67218,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67205,"src":"28014:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28001:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27980:36:97"},{"assignments":[67225],"declarations":[{"constant":false,"id":67225,"mutability":"mutable","name":"proposal","nameLocation":"28062:8:97","nodeType":"VariableDeclaration","scope":67275,"src":"28030:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67224,"nodeType":"UserDefinedTypeName","pathNode":{"id":67223,"name":"StrategyStruct.Proposal","nameLocations":["28030:14:97","28045:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"28030:23:97"},"referencedDeclaration":65460,"src":"28030:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67229,"initialValue":{"baseExpression":{"id":67226,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"28073:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67228,"indexExpression":{"id":67227,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67216,"src":"28083:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28073:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28030:64:97"},{"condition":{"arguments":[{"id":67231,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67216,"src":"28127:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67230,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67513,"src":"28112:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28112:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67274,"nodeType":"IfStatement","src":"28108:455:97","trueBody":{"id":67273,"nodeType":"Block","src":"28140:423:97","statements":[{"assignments":[67234],"declarations":[{"constant":false,"id":67234,"mutability":"mutable","name":"stakedPoints","nameLocation":"28166:12:97","nodeType":"VariableDeclaration","scope":67273,"src":"28158:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67233,"name":"uint256","nodeType":"ElementaryTypeName","src":"28158:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67239,"initialValue":{"baseExpression":{"expression":{"id":67235,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28181:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28190:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"28181:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67238,"indexExpression":{"id":67237,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"28208:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28181:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28158:58:97"},{"expression":{"id":67246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67240,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28234:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28243:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"28234:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67244,"indexExpression":{"id":67242,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"28261:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28234:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28272:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28234:39:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67247,"nodeType":"ExpressionStatement","src":"28234:39:97"},{"expression":{"id":67252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67248,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28291:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28300:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"28291:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67251,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"28316:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28291:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67253,"nodeType":"ExpressionStatement","src":"28291:37:97"},{"expression":{"id":67256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67254,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65777,"src":"28346:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67255,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"28361:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28346:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67257,"nodeType":"ExpressionStatement","src":"28346:27:97"},{"expression":{"arguments":[{"id":67259,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28418:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":67260,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"28428:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67258,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68250,"src":"28391:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":67261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28391:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67262,"nodeType":"ExpressionStatement","src":"28391:50:97"},{"eventCall":{"arguments":[{"id":67264,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67192,"src":"28477:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67265,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67216,"src":"28486:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":67266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28498:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":67267,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28501:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28510:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"28501:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67269,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"28524:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28533:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"28524:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67263,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65680,"src":"28464:12:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28464:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67272,"nodeType":"EmitStatement","src":"28459:89:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67208,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67205,"src":"27936:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67209,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67199,"src":"27940:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27953:6:97","memberName":"length","nodeType":"MemberAccess","src":"27940:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27936:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67276,"initializationExpression":{"assignments":[67205],"declarations":[{"constant":false,"id":67205,"mutability":"mutable","name":"i","nameLocation":"27929:1:97","nodeType":"VariableDeclaration","scope":67276,"src":"27921:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67204,"name":"uint256","nodeType":"ElementaryTypeName","src":"27921:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67207,"initialValue":{"hexValue":"30","id":67206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27933:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27921:13:97"},"loopExpression":{"expression":{"id":67213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27961:3:97","subExpression":{"id":67212,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67205,"src":"27961:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67214,"nodeType":"ExpressionStatement","src":"27961:3:97"},"nodeType":"ForStatement","src":"27916:657:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27744:8:97","parameters":{"id":67193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67192,"mutability":"mutable","name":"_member","nameLocation":"27761:7:97","nodeType":"VariableDeclaration","scope":67278,"src":"27753:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67191,"name":"address","nodeType":"ElementaryTypeName","src":"27753:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27752:17:97"},"returnParameters":{"id":67194,"nodeType":"ParameterList","parameters":[],"src":"27787:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67356,"nodeType":"FunctionDefinition","src":"29263:1145:97","nodes":[],"body":{"id":67355,"nodeType":"Block","src":"29793:615:97","nodes":[],"statements":[{"assignments":[67311],"declarations":[{"constant":false,"id":67311,"mutability":"mutable","name":"proposal","nameLocation":"29835:8:97","nodeType":"VariableDeclaration","scope":67355,"src":"29803:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67310,"nodeType":"UserDefinedTypeName","pathNode":{"id":67309,"name":"StrategyStruct.Proposal","nameLocations":["29803:14:97","29818:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"29803:23:97"},"referencedDeclaration":65460,"src":"29803:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67315,"initialValue":{"baseExpression":{"id":67312,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"29846:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67314,"indexExpression":{"id":67313,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67281,"src":"29856:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29846:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29803:65:97"},{"expression":{"id":67327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67316,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67301,"src":"29879:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67317,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"29891:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29900:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"29891:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29919:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29891:29:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":67323,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"29946:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29955:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"29946:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67322,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68101,"src":"29927:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29927:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29891:80:97","trueExpression":{"hexValue":"30","id":67321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29923:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29879:92:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67328,"nodeType":"ExpressionStatement","src":"29879:92:97"},{"expression":{"components":[{"expression":{"id":67329,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30002:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30011:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"30002:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67331,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30034:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30043:11:97","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65436,"src":"30034:20:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67333,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30068:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30077:14:97","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65440,"src":"30068:23:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67335,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30105:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30114:15:97","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65430,"src":"30105:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67337,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30143:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30152:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"30143:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30178:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30187:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"30178:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":67341,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30215:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"30215:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67343,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30247:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30256:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"30247:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67345,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67301,"src":"30284:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":67346,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30307:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30316:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"30307:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67350,"indexExpression":{"expression":{"id":67348,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30334:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30338:6:97","memberName":"sender","nodeType":"MemberAccess","src":"30334:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30307:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67351,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67311,"src":"30359:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30368:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"30359:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67353,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29988:413:97","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$65419_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67306,"id":67354,"nodeType":"Return","src":"29981:420:97"}]},"documentation":{"id":67279,"nodeType":"StructuredDocumentation","src":"28585:673:97","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"29272:11:97","parameters":{"id":67282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67281,"mutability":"mutable","name":"_proposalId","nameLocation":"29292:11:97","nodeType":"VariableDeclaration","scope":67356,"src":"29284:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67280,"name":"uint256","nodeType":"ElementaryTypeName","src":"29284:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29283:21:97"},"returnParameters":{"id":67306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67284,"mutability":"mutable","name":"submitter","nameLocation":"29389:9:97","nodeType":"VariableDeclaration","scope":67356,"src":"29381:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67283,"name":"address","nodeType":"ElementaryTypeName","src":"29381:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67286,"mutability":"mutable","name":"beneficiary","nameLocation":"29420:11:97","nodeType":"VariableDeclaration","scope":67356,"src":"29412:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67285,"name":"address","nodeType":"ElementaryTypeName","src":"29412:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67288,"mutability":"mutable","name":"requestedToken","nameLocation":"29453:14:97","nodeType":"VariableDeclaration","scope":67356,"src":"29445:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67287,"name":"address","nodeType":"ElementaryTypeName","src":"29445:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67290,"mutability":"mutable","name":"requestedAmount","nameLocation":"29489:15:97","nodeType":"VariableDeclaration","scope":67356,"src":"29481:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67289,"name":"uint256","nodeType":"ElementaryTypeName","src":"29481:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67292,"mutability":"mutable","name":"stakedAmount","nameLocation":"29526:12:97","nodeType":"VariableDeclaration","scope":67356,"src":"29518:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67291,"name":"uint256","nodeType":"ElementaryTypeName","src":"29518:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67295,"mutability":"mutable","name":"proposalStatus","nameLocation":"29582:14:97","nodeType":"VariableDeclaration","scope":67356,"src":"29552:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":67294,"nodeType":"UserDefinedTypeName","pathNode":{"id":67293,"name":"StrategyStruct.ProposalStatus","nameLocations":["29552:14:97","29567:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"29552:29:97"},"referencedDeclaration":65419,"src":"29552:29:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":67297,"mutability":"mutable","name":"blockLast","nameLocation":"29618:9:97","nodeType":"VariableDeclaration","scope":67356,"src":"29610:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67296,"name":"uint256","nodeType":"ElementaryTypeName","src":"29610:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67299,"mutability":"mutable","name":"convictionLast","nameLocation":"29649:14:97","nodeType":"VariableDeclaration","scope":67356,"src":"29641:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67298,"name":"uint256","nodeType":"ElementaryTypeName","src":"29641:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67301,"mutability":"mutable","name":"threshold","nameLocation":"29685:9:97","nodeType":"VariableDeclaration","scope":67356,"src":"29677:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67300,"name":"uint256","nodeType":"ElementaryTypeName","src":"29677:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67303,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29716:17:97","nodeType":"VariableDeclaration","scope":67356,"src":"29708:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67302,"name":"uint256","nodeType":"ElementaryTypeName","src":"29708:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67305,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"29755:23:97","nodeType":"VariableDeclaration","scope":67356,"src":"29747:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67304,"name":"uint256","nodeType":"ElementaryTypeName","src":"29747:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29367:421:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67377,"nodeType":"FunctionDefinition","src":"30414:206:97","nodes":[],"body":{"id":67376,"nodeType":"Block","src":"30504:116:97","nodes":[],"statements":[{"assignments":[67368],"declarations":[{"constant":false,"id":67368,"mutability":"mutable","name":"proposal","nameLocation":"30546:8:97","nodeType":"VariableDeclaration","scope":67376,"src":"30514:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67367,"nodeType":"UserDefinedTypeName","pathNode":{"id":67366,"name":"StrategyStruct.Proposal","nameLocations":["30514:14:97","30529:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"30514:23:97"},"referencedDeclaration":65460,"src":"30514:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67372,"initialValue":{"baseExpression":{"id":67369,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"30557:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67371,"indexExpression":{"id":67370,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"30567:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30557:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30514:65:97"},{"expression":{"expression":{"id":67373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67368,"src":"30596:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30605:8:97","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65452,"src":"30596:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":67363,"id":67375,"nodeType":"Return","src":"30589:24:97"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30423:11:97","parameters":{"id":67359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67358,"mutability":"mutable","name":"_proposalId","nameLocation":"30443:11:97","nodeType":"VariableDeclaration","scope":67377,"src":"30435:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67357,"name":"uint256","nodeType":"ElementaryTypeName","src":"30435:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30434:21:97"},"returnParameters":{"id":67363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67362,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67377,"src":"30487:15:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":67361,"nodeType":"UserDefinedTypeName","pathNode":{"id":67360,"name":"Metadata","nameLocations":["30487:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30487:8:97"},"referencedDeclaration":3098,"src":"30487:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30486:17:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67393,"nodeType":"FunctionDefinition","src":"30821:184:97","nodes":[],"body":{"id":67392,"nodeType":"Block","src":"30929:76:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":67388,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67380,"src":"30978:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67389,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"30991:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67387,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67478,"src":"30946:31:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":67390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30946:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67386,"id":67391,"nodeType":"Return","src":"30939:59:97"}]},"documentation":{"id":67378,"nodeType":"StructuredDocumentation","src":"30626:190:97","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"30830:21:97","parameters":{"id":67383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67380,"mutability":"mutable","name":"_proposalId","nameLocation":"30860:11:97","nodeType":"VariableDeclaration","scope":67393,"src":"30852:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67379,"name":"uint256","nodeType":"ElementaryTypeName","src":"30852:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67382,"mutability":"mutable","name":"_voter","nameLocation":"30881:6:97","nodeType":"VariableDeclaration","scope":67393,"src":"30873:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67381,"name":"address","nodeType":"ElementaryTypeName","src":"30873:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30851:37:97"},"returnParameters":{"id":67386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67393,"src":"30920:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67384,"name":"uint256","nodeType":"ElementaryTypeName","src":"30920:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30919:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67406,"nodeType":"FunctionDefinition","src":"31011:153:97","nodes":[],"body":{"id":67405,"nodeType":"Block","src":"31105:59:97","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":67400,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"31122:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67402,"indexExpression":{"id":67401,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67395,"src":"31132:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31122:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31145:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"31122:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67399,"id":67404,"nodeType":"Return","src":"31115:42:97"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"31020:23:97","parameters":{"id":67396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67395,"mutability":"mutable","name":"_proposalId","nameLocation":"31052:11:97","nodeType":"VariableDeclaration","scope":67406,"src":"31044:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67394,"name":"uint256","nodeType":"ElementaryTypeName","src":"31044:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31043:21:97"},"returnParameters":{"id":67399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67406,"src":"31096:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67397,"name":"uint256","nodeType":"ElementaryTypeName","src":"31096:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31095:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67418,"nodeType":"FunctionDefinition","src":"31232:135:97","nodes":[],"body":{"id":67417,"nodeType":"Block","src":"31317:50:97","nodes":[],"statements":[{"expression":{"baseExpression":{"id":67413,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65809,"src":"31334:18:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67415,"indexExpression":{"id":67414,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67408,"src":"31353:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31334:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67412,"id":67416,"nodeType":"Return","src":"31327:33:97"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"31241:21:97","parameters":{"id":67409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67408,"mutability":"mutable","name":"_voter","nameLocation":"31271:6:97","nodeType":"VariableDeclaration","scope":67418,"src":"31263:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67407,"name":"address","nodeType":"ElementaryTypeName","src":"31263:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31262:16:97"},"returnParameters":{"id":67412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67418,"src":"31308:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67410,"name":"uint256","nodeType":"ElementaryTypeName","src":"31308:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31307:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67461,"nodeType":"FunctionDefinition","src":"31373:874:97","nodes":[],"body":{"id":67460,"nodeType":"Block","src":"31723:524:97","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":67434,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31754:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67436,"indexExpression":{"id":67435,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"31772:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31754:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31804:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"31754:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":67438,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31828:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67440,"indexExpression":{"id":67439,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"31846:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31828:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31878:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"31828:62:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67442,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31904:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67444,"indexExpression":{"id":67443,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"31922:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31904:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31954:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"31904:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67446,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"31993:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67448,"indexExpression":{"id":67447,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"32011:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31993:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32043:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"31993:76:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67450,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"32083:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67452,"indexExpression":{"id":67451,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"32101:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32083:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32133:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"32083:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67454,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"32160:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67456,"indexExpression":{"id":67455,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"32178:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32160:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32210:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"32160:70:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67458,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31740:500:97","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$72931_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67433,"id":67459,"nodeType":"Return","src":"31733:507:97"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31382:19:97","parameters":{"id":67419,"nodeType":"ParameterList","parameters":[],"src":"31401:2:97"},"returnParameters":{"id":67433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67422,"mutability":"mutable","name":"arbitrator","nameLocation":"31492:10:97","nodeType":"VariableDeclaration","scope":67461,"src":"31480:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"typeName":{"id":67421,"nodeType":"UserDefinedTypeName","pathNode":{"id":67420,"name":"IArbitrator","nameLocations":["31480:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72931,"src":"31480:11:97"},"referencedDeclaration":72931,"src":"31480:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":67424,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31524:12:97","nodeType":"VariableDeclaration","scope":67461,"src":"31516:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67423,"name":"address","nodeType":"ElementaryTypeName","src":"31516:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67426,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31558:25:97","nodeType":"VariableDeclaration","scope":67461,"src":"31550:33:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67425,"name":"uint256","nodeType":"ElementaryTypeName","src":"31550:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67428,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31605:26:97","nodeType":"VariableDeclaration","scope":67461,"src":"31597:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67427,"name":"uint256","nodeType":"ElementaryTypeName","src":"31597:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67430,"mutability":"mutable","name":"defaultRuling","nameLocation":"31653:13:97","nodeType":"VariableDeclaration","scope":67461,"src":"31645:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67429,"name":"uint256","nodeType":"ElementaryTypeName","src":"31645:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67432,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31688:20:97","nodeType":"VariableDeclaration","scope":67461,"src":"31680:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67431,"name":"uint256","nodeType":"ElementaryTypeName","src":"31680:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31466:252:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67478,"nodeType":"FunctionDefinition","src":"32253:226:97","nodes":[],"body":{"id":67477,"nodeType":"Block","src":"32407:72:97","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":67470,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"32424:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67472,"indexExpression":{"id":67471,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"32434:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32447:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"32424:40:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67475,"indexExpression":{"id":67474,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67465,"src":"32465:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:48:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67469,"id":67476,"nodeType":"Return","src":"32417:55:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"32262:31:97","parameters":{"id":67466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67463,"mutability":"mutable","name":"_proposalId","nameLocation":"32302:11:97","nodeType":"VariableDeclaration","scope":67478,"src":"32294:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67462,"name":"uint256","nodeType":"ElementaryTypeName","src":"32294:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67465,"mutability":"mutable","name":"_voter","nameLocation":"32323:6:97","nodeType":"VariableDeclaration","scope":67478,"src":"32315:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67464,"name":"address","nodeType":"ElementaryTypeName","src":"32315:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32293:37:97"},"returnParameters":{"id":67469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67478,"src":"32394:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67467,"name":"uint256","nodeType":"ElementaryTypeName","src":"32394:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32393:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67488,"nodeType":"FunctionDefinition","src":"32485:153:97","nodes":[],"body":{"id":67487,"nodeType":"Block","src":"32557:81:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67483,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"32574:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":67484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32592:20:97","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":71767,"src":"32574:38:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":67485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32574:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67482,"id":67486,"nodeType":"Return","src":"32567:47:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32494:20:97","parameters":{"id":67479,"nodeType":"ParameterList","parameters":[],"src":"32514:2:97"},"returnParameters":{"id":67482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67488,"src":"32548:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67480,"name":"uint256","nodeType":"ElementaryTypeName","src":"32548:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32547:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67513,"nodeType":"FunctionDefinition","src":"32644:193:97","nodes":[],"body":{"id":67512,"nodeType":"Block","src":"32726:111:97","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67495,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"32743:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67497,"indexExpression":{"id":67496,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67490,"src":"32753:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32743:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32766:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"32743:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32779:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32743:37:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67501,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"32784:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67503,"indexExpression":{"id":67502,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67490,"src":"32794:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32784:22:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32807:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"32784:32:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32828:1:97","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":67506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32820:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67505,"name":"address","nodeType":"ElementaryTypeName","src":"32820:7:97","typeDescriptions":{}}},"id":67508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32820:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32784:46:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32743:87:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67494,"id":67511,"nodeType":"Return","src":"32736:94:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32653:14:97","parameters":{"id":67491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67490,"mutability":"mutable","name":"_proposalID","nameLocation":"32676:11:97","nodeType":"VariableDeclaration","scope":67513,"src":"32668:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67489,"name":"uint256","nodeType":"ElementaryTypeName","src":"32668:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32667:21:97"},"returnParameters":{"id":67494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67513,"src":"32720:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67492,"name":"bool","nodeType":"ElementaryTypeName","src":"32720:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32719:6:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67532,"nodeType":"FunctionDefinition","src":"32843:191:97","nodes":[],"body":{"id":67531,"nodeType":"Block","src":"32946:88:97","nodes":[],"statements":[{"expression":{"id":67529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67520,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67518,"src":"32956:14:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67521,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"32973:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67522,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32982:8:97","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65484,"src":"32973:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67523,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"32993:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67525,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67515,"src":"33007:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67526,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"33026:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33007:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:54:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32956:71:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67530,"nodeType":"ExpressionStatement","src":"32956:71:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"32852:15:97","parameters":{"id":67516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67515,"mutability":"mutable","name":"_requestedAmount","nameLocation":"32876:16:97","nodeType":"VariableDeclaration","scope":67532,"src":"32868:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67514,"name":"uint256","nodeType":"ElementaryTypeName","src":"32868:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32867:26:97"},"returnParameters":{"id":67519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67518,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"32930:14:97","nodeType":"VariableDeclaration","scope":67532,"src":"32925:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67517,"name":"bool","nodeType":"ElementaryTypeName","src":"32925:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32924:21:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67628,"nodeType":"FunctionDefinition","src":"33040:1548:97","nodes":[],"body":{"id":67627,"nodeType":"Block","src":"33170:1418:97","nodes":[],"statements":[{"assignments":[67542],"declarations":[{"constant":false,"id":67542,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"33187:15:97","nodeType":"VariableDeclaration","scope":67627,"src":"33180:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67541,"name":"int256","nodeType":"ElementaryTypeName","src":"33180:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67544,"initialValue":{"hexValue":"30","id":67543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33205:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33180:26:97"},{"body":{"id":67589,"nodeType":"Block","src":"33270:576:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67556,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33343:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67558,"indexExpression":{"id":67557,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33360:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33343:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33363:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65462,"src":"33343:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33377:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33343:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67564,"nodeType":"IfStatement","src":"33339:187:97","trueBody":{"id":67563,"nodeType":"Block","src":"33380:146:97","statements":[{"id":67562,"nodeType":"Continue","src":"33503:8:97"}]}},{"assignments":[67566],"declarations":[{"constant":false,"id":67566,"mutability":"mutable","name":"proposalId","nameLocation":"33547:10:97","nodeType":"VariableDeclaration","scope":67589,"src":"33539:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67565,"name":"uint256","nodeType":"ElementaryTypeName","src":"33539:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67571,"initialValue":{"expression":{"baseExpression":{"id":67567,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33560:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67569,"indexExpression":{"id":67568,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33577:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33560:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33580:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65462,"src":"33560:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33539:51:97"},{"condition":{"id":67575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33608:27:97","subExpression":{"arguments":[{"id":67573,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67566,"src":"33624:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67572,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67513,"src":"33609:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33609:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67581,"nodeType":"IfStatement","src":"33604:167:97","trueBody":{"id":67580,"nodeType":"Block","src":"33637:134:97","statements":[{"errorCall":{"arguments":[{"id":67577,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67566,"src":"33680:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67576,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"33662:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33662:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67579,"nodeType":"RevertStatement","src":"33655:36:97"}]}},{"expression":{"id":67587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67582,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67542,"src":"33784:15:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":67583,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33803:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67585,"indexExpression":{"id":67584,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33820:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33803:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33823:12:97","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65464,"src":"33803:32:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33784:51:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":67588,"nodeType":"ExpressionStatement","src":"33784:51:97"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67549,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33236:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67550,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67538,"src":"33240:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33257:6:97","memberName":"length","nodeType":"MemberAccess","src":"33240:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33236:27:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67590,"initializationExpression":{"assignments":[67546],"declarations":[{"constant":false,"id":67546,"mutability":"mutable","name":"i","nameLocation":"33229:1:97","nodeType":"VariableDeclaration","scope":67590,"src":"33221:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67545,"name":"uint256","nodeType":"ElementaryTypeName","src":"33221:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67548,"initialValue":{"hexValue":"30","id":67547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33233:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33221:13:97"},"loopExpression":{"expression":{"id":67554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33265:3:97","subExpression":{"id":67553,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"33265:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67555,"nodeType":"ExpressionStatement","src":"33265:3:97"},"nodeType":"ForStatement","src":"33216:630:97"},{"assignments":[67592],"declarations":[{"constant":false,"id":67592,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"33950:21:97","nodeType":"VariableDeclaration","scope":67627,"src":"33942:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67591,"name":"uint256","nodeType":"ElementaryTypeName","src":"33942:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67599,"initialValue":{"arguments":[{"arguments":[{"id":67595,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"34008:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67594,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"33986:21:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":67596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33986:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67597,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67542,"src":"34018:15:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67593,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"33974:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33974:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33942:92:97"},{"assignments":[67601],"declarations":[{"constant":false,"id":67601,"mutability":"mutable","name":"participantBalance","nameLocation":"34124:18:97","nodeType":"VariableDeclaration","scope":67627,"src":"34116:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67600,"name":"uint256","nodeType":"ElementaryTypeName","src":"34116:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67610,"initialValue":{"arguments":[{"id":67604,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"34188:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67607,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"34205:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":67606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34197:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67605,"name":"address","nodeType":"ElementaryTypeName","src":"34197:7:97","typeDescriptions":{}}},"id":67608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34197:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67602,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"34145:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":67603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34163:24:97","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":71367,"src":"34145:42:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34145:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34116:95:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67611,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"34377:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67612,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67601,"src":"34401:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34377:42:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67620,"nodeType":"IfStatement","src":"34373:147:97","trueBody":{"id":67619,"nodeType":"Block","src":"34421:99:97","statements":[{"errorCall":{"arguments":[{"id":67615,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"34467:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67616,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67601,"src":"34490:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67614,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65561,"src":"34442:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34442:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67618,"nodeType":"RevertStatement","src":"34435:74:97"}]}},{"expression":{"id":67625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67621,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65809,"src":"34530:18:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67623,"indexExpression":{"id":67622,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"34549:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34530:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67624,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"34560:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34530:51:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67626,"nodeType":"ExpressionStatement","src":"34530:51:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"33049:24:97","parameters":{"id":67539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67534,"mutability":"mutable","name":"_sender","nameLocation":"33082:7:97","nodeType":"VariableDeclaration","scope":67628,"src":"33074:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67533,"name":"address","nodeType":"ElementaryTypeName","src":"33074:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67538,"mutability":"mutable","name":"_proposalSupport","nameLocation":"33131:16:97","nodeType":"VariableDeclaration","scope":67628,"src":"33091:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67536,"nodeType":"UserDefinedTypeName","pathNode":{"id":67535,"name":"StrategyStruct.ProposalSupport","nameLocations":["33091:14:97","33106:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":65465,"src":"33091:30:97"},"referencedDeclaration":65465,"src":"33091:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67537,"nodeType":"ArrayTypeName","src":"33091:32:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"33073:75:97"},"returnParameters":{"id":67540,"nodeType":"ParameterList","parameters":[],"src":"33170:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67915,"nodeType":"FunctionDefinition","src":"34594:3487:97","nodes":[],"body":{"id":67914,"nodeType":"Block","src":"34707:3374:97","nodes":[],"statements":[{"assignments":[67641],"declarations":[{"constant":false,"id":67641,"mutability":"mutable","name":"proposalsIds","nameLocation":"34734:12:97","nodeType":"VariableDeclaration","scope":67914,"src":"34717:29:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67639,"name":"uint256","nodeType":"ElementaryTypeName","src":"34717:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67640,"nodeType":"ArrayTypeName","src":"34717:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67642,"nodeType":"VariableDeclarationStatement","src":"34717:29:97"},{"body":{"id":67912,"nodeType":"Block","src":"34810:3265:97","statements":[{"assignments":[67655],"declarations":[{"constant":false,"id":67655,"mutability":"mutable","name":"proposalId","nameLocation":"34832:10:97","nodeType":"VariableDeclaration","scope":67912,"src":"34824:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67654,"name":"uint256","nodeType":"ElementaryTypeName","src":"34824:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67660,"initialValue":{"expression":{"baseExpression":{"id":67656,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"34845:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67658,"indexExpression":{"id":67657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"34862:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34845:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34865:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65462,"src":"34845:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34824:51:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67661,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"34948:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34961:6:97","memberName":"length","nodeType":"MemberAccess","src":"34948:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34971:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34948:24:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67763,"nodeType":"Block","src":"35100:764:97","statements":[{"assignments":[67681],"declarations":[{"constant":false,"id":67681,"mutability":"mutable","name":"exist","nameLocation":"35123:5:97","nodeType":"VariableDeclaration","scope":67763,"src":"35118:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67680,"name":"bool","nodeType":"ElementaryTypeName","src":"35118:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67683,"initialValue":{"hexValue":"66616c7365","id":67682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35131:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35118:18:97"},{"body":{"id":67711,"nodeType":"Block","src":"35204:268:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67695,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35255:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67697,"indexExpression":{"id":67696,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35268:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35255:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":67698,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35274:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35255:29:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67710,"nodeType":"IfStatement","src":"35251:203:97","trueBody":{"id":67709,"nodeType":"Block","src":"35286:168:97","statements":[{"expression":{"id":67702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67700,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67681,"src":"35312:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35320:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35312:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67703,"nodeType":"ExpressionStatement","src":"35312:12:97"},{"errorCall":{"arguments":[{"id":67705,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35383:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67706,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35395:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67704,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65579,"src":"35357:25:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35357:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67708,"nodeType":"RevertStatement","src":"35350:47:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67688,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35174:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67689,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35178:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35191:6:97","memberName":"length","nodeType":"MemberAccess","src":"35178:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35174:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67712,"initializationExpression":{"assignments":[67685],"declarations":[{"constant":false,"id":67685,"mutability":"mutable","name":"j","nameLocation":"35167:1:97","nodeType":"VariableDeclaration","scope":67712,"src":"35159:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67684,"name":"uint256","nodeType":"ElementaryTypeName","src":"35159:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67687,"initialValue":{"hexValue":"30","id":67686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35171:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35159:13:97"},"loopExpression":{"expression":{"id":67693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35199:3:97","subExpression":{"id":67692,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"35199:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67694,"nodeType":"ExpressionStatement","src":"35199:3:97"},"nodeType":"ForStatement","src":"35154:318:97"},{"condition":{"id":67714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35493:6:97","subExpression":{"id":67713,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67681,"src":"35494:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67762,"nodeType":"IfStatement","src":"35489:361:97","trueBody":{"id":67761,"nodeType":"Block","src":"35501:349:97","statements":[{"assignments":[67719],"declarations":[{"constant":false,"id":67719,"mutability":"mutable","name":"temp","nameLocation":"35540:4:97","nodeType":"VariableDeclaration","scope":67761,"src":"35523:21:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67717,"name":"uint256","nodeType":"ElementaryTypeName","src":"35523:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67718,"nodeType":"ArrayTypeName","src":"35523:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67728,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67723,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35561:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35574:6:97","memberName":"length","nodeType":"MemberAccess","src":"35561:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35583:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35561:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35547:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67720,"name":"uint256","nodeType":"ElementaryTypeName","src":"35551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67721,"nodeType":"ArrayTypeName","src":"35551:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35547:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35523:62:97"},{"body":{"id":67748,"nodeType":"Block","src":"35657:74:97","statements":[{"expression":{"id":67746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67740,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"35683:4:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67742,"indexExpression":{"id":67741,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35688:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35683:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":67743,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35693:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67745,"indexExpression":{"id":67744,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35706:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35693:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35683:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67747,"nodeType":"ExpressionStatement","src":"35683:25:97"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67733,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35627:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67734,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35631:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35644:6:97","memberName":"length","nodeType":"MemberAccess","src":"35631:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35627:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67749,"initializationExpression":{"assignments":[67730],"declarations":[{"constant":false,"id":67730,"mutability":"mutable","name":"j","nameLocation":"35620:1:97","nodeType":"VariableDeclaration","scope":67749,"src":"35612:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67729,"name":"uint256","nodeType":"ElementaryTypeName","src":"35612:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67732,"initialValue":{"hexValue":"30","id":67731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35624:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35612:13:97"},"loopExpression":{"expression":{"id":67738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35652:3:97","subExpression":{"id":67737,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67730,"src":"35652:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67739,"nodeType":"ExpressionStatement","src":"35652:3:97"},"nodeType":"ForStatement","src":"35607:124:97"},{"expression":{"id":67755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67750,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"35752:4:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67753,"indexExpression":{"expression":{"id":67751,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35757:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35770:6:97","memberName":"length","nodeType":"MemberAccess","src":"35757:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35752:25:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67754,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35780:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35752:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67756,"nodeType":"ExpressionStatement","src":"35752:38:97"},{"expression":{"id":67759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35812:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67758,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"35827:4:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35812:19:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67760,"nodeType":"ExpressionStatement","src":"35812:19:97"}]}}]},"id":67764,"nodeType":"IfStatement","src":"34944:920:97","trueBody":{"id":67679,"nodeType":"Block","src":"34974:120:97","statements":[{"expression":{"id":67671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67665,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"34992:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":67669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35021:1:97","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"}],"id":67668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35007:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67666,"name":"uint256","nodeType":"ElementaryTypeName","src":"35011:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67667,"nodeType":"ArrayTypeName","src":"35011:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35007:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"34992:31:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67672,"nodeType":"ExpressionStatement","src":"34992:31:97"},{"expression":{"id":67677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67673,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67641,"src":"35041:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67675,"indexExpression":{"hexValue":"30","id":67674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35054:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35041:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67676,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35059:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35041:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67678,"nodeType":"ExpressionStatement","src":"35041:28:97"}]}},{"assignments":[67766],"declarations":[{"constant":false,"id":67766,"mutability":"mutable","name":"delta","nameLocation":"35884:5:97","nodeType":"VariableDeclaration","scope":67912,"src":"35877:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67765,"name":"int256","nodeType":"ElementaryTypeName","src":"35877:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67771,"initialValue":{"expression":{"baseExpression":{"id":67767,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"35892:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67769,"indexExpression":{"id":67768,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"35909:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35892:19:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35912:12:97","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65464,"src":"35892:32:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"35877:47:97"},{"assignments":[67776],"declarations":[{"constant":false,"id":67776,"mutability":"mutable","name":"proposal","nameLocation":"35971:8:97","nodeType":"VariableDeclaration","scope":67912,"src":"35939:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67775,"nodeType":"UserDefinedTypeName","pathNode":{"id":67774,"name":"StrategyStruct.Proposal","nameLocations":["35939:14:97","35954:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"35939:23:97"},"referencedDeclaration":65460,"src":"35939:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67780,"initialValue":{"baseExpression":{"id":67777,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"35982:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67779,"indexExpression":{"id":67778,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"35992:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35982:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35939:64:97"},{"assignments":[67782],"declarations":[{"constant":false,"id":67782,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"36113:20:97","nodeType":"VariableDeclaration","scope":67912,"src":"36105:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67781,"name":"uint256","nodeType":"ElementaryTypeName","src":"36105:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67787,"initialValue":{"baseExpression":{"expression":{"id":67783,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"36136:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36145:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"36136:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67786,"indexExpression":{"id":67785,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36163:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36136:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36105:66:97"},{"assignments":[67789],"declarations":[{"constant":false,"id":67789,"mutability":"mutable","name":"stakedPoints","nameLocation":"36344:12:97","nodeType":"VariableDeclaration","scope":67912,"src":"36336:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67788,"name":"uint256","nodeType":"ElementaryTypeName","src":"36336:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67794,"initialValue":{"arguments":[{"id":67791,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"36371:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67792,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67766,"src":"36393:5:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67790,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"36359:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36359:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36336:63:97"},{"expression":{"id":67801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67795,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"36534:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36543:17:97","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65449,"src":"36534:26:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67799,"indexExpression":{"id":67797,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36561:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36534:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67800,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"36572:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36534:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67802,"nodeType":"ExpressionStatement","src":"36534:50:97"},{"assignments":[67804],"declarations":[{"constant":false,"id":67804,"mutability":"mutable","name":"hasProposal","nameLocation":"36823:11:97","nodeType":"VariableDeclaration","scope":67912,"src":"36818:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67803,"name":"bool","nodeType":"ElementaryTypeName","src":"36818:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67806,"initialValue":{"hexValue":"66616c7365","id":67805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36837:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"36818:24:97"},{"body":{"id":67835,"nodeType":"Block","src":"36923:179:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":67820,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"36945:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67822,"indexExpression":{"id":67821,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36966:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67824,"indexExpression":{"id":67823,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67808,"src":"36975:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67825,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"36981:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67826,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36990:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"36981:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36945:55:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67834,"nodeType":"IfStatement","src":"36941:147:97","trueBody":{"id":67833,"nodeType":"Block","src":"37002:86:97","statements":[{"expression":{"id":67830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67828,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"37024:11:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37038:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"37024:18:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67831,"nodeType":"ExpressionStatement","src":"37024:18:97"},{"id":67832,"nodeType":"Break","src":"37064:5:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67811,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67808,"src":"36876:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67812,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"36880:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67814,"indexExpression":{"id":67813,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"36901:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36880:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36910:6:97","memberName":"length","nodeType":"MemberAccess","src":"36880:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36876:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67836,"initializationExpression":{"assignments":[67808],"declarations":[{"constant":false,"id":67808,"mutability":"mutable","name":"k","nameLocation":"36869:1:97","nodeType":"VariableDeclaration","scope":67836,"src":"36861:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67807,"name":"uint256","nodeType":"ElementaryTypeName","src":"36861:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67810,"initialValue":{"hexValue":"30","id":67809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36873:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36861:13:97"},"loopExpression":{"expression":{"id":67818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36918:3:97","subExpression":{"id":67817,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67808,"src":"36918:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67819,"nodeType":"ExpressionStatement","src":"36918:3:97"},"nodeType":"ForStatement","src":"36856:246:97"},{"condition":{"id":67838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37119:12:97","subExpression":{"id":67837,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"37120:11:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67848,"nodeType":"IfStatement","src":"37115:106:97","trueBody":{"id":67847,"nodeType":"Block","src":"37133:88:97","statements":[{"expression":{"arguments":[{"expression":{"id":67843,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37186:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67844,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37195:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"37186:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":67839,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65814,"src":"37151:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67841,"indexExpression":{"id":67840,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"37172:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37151:29:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37181:4:97","memberName":"push","nodeType":"MemberAccess","src":"37151:34:97","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":67845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37151:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67846,"nodeType":"ExpressionStatement","src":"37151:55:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67849,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37376:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":67850,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37400:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37376:36:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67881,"nodeType":"Block","src":"37581:161:97","statements":[{"expression":{"id":67871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67867,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65777,"src":"37599:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67868,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37614:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67869,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37637:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37614:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37599:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67872,"nodeType":"ExpressionStatement","src":"37599:50:97"},{"expression":{"id":67879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67873,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37667:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37676:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"37667:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67876,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37692:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67877,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37715:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37692:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37667:60:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67880,"nodeType":"ExpressionStatement","src":"37667:60:97"}]},"id":67882,"nodeType":"IfStatement","src":"37372:370:97","trueBody":{"id":67866,"nodeType":"Block","src":"37414:161:97","statements":[{"expression":{"id":67856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67852,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65777,"src":"37432:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67853,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37447:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67854,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37462:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37447:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37432:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67857,"nodeType":"ExpressionStatement","src":"37432:50:97"},{"expression":{"id":67864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67858,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37500:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67860,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37509:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"37500:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67861,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37525:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67862,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37540:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37525:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37500:60:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67865,"nodeType":"ExpressionStatement","src":"37500:60:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67883,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37759:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37768:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"37759:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37781:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37759:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67910,"nodeType":"Block","src":"37856:209:97","statements":[{"expression":{"arguments":[{"id":67896,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37901:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":67897,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67782,"src":"37911:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67895,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68250,"src":"37874:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":67898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37874:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67899,"nodeType":"ExpressionStatement","src":"37874:58:97"},{"eventCall":{"arguments":[{"id":67901,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67630,"src":"37968:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67902,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67655,"src":"37977:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67903,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"37989:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67904,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"38003:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67905,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38012:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"38003:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67906,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"38026:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67907,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38035:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"38026:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67900,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65680,"src":"37955:12:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37955:95:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67909,"nodeType":"EmitStatement","src":"37950:100:97"}]},"id":67911,"nodeType":"IfStatement","src":"37755:310:97","trueBody":{"id":67894,"nodeType":"Block","src":"37784:66:97","statements":[{"expression":{"id":67892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67887,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"37802:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37811:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"37802:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67890,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"37823:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":67891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37829:6:97","memberName":"number","nodeType":"MemberAccess","src":"37823:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37802:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67893,"nodeType":"ExpressionStatement","src":"37802:33:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67647,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"34776:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67648,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"34780:16:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34797:6:97","memberName":"length","nodeType":"MemberAccess","src":"34780:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34776:27:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67913,"initializationExpression":{"assignments":[67644],"declarations":[{"constant":false,"id":67644,"mutability":"mutable","name":"i","nameLocation":"34769:1:97","nodeType":"VariableDeclaration","scope":67913,"src":"34761:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67643,"name":"uint256","nodeType":"ElementaryTypeName","src":"34761:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67646,"initialValue":{"hexValue":"30","id":67645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34773:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34761:13:97"},"loopExpression":{"expression":{"id":67652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34805:3:97","subExpression":{"id":67651,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"34805:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67653,"nodeType":"ExpressionStatement","src":"34805:3:97"},"nodeType":"ForStatement","src":"34756:3319:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34603:11:97","parameters":{"id":67635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67630,"mutability":"mutable","name":"_sender","nameLocation":"34623:7:97","nodeType":"VariableDeclaration","scope":67915,"src":"34615:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67629,"name":"address","nodeType":"ElementaryTypeName","src":"34615:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67634,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34672:16:97","nodeType":"VariableDeclaration","scope":67915,"src":"34632:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67632,"nodeType":"UserDefinedTypeName","pathNode":{"id":67631,"name":"StrategyStruct.ProposalSupport","nameLocations":["34632:14:97","34647:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":65465,"src":"34632:30:97"},"referencedDeclaration":65465,"src":"34632:30:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65465_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67633,"nodeType":"ArrayTypeName","src":"34632:32:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65465_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"34614:75:97"},"returnParameters":{"id":67636,"nodeType":"ParameterList","parameters":[],"src":"34707:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67950,"nodeType":"FunctionDefinition","src":"38087:284:97","nodes":[],"body":{"id":67949,"nodeType":"Block","src":"38181:190:97","nodes":[],"statements":[{"assignments":[67925],"declarations":[{"constant":false,"id":67925,"mutability":"mutable","name":"result","nameLocation":"38198:6:97","nodeType":"VariableDeclaration","scope":67949,"src":"38191:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67924,"name":"int256","nodeType":"ElementaryTypeName","src":"38191:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67932,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67928,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67917,"src":"38214:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38207:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":67926,"name":"int256","nodeType":"ElementaryTypeName","src":"38207:6:97","typeDescriptions":{}}},"id":67929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38207:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67930,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67919,"src":"38226:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"38207:25:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"38191:41:97"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67933,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67925,"src":"38247:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":67934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38256:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38247:10:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67943,"nodeType":"IfStatement","src":"38243:90:97","trueBody":{"id":67942,"nodeType":"Block","src":"38259:74:97","statements":[{"errorCall":{"arguments":[{"id":67937,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67917,"src":"38297:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67938,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67919,"src":"38307:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":67939,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67925,"src":"38315:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67936,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65551,"src":"38280:16:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":67940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38280:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67941,"nodeType":"RevertStatement","src":"38273:49:97"}]}},{"expression":{"arguments":[{"id":67946,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67925,"src":"38357:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38349:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67944,"name":"uint256","nodeType":"ElementaryTypeName","src":"38349:7:97","typeDescriptions":{}}},"id":67947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38349:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67923,"id":67948,"nodeType":"Return","src":"38342:22:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"38096:11:97","parameters":{"id":67920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67917,"mutability":"mutable","name":"_support","nameLocation":"38116:8:97","nodeType":"VariableDeclaration","scope":67950,"src":"38108:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67916,"name":"uint256","nodeType":"ElementaryTypeName","src":"38108:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67919,"mutability":"mutable","name":"_delta","nameLocation":"38133:6:97","nodeType":"VariableDeclaration","scope":67950,"src":"38126:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67918,"name":"int256","nodeType":"ElementaryTypeName","src":"38126:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"38107:33:97"},"returnParameters":{"id":67923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67950,"src":"38172:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67921,"name":"uint256","nodeType":"ElementaryTypeName","src":"38172:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38171:9:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68008,"nodeType":"FunctionDefinition","src":"38788:1191:97","nodes":[],"body":{"id":68007,"nodeType":"Block","src":"38951:1028:97","nodes":[],"statements":[{"assignments":[67963],"declarations":[{"constant":false,"id":67963,"mutability":"mutable","name":"t","nameLocation":"38969:1:97","nodeType":"VariableDeclaration","scope":68007,"src":"38961:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67962,"name":"uint256","nodeType":"ElementaryTypeName","src":"38961:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67965,"initialValue":{"id":67964,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67953,"src":"38973:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38961:23:97"},{"assignments":[67967],"declarations":[{"constant":false,"id":67967,"mutability":"mutable","name":"atTWO_128","nameLocation":"39307:9:97","nodeType":"VariableDeclaration","scope":68007,"src":"39299:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67966,"name":"uint256","nodeType":"ElementaryTypeName","src":"39299:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67978,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67969,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"39325:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39334:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"39325:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":67971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39343:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39325:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67973,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39324:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":67974,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"39350:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39324:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67976,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67963,"src":"39353:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67968,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68201,"src":"39319:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":67977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39319:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39299:56:97"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67979,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67967,"src":"39851:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67980,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"39863:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39851:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67982,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39850:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67983,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"39878:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67984,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"39891:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67986,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"39896:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67987,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67967,"src":"39906:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39896:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67989,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39895:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67991,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39877:40:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67992,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"39921:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":67993,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"39925:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39934:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"39925:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39921:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67996,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39920:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39877:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67998,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39876:65:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39850:91:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68000,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39849:93:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68001,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65751,"src":"39945:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39849:103:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68003,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39848:105:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39969:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39848:124:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67961,"id":68006,"nodeType":"Return","src":"39841:131:97"}]},"documentation":{"id":67951,"nodeType":"StructuredDocumentation","src":"38377:406:97","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"38797:19:97","parameters":{"id":67958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67953,"mutability":"mutable","name":"_timePassed","nameLocation":"38825:11:97","nodeType":"VariableDeclaration","scope":68008,"src":"38817:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67952,"name":"uint256","nodeType":"ElementaryTypeName","src":"38817:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67955,"mutability":"mutable","name":"_lastConv","nameLocation":"38846:9:97","nodeType":"VariableDeclaration","scope":68008,"src":"38838:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67954,"name":"uint256","nodeType":"ElementaryTypeName","src":"38838:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67957,"mutability":"mutable","name":"_oldAmount","nameLocation":"38865:10:97","nodeType":"VariableDeclaration","scope":68008,"src":"38857:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67956,"name":"uint256","nodeType":"ElementaryTypeName","src":"38857:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38816:60:97"},"returnParameters":{"id":67961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68008,"src":"38938:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67959,"name":"uint256","nodeType":"ElementaryTypeName","src":"38938:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38937:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68101,"nodeType":"FunctionDefinition","src":"40560:1549:97","nodes":[],"body":{"id":68100,"nodeType":"Block","src":"40663:1446:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68016,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"40797:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40811:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"40797:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68023,"nodeType":"IfStatement","src":"40793:66:97","trueBody":{"id":68022,"nodeType":"Block","src":"40814:45:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68019,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65529,"src":"40835:11:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40835:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68021,"nodeType":"RevertStatement","src":"40828:20:97"}]}},{"condition":{"arguments":[{"id":68025,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68011,"src":"41315:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68024,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67532,"src":"41299:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41299:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68031,"nodeType":"IfStatement","src":"41295:91:97","trueBody":{"id":68030,"nodeType":"Block","src":"41334:52:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68027,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65537,"src":"41355:18:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41355:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68029,"nodeType":"RevertStatement","src":"41348:27:97"}]}},{"assignments":[68033],"declarations":[{"constant":false,"id":68033,"mutability":"mutable","name":"denom","nameLocation":"41542:5:97","nodeType":"VariableDeclaration","scope":68100,"src":"41534:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68032,"name":"uint256","nodeType":"ElementaryTypeName","src":"41534:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68052,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68034,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"41551:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41560:8:97","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65484,"src":"41551:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41571:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41576:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41571:7:97","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41551:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68040,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41550:29:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68041,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41582:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68043,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68011,"src":"41587:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41606:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41611:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41606:7:97","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41587:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68048,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41586:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68049,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64737,"src":"41617:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41586:41:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:77:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41534:93:97"},{"expression":{"id":68087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68053,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"41637:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68054,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"41669:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41678:6:97","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65486,"src":"41669:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41688:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41669:22:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68058,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41668:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68059,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41695:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41668:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68061,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41667:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68062,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68033,"src":"41702:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68063,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68033,"src":"41710:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41702:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68065,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41701:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41720:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41701:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41700:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41667:56:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68070,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41666:58:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68071,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41727:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41666:62:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68073,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41665:64:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68074,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"41733:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68075,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"41737:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41746:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"41737:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41733:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68078,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41732:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41665:87:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68080,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41664:89:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":68081,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68209,"src":"41772:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":68082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41772:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41664:136:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41650:160:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41814:2:97","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41650:166:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41637:179:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68088,"nodeType":"ExpressionStatement","src":"41637:179:97"},{"expression":{"id":68098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68089,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"42006:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68090,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"42019:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68091,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"42032:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42041:18:97","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65490,"src":"42032:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42019:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":68095,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"42075:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42084:18:97","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65490,"src":"42075:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42019:83:97","trueExpression":{"id":68094,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68014,"src":"42062:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42006:96:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68099,"nodeType":"ExpressionStatement","src":"42006:96:97"}]},"documentation":{"id":68009,"nodeType":"StructuredDocumentation","src":"39985:570:97","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"40569:18:97","parameters":{"id":68012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68011,"mutability":"mutable","name":"_requestedAmount","nameLocation":"40596:16:97","nodeType":"VariableDeclaration","scope":68101,"src":"40588:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68010,"name":"uint256","nodeType":"ElementaryTypeName","src":"40588:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40587:26:97"},"returnParameters":{"id":68015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68014,"mutability":"mutable","name":"_threshold","nameLocation":"40651:10:97","nodeType":"VariableDeclaration","scope":68101,"src":"40643:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68013,"name":"uint256","nodeType":"ElementaryTypeName","src":"40643:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40642:20:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68136,"nodeType":"FunctionDefinition","src":"42370:277:97","nodes":[],"body":{"id":68135,"nodeType":"Block","src":"42456:191:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68112,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68104,"src":"42474:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68113,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"42480:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42474:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":68115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42489:42:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":68111,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42466:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42466:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68117,"nodeType":"ExpressionStatement","src":"42466:66:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68119,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68106,"src":"42550:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68120,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"42555:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42550:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":68122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42564:30:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":68118,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42542:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42542:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68124,"nodeType":"ExpressionStatement","src":"42542:53:97"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68125,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68104,"src":"42614:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68126,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68106,"src":"42619:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42614:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68128,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42613:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68129,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65751,"src":"42625:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42613:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68131,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42612:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42637:3:97","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"42612:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68110,"id":68134,"nodeType":"Return","src":"42605:35:97"}]},"documentation":{"id":68102,"nodeType":"StructuredDocumentation","src":"42115:250:97","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"42379:4:97","parameters":{"id":68107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68104,"mutability":"mutable","name":"_a","nameLocation":"42392:2:97","nodeType":"VariableDeclaration","scope":68136,"src":"42384:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68103,"name":"uint256","nodeType":"ElementaryTypeName","src":"42384:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68106,"mutability":"mutable","name":"_b","nameLocation":"42404:2:97","nodeType":"VariableDeclaration","scope":68136,"src":"42396:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68105,"name":"uint256","nodeType":"ElementaryTypeName","src":"42396:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42383:24:97"},"returnParameters":{"id":68110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68109,"mutability":"mutable","name":"_result","nameLocation":"42447:7:97","nodeType":"VariableDeclaration","scope":68136,"src":"42439:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68108,"name":"uint256","nodeType":"ElementaryTypeName","src":"42439:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42438:17:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68201,"nodeType":"FunctionDefinition","src":"42869:455:97","nodes":[],"body":{"id":68200,"nodeType":"Block","src":"42955:369:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68147,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68139,"src":"42973:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68148,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"42978:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42973:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":68150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42987:30:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":68146,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42965:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42965:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68152,"nodeType":"ExpressionStatement","src":"42965:53:97"},{"assignments":[68154],"declarations":[{"constant":false,"id":68154,"mutability":"mutable","name":"a","nameLocation":"43036:1:97","nodeType":"VariableDeclaration","scope":68200,"src":"43028:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68153,"name":"uint256","nodeType":"ElementaryTypeName","src":"43028:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68156,"initialValue":{"id":68155,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68139,"src":"43040:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43028:14:97"},{"assignments":[68158],"declarations":[{"constant":false,"id":68158,"mutability":"mutable","name":"b","nameLocation":"43060:1:97","nodeType":"VariableDeclaration","scope":68200,"src":"43052:9:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68157,"name":"uint256","nodeType":"ElementaryTypeName","src":"43052:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68160,"initialValue":{"id":68159,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68141,"src":"43064:2:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43052:14:97"},{"expression":{"id":68163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68161,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68144,"src":"43076:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68162,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"43086:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43076:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68164,"nodeType":"ExpressionStatement","src":"43076:17:97"},{"body":{"id":68198,"nodeType":"Block","src":"43117:201:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68168,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43135:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":68169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43139:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43135:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43144:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43135:10:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68196,"nodeType":"Block","src":"43225:83:97","statements":[{"expression":{"id":68190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68185,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68144,"src":"43243:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68187,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68144,"src":"43258:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68188,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43267:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68186,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68136,"src":"43253:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43253:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43243:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68191,"nodeType":"ExpressionStatement","src":"43243:26:97"},{"expression":{"id":68194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68192,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43287:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":68193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43292:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43287:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68195,"nodeType":"ExpressionStatement","src":"43287:6:97"}]},"id":68197,"nodeType":"IfStatement","src":"43131:177:97","trueBody":{"id":68184,"nodeType":"Block","src":"43147:72:97","statements":[{"expression":{"id":68178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68173,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43165:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68175,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43174:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68176,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68154,"src":"43177:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68174,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68136,"src":"43169:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43169:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43165:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68179,"nodeType":"ExpressionStatement","src":"43165:14:97"},{"expression":{"id":68182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68180,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43197:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":68181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43203:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43197:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68183,"nodeType":"ExpressionStatement","src":"43197:7:97"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68165,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"43110:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43114:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43110:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68199,"nodeType":"WhileStatement","src":"43103:215:97"}]},"documentation":{"id":68137,"nodeType":"StructuredDocumentation","src":"42653:211:97","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"42878:4:97","parameters":{"id":68142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68139,"mutability":"mutable","name":"_a","nameLocation":"42891:2:97","nodeType":"VariableDeclaration","scope":68201,"src":"42883:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68138,"name":"uint256","nodeType":"ElementaryTypeName","src":"42883:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68141,"mutability":"mutable","name":"_b","nameLocation":"42903:2:97","nodeType":"VariableDeclaration","scope":68201,"src":"42895:10:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68140,"name":"uint256","nodeType":"ElementaryTypeName","src":"42895:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42882:24:97"},"returnParameters":{"id":68145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68144,"mutability":"mutable","name":"_result","nameLocation":"42946:7:97","nodeType":"VariableDeclaration","scope":68201,"src":"42938:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68143,"name":"uint256","nodeType":"ElementaryTypeName","src":"42938:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42937:17:97"},"scope":69064,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68209,"nodeType":"FunctionDefinition","src":"43330:120:97","nodes":[],"body":{"id":68208,"nodeType":"Block","src":"43406:44:97","nodes":[],"statements":[{"expression":{"id":68206,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65779,"src":"43423:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68205,"id":68207,"nodeType":"Return","src":"43416:27:97"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"43339:26:97","parameters":{"id":68202,"nodeType":"ParameterList","parameters":[],"src":"43365:2:97"},"returnParameters":{"id":68205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68204,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68209,"src":"43397:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68203,"name":"uint256","nodeType":"ElementaryTypeName","src":"43397:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43396:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68250,"nodeType":"FunctionDefinition","src":"43640:424:97","nodes":[],"body":{"id":68249,"nodeType":"Block","src":"43776:288:97","nodes":[],"statements":[{"assignments":[68219,68221],"declarations":[{"constant":false,"id":68219,"mutability":"mutable","name":"conviction","nameLocation":"43795:10:97","nodeType":"VariableDeclaration","scope":68249,"src":"43787:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68218,"name":"uint256","nodeType":"ElementaryTypeName","src":"43787:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68221,"mutability":"mutable","name":"blockNumber","nameLocation":"43815:11:97","nodeType":"VariableDeclaration","scope":68249,"src":"43807:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68220,"name":"uint256","nodeType":"ElementaryTypeName","src":"43807:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68226,"initialValue":{"arguments":[{"id":68223,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68213,"src":"43864:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68224,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68215,"src":"43875:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68222,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"43830:33:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43830:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"43786:100:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68227,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68219,"src":"43900:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43914:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43900:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68230,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68221,"src":"43919:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43934:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43919:16:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43900:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68236,"nodeType":"IfStatement","src":"43896:72:97","trueBody":{"id":68235,"nodeType":"Block","src":"43937:31:97","statements":[{"functionReturnParameters":68217,"id":68234,"nodeType":"Return","src":"43951:7:97"}]}},{"expression":{"id":68241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68237,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68213,"src":"43977:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43987:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"43977:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68240,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68221,"src":"43999:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43977:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68242,"nodeType":"ExpressionStatement","src":"43977:33:97"},{"expression":{"id":68247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68243,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68213,"src":"44020:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44030:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"44020:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68246,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68219,"src":"44047:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44020:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68248,"nodeType":"ExpressionStatement","src":"44020:37:97"}]},"documentation":{"id":68210,"nodeType":"StructuredDocumentation","src":"43456:179:97","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"43649:26:97","parameters":{"id":68216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68213,"mutability":"mutable","name":"_proposal","nameLocation":"43708:9:97","nodeType":"VariableDeclaration","scope":68250,"src":"43676:41:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68212,"nodeType":"UserDefinedTypeName","pathNode":{"id":68211,"name":"StrategyStruct.Proposal","nameLocations":["43676:14:97","43691:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"43676:23:97"},"referencedDeclaration":65460,"src":"43676:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68215,"mutability":"mutable","name":"_oldStaked","nameLocation":"43727:10:97","nodeType":"VariableDeclaration","scope":68250,"src":"43719:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68214,"name":"uint256","nodeType":"ElementaryTypeName","src":"43719:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43675:63:97"},"returnParameters":{"id":68217,"nodeType":"ParameterList","parameters":[],"src":"43776:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68297,"nodeType":"FunctionDefinition","src":"44070:845:97","nodes":[],"body":{"id":68296,"nodeType":"Block","src":"44284:631:97","nodes":[],"statements":[{"expression":{"id":68265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68262,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44294:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68263,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44308:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44314:6:97","memberName":"number","nodeType":"MemberAccess","src":"44308:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44294:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68266,"nodeType":"ExpressionStatement","src":"44294:26:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68268,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44337:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44347:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"44337:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68270,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44360:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44337:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68267,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"44330:6:97","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":68272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44330:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68273,"nodeType":"ExpressionStatement","src":"44330:42:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68274,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44386:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44396:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"44386:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68276,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44409:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44386:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68283,"nodeType":"IfStatement","src":"44382:173:97","trueBody":{"id":68282,"nodeType":"Block","src":"44422:133:97","statements":[{"expression":{"components":[{"hexValue":"30","id":68278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44510:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":68279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44513:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":68280,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44509:6:97","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":68261,"id":68281,"nodeType":"Return","src":"44502:13:97"}]}},{"expression":{"id":68294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68284,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68258,"src":"44608:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68286,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68260,"src":"44764:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68287,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44778:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44788:9:97","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65442,"src":"44778:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44764:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68290,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"44850:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44860:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"44850:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68292,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68255,"src":"44888:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68285,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68008,"src":"44621:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":68293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44621:287:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44608:300:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68295,"nodeType":"ExpressionStatement","src":"44608:300:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"44079:33:97","parameters":{"id":68256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68253,"mutability":"mutable","name":"_proposal","nameLocation":"44145:9:97","nodeType":"VariableDeclaration","scope":68297,"src":"44113:41:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68252,"nodeType":"UserDefinedTypeName","pathNode":{"id":68251,"name":"StrategyStruct.Proposal","nameLocations":["44113:14:97","44128:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"44113:23:97"},"referencedDeclaration":65460,"src":"44113:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68255,"mutability":"mutable","name":"_oldStaked","nameLocation":"44164:10:97","nodeType":"VariableDeclaration","scope":68297,"src":"44156:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68254,"name":"uint256","nodeType":"ElementaryTypeName","src":"44156:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44112:63:97"},"returnParameters":{"id":68261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68258,"mutability":"mutable","name":"conviction","nameLocation":"44247:10:97","nodeType":"VariableDeclaration","scope":68297,"src":"44239:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68257,"name":"uint256","nodeType":"ElementaryTypeName","src":"44239:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68260,"mutability":"mutable","name":"blockNumber","nameLocation":"44267:11:97","nodeType":"VariableDeclaration","scope":68297,"src":"44259:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68259,"name":"uint256","nodeType":"ElementaryTypeName","src":"44259:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44238:41:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68449,"nodeType":"FunctionDefinition","src":"44921:2409:97","nodes":[],"body":{"id":68448,"nodeType":"Block","src":"45084:2246:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68306,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45111:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68307,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45129:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"45111:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45153:1:97","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":68309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45145:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68308,"name":"address","nodeType":"ElementaryTypeName","src":"45145:7:97","typeDescriptions":{}}},"id":68311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45145:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45111:44:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68315,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45167:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45185:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"45167:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45159:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68313,"name":"address","nodeType":"ElementaryTypeName","src":"45159:7:97","typeDescriptions":{}}},"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45159:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45208:1:97","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":68319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45200:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68318,"name":"address","nodeType":"ElementaryTypeName","src":"45200:7:97","typeDescriptions":{}}},"id":68321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45200:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45159:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:99:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68324,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45252:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45270:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"45252:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68326,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45286:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68328,"indexExpression":{"id":68327,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45304:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45286:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45336:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"45286:62:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45252:96:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"id":68337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68331,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45376:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45394:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"45376:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68333,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45408:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68335,"indexExpression":{"id":68334,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45426:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45408:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45458:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"45408:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"src":"45376:92:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:216:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68339,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45496:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45514:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"45496:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68341,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45571:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68343,"indexExpression":{"id":68342,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45589:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45571:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45621:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"45571:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45496:150:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:394:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68347,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45674:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45692:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"45674:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68349,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45750:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68351,"indexExpression":{"id":68350,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45768:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45750:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45800:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"45750:76:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45674:152:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:574:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68355,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45854:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45872:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"45854:31:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68357,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"45889:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68359,"indexExpression":{"id":68358,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"45907:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45889:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45939:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"45889:63:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45854:98:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:700:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68363,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"45980:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45998:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"45980:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68365,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46050:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68367,"indexExpression":{"id":68366,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46068:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46050:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46100:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"46050:70:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45980:140:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:868:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":68371,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45230:908:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:1027:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68439,"nodeType":"IfStatement","src":"45094:2158:97","trueBody":{"id":68438,"nodeType":"Block","src":"46149:1103:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68373,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46184:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68375,"indexExpression":{"id":68374,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46202:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46184:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46234:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46184:62:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68377,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46250:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46268:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46250:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46184:96:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},"id":68386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68380,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46304:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68382,"indexExpression":{"id":68381,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46322:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46304:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46354:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46304:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68384,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46368:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46386:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46368:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"src":"46304:92:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46184:212:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68412,"nodeType":"IfStatement","src":"46163:522:97","trueBody":{"id":68411,"nodeType":"Block","src":"46411:274:97","statements":[{"expression":{"arguments":[{"expression":{"id":68393,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46471:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46489:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46471:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":68388,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46429:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46447:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46429:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"id":68392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46458:12:97","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":72930,"src":"46429:41:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":68395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46429:73:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68396,"nodeType":"ExpressionStatement","src":"46429:73:97"},{"eventCall":{"arguments":[{"arguments":[{"id":68400,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46576:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":68399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46568:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68398,"name":"address","nodeType":"ElementaryTypeName","src":"46568:7:97","typeDescriptions":{}}},"id":68401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46568:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":68404,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46591:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46609:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46591:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46583:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68402,"name":"address","nodeType":"ElementaryTypeName","src":"46583:7:97","typeDescriptions":{}}},"id":68406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46583:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68407,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46622:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46640:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46622:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68397,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"46525:21:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":68409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46525:145:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68410,"nodeType":"EmitStatement","src":"46520:150:97"}]}},{"expression":{"id":68414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46699:32:97","subExpression":{"id":68413,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46699:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68415,"nodeType":"ExpressionStatement","src":"46699:32:97"},{"expression":{"id":68420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68416,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"46745:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68418,"indexExpression":{"id":68417,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46763:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"46745:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68419,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46797:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"46745:69:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68421,"nodeType":"ExpressionStatement","src":"46745:69:97"},{"eventCall":{"arguments":[{"id":68423,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"46875:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68424,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46923:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46941:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"46923:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"expression":{"id":68426,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"46969:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46987:12:97","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65473,"src":"46969:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68428,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47017:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47035:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"47017:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68430,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47078:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47096:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"47078:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68432,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47140:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47158:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"47140:31:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68434,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68300,"src":"47189:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47207:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"47189:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68422,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"46834:23:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$72931_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":68436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46834:407:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68437,"nodeType":"EmitStatement","src":"46829:412:97"}]}},{"expression":{"id":68442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68440,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"47262:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68441,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"47273:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"47262:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68443,"nodeType":"ExpressionStatement","src":"47262:20:97"},{"eventCall":{"arguments":[{"id":68445,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"47313:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68444,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65685,"src":"47297:15:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$65491_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory)"}},"id":68446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47297:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68447,"nodeType":"EmitStatement","src":"47292:31:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"44930:14:97","parameters":{"id":68304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68300,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"44993:17:97","nodeType":"VariableDeclaration","scope":68449,"src":"44954:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68299,"nodeType":"UserDefinedTypeName","pathNode":{"id":68298,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["44954:14:97","44969:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"44954:31:97"},"referencedDeclaration":65482,"src":"44954:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68303,"mutability":"mutable","name":"_cvParams","nameLocation":"45051:9:97","nodeType":"VariableDeclaration","scope":68449,"src":"45020:40:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68302,"nodeType":"UserDefinedTypeName","pathNode":{"id":68301,"name":"StrategyStruct.CVParams","nameLocations":["45020:14:97","45035:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"45020:23:97"},"referencedDeclaration":65491,"src":"45020:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"44944:122:97"},"returnParameters":{"id":68305,"nodeType":"ParameterList","parameters":[],"src":"45084:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68485,"nodeType":"FunctionDefinition","src":"47336:639:97","nodes":[],"body":{"id":68484,"nodeType":"Block","src":"47423:552:97","nodes":[],"statements":[{"assignments":[68460],"declarations":[{"constant":false,"id":68460,"mutability":"mutable","name":"proposal","nameLocation":"47465:8:97","nodeType":"VariableDeclaration","scope":68484,"src":"47433:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68459,"nodeType":"UserDefinedTypeName","pathNode":{"id":68458,"name":"StrategyStruct.Proposal","nameLocations":["47433:14:97","47448:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"47433:23:97"},"referencedDeclaration":65460,"src":"47433:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68464,"initialValue":{"baseExpression":{"id":68461,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"47476:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68463,"indexExpression":{"id":68462,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68451,"src":"47486:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47476:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"47433:64:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68465,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47512:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47521:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"47512:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68467,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68451,"src":"47535:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47512:33:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68474,"nodeType":"IfStatement","src":"47508:100:97","trueBody":{"id":68473,"nodeType":"Block","src":"47547:61:97","statements":[{"errorCall":{"arguments":[{"id":68470,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68451,"src":"47586:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68469,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"47568:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47568:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68472,"nodeType":"RevertStatement","src":"47561:36:97"}]}},{"expression":{"arguments":[{"id":68476,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47896:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":68477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47906:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47915:12:97","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65432,"src":"47906:21:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68475,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68250,"src":"47869:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65460_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47869:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68480,"nodeType":"ExpressionStatement","src":"47869:59:97"},{"expression":{"expression":{"id":68481,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"47945:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47954:14:97","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"47945:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68455,"id":68483,"nodeType":"Return","src":"47938:30:97"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"47345:24:97","parameters":{"id":68452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68451,"mutability":"mutable","name":"proposalId","nameLocation":"47378:10:97","nodeType":"VariableDeclaration","scope":68485,"src":"47370:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68450,"name":"uint256","nodeType":"ElementaryTypeName","src":"47370:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47369:20:97"},"returnParameters":{"id":68455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68485,"src":"47414:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68453,"name":"uint256","nodeType":"ElementaryTypeName","src":"47414:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47413:9:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":68505,"nodeType":"FunctionDefinition","src":"47981:141:97","nodes":[],"body":{"id":68504,"nodeType":"Block","src":"48061:61:97","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68492,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68487,"src":"48080:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68493,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"48089:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48080:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68495,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48079:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68496,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"48095:1:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68497,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65782,"src":"48099:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48108:5:97","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65488,"src":"48099:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48095:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68500,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48094:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48079:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68502,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48078:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68491,"id":68503,"nodeType":"Return","src":"48071:44:97"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"47990:16:97","parameters":{"id":68488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68487,"mutability":"mutable","name":"amount","nameLocation":"48015:6:97","nodeType":"VariableDeclaration","scope":68505,"src":"48007:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68486,"name":"uint256","nodeType":"ElementaryTypeName","src":"48007:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48006:16:97"},"returnParameters":{"id":68491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68490,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68505,"src":"48052:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68489,"name":"uint256","nodeType":"ElementaryTypeName","src":"48052:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48051:9:97"},"scope":69064,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68524,"nodeType":"FunctionDefinition","src":"48473:189:97","nodes":[],"body":{"id":68523,"nodeType":"Block","src":"48536:126:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68510,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66063,"src":"48546:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48546:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68512,"nodeType":"ExpressionStatement","src":"48546:17:97"},{"expression":{"arguments":[{"id":68514,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68507,"src":"48592:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68513,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66045,"src":"48573:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":68515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48573:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68516,"nodeType":"ExpressionStatement","src":"48573:32:97"},{"expression":{"id":68521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68517,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65800,"src":"48615:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68519,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68507,"src":"48642:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68518,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69416,"src":"48629:12:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$69416_$","typeString":"type(contract ISybilScorer)"}},"id":68520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48629:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"src":"48615:40:97","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$69416","typeString":"contract ISybilScorer"}},"id":68522,"nodeType":"ExpressionStatement","src":"48615:40:97"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"48482:14:97","parameters":{"id":68508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68507,"mutability":"mutable","name":"_sybilScorer","nameLocation":"48505:12:97","nodeType":"VariableDeclaration","scope":68524,"src":"48497:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68506,"name":"address","nodeType":"ElementaryTypeName","src":"48497:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48496:22:97"},"returnParameters":{"id":68509,"nodeType":"ParameterList","parameters":[],"src":"48536:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68542,"nodeType":"FunctionDefinition","src":"48668:250:97","nodes":[],"body":{"id":68541,"nodeType":"Block","src":"48830:88:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68533,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66063,"src":"48840:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48840:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68535,"nodeType":"ExpressionStatement","src":"48840:17:97"},{"expression":{"arguments":[{"id":68537,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68527,"src":"48882:17:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":68538,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68530,"src":"48901:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68536,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68449,"src":"48867:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65482_memory_ptr_$_t_struct$_CVParams_$65491_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":68539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48867:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68540,"nodeType":"ExpressionStatement","src":"48867:44:97"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"48677:13:97","parameters":{"id":68531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68527,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"48739:17:97","nodeType":"VariableDeclaration","scope":68542,"src":"48700:56:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68526,"nodeType":"UserDefinedTypeName","pathNode":{"id":68525,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["48700:14:97","48715:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"48700:31:97"},"referencedDeclaration":65482,"src":"48700:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68530,"mutability":"mutable","name":"_cvParams","nameLocation":"48797:9:97","nodeType":"VariableDeclaration","scope":68542,"src":"48766:40:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68529,"nodeType":"UserDefinedTypeName","pathNode":{"id":68528,"name":"StrategyStruct.CVParams","nameLocations":["48766:14:97","48781:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65491,"src":"48766:23:97"},"referencedDeclaration":65491,"src":"48766:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65491_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"48690:122:97"},"returnParameters":{"id":68532,"nodeType":"ParameterList","parameters":[],"src":"48830:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68735,"nodeType":"FunctionDefinition","src":"48924:2405:97","nodes":[],"body":{"id":68734,"nodeType":"Block","src":"49110:2219:97","nodes":[],"statements":[{"assignments":[68557],"declarations":[{"constant":false,"id":68557,"mutability":"mutable","name":"proposal","nameLocation":"49152:8:97","nodeType":"VariableDeclaration","scope":68734,"src":"49120:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68556,"nodeType":"UserDefinedTypeName","pathNode":{"id":68555,"name":"StrategyStruct.Proposal","nameLocations":["49120:14:97","49135:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"49120:23:97"},"referencedDeclaration":65460,"src":"49120:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68561,"initialValue":{"baseExpression":{"id":68558,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"49163:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68560,"indexExpression":{"id":68559,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49173:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49163:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49120:64:97"},{"assignments":[68566],"declarations":[{"constant":false,"id":68566,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"49233:16:97","nodeType":"VariableDeclaration","scope":68734,"src":"49194:55:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68565,"nodeType":"UserDefinedTypeName","pathNode":{"id":68564,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["49194:14:97","49209:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"49194:31:97"},"referencedDeclaration":65482,"src":"49194:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68571,"initialValue":{"baseExpression":{"id":68567,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"49252:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68570,"indexExpression":{"expression":{"id":68568,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"49270:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49279:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"49270:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49252:51:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49194:109:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68574,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"49326:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49343:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"49326:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49318:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68572,"name":"address","nodeType":"ElementaryTypeName","src":"49318:7:97","typeDescriptions":{}}},"id":68576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49318:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":68579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49366:1:97","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":68578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49358:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68577,"name":"address","nodeType":"ElementaryTypeName","src":"49358:7:97","typeDescriptions":{}}},"id":68580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49358:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49318:50:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68586,"nodeType":"IfStatement","src":"49314:112:97","trueBody":{"id":68585,"nodeType":"Block","src":"49370:56:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68582,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65609,"src":"49391:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49391:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68584,"nodeType":"RevertStatement","src":"49384:31:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68587,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"49603:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49612:10:97","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65428,"src":"49603:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68589,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49626:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49603:33:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68596,"nodeType":"IfStatement","src":"49599:100:97","trueBody":{"id":68595,"nodeType":"Block","src":"49638:61:97","statements":[{"errorCall":{"arguments":[{"id":68592,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49677:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68591,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"49659:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49659:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68594,"nodeType":"RevertStatement","src":"49652:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":68602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68597,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"49712:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68598,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49721:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"49712:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68599,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"49739:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49754:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"49739:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49769:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"49739:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49712:63:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68608,"nodeType":"IfStatement","src":"49708:130:97","trueBody":{"id":68607,"nodeType":"Block","src":"49777:61:97","statements":[{"errorCall":{"arguments":[{"id":68604,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"49816:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68603,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65569,"src":"49798:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49798:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68606,"nodeType":"RevertStatement","src":"49791:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68609,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49851:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49855:5:97","memberName":"value","nodeType":"MemberAccess","src":"49851:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68611,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"49863:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49880:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"49863:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49851:55:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68622,"nodeType":"IfStatement","src":"49847:171:97","trueBody":{"id":68621,"nodeType":"Block","src":"49908:110:97","statements":[{"errorCall":{"arguments":[{"expression":{"id":68615,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49952:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49956:5:97","memberName":"value","nodeType":"MemberAccess","src":"49952:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68617,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"49963:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49980:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"49963:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68614,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65601,"src":"49929:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49929:78:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68620,"nodeType":"RevertStatement","src":"49922:85:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68623,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50137:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50146:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"50137:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":68625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50171:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50137:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68627,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50192:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50201:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"50192:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68629,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65763,"src":"50225:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:53:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68631,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50248:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50254:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"50248:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:71:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50137:126:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68647,"nodeType":"IfStatement","src":"50120:325:97","trueBody":{"id":68646,"nodeType":"Block","src":"50274:171:97","statements":[{"errorCall":{"arguments":[{"id":68636,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"50337:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68637,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50349:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50358:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"50349:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68639,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65763,"src":"50382:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:53:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68641,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50405:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50411:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"50405:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:71:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68635,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65623,"src":"50295:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50295:139:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68645,"nodeType":"RevertStatement","src":"50288:146:97"}]}},{"assignments":[68649],"declarations":[{"constant":false,"id":68649,"mutability":"mutable","name":"arbitrationFee","nameLocation":"50463:14:97","nodeType":"VariableDeclaration","scope":68734,"src":"50455:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68648,"name":"uint256","nodeType":"ElementaryTypeName","src":"50455:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68655,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68650,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50480:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50484:5:97","memberName":"value","nodeType":"MemberAccess","src":"50480:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68652,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"50492:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50509:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"50492:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50480:55:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50455:80:97"},{"expression":{"arguments":[{"id":68662,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"50632:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68663,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50644:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50648:6:97","memberName":"sender","nodeType":"MemberAccess","src":"50644:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68656,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"50546:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50562:17:97","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":72943,"src":"50546:33:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":68661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":68659,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"50587:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68660,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50604:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"50587:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50546:85:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":68665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50546:109:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68666,"nodeType":"ExpressionStatement","src":"50546:109:97"},{"expression":{"id":68676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68667,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"50666:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68673,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65760,"src":"50743:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68674,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68548,"src":"50759:10:97","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68668,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"50678:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50695:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"50678:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},"id":68670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50706:13:97","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":72878,"src":"50678:41:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":68671,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68649,"src":"50727:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50678:64:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50678:92:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50666:104:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68677,"nodeType":"ExpressionStatement","src":"50666:104:97"},{"expression":{"id":68684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68678,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50781:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50790:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"50781:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68681,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"50807:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50822:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"50807:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50837:8:97","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65417,"src":"50807:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"50781:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68685,"nodeType":"ExpressionStatement","src":"50781:64:97"},{"expression":{"id":68692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68686,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50855:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50864:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"50855:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50876:9:97","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":65421,"src":"50855:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68691,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"50888:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50855:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68693,"nodeType":"ExpressionStatement","src":"50855:42:97"},{"expression":{"id":68701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68694,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50907:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50916:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"50907:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50928:16:97","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65423,"src":"50907:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68699,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50947:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50953:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"50947:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50907:55:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68702,"nodeType":"ExpressionStatement","src":"50907:55:97"},{"expression":{"id":68710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68703,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"50972:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50981:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"50972:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50993:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"50972:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68708,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51006:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51010:6:97","memberName":"sender","nodeType":"MemberAccess","src":"51006:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"50972:44:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68711,"nodeType":"ExpressionStatement","src":"50972:44:97"},{"expression":{"id":68716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68712,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65818,"src":"51026:21:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68714,"indexExpression":{"id":68713,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"51048:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51026:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68715,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"51061:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51026:45:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68717,"nodeType":"ExpressionStatement","src":"51026:45:97"},{"expression":{"id":68719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51082:14:97","subExpression":{"id":68718,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65771,"src":"51082:12:97","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68720,"nodeType":"ExpressionStatement","src":"51082:14:97"},{"eventCall":{"arguments":[{"expression":{"id":68722,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68566,"src":"51142:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51159:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"51142:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"id":68724,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68544,"src":"51183:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68725,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68551,"src":"51207:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68726,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51230:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51234:6:97","memberName":"sender","nodeType":"MemberAccess","src":"51230:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68728,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68546,"src":"51254:7:97","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":68729,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68557,"src":"51275:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51284:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"51275:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68731,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51296:16:97","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65423,"src":"51275:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68721,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65710,"src":"51112:16:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$72931_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":68732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51112:210:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68733,"nodeType":"EmitStatement","src":"51107:215:97"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"48933:15:97","parameters":{"id":68549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68544,"mutability":"mutable","name":"proposalId","nameLocation":"48957:10:97","nodeType":"VariableDeclaration","scope":68735,"src":"48949:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68543,"name":"uint256","nodeType":"ElementaryTypeName","src":"48949:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68546,"mutability":"mutable","name":"context","nameLocation":"48985:7:97","nodeType":"VariableDeclaration","scope":68735,"src":"48969:23:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":68545,"name":"string","nodeType":"ElementaryTypeName","src":"48969:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68548,"mutability":"mutable","name":"_extraData","nameLocation":"49009:10:97","nodeType":"VariableDeclaration","scope":68735,"src":"48994:25:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":68547,"name":"bytes","nodeType":"ElementaryTypeName","src":"48994:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48948:72:97"},"returnParameters":{"id":68552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68551,"mutability":"mutable","name":"disputeId","nameLocation":"49095:9:97","nodeType":"VariableDeclaration","scope":68735,"src":"49087:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68550,"name":"uint256","nodeType":"ElementaryTypeName","src":"49087:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49086:19:97"},"scope":69064,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":68991,"nodeType":"FunctionDefinition","src":"51335:2994:97","nodes":[],"body":{"id":68990,"nodeType":"Block","src":"51412:2917:97","nodes":[],"statements":[{"assignments":[68744],"declarations":[{"constant":false,"id":68744,"mutability":"mutable","name":"proposalId","nameLocation":"51430:10:97","nodeType":"VariableDeclaration","scope":68990,"src":"51422:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68743,"name":"uint256","nodeType":"ElementaryTypeName","src":"51422:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68748,"initialValue":{"baseExpression":{"id":68745,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65818,"src":"51443:21:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68747,"indexExpression":{"id":68746,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68737,"src":"51465:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51443:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51422:54:97"},{"assignments":[68753],"declarations":[{"constant":false,"id":68753,"mutability":"mutable","name":"proposal","nameLocation":"51518:8:97","nodeType":"VariableDeclaration","scope":68990,"src":"51486:40:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68752,"nodeType":"UserDefinedTypeName","pathNode":{"id":68751,"name":"StrategyStruct.Proposal","nameLocations":["51486:14:97","51501:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":65460,"src":"51486:23:97"},"referencedDeclaration":65460,"src":"51486:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68757,"initialValue":{"baseExpression":{"id":68754,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"51529:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68756,"indexExpression":{"id":68755,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51539:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51529:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51486:64:97"},{"assignments":[68762],"declarations":[{"constant":false,"id":68762,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"51599:16:97","nodeType":"VariableDeclaration","scope":68990,"src":"51560:55:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68761,"nodeType":"UserDefinedTypeName","pathNode":{"id":68760,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["51560:14:97","51575:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":65482,"src":"51560:31:97"},"referencedDeclaration":65482,"src":"51560:31:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68767,"initialValue":{"baseExpression":{"id":68763,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"51618:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68766,"indexExpression":{"expression":{"id":68764,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"51636:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51645:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"51636:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51618:51:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51560:109:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68768,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51684:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51698:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51684:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68776,"nodeType":"IfStatement","src":"51680:82:97","trueBody":{"id":68775,"nodeType":"Block","src":"51701:61:97","statements":[{"errorCall":{"arguments":[{"id":68772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51740:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68771,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65573,"src":"51722:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51722:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68774,"nodeType":"RevertStatement","src":"51715:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":68782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68777,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"51775:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51784:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"51775:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68779,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"51802:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51817:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"51802:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51832:8:97","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65417,"src":"51802:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"51775:65:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68788,"nodeType":"IfStatement","src":"51771:134:97","trueBody":{"id":68787,"nodeType":"Block","src":"51842:63:97","statements":[{"errorCall":{"arguments":[{"id":68784,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"51883:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68783,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65607,"src":"51863:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51863:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68786,"nodeType":"RevertStatement","src":"51856:38:97"}]}},{"assignments":[68790],"declarations":[{"constant":false,"id":68790,"mutability":"mutable","name":"isTimeOut","nameLocation":"51920:9:97","nodeType":"VariableDeclaration","scope":68990,"src":"51915:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68789,"name":"bool","nodeType":"ElementaryTypeName","src":"51915:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68800,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68791,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"51932:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51938:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"51932:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68793,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"51950:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51959:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"51950:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51971:16:97","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65423,"src":"51950:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":68796,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"51990:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52007:20:97","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65481,"src":"51990:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51950:77:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51932:95:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"51915:112:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"52042:10:97","subExpression":{"id":68801,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68790,"src":"52043:9:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68803,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"52056:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52060:6:97","memberName":"sender","nodeType":"MemberAccess","src":"52056:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":68807,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52078:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68808,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52095:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"52078:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}],"id":68806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52070:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68805,"name":"address","nodeType":"ElementaryTypeName","src":"52070:7:97","typeDescriptions":{}}},"id":68809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52070:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52056:50:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52042:64:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68816,"nodeType":"IfStatement","src":"52038:118:97","trueBody":{"id":68815,"nodeType":"Block","src":"52108:48:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68812,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65603,"src":"52129:14:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52129:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68814,"nodeType":"RevertStatement","src":"52122:23:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68817,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68790,"src":"52170:9:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68818,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"52183:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52194:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52183:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52170:25:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68881,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"52967:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":68882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52978:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52967:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68910,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"53339:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":68911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53350:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53339:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68970,"nodeType":"IfStatement","src":"53335:834:97","trueBody":{"id":68969,"nodeType":"Block","src":"53353:816:97","statements":[{"expression":{"id":68919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68913,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53367:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53376:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"53367:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68916,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"53393:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53408:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"53393:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53423:8:97","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"53393:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53367:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68920,"nodeType":"ExpressionStatement","src":"53367:64:97"},{"expression":{"arguments":[{"id":68924,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53497:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":68925,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53509:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53518:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"53509:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53530:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"53509:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68928,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"53542:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53559:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"53542:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68921,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53445:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53461:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"53445:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53445:154:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68931,"nodeType":"ExpressionStatement","src":"53445:154:97"},{"expression":{"arguments":[{"id":68935,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53668:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68936,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53696:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53705:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"53696:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68940,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"53740:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":68941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53758:11:97","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70287,"src":"53740:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$73057_$","typeString":"function () view external returns (contract ISafe)"}},"id":68942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53740:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":68939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53732:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68938,"name":"address","nodeType":"ElementaryTypeName","src":"53732:7:97","typeDescriptions":{}}},"id":68943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53732:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68944,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"53790:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68946,"indexExpression":{"id":68945,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"53808:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53790:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68947,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53840:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"53790:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":68948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53868:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53790:79:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68932,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53613:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53629:21:97","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":72963,"src":"53613:37:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":68950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53613:270:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68951,"nodeType":"ExpressionStatement","src":"53613:270:97"},{"expression":{"arguments":[{"id":68955,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53952:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68956,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53980:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53989:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"53980:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":68958,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"54016:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54025:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"54016:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54037:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"54016:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68961,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"54065:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68963,"indexExpression":{"id":68962,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"54083:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54065:49:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54115:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"54065:75:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":68965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54143:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54065:79:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68952,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53897:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53913:21:97","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":72963,"src":"53897:37:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":68967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53897:261:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68968,"nodeType":"ExpressionStatement","src":"53897:261:97"}]}},"id":68971,"nodeType":"IfStatement","src":"52963:1206:97","trueBody":{"id":68909,"nodeType":"Block","src":"52981:348:97","statements":[{"expression":{"id":68890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68884,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52995:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53004:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"52995:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68887,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"53021:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53036:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"53021:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53051:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"53021:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52995:62:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68891,"nodeType":"ExpressionStatement","src":"52995:62:97"},{"expression":{"arguments":[{"id":68895,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"53126:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":68896,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"53154:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53163:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"53154:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53175:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"53154:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68901,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"53211:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":68902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53229:11:97","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70287,"src":"53211:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$73057_$","typeString":"function () view external returns (contract ISafe)"}},"id":68903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53211:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":68900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53203:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68899,"name":"address","nodeType":"ElementaryTypeName","src":"53203:7:97","typeDescriptions":{}}},"id":68904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53203:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68905,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"53261:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53278:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"53261:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68892,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"53071:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53087:21:97","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":72963,"src":"53071:37:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":68907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53071:247:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68908,"nodeType":"ExpressionStatement","src":"53071:247:97"}]}},"id":68972,"nodeType":"IfStatement","src":"52166:2003:97","trueBody":{"id":68880,"nodeType":"Block","src":"52197:760:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68822,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52215:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52232:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"52215:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52249:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52215:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68830,"nodeType":"IfStatement","src":"52211:102:97","trueBody":{"id":68829,"nodeType":"Block","src":"52252:61:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68826,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65617,"src":"52277:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52277:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68828,"nodeType":"RevertStatement","src":"52270:28:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68831,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52330:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52347:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"52330:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":68833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52364:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52330:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68844,"nodeType":"IfStatement","src":"52326:136:97","trueBody":{"id":68843,"nodeType":"Block","src":"52367:95:97","statements":[{"expression":{"id":68841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68835,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52385:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52394:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"52385:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68838,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"52411:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52426:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"52411:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52441:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"52411:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52385:62:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68842,"nodeType":"ExpressionStatement","src":"52385:62:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68845,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52479:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68846,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52496:13:97","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65479,"src":"52479:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":68847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52513:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52479:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68868,"nodeType":"IfStatement","src":"52475:304:97","trueBody":{"id":68867,"nodeType":"Block","src":"52516:263:97","statements":[{"expression":{"id":68855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68849,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52534:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52543:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"52534:23:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68852,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"52560:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":68853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52575:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"52560:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52590:8:97","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"52560:38:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52534:64:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68856,"nodeType":"ExpressionStatement","src":"52534:64:97"},{"expression":{"arguments":[{"id":68860,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"52672:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68861,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52684:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52693:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"52684:18:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68863,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52704:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52721:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"52704:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68857,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"52616:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52632:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"52616:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52616:148:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68866,"nodeType":"ExpressionStatement","src":"52616:148:97"}]}},{"expression":{"arguments":[{"id":68872,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68744,"src":"52844:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":68873,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"52856:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52865:11:97","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65455,"src":"52856:20:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65426_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52877:10:97","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65425,"src":"52856:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68876,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"52889:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68877,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52906:26:97","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65477,"src":"52889:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68869,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"52792:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":68871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52808:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"52792:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52792:154:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68879,"nodeType":"ExpressionStatement","src":"52792:154:97"}]}},{"expression":{"id":68974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"54179:14:97","subExpression":{"id":68973,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65771,"src":"54179:12:97","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68975,"nodeType":"ExpressionStatement","src":"54179:14:97"},{"expression":{"id":68981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68976,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"54203:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54212:21:97","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65457,"src":"54203:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68979,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54236:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54242:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"54236:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"54203:48:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68982,"nodeType":"ExpressionStatement","src":"54203:48:97"},{"eventCall":{"arguments":[{"expression":{"id":68984,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68762,"src":"54273:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54290:10:97","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65471,"src":"54273:27:97","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"}},{"id":68986,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68737,"src":"54302:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68987,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68739,"src":"54314:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$72931","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68983,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72818,"src":"54266:6:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$72931_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":68988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54266:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68989,"nodeType":"EmitStatement","src":"54261:61:97"}]},"baseFunctions":[72826],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"51344:4:97","overrides":{"id":68741,"nodeType":"OverrideSpecifier","overrides":[],"src":"51403:8:97"},"parameters":{"id":68740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68737,"mutability":"mutable","name":"_disputeID","nameLocation":"51357:10:97","nodeType":"VariableDeclaration","scope":68991,"src":"51349:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68736,"name":"uint256","nodeType":"ElementaryTypeName","src":"51349:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68739,"mutability":"mutable","name":"_ruling","nameLocation":"51377:7:97","nodeType":"VariableDeclaration","scope":68991,"src":"51369:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68738,"name":"uint256","nodeType":"ElementaryTypeName","src":"51369:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51348:37:97"},"returnParameters":{"id":68742,"nodeType":"ParameterList","parameters":[],"src":"51412:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69059,"nodeType":"FunctionDefinition","src":"54335:732:97","nodes":[],"body":{"id":69058,"nodeType":"Block","src":"54396:671:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"},"id":69003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68996,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54410:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68998,"indexExpression":{"id":68997,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54420:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54410:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54432:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"54410:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69000,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"54450:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":69001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54465:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"54450:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54480:6:97","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65413,"src":"54450:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54410:76:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69009,"nodeType":"IfStatement","src":"54406:143:97","trueBody":{"id":69008,"nodeType":"Block","src":"54488:61:97","statements":[{"errorCall":{"arguments":[{"id":69005,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54527:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69004,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65569,"src":"54509:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54509:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69007,"nodeType":"RevertStatement","src":"54502:36:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69010,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54563:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69012,"indexExpression":{"id":69011,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54573:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54563:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69013,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54585:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"54563:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69014,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54598:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54602:6:97","memberName":"sender","nodeType":"MemberAccess","src":"54598:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"54563:45:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69027,"nodeType":"IfStatement","src":"54559:141:97","trueBody":{"id":69026,"nodeType":"Block","src":"54610:90:97","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":69018,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54645:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69020,"indexExpression":{"id":69019,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54655:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54645:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54667:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"54645:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69022,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54678:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54682:6:97","memberName":"sender","nodeType":"MemberAccess","src":"54678:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69017,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"54631:13:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":69024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54631:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69025,"nodeType":"RevertStatement","src":"54624:65:97"}]}},{"expression":{"arguments":[{"id":69031,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54758:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":69032,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54782:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69034,"indexExpression":{"id":69033,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54792:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54782:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54804:9:97","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65438,"src":"54782:31:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":69036,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"54827:17:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65482_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69041,"indexExpression":{"expression":{"baseExpression":{"id":69037,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54845:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69039,"indexExpression":{"id":69038,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54855:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54845:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69040,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54867:23:97","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65459,"src":"54845:45:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54827:64:97","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65482_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54892:25:97","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65475,"src":"54827:90:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69028,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"54710:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$72964","typeString":"contract ICollateralVault"}},"id":69030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54726:18:97","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":72952,"src":"54710:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54710:217:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69044,"nodeType":"ExpressionStatement","src":"54710:217:97"},{"expression":{"id":69052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69045,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"54938:9:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65460_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69047,"indexExpression":{"id":69046,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"54948:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54938:21:97","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65460_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54960:14:97","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65445,"src":"54938:36:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69049,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"54977:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":69050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54992:14:97","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65419,"src":"54977:29:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65419_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55007:9:97","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65415,"src":"54977:39:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54938:78:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65419","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69053,"nodeType":"ExpressionStatement","src":"54938:78:97"},{"eventCall":{"arguments":[{"id":69055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68993,"src":"55049:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69054,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65722,"src":"55031:17:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55031:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69057,"nodeType":"EmitStatement","src":"55026:34:97"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"54344:14:97","parameters":{"id":68994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68993,"mutability":"mutable","name":"proposalId","nameLocation":"54367:10:97","nodeType":"VariableDeclaration","scope":69059,"src":"54359:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68992,"name":"uint256","nodeType":"ElementaryTypeName","src":"54359:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54358:20:97"},"returnParameters":{"id":68995,"nodeType":"ParameterList","parameters":[],"src":"54396:0:97"},"scope":69064,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69063,"nodeType":"VariableDeclaration","src":"55073:25:97","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"55093:5:97","scope":69064,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":69060,"name":"uint256","nodeType":"ElementaryTypeName","src":"55073:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69062,"length":{"hexValue":"3530","id":69061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55081:2:97","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"55073:11:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":65514,"name":"BaseStrategyUpgradeable","nameLocations":["4010:23:97"],"nodeType":"IdentifierPath","referencedDeclaration":65327,"src":"4010:23:97"},"id":65515,"nodeType":"InheritanceSpecifier","src":"4010:23:97"},{"baseName":{"id":65516,"name":"IArbitrable","nameLocations":["4035:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":72827,"src":"4035:11:97"},"id":65517,"nodeType":"InheritanceSpecifier","src":"4035:11:97"},{"baseName":{"id":65518,"name":"IPointStrategy","nameLocations":["4048:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65390,"src":"4048:14:97"},"id":65519,"nodeType":"InheritanceSpecifier","src":"4048:14:97"},{"baseName":{"id":65520,"name":"ERC165","nameLocations":["4064:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":57022,"src":"4064:6:97"},"id":65521,"nodeType":"InheritanceSpecifier","src":"4064:6:97"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":65513,"nodeType":"StructuredDocumentation","src":"3939:44:97","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69064,57022,57228,65390,72827,65327,3089,3317,3106,2969,70005,54969,54622,54271,54281,52200,52993,52449],"name":"CVStrategyV0_0","nameLocation":"3992:14:97","scope":69065,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65523,65525,65527,65529,65531,65533,65535,65537,65539,65541,65543,65551,65553,65555,65561,65563,65565,65569,65573,65579,65581,65583,65591,65593,65595,65601,65603,65607,65609,65615,65617,65623,69928]}],"license":"AGPL-3.0-only"},"id":97} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220fd684c247de69db3a9824510fb75f7169cbc6c8bc1b565e52407e5ca8cf2701e64736f6c63430008130033","sourceMap":"1524:2413:95:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220fd684c247de69db3a9824510fb75f7169cbc6c8bc1b565e52407e5ca8cf2701e64736f6c63430008130033","sourceMap":"1524:2413:95:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"StrategyStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"StrategyStruct"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":70169,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[66431],"CVStrategyV0_0":[70168],"Clone":[3002],"ERC165":[57030],"ERC20":[55747],"IAllo":[2610],"IArbitrable":[74661],"IArbitrator":[74765],"ICollateralVault":[74798],"IERC165":[57236],"IPointStrategy":[66494],"ISybilScorer":[70536],"Math":[58102],"Metadata":[3098],"OwnableUpgradeable":[52200],"PassportData":[70454],"RegistryCommunityV0_0":[73113],"StrategyStruct":[66616],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"42:55060:95","nodes":[{"id":66433,"nodeType":"PragmaDirective","src":"42:24:95","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":66435,"nodeType":"ImportDirective","src":"68:71:95","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":66434,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66438,"nodeType":"ImportDirective","src":"140:82:95","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":66436,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":66437,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66440,"nodeType":"ImportDirective","src":"223:85:95","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":73114,"symbolAliases":[{"foreign":{"id":66439,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73113,"src":"231:21:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66443,"nodeType":"ImportDirective","src":"309:87:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":57031,"symbolAliases":[{"foreign":{"id":66441,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57030,"src":"317:6:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":66442,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57236,"src":"325:7:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66445,"nodeType":"ImportDirective","src":"397:68:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":55748,"symbolAliases":[{"foreign":{"id":66444,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"405:5:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66447,"nodeType":"ImportDirective","src":"466:58:95","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":74766,"symbolAliases":[{"foreign":{"id":66446,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74765,"src":"474:11:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66449,"nodeType":"ImportDirective","src":"525:58:95","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":74662,"symbolAliases":[{"foreign":{"id":66448,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"533:11:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66451,"nodeType":"ImportDirective","src":"584:65:95","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":66450,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66453,"nodeType":"ImportDirective","src":"700:65:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":58103,"symbolAliases":[{"foreign":{"id":66452,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"708:4:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66456,"nodeType":"ImportDirective","src":"766:63:95","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":70537,"symbolAliases":[{"foreign":{"id":66454,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"774:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":66455,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70454,"src":"788:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66458,"nodeType":"ImportDirective","src":"831:88:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":66457,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"839:15:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66460,"nodeType":"ImportDirective","src":"920:71:95","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":66432,"symbolAliases":[{"foreign":{"id":66459,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66431,"src":"928:23:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66462,"nodeType":"ImportDirective","src":"992:101:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":66461,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"1000:18:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66464,"nodeType":"ImportDirective","src":"1094:68:95","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":70169,"sourceUnit":74799,"symbolAliases":[{"foreign":{"id":66463,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74798,"src":"1102:16:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66494,"nodeType":"ContractDefinition","src":"1164:358:95","nodes":[{"id":66469,"nodeType":"FunctionDefinition","src":"1195:52:95","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1204:16:95","parameters":{"id":66467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66466,"mutability":"mutable","name":"_member","nameLocation":"1229:7:95","nodeType":"VariableDeclaration","scope":66469,"src":"1221:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66465,"name":"address","nodeType":"ElementaryTypeName","src":"1221:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1220:17:95"},"returnParameters":{"id":66468,"nodeType":"ParameterList","parameters":[],"src":"1246:0:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66478,"nodeType":"FunctionDefinition","src":"1253:91:95","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1262:13:95","parameters":{"id":66474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66471,"mutability":"mutable","name":"_member","nameLocation":"1284:7:95","nodeType":"VariableDeclaration","scope":66478,"src":"1276:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66470,"name":"address","nodeType":"ElementaryTypeName","src":"1276:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66473,"mutability":"mutable","name":"_amountToStake","nameLocation":"1301:14:95","nodeType":"VariableDeclaration","scope":66478,"src":"1293:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66472,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1275:41:95"},"returnParameters":{"id":66477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66478,"src":"1335:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66475,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1334:9:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66487,"nodeType":"FunctionDefinition","src":"1350:92:95","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1359:13:95","parameters":{"id":66483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66480,"mutability":"mutable","name":"_member","nameLocation":"1381:7:95","nodeType":"VariableDeclaration","scope":66487,"src":"1373:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66479,"name":"address","nodeType":"ElementaryTypeName","src":"1373:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66482,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1398:15:95","nodeType":"VariableDeclaration","scope":66487,"src":"1390:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66481,"name":"uint256","nodeType":"ElementaryTypeName","src":"1390:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1372:42:95"},"returnParameters":{"id":66486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66487,"src":"1433:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66484,"name":"uint256","nodeType":"ElementaryTypeName","src":"1433:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1432:9:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66493,"nodeType":"FunctionDefinition","src":"1448:72:95","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1457:14:95","parameters":{"id":66488,"nodeType":"ParameterList","parameters":[],"src":"1471:2:95"},"returnParameters":{"id":66492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66493,"src":"1492:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66490,"nodeType":"UserDefinedTypeName","pathNode":{"id":66489,"name":"StrategyStruct.PointSystem","nameLocations":["1492:14:95","1507:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"1492:26:95"},"referencedDeclaration":66503,"src":"1492:26:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1491:28:95"},"scope":66494,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[66494],"name":"IPointStrategy","nameLocation":"1174:14:95","scope":70169,"usedErrors":[]},{"id":66616,"nodeType":"ContractDefinition","src":"1524:2413:95","nodes":[{"id":66498,"nodeType":"EnumDefinition","src":"1553:79:95","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":66495,"name":"Signaling","nameLocation":"1581:9:95","nodeType":"EnumValue","src":"1581:9:95"},{"id":66496,"name":"Funding","nameLocation":"1600:7:95","nodeType":"EnumValue","src":"1600:7:95"},{"id":66497,"name":"Streaming","nameLocation":"1617:9:95","nodeType":"EnumValue","src":"1617:9:95"}],"name":"ProposalType","nameLocation":"1558:12:95"},{"id":66503,"nodeType":"EnumDefinition","src":"1638:92:95","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":66499,"name":"Fixed","nameLocation":"1665:5:95","nodeType":"EnumValue","src":"1665:5:95"},{"id":66500,"name":"Capped","nameLocation":"1680:6:95","nodeType":"EnumValue","src":"1680:6:95"},{"id":66501,"name":"Unlimited","nameLocation":"1696:9:95","nodeType":"EnumValue","src":"1696:9:95"},{"id":66502,"name":"Quadratic","nameLocation":"1715:9:95","nodeType":"EnumValue","src":"1715:9:95"}],"name":"PointSystem","nameLocation":"1643:11:95"},{"id":66515,"nodeType":"StructDefinition","src":"1736:243:95","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":66505,"mutability":"mutable","name":"poolId","nameLocation":"1807:6:95","nodeType":"VariableDeclaration","scope":66515,"src":"1799:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66504,"name":"uint256","nodeType":"ElementaryTypeName","src":"1799:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66507,"mutability":"mutable","name":"beneficiary","nameLocation":"1831:11:95","nodeType":"VariableDeclaration","scope":66515,"src":"1823:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66506,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66509,"mutability":"mutable","name":"amountRequested","nameLocation":"1898:15:95","nodeType":"VariableDeclaration","scope":66515,"src":"1890:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66508,"name":"uint256","nodeType":"ElementaryTypeName","src":"1890:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66511,"mutability":"mutable","name":"requestedToken","nameLocation":"1931:14:95","nodeType":"VariableDeclaration","scope":66515,"src":"1923:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66510,"name":"address","nodeType":"ElementaryTypeName","src":"1923:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66514,"mutability":"mutable","name":"metadata","nameLocation":"1964:8:95","nodeType":"VariableDeclaration","scope":66515,"src":"1955:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":66513,"nodeType":"UserDefinedTypeName","pathNode":{"id":66512,"name":"Metadata","nameLocations":["1955:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1955:8:95"},"referencedDeclaration":3098,"src":"1955:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1743:14:95","scope":66616,"visibility":"public"},{"id":66523,"nodeType":"EnumDefinition","src":"1985:391:95","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":66516,"name":"Inactive","nameLocation":"2015:8:95","nodeType":"EnumValue","src":"2015:8:95"},{"id":66517,"name":"Active","nameLocation":"2045:6:95","nodeType":"EnumValue","src":"2045:6:95"},{"id":66518,"name":"Paused","nameLocation":"2108:6:95","nodeType":"EnumValue","src":"2108:6:95"},{"id":66519,"name":"Cancelled","nameLocation":"2173:9:95","nodeType":"EnumValue","src":"2173:9:95"},{"id":66520,"name":"Executed","nameLocation":"2226:8:95","nodeType":"EnumValue","src":"2226:8:95"},{"id":66521,"name":"Disputed","nameLocation":"2277:8:95","nodeType":"EnumValue","src":"2277:8:95"},{"id":66522,"name":"Rejected","nameLocation":"2328:8:95","nodeType":"EnumValue","src":"2328:8:95"}],"name":"ProposalStatus","nameLocation":"1990:14:95"},{"id":66530,"nodeType":"StructDefinition","src":"2382:123:95","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":66525,"mutability":"mutable","name":"disputeId","nameLocation":"2427:9:95","nodeType":"VariableDeclaration","scope":66530,"src":"2419:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66524,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66527,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2454:16:95","nodeType":"VariableDeclaration","scope":66530,"src":"2446:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66526,"name":"uint256","nodeType":"ElementaryTypeName","src":"2446:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66529,"mutability":"mutable","name":"challenger","nameLocation":"2488:10:95","nodeType":"VariableDeclaration","scope":66530,"src":"2480:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66528,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2389:19:95","scope":66616,"visibility":"public"},{"id":66564,"nodeType":"StructDefinition","src":"2511:526:95","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":66532,"mutability":"mutable","name":"proposalId","nameLocation":"2545:10:95","nodeType":"VariableDeclaration","scope":66564,"src":"2537:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66531,"name":"uint256","nodeType":"ElementaryTypeName","src":"2537:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66534,"mutability":"mutable","name":"requestedAmount","nameLocation":"2573:15:95","nodeType":"VariableDeclaration","scope":66564,"src":"2565:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66533,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66536,"mutability":"mutable","name":"stakedAmount","nameLocation":"2606:12:95","nodeType":"VariableDeclaration","scope":66564,"src":"2598:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66535,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66538,"mutability":"mutable","name":"convictionLast","nameLocation":"2636:14:95","nodeType":"VariableDeclaration","scope":66564,"src":"2628:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66537,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66540,"mutability":"mutable","name":"beneficiary","nameLocation":"2668:11:95","nodeType":"VariableDeclaration","scope":66564,"src":"2660:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66539,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66542,"mutability":"mutable","name":"submitter","nameLocation":"2697:9:95","nodeType":"VariableDeclaration","scope":66564,"src":"2689:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66541,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66544,"mutability":"mutable","name":"requestedToken","nameLocation":"2724:14:95","nodeType":"VariableDeclaration","scope":66564,"src":"2716:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66543,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66546,"mutability":"mutable","name":"blockLast","nameLocation":"2756:9:95","nodeType":"VariableDeclaration","scope":66564,"src":"2748:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66545,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66549,"mutability":"mutable","name":"proposalStatus","nameLocation":"2790:14:95","nodeType":"VariableDeclaration","scope":66564,"src":"2775:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":66548,"nodeType":"UserDefinedTypeName","pathNode":{"id":66547,"name":"ProposalStatus","nameLocations":["2775:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66523,"src":"2775:14:95"},"referencedDeclaration":66523,"src":"2775:14:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":66553,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2842:17:95","nodeType":"VariableDeclaration","scope":66564,"src":"2814:45:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":66552,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66550,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2814:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66551,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":66556,"mutability":"mutable","name":"metadata","nameLocation":"2901:8:95","nodeType":"VariableDeclaration","scope":66564,"src":"2892:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":66555,"nodeType":"UserDefinedTypeName","pathNode":{"id":66554,"name":"Metadata","nameLocations":["2892:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2892:8:95"},"referencedDeclaration":3098,"src":"2892:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":66559,"mutability":"mutable","name":"disputeInfo","nameLocation":"2939:11:95","nodeType":"VariableDeclaration","scope":66564,"src":"2919:31:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":66558,"nodeType":"UserDefinedTypeName","pathNode":{"id":66557,"name":"ProposalDisputeInfo","nameLocations":["2919:19:95"],"nodeType":"IdentifierPath","referencedDeclaration":66530,"src":"2919:19:95"},"referencedDeclaration":66530,"src":"2919:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":66561,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2968:21:95","nodeType":"VariableDeclaration","scope":66564,"src":"2960:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66560,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66563,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"3007:23:95","nodeType":"VariableDeclaration","scope":66564,"src":"2999:31:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66562,"name":"uint256","nodeType":"ElementaryTypeName","src":"2999:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2518:8:95","scope":66616,"visibility":"public"},{"id":66569,"nodeType":"StructDefinition","src":"3043:126:95","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":66566,"mutability":"mutable","name":"proposalId","nameLocation":"3084:10:95","nodeType":"VariableDeclaration","scope":66569,"src":"3076:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66565,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66568,"mutability":"mutable","name":"deltaSupport","nameLocation":"3111:12:95","nodeType":"VariableDeclaration","scope":66569,"src":"3104:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":66567,"name":"int256","nodeType":"ElementaryTypeName","src":"3104:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3050:15:95","scope":66616,"visibility":"public"},{"id":66572,"nodeType":"StructDefinition","src":"3175:89:95","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":66571,"mutability":"mutable","name":"maxAmount","nameLocation":"3248:9:95","nodeType":"VariableDeclaration","scope":66572,"src":"3240:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66570,"name":"uint256","nodeType":"ElementaryTypeName","src":"3240:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3182:17:95","scope":66616,"visibility":"public"},{"id":66586,"nodeType":"StructDefinition","src":"3270:249:95","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":66575,"mutability":"mutable","name":"arbitrator","nameLocation":"3316:10:95","nodeType":"VariableDeclaration","scope":66586,"src":"3304:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":66574,"nodeType":"UserDefinedTypeName","pathNode":{"id":66573,"name":"IArbitrator","nameLocations":["3304:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"3304:11:95"},"referencedDeclaration":74765,"src":"3304:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":66577,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3344:12:95","nodeType":"VariableDeclaration","scope":66586,"src":"3336:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66576,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66579,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3374:25:95","nodeType":"VariableDeclaration","scope":66586,"src":"3366:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66578,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66581,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3417:26:95","nodeType":"VariableDeclaration","scope":66586,"src":"3409:34:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66580,"name":"uint256","nodeType":"ElementaryTypeName","src":"3409:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66583,"mutability":"mutable","name":"defaultRuling","nameLocation":"3461:13:95","nodeType":"VariableDeclaration","scope":66586,"src":"3453:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66582,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66585,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3492:20:95","nodeType":"VariableDeclaration","scope":66586,"src":"3484:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66584,"name":"uint256","nodeType":"ElementaryTypeName","src":"3484:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3277:16:95","scope":66616,"visibility":"public"},{"id":66595,"nodeType":"StructDefinition","src":"3525:132:95","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":66588,"mutability":"mutable","name":"maxRatio","nameLocation":"3559:8:95","nodeType":"VariableDeclaration","scope":66595,"src":"3551:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66587,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66590,"mutability":"mutable","name":"weight","nameLocation":"3585:6:95","nodeType":"VariableDeclaration","scope":66595,"src":"3577:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66589,"name":"uint256","nodeType":"ElementaryTypeName","src":"3577:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66592,"mutability":"mutable","name":"decay","nameLocation":"3609:5:95","nodeType":"VariableDeclaration","scope":66595,"src":"3601:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66591,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66594,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3632:18:95","nodeType":"VariableDeclaration","scope":66595,"src":"3624:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66593,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3532:8:95","scope":66616,"visibility":"public"},{"id":66615,"nodeType":"StructDefinition","src":"3663:272:95","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":66598,"mutability":"mutable","name":"cvParams","nameLocation":"3706:8:95","nodeType":"VariableDeclaration","scope":66615,"src":"3697:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":66597,"nodeType":"UserDefinedTypeName","pathNode":{"id":66596,"name":"CVParams","nameLocations":["3697:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"3697:8:95"},"referencedDeclaration":66595,"src":"3697:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":66601,"mutability":"mutable","name":"proposalType","nameLocation":"3737:12:95","nodeType":"VariableDeclaration","scope":66615,"src":"3724:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":66600,"nodeType":"UserDefinedTypeName","pathNode":{"id":66599,"name":"ProposalType","nameLocations":["3724:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":66498,"src":"3724:12:95"},"referencedDeclaration":66498,"src":"3724:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":66604,"mutability":"mutable","name":"pointSystem","nameLocation":"3771:11:95","nodeType":"VariableDeclaration","scope":66615,"src":"3759:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66603,"nodeType":"UserDefinedTypeName","pathNode":{"id":66602,"name":"PointSystem","nameLocations":["3759:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"3759:11:95"},"referencedDeclaration":66503,"src":"3759:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":66607,"mutability":"mutable","name":"pointConfig","nameLocation":"3810:11:95","nodeType":"VariableDeclaration","scope":66615,"src":"3792:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":66606,"nodeType":"UserDefinedTypeName","pathNode":{"id":66605,"name":"PointSystemConfig","nameLocations":["3792:17:95"],"nodeType":"IdentifierPath","referencedDeclaration":66572,"src":"3792:17:95"},"referencedDeclaration":66572,"src":"3792:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":66610,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3848:16:95","nodeType":"VariableDeclaration","scope":66615,"src":"3831:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":66609,"nodeType":"UserDefinedTypeName","pathNode":{"id":66608,"name":"ArbitrableConfig","nameLocations":["3831:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"3831:16:95"},"referencedDeclaration":66586,"src":"3831:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":66612,"mutability":"mutable","name":"registryCommunity","nameLocation":"3882:17:95","nodeType":"VariableDeclaration","scope":66615,"src":"3874:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66611,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66614,"mutability":"mutable","name":"sybilScorer","nameLocation":"3917:11:95","nodeType":"VariableDeclaration","scope":66615,"src":"3909:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66613,"name":"address","nodeType":"ElementaryTypeName","src":"3909:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3670:16:95","scope":66616,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[66616],"name":"StrategyStruct","nameLocation":"1532:14:95","scope":70169,"usedErrors":[]},{"id":70168,"nodeType":"ContractDefinition","src":"3983:51118:95","nodes":[{"id":66627,"nodeType":"ErrorDefinition","src":"4243:25:95","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4249:16:95","parameters":{"id":66626,"nodeType":"ParameterList","parameters":[],"src":"4265:2:95"}},{"id":66629,"nodeType":"ErrorDefinition","src":"4287:26:95","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4293:17:95","parameters":{"id":66628,"nodeType":"ParameterList","parameters":[],"src":"4310:2:95"}},{"id":66631,"nodeType":"ErrorDefinition","src":"4331:23:95","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4337:14:95","parameters":{"id":66630,"nodeType":"ParameterList","parameters":[],"src":"4351:2:95"}},{"id":66633,"nodeType":"ErrorDefinition","src":"4373:20:95","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4379:11:95","parameters":{"id":66632,"nodeType":"ParameterList","parameters":[],"src":"4390:2:95"}},{"id":66635,"nodeType":"ErrorDefinition","src":"4412:23:95","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4418:14:95","parameters":{"id":66634,"nodeType":"ParameterList","parameters":[],"src":"4432:2:95"}},{"id":66637,"nodeType":"ErrorDefinition","src":"4453:26:95","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4459:17:95","parameters":{"id":66636,"nodeType":"ParameterList","parameters":[],"src":"4476:2:95"}},{"id":66639,"nodeType":"ErrorDefinition","src":"4497:24:95","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4503:15:95","parameters":{"id":66638,"nodeType":"ParameterList","parameters":[],"src":"4518:2:95"}},{"id":66641,"nodeType":"ErrorDefinition","src":"4540:27:95","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4546:18:95","parameters":{"id":66640,"nodeType":"ParameterList","parameters":[],"src":"4564:2:95"}},{"id":66643,"nodeType":"ErrorDefinition","src":"4586:27:95","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4592:18:95","parameters":{"id":66642,"nodeType":"ParameterList","parameters":[],"src":"4610:2:95"}},{"id":66645,"nodeType":"ErrorDefinition","src":"4631:28:95","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4637:19:95","parameters":{"id":66644,"nodeType":"ParameterList","parameters":[],"src":"4656:2:95"}},{"id":66647,"nodeType":"ErrorDefinition","src":"4677:29:95","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4683:20:95","parameters":{"id":66646,"nodeType":"ParameterList","parameters":[],"src":"4703:2:95"}},{"id":66655,"nodeType":"ErrorDefinition","src":"4725:72:95","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4731:16:95","parameters":{"id":66654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66649,"mutability":"mutable","name":"_support","nameLocation":"4756:8:95","nodeType":"VariableDeclaration","scope":66655,"src":"4748:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66648,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66651,"mutability":"mutable","name":"_delta","nameLocation":"4773:6:95","nodeType":"VariableDeclaration","scope":66655,"src":"4766:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":66650,"name":"int256","nodeType":"ElementaryTypeName","src":"4766:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":66653,"mutability":"mutable","name":"_result","nameLocation":"4788:7:95","nodeType":"VariableDeclaration","scope":66655,"src":"4781:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":66652,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4747:49:95"}},{"id":66657,"nodeType":"ErrorDefinition","src":"4816:25:95","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4822:16:95","parameters":{"id":66656,"nodeType":"ParameterList","parameters":[],"src":"4838:2:95"}},{"id":66659,"nodeType":"ErrorDefinition","src":"4860:32:95","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4866:23:95","parameters":{"id":66658,"nodeType":"ParameterList","parameters":[],"src":"4889:2:95"}},{"id":66665,"nodeType":"ErrorDefinition","src":"4911:77:95","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4917:24:95","parameters":{"id":66664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66661,"mutability":"mutable","name":"pointsSupport","nameLocation":"4950:13:95","nodeType":"VariableDeclaration","scope":66665,"src":"4942:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66660,"name":"uint256","nodeType":"ElementaryTypeName","src":"4942:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66663,"mutability":"mutable","name":"pointsBalance","nameLocation":"4973:13:95","nodeType":"VariableDeclaration","scope":66665,"src":"4965:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66662,"name":"uint256","nodeType":"ElementaryTypeName","src":"4965:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4941:46:95"}},{"id":66667,"nodeType":"ErrorDefinition","src":"5008:28:95","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5014:19:95","parameters":{"id":66666,"nodeType":"ParameterList","parameters":[],"src":"5033:2:95"}},{"id":66669,"nodeType":"ErrorDefinition","src":"5054:31:95","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5060:22:95","parameters":{"id":66668,"nodeType":"ParameterList","parameters":[],"src":"5082:2:95"}},{"id":66673,"nodeType":"ErrorDefinition","src":"5103:45:95","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5109:17:95","parameters":{"id":66672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66671,"mutability":"mutable","name":"_proposalId","nameLocation":"5135:11:95","nodeType":"VariableDeclaration","scope":66673,"src":"5127:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66670,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:21:95"}},{"id":66677,"nodeType":"ErrorDefinition","src":"5167:45:95","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5173:17:95","parameters":{"id":66676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66675,"mutability":"mutable","name":"_proposalId","nameLocation":"5199:11:95","nodeType":"VariableDeclaration","scope":66677,"src":"5191:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66674,"name":"uint256","nodeType":"ElementaryTypeName","src":"5191:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5190:21:95"}},{"id":66683,"nodeType":"ErrorDefinition","src":"5231:68:95","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5237:25:95","parameters":{"id":66682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66679,"mutability":"mutable","name":"_proposalId","nameLocation":"5271:11:95","nodeType":"VariableDeclaration","scope":66683,"src":"5263:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66678,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66681,"mutability":"mutable","name":"index","nameLocation":"5292:5:95","nodeType":"VariableDeclaration","scope":66683,"src":"5284:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66680,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5262:36:95"}},{"id":66685,"nodeType":"ErrorDefinition","src":"5317:40:95","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5323:31:95","parameters":{"id":66684,"nodeType":"ParameterList","parameters":[],"src":"5354:2:95"}},{"id":66687,"nodeType":"ErrorDefinition","src":"5376:29:95","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5382:20:95","parameters":{"id":66686,"nodeType":"ParameterList","parameters":[],"src":"5402:2:95"}},{"id":66695,"nodeType":"ErrorDefinition","src":"5424:94:95","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5430:19:95","parameters":{"id":66694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66689,"mutability":"mutable","name":"_proposalId","nameLocation":"5458:11:95","nodeType":"VariableDeclaration","scope":66695,"src":"5450:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66688,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66691,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5479:16:95","nodeType":"VariableDeclaration","scope":66695,"src":"5471:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66690,"name":"uint256","nodeType":"ElementaryTypeName","src":"5471:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66693,"mutability":"mutable","name":"_poolAmount","nameLocation":"5505:11:95","nodeType":"VariableDeclaration","scope":66695,"src":"5497:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66692,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5449:68:95"}},{"id":66697,"nodeType":"ErrorDefinition","src":"5536:24:95","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5542:15:95","parameters":{"id":66696,"nodeType":"ParameterList","parameters":[],"src":"5557:2:95"}},{"id":66699,"nodeType":"ErrorDefinition","src":"5565:32:95","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5571:23:95","parameters":{"id":66698,"nodeType":"ParameterList","parameters":[],"src":"5594:2:95"}},{"id":66705,"nodeType":"ErrorDefinition","src":"5602:73:95","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5608:22:95","parameters":{"id":66704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66701,"mutability":"mutable","name":"sentAmount","nameLocation":"5639:10:95","nodeType":"VariableDeclaration","scope":66705,"src":"5631:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66700,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66703,"mutability":"mutable","name":"requiredAmount","nameLocation":"5659:14:95","nodeType":"VariableDeclaration","scope":66705,"src":"5651:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66702,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5630:44:95"}},{"id":66707,"nodeType":"ErrorDefinition","src":"5680:23:95","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5686:14:95","parameters":{"id":66706,"nodeType":"ParameterList","parameters":[],"src":"5700:2:95"}},{"id":66711,"nodeType":"ErrorDefinition","src":"5708:47:95","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5714:19:95","parameters":{"id":66710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66709,"mutability":"mutable","name":"_proposalId","nameLocation":"5742:11:95","nodeType":"VariableDeclaration","scope":66711,"src":"5734:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66708,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:21:95"}},{"id":66713,"nodeType":"ErrorDefinition","src":"5760:31:95","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5766:22:95","parameters":{"id":66712,"nodeType":"ParameterList","parameters":[],"src":"5788:2:95"}},{"id":66719,"nodeType":"ErrorDefinition","src":"5796:55:95","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5802:13:95","parameters":{"id":66718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66715,"mutability":"mutable","name":"submitter","nameLocation":"5824:9:95","nodeType":"VariableDeclaration","scope":66719,"src":"5816:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66714,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66717,"mutability":"mutable","name":"sender","nameLocation":"5843:6:95","nodeType":"VariableDeclaration","scope":66719,"src":"5835:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66716,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5815:35:95"}},{"id":66721,"nodeType":"ErrorDefinition","src":"5937:28:95","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5943:19:95","parameters":{"id":66720,"nodeType":"ParameterList","parameters":[],"src":"5962:2:95"}},{"id":66727,"nodeType":"ErrorDefinition","src":"5970:75:95","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5976:24:95","parameters":{"id":66726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66723,"mutability":"mutable","name":"_proposalId","nameLocation":"6009:11:95","nodeType":"VariableDeclaration","scope":66727,"src":"6001:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66722,"name":"uint256","nodeType":"ElementaryTypeName","src":"6001:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66725,"mutability":"mutable","name":"_remainingSec","nameLocation":"6030:13:95","nodeType":"VariableDeclaration","scope":66727,"src":"6022:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66724,"name":"uint256","nodeType":"ElementaryTypeName","src":"6022:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6000:44:95"}},{"id":66734,"nodeType":"EventDefinition","src":"6217:74:95","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6223:13:95","parameters":{"id":66733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66729,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6245:6:95","nodeType":"VariableDeclaration","scope":66734,"src":"6237:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66728,"name":"uint256","nodeType":"ElementaryTypeName","src":"6237:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66732,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6285:4:95","nodeType":"VariableDeclaration","scope":66734,"src":"6253:36:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":66731,"nodeType":"UserDefinedTypeName","pathNode":{"id":66730,"name":"StrategyStruct.InitializeParams","nameLocations":["6253:14:95","6268:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"6253:31:95"},"referencedDeclaration":66615,"src":"6253:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6236:54:95"}},{"id":66742,"nodeType":"EventDefinition","src":"6296:75:95","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6302:11:95","parameters":{"id":66741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66736,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6322:10:95","nodeType":"VariableDeclaration","scope":66742,"src":"6314:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66735,"name":"uint256","nodeType":"ElementaryTypeName","src":"6314:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66738,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6342:11:95","nodeType":"VariableDeclaration","scope":66742,"src":"6334:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66737,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66740,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6363:6:95","nodeType":"VariableDeclaration","scope":66742,"src":"6355:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66739,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6313:57:95"}},{"id":66748,"nodeType":"EventDefinition","src":"6376:58:95","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6382:15:95","parameters":{"id":66747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66744,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6406:6:95","nodeType":"VariableDeclaration","scope":66748,"src":"6398:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66743,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66746,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6422:10:95","nodeType":"VariableDeclaration","scope":66748,"src":"6414:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66745,"name":"uint256","nodeType":"ElementaryTypeName","src":"6414:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:36:95"}},{"id":66752,"nodeType":"EventDefinition","src":"6439:42:95","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6445:19:95","parameters":{"id":66751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66750,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6473:6:95","nodeType":"VariableDeclaration","scope":66752,"src":"6465:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66749,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:16:95"}},{"id":66756,"nodeType":"EventDefinition","src":"6486:40:95","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6492:17:95","parameters":{"id":66755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66754,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6518:6:95","nodeType":"VariableDeclaration","scope":66756,"src":"6510:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66753,"name":"address","nodeType":"ElementaryTypeName","src":"6510:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6509:16:95"}},{"id":66764,"nodeType":"EventDefinition","src":"6531:85:95","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6537:14:95","parameters":{"id":66763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66758,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6560:6:95","nodeType":"VariableDeclaration","scope":66764,"src":"6552:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66757,"name":"address","nodeType":"ElementaryTypeName","src":"6552:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66760,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6576:12:95","nodeType":"VariableDeclaration","scope":66764,"src":"6568:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66759,"name":"uint256","nodeType":"ElementaryTypeName","src":"6568:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66762,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6598:16:95","nodeType":"VariableDeclaration","scope":66764,"src":"6590:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66761,"name":"uint256","nodeType":"ElementaryTypeName","src":"6590:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:64:95"}},{"id":66772,"nodeType":"EventDefinition","src":"6621:87:95","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6627:14:95","parameters":{"id":66771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66766,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6650:6:95","nodeType":"VariableDeclaration","scope":66772,"src":"6642:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66765,"name":"address","nodeType":"ElementaryTypeName","src":"6642:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66768,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6666:14:95","nodeType":"VariableDeclaration","scope":66772,"src":"6658:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66767,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66770,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6690:16:95","nodeType":"VariableDeclaration","scope":66772,"src":"6682:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66769,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6641:66:95"}},{"id":66784,"nodeType":"EventDefinition","src":"6713:134:95","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6719:12:95","parameters":{"id":66783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66774,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6749:4:95","nodeType":"VariableDeclaration","scope":66784,"src":"6741:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66773,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66776,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6763:10:95","nodeType":"VariableDeclaration","scope":66784,"src":"6755:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66775,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66778,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6783:6:95","nodeType":"VariableDeclaration","scope":66784,"src":"6775:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66777,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66780,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6799:17:95","nodeType":"VariableDeclaration","scope":66784,"src":"6791:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66779,"name":"uint256","nodeType":"ElementaryTypeName","src":"6791:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66782,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6826:14:95","nodeType":"VariableDeclaration","scope":66784,"src":"6818:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66781,"name":"uint256","nodeType":"ElementaryTypeName","src":"6818:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6731:115:95"}},{"id":66789,"nodeType":"EventDefinition","src":"6852:56:95","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6858:15:95","parameters":{"id":66788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66787,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6898:8:95","nodeType":"VariableDeclaration","scope":66789,"src":"6874:32:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":66786,"nodeType":"UserDefinedTypeName","pathNode":{"id":66785,"name":"StrategyStruct.CVParams","nameLocations":["6874:14:95","6889:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"6874:23:95"},"referencedDeclaration":66595,"src":"6874:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"6873:34:95"}},{"id":66793,"nodeType":"EventDefinition","src":"6913:49:95","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6919:15:95","parameters":{"id":66792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66791,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6943:17:95","nodeType":"VariableDeclaration","scope":66793,"src":"6935:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66790,"name":"address","nodeType":"ElementaryTypeName","src":"6935:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6934:27:95"}},{"id":66799,"nodeType":"EventDefinition","src":"6967:76:95","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6973:25:95","parameters":{"id":66798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66795,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7007:6:95","nodeType":"VariableDeclaration","scope":66799,"src":"6999:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66794,"name":"uint256","nodeType":"ElementaryTypeName","src":"6999:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66797,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7023:18:95","nodeType":"VariableDeclaration","scope":66799,"src":"7015:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66796,"name":"uint256","nodeType":"ElementaryTypeName","src":"7015:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6998:44:95"}},{"id":66814,"nodeType":"EventDefinition","src":"7048:195:95","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7054:16:95","parameters":{"id":66813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66802,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7092:10:95","nodeType":"VariableDeclaration","scope":66814,"src":"7080:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":66801,"nodeType":"UserDefinedTypeName","pathNode":{"id":66800,"name":"IArbitrator","nameLocations":["7080:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"7080:11:95"},"referencedDeclaration":74765,"src":"7080:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":66804,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7120:10:95","nodeType":"VariableDeclaration","scope":66814,"src":"7112:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66803,"name":"uint256","nodeType":"ElementaryTypeName","src":"7112:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66806,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7148:9:95","nodeType":"VariableDeclaration","scope":66814,"src":"7140:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66805,"name":"uint256","nodeType":"ElementaryTypeName","src":"7140:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66808,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7175:10:95","nodeType":"VariableDeclaration","scope":66814,"src":"7167:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66807,"name":"address","nodeType":"ElementaryTypeName","src":"7167:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66810,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7202:7:95","nodeType":"VariableDeclaration","scope":66814,"src":"7195:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66809,"name":"string","nodeType":"ElementaryTypeName","src":"7195:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":66812,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7227:9:95","nodeType":"VariableDeclaration","scope":66814,"src":"7219:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66811,"name":"uint256","nodeType":"ElementaryTypeName","src":"7219:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:172:95"}},{"id":66822,"nodeType":"EventDefinition","src":"7248:88:95","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7254:21:95","parameters":{"id":66821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66816,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7284:8:95","nodeType":"VariableDeclaration","scope":66822,"src":"7276:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66815,"name":"address","nodeType":"ElementaryTypeName","src":"7276:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66818,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7302:10:95","nodeType":"VariableDeclaration","scope":66822,"src":"7294:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66817,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66820,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7322:12:95","nodeType":"VariableDeclaration","scope":66822,"src":"7314:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66819,"name":"address","nodeType":"ElementaryTypeName","src":"7314:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7275:60:95"}},{"id":66826,"nodeType":"EventDefinition","src":"7341:44:95","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7347:17:95","parameters":{"id":66825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66824,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7373:10:95","nodeType":"VariableDeclaration","scope":66826,"src":"7365:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66823,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7364:20:95"}},{"id":66843,"nodeType":"EventDefinition","src":"7390:302:95","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7396:23:95","parameters":{"id":66842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66828,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7437:30:95","nodeType":"VariableDeclaration","scope":66843,"src":"7429:38:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66827,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66831,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7489:10:95","nodeType":"VariableDeclaration","scope":66843,"src":"7477:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":66830,"nodeType":"UserDefinedTypeName","pathNode":{"id":66829,"name":"IArbitrator","nameLocations":["7477:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"7477:11:95"},"referencedDeclaration":74765,"src":"7477:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":66833,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7517:12:95","nodeType":"VariableDeclaration","scope":66843,"src":"7509:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66832,"name":"address","nodeType":"ElementaryTypeName","src":"7509:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66835,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7547:25:95","nodeType":"VariableDeclaration","scope":66843,"src":"7539:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66834,"name":"uint256","nodeType":"ElementaryTypeName","src":"7539:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66837,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7590:26:95","nodeType":"VariableDeclaration","scope":66843,"src":"7582:34:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66836,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66839,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7634:13:95","nodeType":"VariableDeclaration","scope":66843,"src":"7626:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66838,"name":"uint256","nodeType":"ElementaryTypeName","src":"7626:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66841,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7665:20:95","nodeType":"VariableDeclaration","scope":66843,"src":"7657:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66840,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7419:272:95"}},{"id":66846,"nodeType":"VariableDeclaration","src":"8066:38:95","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"8089:7:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66844,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":66845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8099:5:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":66849,"nodeType":"VariableDeclaration","src":"8110:36:95","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"8134:1:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66847,"name":"uint256","nodeType":"ElementaryTypeName","src":"8110:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":66848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8138:8:95","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":66852,"nodeType":"VariableDeclaration","src":"8160:71:95","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"8186:7:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66850,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":66851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8196:35:95","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":66855,"nodeType":"VariableDeclaration","src":"8247:70:95","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8273:7:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66853,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":66854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8283:34:95","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":66858,"nodeType":"VariableDeclaration","src":"8333:54:95","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8359:6:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66856,"name":"uint256","nodeType":"ElementaryTypeName","src":"8333:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":66857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:19:95","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":66861,"nodeType":"VariableDeclaration","src":"8402:49:95","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8426:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66859,"name":"uint256","nodeType":"ElementaryTypeName","src":"8402:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":66860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8449:2:95","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":66864,"nodeType":"VariableDeclaration","src":"8537:42:95","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8561:14:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66862,"name":"uint256","nodeType":"ElementaryTypeName","src":"8537:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":66863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8578:1:95","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":66867,"nodeType":"VariableDeclaration","src":"8585:54:95","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8609:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66865,"name":"uint256","nodeType":"ElementaryTypeName","src":"8585:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":66866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8632:7:95","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":66869,"nodeType":"VariableDeclaration","src":"8646:40:95","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8663:23:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66868,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":66871,"nodeType":"VariableDeclaration","src":"8734:47:95","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8751:30:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66870,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":66873,"nodeType":"VariableDeclaration","src":"8825:25:95","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8840:10:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66872,"name":"uint256","nodeType":"ElementaryTypeName","src":"8825:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66875,"nodeType":"VariableDeclaration","src":"8856:26:95","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8870:12:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":66874,"name":"uint64","nodeType":"ElementaryTypeName","src":"8856:6:95","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":66877,"nodeType":"VariableDeclaration","src":"8888:30:95","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8903:15:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66876,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66879,"nodeType":"VariableDeclaration","src":"8924:45:95","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8939:30:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66878,"name":"uint256","nodeType":"ElementaryTypeName","src":"8924:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66881,"nodeType":"VariableDeclaration","src":"8976:26:95","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8991:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66880,"name":"uint256","nodeType":"ElementaryTypeName","src":"8976:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66883,"nodeType":"VariableDeclaration","src":"9008:35:95","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"9023:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66882,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":66886,"nodeType":"VariableDeclaration","src":"9050:39:95","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"9081:8:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":66885,"nodeType":"UserDefinedTypeName","pathNode":{"id":66884,"name":"StrategyStruct.CVParams","nameLocations":["9050:14:95","9065:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"9050:23:95"},"referencedDeclaration":66595,"src":"9050:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":66889,"nodeType":"VariableDeclaration","src":"9136:47:95","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"9171:12:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":66888,"nodeType":"UserDefinedTypeName","pathNode":{"id":66887,"name":"StrategyStruct.ProposalType","nameLocations":["9136:14:95","9151:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":66498,"src":"9136:27:95"},"referencedDeclaration":66498,"src":"9136:27:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":66892,"nodeType":"VariableDeclaration","src":"9242:45:95","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9276:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66891,"nodeType":"UserDefinedTypeName","pathNode":{"id":66890,"name":"StrategyStruct.PointSystem","nameLocations":["9242:14:95","9257:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"9242:26:95"},"referencedDeclaration":66503,"src":"9242:26:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":66895,"nodeType":"VariableDeclaration","src":"9293:51:95","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9333:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":66894,"nodeType":"UserDefinedTypeName","pathNode":{"id":66893,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9293:14:95","9308:17:95"],"nodeType":"IdentifierPath","referencedDeclaration":66572,"src":"9293:32:95"},"referencedDeclaration":66572,"src":"9293:32:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":66898,"nodeType":"VariableDeclaration","src":"9377:46:95","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9406:17:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":66897,"nodeType":"UserDefinedTypeName","pathNode":{"id":66896,"name":"RegistryCommunityV0_0","nameLocations":["9377:21:95"],"nodeType":"IdentifierPath","referencedDeclaration":73113,"src":"9377:21:95"},"referencedDeclaration":73113,"src":"9377:21:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":66901,"nodeType":"VariableDeclaration","src":"9430:39:95","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9454:15:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"},"typeName":{"id":66900,"nodeType":"UserDefinedTypeName","pathNode":{"id":66899,"name":"ICollateralVault","nameLocations":["9430:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":74798,"src":"9430:16:95"},"referencedDeclaration":74798,"src":"9430:16:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":66904,"nodeType":"VariableDeclaration","src":"9475:31:95","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9495:11:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"},"typeName":{"id":66903,"nodeType":"UserDefinedTypeName","pathNode":{"id":66902,"name":"ISybilScorer","nameLocations":["9475:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":70536,"src":"9475:12:95"},"referencedDeclaration":70536,"src":"9475:12:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":66909,"nodeType":"VariableDeclaration","src":"9573:60:95","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9624:9:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":66908,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66905,"name":"uint256","nodeType":"ElementaryTypeName","src":"9581:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9573:43:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66907,"nodeType":"UserDefinedTypeName","pathNode":{"id":66906,"name":"StrategyStruct.Proposal","nameLocations":["9592:14:95","9607:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"9592:23:95"},"referencedDeclaration":66564,"src":"9592:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":66913,"nodeType":"VariableDeclaration","src":"9689:53:95","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9724:18:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":66912,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66910,"name":"address","nodeType":"ElementaryTypeName","src":"9697:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9689:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66911,"name":"uint256","nodeType":"ElementaryTypeName","src":"9708:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":66918,"nodeType":"VariableDeclaration","src":"9780:57:95","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9817:20:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":66917,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66914,"name":"address","nodeType":"ElementaryTypeName","src":"9788:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9780:29:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":66915,"name":"uint256","nodeType":"ElementaryTypeName","src":"9799:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66916,"nodeType":"ArrayTypeName","src":"9799:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":66922,"nodeType":"VariableDeclaration","src":"9875:56:95","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9910:21:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":66921,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66919,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9875:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66920,"name":"uint256","nodeType":"ElementaryTypeName","src":"9894:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":66927,"nodeType":"VariableDeclaration","src":"9937:76:95","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9996:17:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"typeName":{"id":66926,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66923,"name":"uint256","nodeType":"ElementaryTypeName","src":"9945:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9937:51:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66925,"nodeType":"UserDefinedTypeName","pathNode":{"id":66924,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9956:14:95","9971:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"9956:31:95"},"referencedDeclaration":66586,"src":"9956:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}}},"visibility":"public"},{"id":66951,"nodeType":"FunctionDefinition","src":"10266:222:95","nodes":[],"body":{"id":66950,"nodeType":"Block","src":"10373:115:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":66941,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66929,"src":"10394:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":66942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10401:12:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":66943,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66933,"src":"10415:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66938,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10383:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$70168_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":66940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10389:4:95","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":65875,"src":"10383:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":66944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10383:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66945,"nodeType":"ExpressionStatement","src":"10383:38:95"},{"expression":{"id":66948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66946,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66869,"src":"10431:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66947,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66931,"src":"10457:24:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10431:50:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66949,"nodeType":"ExpressionStatement","src":"10431:50:95"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":66936,"kind":"modifierInvocation","modifierName":{"id":66935,"name":"initializer","nameLocations":["10361:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"10361:11:95"},"nodeType":"ModifierInvocation","src":"10361:11:95"}],"name":"init","nameLocation":"10275:4:95","parameters":{"id":66934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66929,"mutability":"mutable","name":"_allo","nameLocation":"10288:5:95","nodeType":"VariableDeclaration","scope":66951,"src":"10280:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66928,"name":"address","nodeType":"ElementaryTypeName","src":"10280:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66931,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10303:24:95","nodeType":"VariableDeclaration","scope":66951,"src":"10295:32:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66930,"name":"address","nodeType":"ElementaryTypeName","src":"10295:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66933,"mutability":"mutable","name":"owner","nameLocation":"10337:5:95","nodeType":"VariableDeclaration","scope":66951,"src":"10329:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66932,"name":"address","nodeType":"ElementaryTypeName","src":"10329:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10279:64:95"},"returnParameters":{"id":66937,"nodeType":"ParameterList","parameters":[],"src":"10373:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67047,"nodeType":"FunctionDefinition","src":"10494:816:95","nodes":[],"body":{"id":67046,"nodeType":"Block","src":"10569:741:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":66961,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66953,"src":"10599:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66960,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66011,"src":"10579:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":66962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10579:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66963,"nodeType":"ExpressionStatement","src":"10579:28:95"},{"expression":{"id":66973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66964,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"10618:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66968,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66869,"src":"10671:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10696:12:95","subExpression":{"id":66969,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66873,"src":"10696:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66966,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10653:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":66967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10659:11:95","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10653:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":66971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10653:56:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66965,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74798,"src":"10636:16:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$74798_$","typeString":"type(contract ICollateralVault)"}},"id":66972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10636:74:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"src":"10618:92:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":66974,"nodeType":"ExpressionStatement","src":"10618:92:95"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66975,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"10720:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":66977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10736:10:95","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":74770,"src":"10720:26:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66979,"nodeType":"ExpressionStatement","src":"10720:28:95"},{"assignments":[66984],"declarations":[{"constant":false,"id":66984,"mutability":"mutable","name":"ip","nameLocation":"10798:2:95","nodeType":"VariableDeclaration","scope":67046,"src":"10759:41:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":66983,"nodeType":"UserDefinedTypeName","pathNode":{"id":66982,"name":"StrategyStruct.InitializeParams","nameLocations":["10759:14:95","10774:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"10759:31:95"},"referencedDeclaration":66615,"src":"10759:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":66992,"initialValue":{"arguments":[{"id":66987,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66955,"src":"10814:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66988,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"10822:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":66989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10837:16:95","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":66615,"src":"10822:31:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$66615_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":66990,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10821:33:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$66615_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$66615_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":66985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10803:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10807:6:95","memberName":"decode","nodeType":"MemberAccess","src":"10803:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10803:52:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10759:96:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66993,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"10870:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10873:17:95","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":66612,"src":"10870:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10902:1:95","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":66996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10894:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66995,"name":"address","nodeType":"ElementaryTypeName","src":"10894:7:95","typeDescriptions":{}}},"id":66998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10894:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10870:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67004,"nodeType":"IfStatement","src":"10866:94:95","trueBody":{"id":67003,"nodeType":"Block","src":"10906:54:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67000,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66647,"src":"10927:20:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10927:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67002,"nodeType":"RevertStatement","src":"10920:29:95"}]}},{"expression":{"id":67010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67005,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"10970:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":67007,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11012:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67008,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11015:17:95","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":66612,"src":"11012:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67006,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73113,"src":"10990:21:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$73113_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":67009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:43:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"src":"10970:63:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67011,"nodeType":"ExpressionStatement","src":"10970:63:95"},{"expression":{"id":67015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67012,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66889,"src":"11044:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67013,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11059:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11062:12:95","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":66601,"src":"11059:15:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"11044:30:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"id":67016,"nodeType":"ExpressionStatement","src":"11044:30:95"},{"expression":{"id":67020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67017,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"11084:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67018,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11098:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11101:11:95","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":66604,"src":"11098:14:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"11084:28:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"id":67021,"nodeType":"ExpressionStatement","src":"11084:28:95"},{"expression":{"id":67025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67022,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"11122:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67023,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11136:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11139:11:95","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":66607,"src":"11136:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"11122:28:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67026,"nodeType":"ExpressionStatement","src":"11122:28:95"},{"expression":{"id":67032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67027,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"11160:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":67029,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11187:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11190:11:95","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":66614,"src":"11187:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67028,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"11174:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70536_$","typeString":"type(contract ISybilScorer)"}},"id":67031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11174:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"src":"11160:42:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"id":67033,"nodeType":"ExpressionStatement","src":"11160:42:95"},{"expression":{"arguments":[{"expression":{"id":67035,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11228:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11231:16:95","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":66610,"src":"11228:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":67037,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11249:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":67038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11252:8:95","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":66598,"src":"11249:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":67034,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69553,"src":"11213:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$66586_memory_ptr_$_t_struct$_CVParams_$66595_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":67039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11213:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67040,"nodeType":"ExpressionStatement","src":"11213:48:95"},{"eventCall":{"arguments":[{"id":67042,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66953,"src":"11291:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67043,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66984,"src":"11300:2:95","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":67041,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66734,"src":"11277:13:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$66615_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11277:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67045,"nodeType":"EmitStatement","src":"11272:31:95"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":66958,"kind":"modifierInvocation","modifierName":{"id":66957,"name":"onlyAllo","nameLocations":["10560:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":65883,"src":"10560:8:95"},"nodeType":"ModifierInvocation","src":"10560:8:95"}],"name":"initialize","nameLocation":"10503:10:95","parameters":{"id":66956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66953,"mutability":"mutable","name":"_poolId","nameLocation":"10522:7:95","nodeType":"VariableDeclaration","scope":67047,"src":"10514:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66952,"name":"uint256","nodeType":"ElementaryTypeName","src":"10514:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66955,"mutability":"mutable","name":"_data","nameLocation":"10544:5:95","nodeType":"VariableDeclaration","scope":67047,"src":"10531:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66954,"name":"bytes","nodeType":"ElementaryTypeName","src":"10531:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10513:37:95"},"returnParameters":{"id":66959,"nodeType":"ParameterList","parameters":[],"src":"10569:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67051,"nodeType":"FunctionDefinition","src":"11481:83:95","nodes":[],"body":{"id":67050,"nodeType":"Block","src":"11509:55:95","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":67048,"nodeType":"ParameterList","parameters":[],"src":"11489:2:95"},"returnParameters":{"id":67049,"nodeType":"ParameterList","parameters":[],"src":"11509:0:95"},"scope":70168,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":67055,"nodeType":"FunctionDefinition","src":"11570:135:95","nodes":[],"body":{"id":67054,"nodeType":"Block","src":"11597:108:95","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":67052,"nodeType":"ParameterList","parameters":[],"src":"11577:2:95"},"returnParameters":{"id":67053,"nodeType":"ParameterList","parameters":[],"src":"11597:0:95"},"scope":70168,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":67076,"nodeType":"FunctionDefinition","src":"11711:202:95","nodes":[],"body":{"id":67075,"nodeType":"Block","src":"11802:111:95","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":67068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67063,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67057,"src":"11819:11:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":67065,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"11839:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}],"id":67064,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11834:4:95","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":67066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11834:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$66494","typeString":"type(contract IPointStrategy)"}},"id":67067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11855:11:95","memberName":"interfaceId","nodeType":"MemberAccess","src":"11834:32:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11819:47:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":67071,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67057,"src":"11894:11:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67069,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11870:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$70168_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":67070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11876:17:95","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57029,"src":"11870:23:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":67072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11870:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11819:87:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67062,"id":67074,"nodeType":"Return","src":"11812:94:95"}]},"baseFunctions":[57029],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11720:17:95","overrides":{"id":67059,"nodeType":"OverrideSpecifier","overrides":[],"src":"11778:8:95"},"parameters":{"id":67058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67057,"mutability":"mutable","name":"interfaceId","nameLocation":"11745:11:95","nodeType":"VariableDeclaration","scope":67076,"src":"11738:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":67056,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11738:6:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11737:20:95"},"returnParameters":{"id":67062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67076,"src":"11796:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67060,"name":"bool","nodeType":"ElementaryTypeName","src":"11796:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11795:6:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67117,"nodeType":"FunctionDefinition","src":"12084:386:95","nodes":[],"body":{"id":67116,"nodeType":"Block","src":"12152:318:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67081,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"12166:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12185:1:95","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":67083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12177:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67082,"name":"address","nodeType":"ElementaryTypeName","src":"12177:7:95","typeDescriptions":{}}},"id":67085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12166:21:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67091,"nodeType":"IfStatement","src":"12162:77:95","trueBody":{"id":67090,"nodeType":"Block","src":"12189:50:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67087,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66627,"src":"12210:16:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12210:18:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67089,"nodeType":"RevertStatement","src":"12203:25:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67094,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12260:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":67093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12252:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67092,"name":"address","nodeType":"ElementaryTypeName","src":"12252:7:95","typeDescriptions":{}}},"id":67095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12252:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12290:1:95","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":67097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12282:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67096,"name":"address","nodeType":"ElementaryTypeName","src":"12282:7:95","typeDescriptions":{}}},"id":67099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12252:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67105,"nodeType":"IfStatement","src":"12248:100:95","trueBody":{"id":67104,"nodeType":"Block","src":"12294:54:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67101,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66647,"src":"12315:20:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12315:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67103,"nodeType":"RevertStatement","src":"12308:29:95"}]}},{"condition":{"id":67110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12361:36:95","subExpression":{"arguments":[{"id":67108,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"12389:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67106,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12362:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12380:8:95","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":72730,"src":"12362:26:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":67109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12362:35:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67115,"nodeType":"IfStatement","src":"12357:93:95","trueBody":{"id":67114,"nodeType":"Block","src":"12399:51:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67111,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66629,"src":"12420:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12420:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67113,"nodeType":"RevertStatement","src":"12413:26:95"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"12093:19:95","parameters":{"id":67079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67078,"mutability":"mutable","name":"_sender","nameLocation":"12121:7:95","nodeType":"VariableDeclaration","scope":67117,"src":"12113:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67077,"name":"address","nodeType":"ElementaryTypeName","src":"12113:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12112:17:95"},"returnParameters":{"id":67080,"nodeType":"ParameterList","parameters":[],"src":"12152:0:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67133,"nodeType":"FunctionDefinition","src":"12476:171:95","nodes":[],"body":{"id":67132,"nodeType":"Block","src":"12531:116:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67120,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12545:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12549:6:95","memberName":"sender","nodeType":"MemberAccess","src":"12545:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":67124,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12567:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":67123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12559:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67122,"name":"address","nodeType":"ElementaryTypeName","src":"12559:7:95","typeDescriptions":{}}},"id":67125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12559:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12545:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67131,"nodeType":"IfStatement","src":"12541:100:95","trueBody":{"id":67130,"nodeType":"Block","src":"12587:54:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67127,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66687,"src":"12608:20:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12608:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67129,"nodeType":"RevertStatement","src":"12601:29:95"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12485:21:95","parameters":{"id":67118,"nodeType":"ParameterList","parameters":[],"src":"12506:2:95"},"returnParameters":{"id":67119,"nodeType":"ParameterList","parameters":[],"src":"12531:0:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67149,"nodeType":"FunctionDefinition","src":"12653:141:95","nodes":[],"body":{"id":67148,"nodeType":"Block","src":"12721:73:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67138,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67135,"src":"12735:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12755:1:95","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":67140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12747:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67139,"name":"address","nodeType":"ElementaryTypeName","src":"12747:7:95","typeDescriptions":{}}},"id":67142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12747:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12735:22:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67147,"nodeType":"IfStatement","src":"12731:56:95","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67144,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66645,"src":"12766:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12766:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67146,"nodeType":"RevertStatement","src":"12759:28:95"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12662:18:95","parameters":{"id":67136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67135,"mutability":"mutable","name":"_address","nameLocation":"12689:8:95","nodeType":"VariableDeclaration","scope":67149,"src":"12681:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67134,"name":"address","nodeType":"ElementaryTypeName","src":"12681:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12680:18:95"},"returnParameters":{"id":67137,"nodeType":"ParameterList","parameters":[],"src":"12721:0:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67167,"nodeType":"FunctionDefinition","src":"12800:174:95","nodes":[],"body":{"id":67166,"nodeType":"Block","src":"12849:125:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67152,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12863:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12867:6:95","memberName":"sender","nodeType":"MemberAccess","src":"12863:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67156,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"12885:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:11:95","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71426,"src":"12885:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74891_$","typeString":"function () view external returns (contract ISafe)"}},"id":67158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12885:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":67155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12877:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67154,"name":"address","nodeType":"ElementaryTypeName","src":"12877:7:95","typeDescriptions":{}}},"id":67159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12877:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12863:54:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67165,"nodeType":"IfStatement","src":"12859:109:95","trueBody":{"id":67164,"nodeType":"Block","src":"12919:49:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67161,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66697,"src":"12940:15:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12940:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67163,"nodeType":"RevertStatement","src":"12933:24:95"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12809:15:95","parameters":{"id":67150,"nodeType":"ParameterList","parameters":[],"src":"12824:2:95"},"returnParameters":{"id":67151,"nodeType":"ParameterList","parameters":[],"src":"12849:0:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67197,"nodeType":"FunctionDefinition","src":"12980:238:95","nodes":[],"body":{"id":67196,"nodeType":"Block","src":"13059:159:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67176,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"13081:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}],"id":67175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13073:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67174,"name":"address","nodeType":"ElementaryTypeName","src":"13073:7:95","typeDescriptions":{}}},"id":67177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13073:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13105:1:95","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":67179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13097:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67178,"name":"address","nodeType":"ElementaryTypeName","src":"13097:7:95","typeDescriptions":{}}},"id":67181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13097:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13073:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67186,"nodeType":"IfStatement","src":"13069:76:95","trueBody":{"id":67185,"nodeType":"Block","src":"13109:36:95","statements":[{"expression":{"hexValue":"74727565","id":67183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13130:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":67173,"id":67184,"nodeType":"Return","src":"13123:11:95"}]}},{"expression":{"arguments":[{"id":67189,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67169,"src":"13190:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67192,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13205:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13197:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67190,"name":"address","nodeType":"ElementaryTypeName","src":"13197:7:95","typeDescriptions":{}}},"id":67193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13197:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67187,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"13161:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"id":67188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13173:16:95","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70493,"src":"13161:28:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13161:50:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67173,"id":67195,"nodeType":"Return","src":"13154:57:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12989:17:95","parameters":{"id":67170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67169,"mutability":"mutable","name":"_user","nameLocation":"13015:5:95","nodeType":"VariableDeclaration","scope":67197,"src":"13007:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67168,"name":"address","nodeType":"ElementaryTypeName","src":"13007:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13006:15:95"},"returnParameters":{"id":67173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67172,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67197,"src":"13053:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67171,"name":"bool","nodeType":"ElementaryTypeName","src":"13053:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13052:6:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67209,"nodeType":"FunctionDefinition","src":"13224:124:95","nodes":[],"body":{"id":67208,"nodeType":"Block","src":"13297:51:95","nodes":[],"statements":[{"expression":{"id":67206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67204,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66869,"src":"13307:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67205,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67199,"src":"13333:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13307:34:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67207,"nodeType":"ExpressionStatement","src":"13307:34:95"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":67202,"kind":"modifierInvocation","modifierName":{"id":67201,"name":"onlyOwner","nameLocations":["13287:9:95"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"13287:9:95"},"nodeType":"ModifierInvocation","src":"13287:9:95"}],"name":"setCollateralVaultTemplate","nameLocation":"13233:26:95","parameters":{"id":67200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67199,"mutability":"mutable","name":"template","nameLocation":"13268:8:95","nodeType":"VariableDeclaration","scope":67209,"src":"13260:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67198,"name":"address","nodeType":"ElementaryTypeName","src":"13260:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13259:18:95"},"returnParameters":{"id":67203,"nodeType":"ParameterList","parameters":[],"src":"13297:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67450,"nodeType":"FunctionDefinition","src":"13674:2691:95","nodes":[],"body":{"id":67449,"nodeType":"Block","src":"13775:2590:95","nodes":[],"statements":[{"condition":{"id":67222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13789:27:95","subExpression":{"arguments":[{"id":67220,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67213,"src":"13808:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67219,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"13790:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13790:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67227,"nodeType":"IfStatement","src":"13785:90:95","trueBody":{"id":67226,"nodeType":"Block","src":"13818:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67223,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"13839:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13839:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67225,"nodeType":"RevertStatement","src":"13832:32:95"}]}},{"expression":{"id":67228,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67211,"src":"13929:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67229,"nodeType":"ExpressionStatement","src":"13929:5:95"},{"assignments":[67234],"declarations":[{"constant":false,"id":67234,"mutability":"mutable","name":"proposal","nameLocation":"13981:8:95","nodeType":"VariableDeclaration","scope":67449,"src":"13944:45:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":67233,"nodeType":"UserDefinedTypeName","pathNode":{"id":67232,"name":"StrategyStruct.CreateProposal","nameLocations":["13944:14:95","13959:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66515,"src":"13944:29:95"},"referencedDeclaration":66515,"src":"13944:29:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":67242,"initialValue":{"arguments":[{"id":67237,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67211,"src":"14003:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":67238,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"14011:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14026:14:95","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":66515,"src":"14011:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$66515_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":67240,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14010:31:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$66515_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$66515_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":67235,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13992:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13996:6:95","memberName":"decode","nodeType":"MemberAccess","src":"13992:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13992:50:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13944:98:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67243,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14157:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14166:6:95","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":66505,"src":"14157:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14176:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14157:20:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67251,"nodeType":"IfStatement","src":"14153:78:95","trueBody":{"id":67250,"nodeType":"Block","src":"14179:52:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67247,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66643,"src":"14200:18:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14200:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67249,"nodeType":"RevertStatement","src":"14193:27:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"id":67256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67252,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66889,"src":"14307:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67253,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"14323:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14338:12:95","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":66498,"src":"14323:27:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$66498_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":67255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14351:7:95","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":66496,"src":"14323:35:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"14307:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67312,"nodeType":"IfStatement","src":"14303:764:95","trueBody":{"id":67311,"nodeType":"Block","src":"14360:707:95","statements":[{"expression":{"arguments":[{"expression":{"id":67258,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14393:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14402:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66507,"src":"14393:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67257,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67149,"src":"14374:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":67260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14374:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67261,"nodeType":"ExpressionStatement","src":"14374:40:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67262,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14480:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14489:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66511,"src":"14480:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14515:1:95","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":67265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14507:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67264,"name":"address","nodeType":"ElementaryTypeName","src":"14507:7:95","typeDescriptions":{}}},"id":67267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14507:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14480:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67273,"nodeType":"IfStatement","src":"14476:102:95","trueBody":{"id":67272,"nodeType":"Block","src":"14519:59:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67269,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66637,"src":"14544:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14544:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67271,"nodeType":"RevertStatement","src":"14537:26:95"}]}},{"assignments":[67276],"declarations":[{"constant":false,"id":67276,"mutability":"mutable","name":"_allo","nameLocation":"14597:5:95","nodeType":"VariableDeclaration","scope":67311,"src":"14591:11:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":67275,"nodeType":"UserDefinedTypeName","pathNode":{"id":67274,"name":"IAllo","nameLocations":["14591:5:95"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14591:5:95"},"referencedDeclaration":2610,"src":"14591:5:95","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":67280,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67277,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14605:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}},"id":67278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14610:7:95","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":65929,"src":"14605:12:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":67279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14605:14:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14591:28:95"},{"assignments":[67285],"declarations":[{"constant":false,"id":67285,"mutability":"mutable","name":"pool","nameLocation":"14651:4:95","nodeType":"VariableDeclaration","scope":67311,"src":"14633:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67284,"nodeType":"UserDefinedTypeName","pathNode":{"id":67283,"name":"IAllo.Pool","nameLocations":["14633:5:95","14639:4:95"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14633:10:95"},"referencedDeclaration":2319,"src":"14633:10:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67291,"initialValue":{"arguments":[{"expression":{"id":67288,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14672:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14681:6:95","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":66505,"src":"14672:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67286,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67276,"src":"14658:5:95","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14664:7:95","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14658:13:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:30:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14633:55:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67292,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14706:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14715:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66511,"src":"14706:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":67294,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67285,"src":"14733:4:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14738:5:95","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14733:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14706:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67301,"nodeType":"IfStatement","src":"14702:235:95","trueBody":{"id":67300,"nodeType":"Block","src":"14745:192:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67297,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66639,"src":"14905:15:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14905:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67299,"nodeType":"RevertStatement","src":"14898:24:95"}]}},{"condition":{"arguments":[{"expression":{"id":67303,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"14970:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14979:15:95","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":66509,"src":"14970:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67302,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68636,"src":"14954:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14954:41:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67310,"nodeType":"IfStatement","src":"14950:107:95","trueBody":{"id":67309,"nodeType":"Block","src":"14997:60:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67306,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66641,"src":"15022:18:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15022:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67308,"nodeType":"RevertStatement","src":"15015:27:95"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":67315,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"15102:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67317,"indexExpression":{"id":67316,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"15120:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15102:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15152:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"15102:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":67314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15094:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67313,"name":"address","nodeType":"ElementaryTypeName","src":"15094:7:95","typeDescriptions":{}}},"id":67319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15094:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15175:1:95","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":67321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15167:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67320,"name":"address","nodeType":"ElementaryTypeName","src":"15167:7:95","typeDescriptions":{}}},"id":67323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15167:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15094:83:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67325,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15197:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15201:5:95","memberName":"value","nodeType":"MemberAccess","src":"15197:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67327,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"15209:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67329,"indexExpression":{"id":67328,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"15227:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15209:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15259:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"15209:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15197:87:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15094:190:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67343,"nodeType":"IfStatement","src":"15077:390:95","trueBody":{"id":67342,"nodeType":"Block","src":"15295:172:95","statements":[{"errorCall":{"arguments":[{"expression":{"id":67334,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15356:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15360:5:95","memberName":"value","nodeType":"MemberAccess","src":"15356:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67336,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"15367:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67338,"indexExpression":{"id":67337,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"15385:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15367:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15417:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"15367:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67333,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66705,"src":"15316:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15316:140:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67341,"nodeType":"RevertStatement","src":"15309:147:95"}]}},{"assignments":[67345],"declarations":[{"constant":false,"id":67345,"mutability":"mutable","name":"proposalId","nameLocation":"15485:10:95","nodeType":"VariableDeclaration","scope":67449,"src":"15477:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67344,"name":"uint256","nodeType":"ElementaryTypeName","src":"15477:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67348,"initialValue":{"id":67347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15498:17:95","subExpression":{"id":67346,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66877,"src":"15500:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15477:38:95"},{"assignments":[67353],"declarations":[{"constant":false,"id":67353,"mutability":"mutable","name":"p","nameLocation":"15557:1:95","nodeType":"VariableDeclaration","scope":67449,"src":"15525:33:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67352,"nodeType":"UserDefinedTypeName","pathNode":{"id":67351,"name":"StrategyStruct.Proposal","nameLocations":["15525:14:95","15540:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"15525:23:95"},"referencedDeclaration":66564,"src":"15525:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67357,"initialValue":{"baseExpression":{"id":67354,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"15561:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67356,"indexExpression":{"id":67355,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"15571:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15561:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15525:57:95"},{"expression":{"id":67362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67358,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15593:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15595:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"15593:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67361,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"15608:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15593:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67363,"nodeType":"ExpressionStatement","src":"15593:25:95"},{"expression":{"id":67368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67364,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15628:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15630:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"15628:11:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67367,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67213,"src":"15642:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15628:21:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67369,"nodeType":"ExpressionStatement","src":"15628:21:95"},{"expression":{"id":67375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67370,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15659:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15661:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"15659:13:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"15675:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15684:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66507,"src":"15675:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15659:36:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67376,"nodeType":"ExpressionStatement","src":"15659:36:95"},{"expression":{"id":67382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67377,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15705:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15707:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66544,"src":"15705:16:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67380,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"15724:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15733:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66511,"src":"15724:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15705:42:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67383,"nodeType":"ExpressionStatement","src":"15705:42:95"},{"expression":{"id":67389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67384,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15757:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15759:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"15757:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67387,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"15777:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67388,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15786:15:95","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":66509,"src":"15777:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15757:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67390,"nodeType":"ExpressionStatement","src":"15757:44:95"},{"expression":{"id":67397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67391,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15862:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15864:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"15862:16:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":67394,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"15881:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15896:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"15881:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15911:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"15881:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"15862:55:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":67398,"nodeType":"ExpressionStatement","src":"15862:55:95"},{"expression":{"id":67404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67399,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15927:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15929:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"15927:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67402,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15941:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":67403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15947:6:95","memberName":"number","nodeType":"MemberAccess","src":"15941:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15927:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67405,"nodeType":"ExpressionStatement","src":"15927:26:95"},{"expression":{"id":67410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67406,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"15963:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15965:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"15963:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15982:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15963:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67411,"nodeType":"ExpressionStatement","src":"15963:20:95"},{"expression":{"id":67417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67412,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"16029:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16031:8:95","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":66556,"src":"16029:10:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67415,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"16042:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$66515_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":67416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16051:8:95","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":66514,"src":"16042:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"16029:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":67418,"nodeType":"ExpressionStatement","src":"16029:30:95"},{"expression":{"id":67423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67419,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"16069:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16071:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"16069:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67422,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"16097:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16069:58:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67424,"nodeType":"ExpressionStatement","src":"16069:58:95"},{"expression":{"arguments":[{"id":67431,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"16189:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67432,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67353,"src":"16201:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16203:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"16201:11:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67425,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"16137:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":67427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16153:17:95","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74777,"src":"16137:33:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":67430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":67428,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16178:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16182:5:95","memberName":"value","nodeType":"MemberAccess","src":"16178:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"16137:51:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":67434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:76:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67435,"nodeType":"ExpressionStatement","src":"16137:76:95"},{"eventCall":{"arguments":[{"id":67437,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65839,"src":"16245:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67438,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"16253:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67436,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66748,"src":"16229:15:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":67439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16229:35:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67440,"nodeType":"EmitStatement","src":"16224:40:95"},{"expression":{"arguments":[{"arguments":[{"id":67445,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"16346:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16338:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":67443,"name":"uint160","nodeType":"ElementaryTypeName","src":"16338:7:95","typeDescriptions":{}}},"id":67446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16338:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":67442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16330:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67441,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:95","typeDescriptions":{}}},"id":67447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16330:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":67218,"id":67448,"nodeType":"Return","src":"16323:35:95"}]},"baseFunctions":[66317],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13683:18:95","overrides":{"id":67215,"nodeType":"OverrideSpecifier","overrides":[],"src":"13748:8:95"},"parameters":{"id":67214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67211,"mutability":"mutable","name":"_data","nameLocation":"13715:5:95","nodeType":"VariableDeclaration","scope":67450,"src":"13702:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67210,"name":"bytes","nodeType":"ElementaryTypeName","src":"13702:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67213,"mutability":"mutable","name":"_sender","nameLocation":"13730:7:95","nodeType":"VariableDeclaration","scope":67450,"src":"13722:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67212,"name":"address","nodeType":"ElementaryTypeName","src":"13722:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13701:37:95"},"returnParameters":{"id":67218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67450,"src":"13766:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67216,"name":"address","nodeType":"ElementaryTypeName","src":"13766:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13765:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67459,"nodeType":"FunctionDefinition","src":"16371:98:95","nodes":[],"body":{"id":67458,"nodeType":"Block","src":"16431:38:95","nodes":[],"statements":[{"expression":{"expression":{"id":67455,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"16448:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16457:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"16448:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67454,"id":67457,"nodeType":"Return","src":"16441:21:95"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16380:8:95","parameters":{"id":67451,"nodeType":"ParameterList","parameters":[],"src":"16388:2:95"},"returnParameters":{"id":67454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67459,"src":"16422:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67452,"name":"uint256","nodeType":"ElementaryTypeName","src":"16422:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16421:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67498,"nodeType":"FunctionDefinition","src":"16475:359:95","nodes":[],"body":{"id":67497,"nodeType":"Block","src":"16518:316:95","nodes":[],"statements":[{"assignments":[67463],"declarations":[{"constant":false,"id":67463,"mutability":"mutable","name":"member","nameLocation":"16536:6:95","nodeType":"VariableDeclaration","scope":67497,"src":"16528:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67462,"name":"address","nodeType":"ElementaryTypeName","src":"16528:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":67466,"initialValue":{"expression":{"id":67464,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16545:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16549:6:95","memberName":"sender","nodeType":"MemberAccess","src":"16545:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16528:27:95"},{"condition":{"id":67470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16569:26:95","subExpression":{"arguments":[{"id":67468,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"16588:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67467,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"16570:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16570:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67475,"nodeType":"IfStatement","src":"16565:89:95","trueBody":{"id":67474,"nodeType":"Block","src":"16597:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67471,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"16618:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16618:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67473,"nodeType":"RevertStatement","src":"16611:32:95"}]}},{"expression":{"arguments":[{"id":67479,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"16706:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67482,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16722:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16714:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67480,"name":"address","nodeType":"ElementaryTypeName","src":"16714:7:95","typeDescriptions":{}}},"id":67483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16714:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67476,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"16663:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16681:24:95","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"16663:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":67484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16663:65:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67485,"nodeType":"ExpressionStatement","src":"16663:65:95"},{"expression":{"id":67495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67486,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"16738:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":67489,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67463,"src":"16805:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67492,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16821:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16813:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67490,"name":"address","nodeType":"ElementaryTypeName","src":"16813:7:95","typeDescriptions":{}}},"id":67493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16813:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67487,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"16762:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16780:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"16762:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16762:65:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16738:89:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67496,"nodeType":"ExpressionStatement","src":"16738:89:95"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16484:14:95","parameters":{"id":67460,"nodeType":"ParameterList","parameters":[],"src":"16498:2:95"},"returnParameters":{"id":67461,"nodeType":"ParameterList","parameters":[],"src":"16518:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67507,"nodeType":"FunctionDefinition","src":"16840:89:95","nodes":[],"body":{"id":67506,"nodeType":"Block","src":"16883:46:95","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":67502,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16911:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16915:6:95","memberName":"sender","nodeType":"MemberAccess","src":"16911:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67501,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67555,"src":"16893:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16893:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67505,"nodeType":"ExpressionStatement","src":"16893:29:95"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16849:16:95","parameters":{"id":67499,"nodeType":"ParameterList","parameters":[],"src":"16865:2:95"},"returnParameters":{"id":67500,"nodeType":"ParameterList","parameters":[],"src":"16883:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":67520,"nodeType":"FunctionDefinition","src":"16935:136:95","nodes":[],"body":{"id":67519,"nodeType":"Block","src":"16995:76:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67512,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67133,"src":"17005:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":67513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17005:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67514,"nodeType":"ExpressionStatement","src":"17005:23:95"},{"expression":{"arguments":[{"id":67516,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67509,"src":"17056:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67515,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67555,"src":"17038:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17038:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67518,"nodeType":"ExpressionStatement","src":"17038:26:95"}]},"baseFunctions":[66469],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16944:16:95","parameters":{"id":67510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67509,"mutability":"mutable","name":"_member","nameLocation":"16969:7:95","nodeType":"VariableDeclaration","scope":67520,"src":"16961:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67508,"name":"address","nodeType":"ElementaryTypeName","src":"16961:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16960:17:95"},"returnParameters":{"id":67511,"nodeType":"ParameterList","parameters":[],"src":"16995:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67555,"nodeType":"FunctionDefinition","src":"17077:359:95","nodes":[],"body":{"id":67554,"nodeType":"Block","src":"17138:298:95","nodes":[],"statements":[{"expression":{"id":67534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67525,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"17148:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":67528,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17215:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67531,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17232:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17224:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67529,"name":"address","nodeType":"ElementaryTypeName","src":"17224:7:95","typeDescriptions":{}}},"id":67532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17224:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67526,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"17172:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17190:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"17172:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17148:90:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67535,"nodeType":"ExpressionStatement","src":"17148:90:95"},{"expression":{"arguments":[{"id":67539,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17293:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67542,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17310:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17302:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67540,"name":"address","nodeType":"ElementaryTypeName","src":"17302:7:95","typeDescriptions":{}}},"id":67543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17302:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67536,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"17248:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17266:26:95","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":72196,"src":"17248:44:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":67544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17248:68:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67545,"nodeType":"ExpressionStatement","src":"17248:68:95"},{"expression":{"arguments":[{"id":67547,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17380:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67546,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68382,"src":"17371:8:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17371:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67549,"nodeType":"ExpressionStatement","src":"17371:17:95"},{"eventCall":{"arguments":[{"id":67551,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"17421:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67550,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66756,"src":"17403:17:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17403:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67553,"nodeType":"EmitStatement","src":"17398:31:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"17086:17:95","parameters":{"id":67523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67522,"mutability":"mutable","name":"_member","nameLocation":"17112:7:95","nodeType":"VariableDeclaration","scope":67555,"src":"17104:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67521,"name":"address","nodeType":"ElementaryTypeName","src":"17104:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17103:17:95"},"returnParameters":{"id":67524,"nodeType":"ParameterList","parameters":[],"src":"17138:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67648,"nodeType":"FunctionDefinition","src":"17442:1065:95","nodes":[],"body":{"id":67647,"nodeType":"Block","src":"17541:966:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67564,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67133,"src":"17596:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":67565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17596:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67566,"nodeType":"ExpressionStatement","src":"17596:23:95"},{"condition":{"id":67570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17633:27:95","subExpression":{"arguments":[{"id":67568,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"17652:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67567,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"17634:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17634:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67575,"nodeType":"IfStatement","src":"17629:90:95","trueBody":{"id":67574,"nodeType":"Block","src":"17662:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67571,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"17683:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67573,"nodeType":"RevertStatement","src":"17676:32:95"}]}},{"assignments":[67577],"declarations":[{"constant":false,"id":67577,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17736:16:95","nodeType":"VariableDeclaration","scope":67647,"src":"17728:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67576,"name":"uint256","nodeType":"ElementaryTypeName","src":"17728:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67579,"initialValue":{"hexValue":"30","id":67578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17755:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17728:28:95"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67580,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"17770:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67581,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"17785:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17800:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"17785:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17812:9:95","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":66501,"src":"17785:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"17770:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67592,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"17915:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67593,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"17930:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17945:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"17930:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17957:6:95","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":66500,"src":"17930:33:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"17915:48:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67605,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18063:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67606,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"18078:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18093:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"18078:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18105:9:95","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":66502,"src":"18078:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"18063:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67618,"nodeType":"IfStatement","src":"18059:148:95","trueBody":{"id":67617,"nodeType":"Block","src":"18116:91:95","statements":[{"expression":{"id":67615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67610,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18130:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67612,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18172:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67613,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"18181:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67611,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"18149:22:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":67614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18149:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18130:66:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67616,"nodeType":"ExpressionStatement","src":"18130:66:95"}]}},"id":67619,"nodeType":"IfStatement","src":"17911:296:95","trueBody":{"id":67604,"nodeType":"Block","src":"17965:88:95","statements":[{"expression":{"id":67602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67597,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"17979:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67599,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18018:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67600,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"18027:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67598,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67756,"src":"17998:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":67601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17998:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17979:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67603,"nodeType":"ExpressionStatement","src":"17979:63:95"}]}},"id":67620,"nodeType":"IfStatement","src":"17766:441:95","trueBody":{"id":67591,"nodeType":"Block","src":"17823:82:95","statements":[{"expression":{"id":67589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67585,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"17837:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67587,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"17879:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67586,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67714,"src":"17856:22:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17856:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17837:57:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67590,"nodeType":"ExpressionStatement","src":"17837:57:95"}]}},{"assignments":[67622],"declarations":[{"constant":false,"id":67622,"mutability":"mutable","name":"isActivated","nameLocation":"18221:11:95","nodeType":"VariableDeclaration","scope":67647,"src":"18216:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67621,"name":"bool","nodeType":"ElementaryTypeName","src":"18216:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67631,"initialValue":{"arguments":[{"id":67625,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18281:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67628,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18298:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18290:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67626,"name":"address","nodeType":"ElementaryTypeName","src":"18290:7:95","typeDescriptions":{}}},"id":67629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18290:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67623,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"18235:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18253:27:95","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71467,"src":"18235:45:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18235:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18216:88:95"},{"condition":{"id":67632,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67622,"src":"18318:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67638,"nodeType":"IfStatement","src":"18314:82:95","trueBody":{"id":67637,"nodeType":"Block","src":"18331:65:95","statements":[{"expression":{"id":67635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67633,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"18345:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":67634,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18369:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18345:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67636,"nodeType":"ExpressionStatement","src":"18345:40:95"}]}},{"eventCall":{"arguments":[{"id":67640,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67557,"src":"18425:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67641,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67559,"src":"18434:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67642,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18450:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67639,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66764,"src":"18410:14:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":67643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18410:57:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67644,"nodeType":"EmitStatement","src":"18405:62:95"},{"expression":{"id":67645,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"18484:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67563,"id":67646,"nodeType":"Return","src":"18477:23:95"}]},"baseFunctions":[66478],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17451:13:95","parameters":{"id":67560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67557,"mutability":"mutable","name":"_member","nameLocation":"17473:7:95","nodeType":"VariableDeclaration","scope":67648,"src":"17465:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67556,"name":"address","nodeType":"ElementaryTypeName","src":"17465:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67559,"mutability":"mutable","name":"_amountToStake","nameLocation":"17490:14:95","nodeType":"VariableDeclaration","scope":67648,"src":"17482:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67558,"name":"uint256","nodeType":"ElementaryTypeName","src":"17482:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17464:41:95"},"returnParameters":{"id":67563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67648,"src":"17532:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67561,"name":"uint256","nodeType":"ElementaryTypeName","src":"17532:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17531:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67704,"nodeType":"FunctionDefinition","src":"18513:689:95","nodes":[],"body":{"id":67703,"nodeType":"Block","src":"18614:588:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67657,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67133,"src":"18624:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":67658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18624:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67659,"nodeType":"ExpressionStatement","src":"18624:23:95"},{"assignments":[67661],"declarations":[{"constant":false,"id":67661,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18711:16:95","nodeType":"VariableDeclaration","scope":67703,"src":"18703:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67660,"name":"uint256","nodeType":"ElementaryTypeName","src":"18703:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67663,"initialValue":{"hexValue":"30","id":67662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18730:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18703:28:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67664,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18745:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67665,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"18760:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18775:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"18760:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18787:9:95","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":66501,"src":"18760:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"18745:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":67673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67669,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18800:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67670,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"18815:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18830:11:95","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"18815:26:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":67672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18842:6:95","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":66500,"src":"18815:33:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"18800:48:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18745:103:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67689,"nodeType":"Block","src":"18946:93:95","statements":[{"expression":{"id":67687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67682,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"18960:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67684,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67650,"src":"19002:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67685,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67652,"src":"19011:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67683,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67918,"src":"18979:22:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":67686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18979:49:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18960:68:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67688,"nodeType":"ExpressionStatement","src":"18960:68:95"}]},"id":67690,"nodeType":"IfStatement","src":"18741:298:95","trueBody":{"id":67681,"nodeType":"Block","src":"18850:90:95","statements":[{"expression":{"id":67679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67675,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"18864:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67677,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67652,"src":"18912:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67676,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67844,"src":"18883:28:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18883:46:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18864:65:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67680,"nodeType":"ExpressionStatement","src":"18864:65:95"}]}},{"expression":{"id":67693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67691,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"19048:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67692,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"19072:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19048:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67694,"nodeType":"ExpressionStatement","src":"19048:40:95"},{"eventCall":{"arguments":[{"id":67696,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67650,"src":"19118:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67697,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67652,"src":"19127:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67698,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"19145:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67695,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66772,"src":"19103:14:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":67699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19103:59:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67700,"nodeType":"EmitStatement","src":"19098:64:95"},{"expression":{"id":67701,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"19179:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67656,"id":67702,"nodeType":"Return","src":"19172:23:95"}]},"baseFunctions":[66487],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18522:13:95","parameters":{"id":67653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67650,"mutability":"mutable","name":"_member","nameLocation":"18544:7:95","nodeType":"VariableDeclaration","scope":67704,"src":"18536:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67649,"name":"address","nodeType":"ElementaryTypeName","src":"18536:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67652,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18561:16:95","nodeType":"VariableDeclaration","scope":67704,"src":"18553:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67651,"name":"uint256","nodeType":"ElementaryTypeName","src":"18553:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18535:43:95"},"returnParameters":{"id":67656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67704,"src":"18605:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67654,"name":"uint256","nodeType":"ElementaryTypeName","src":"18605:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18604:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":67714,"nodeType":"FunctionDefinition","src":"19208:126:95","nodes":[],"body":{"id":67713,"nodeType":"Block","src":"19296:38:95","nodes":[],"statements":[{"expression":{"id":67711,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67706,"src":"19313:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67710,"id":67712,"nodeType":"Return","src":"19306:21:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"19217:22:95","parameters":{"id":67707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67706,"mutability":"mutable","name":"_amountToStake","nameLocation":"19248:14:95","nodeType":"VariableDeclaration","scope":67714,"src":"19240:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67705,"name":"uint256","nodeType":"ElementaryTypeName","src":"19240:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19239:24:95"},"returnParameters":{"id":67710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67714,"src":"19287:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67708,"name":"uint256","nodeType":"ElementaryTypeName","src":"19287:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19286:9:95"},"scope":70168,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":67756,"nodeType":"FunctionDefinition","src":"19340:632:95","nodes":[],"body":{"id":67755,"nodeType":"Block","src":"19450:522:95","nodes":[],"statements":[{"assignments":[67724],"declarations":[{"constant":false,"id":67724,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19468:16:95","nodeType":"VariableDeclaration","scope":67755,"src":"19460:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67723,"name":"uint256","nodeType":"ElementaryTypeName","src":"19460:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67726,"initialValue":{"id":67725,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67718,"src":"19487:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19460:41:95"},{"assignments":[67728],"declarations":[{"constant":false,"id":67728,"mutability":"mutable","name":"memberPower","nameLocation":"19583:11:95","nodeType":"VariableDeclaration","scope":67755,"src":"19575:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67727,"name":"uint256","nodeType":"ElementaryTypeName","src":"19575:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67737,"initialValue":{"arguments":[{"id":67731,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67716,"src":"19640:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67734,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19657:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19649:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67732,"name":"address","nodeType":"ElementaryTypeName","src":"19649:7:95","typeDescriptions":{}}},"id":67735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19649:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67729,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"19597:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19615:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"19597:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19597:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19575:88:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67738,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67728,"src":"19729:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67739,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67724,"src":"19743:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":67741,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"19762:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19774:9:95","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"19762:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19729:54:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67752,"nodeType":"IfStatement","src":"19725:139:95","trueBody":{"id":67751,"nodeType":"Block","src":"19785:79:95","statements":[{"expression":{"id":67749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67744,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67724,"src":"19799:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67745,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"19818:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19830:9:95","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"19818:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67747,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67728,"src":"19842:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19818:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19799:54:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67750,"nodeType":"ExpressionStatement","src":"19799:54:95"}]}},{"expression":{"id":67753,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67724,"src":"19949:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67722,"id":67754,"nodeType":"Return","src":"19942:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19349:19:95","parameters":{"id":67719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67716,"mutability":"mutable","name":"_member","nameLocation":"19377:7:95","nodeType":"VariableDeclaration","scope":67756,"src":"19369:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67715,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67718,"mutability":"mutable","name":"_amountToStake","nameLocation":"19394:14:95","nodeType":"VariableDeclaration","scope":67756,"src":"19386:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67717,"name":"uint256","nodeType":"ElementaryTypeName","src":"19386:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19368:41:95"},"returnParameters":{"id":67722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67756,"src":"19441:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67720,"name":"uint256","nodeType":"ElementaryTypeName","src":"19441:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19440:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67834,"nodeType":"FunctionDefinition","src":"19978:741:95","nodes":[],"body":{"id":67833,"nodeType":"Block","src":"20091:628:95","nodes":[],"statements":[{"assignments":[67766],"declarations":[{"constant":false,"id":67766,"mutability":"mutable","name":"totalStake","nameLocation":"20109:10:95","nodeType":"VariableDeclaration","scope":67833,"src":"20101:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67765,"name":"uint256","nodeType":"ElementaryTypeName","src":"20101:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67773,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67769,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67758,"src":"20162:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67767,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"20122:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20140:21:95","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72519,"src":"20122:39:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":67770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20122:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67771,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67760,"src":"20173:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20122:65:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20101:86:95"},{"assignments":[67775],"declarations":[{"constant":false,"id":67775,"mutability":"mutable","name":"decimal","nameLocation":"20206:7:95","nodeType":"VariableDeclaration","scope":67833,"src":"20198:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67774,"name":"uint256","nodeType":"ElementaryTypeName","src":"20198:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67777,"initialValue":{"hexValue":"3138","id":67776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20216:2:95","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20198:20:95"},{"clauses":[{"block":{"id":67798,"nodeType":"Block","src":"20316:52:95","statements":[{"expression":{"id":67796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67791,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67775,"src":"20330:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67794,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67789,"src":"20348:8:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":67793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20340:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67792,"name":"uint256","nodeType":"ElementaryTypeName","src":"20340:7:95","typeDescriptions":{}}},"id":67795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20340:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20330:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67797,"nodeType":"ExpressionStatement","src":"20330:27:95"}]},"errorName":"","id":67799,"nodeType":"TryCatchClause","parameters":{"id":67790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67789,"mutability":"mutable","name":"_decimal","nameLocation":"20306:8:95","nodeType":"VariableDeclaration","scope":67799,"src":"20300:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67788,"name":"uint8","nodeType":"ElementaryTypeName","src":"20300:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20299:16:95"},"src":"20291:77:95"},{"block":{"id":67800,"nodeType":"Block","src":"20375:64:95","statements":[]},"errorName":"","id":67801,"nodeType":"TryCatchClause","src":"20369:70:95"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67781,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"20246:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20264:11:95","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71422,"src":"20246:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":67783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":67780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20238:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67779,"name":"address","nodeType":"ElementaryTypeName","src":"20238:7:95","typeDescriptions":{}}},"id":67784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20238:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67778,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"20232:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":67785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":67786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20280:8:95","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"20232:56:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":67787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20232:58:95","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":67802,"nodeType":"TryStatement","src":"20228:211:95"},{"assignments":[67804],"declarations":[{"constant":false,"id":67804,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20456:14:95","nodeType":"VariableDeclaration","scope":67833,"src":"20448:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67803,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67813,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67807,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67766,"src":"20483:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":67808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20496:2:95","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":67809,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67775,"src":"20502:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20496:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20483:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67805,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"20473:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58102_$","typeString":"type(library Math)"}},"id":67806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20478:4:95","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57606,"src":"20473:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20473:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20448:62:95"},{"assignments":[67815],"declarations":[{"constant":false,"id":67815,"mutability":"mutable","name":"currentPoints","nameLocation":"20528:13:95","nodeType":"VariableDeclaration","scope":67833,"src":"20520:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67814,"name":"uint256","nodeType":"ElementaryTypeName","src":"20520:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67824,"initialValue":{"arguments":[{"id":67818,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67758,"src":"20587:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67821,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20604:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20596:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67819,"name":"address","nodeType":"ElementaryTypeName","src":"20596:7:95","typeDescriptions":{}}},"id":67822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20596:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67816,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"20544:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20562:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"20544:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20544:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20520:90:95"},{"assignments":[67826],"declarations":[{"constant":false,"id":67826,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20629:16:95","nodeType":"VariableDeclaration","scope":67833,"src":"20621:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67825,"name":"uint256","nodeType":"ElementaryTypeName","src":"20621:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67830,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67827,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"20648:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67828,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67815,"src":"20665:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20648:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20621:57:95"},{"expression":{"id":67831,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67826,"src":"20696:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67764,"id":67832,"nodeType":"Return","src":"20689:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19987:22:95","parameters":{"id":67761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67758,"mutability":"mutable","name":"_member","nameLocation":"20018:7:95","nodeType":"VariableDeclaration","scope":67834,"src":"20010:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67757,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67760,"mutability":"mutable","name":"_amountToStake","nameLocation":"20035:14:95","nodeType":"VariableDeclaration","scope":67834,"src":"20027:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67759,"name":"uint256","nodeType":"ElementaryTypeName","src":"20027:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20009:41:95"},"returnParameters":{"id":67764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67834,"src":"20082:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67762,"name":"uint256","nodeType":"ElementaryTypeName","src":"20082:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20081:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67844,"nodeType":"FunctionDefinition","src":"20725:144:95","nodes":[],"body":{"id":67843,"nodeType":"Block","src":"20829:40:95","nodes":[],"statements":[{"expression":{"id":67841,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67836,"src":"20846:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67840,"id":67842,"nodeType":"Return","src":"20839:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20734:28:95","parameters":{"id":67837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67836,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20771:16:95","nodeType":"VariableDeclaration","scope":67844,"src":"20763:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67835,"name":"uint256","nodeType":"ElementaryTypeName","src":"20763:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20762:26:95"},"returnParameters":{"id":67840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67844,"src":"20820:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67838,"name":"uint256","nodeType":"ElementaryTypeName","src":"20820:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20819:9:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67918,"nodeType":"FunctionDefinition","src":"20875:855:95","nodes":[],"body":{"id":67917,"nodeType":"Block","src":"21026:704:95","nodes":[],"statements":[{"assignments":[67854],"declarations":[{"constant":false,"id":67854,"mutability":"mutable","name":"decimal","nameLocation":"21044:7:95","nodeType":"VariableDeclaration","scope":67917,"src":"21036:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67853,"name":"uint256","nodeType":"ElementaryTypeName","src":"21036:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67856,"initialValue":{"hexValue":"3138","id":67855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21054:2:95","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"21036:20:95"},{"clauses":[{"block":{"id":67877,"nodeType":"Block","src":"21154:52:95","statements":[{"expression":{"id":67875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67870,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67854,"src":"21168:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67873,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67868,"src":"21186:8:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":67872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21178:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67871,"name":"uint256","nodeType":"ElementaryTypeName","src":"21178:7:95","typeDescriptions":{}}},"id":67874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21178:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21168:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67876,"nodeType":"ExpressionStatement","src":"21168:27:95"}]},"errorName":"","id":67878,"nodeType":"TryCatchClause","parameters":{"id":67869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67868,"mutability":"mutable","name":"_decimal","nameLocation":"21144:8:95","nodeType":"VariableDeclaration","scope":67878,"src":"21138:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67867,"name":"uint8","nodeType":"ElementaryTypeName","src":"21138:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21137:16:95"},"src":"21129:77:95"},{"block":{"id":67879,"nodeType":"Block","src":"21213:64:95","statements":[]},"errorName":"","id":67880,"nodeType":"TryCatchClause","src":"21207:70:95"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67860,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"21084:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21102:11:95","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71422,"src":"21084:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$55825_$","typeString":"function () view external returns (contract IERC20)"}},"id":67862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21084:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":67859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21076:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67858,"name":"address","nodeType":"ElementaryTypeName","src":"21076:7:95","typeDescriptions":{}}},"id":67863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21076:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67857,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55747,"src":"21070:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$55747_$","typeString":"type(contract ERC20)"}},"id":67864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$55747","typeString":"contract ERC20"}},"id":67865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21118:8:95","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55235,"src":"21070:56:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":67866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21070:58:95","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":67881,"nodeType":"TryStatement","src":"21066:211:95"},{"assignments":[67883],"declarations":[{"constant":false,"id":67883,"mutability":"mutable","name":"newTotalStake","nameLocation":"21356:13:95","nodeType":"VariableDeclaration","scope":67917,"src":"21348:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67882,"name":"uint256","nodeType":"ElementaryTypeName","src":"21348:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67890,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67886,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67846,"src":"21412:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67884,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"21372:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21390:21:95","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72519,"src":"21372:39:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":67887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21372:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67888,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67848,"src":"21423:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21372:67:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21348:91:95"},{"assignments":[67892],"declarations":[{"constant":false,"id":67892,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21513:14:95","nodeType":"VariableDeclaration","scope":67917,"src":"21505:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67891,"name":"uint256","nodeType":"ElementaryTypeName","src":"21505:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67901,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67895,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67883,"src":"21540:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":67896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21556:2:95","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":67897,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67854,"src":"21562:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21556:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21540:29:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67893,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"21530:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58102_$","typeString":"type(library Math)"}},"id":67894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21535:4:95","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":57606,"src":"21530:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":67900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21530:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21505:65:95"},{"assignments":[67903],"declarations":[{"constant":false,"id":67903,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21588:16:95","nodeType":"VariableDeclaration","scope":67917,"src":"21580:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67902,"name":"uint256","nodeType":"ElementaryTypeName","src":"21580:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67914,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67906,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67846,"src":"21650:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67909,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21667:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21659:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67907,"name":"address","nodeType":"ElementaryTypeName","src":"21659:7:95","typeDescriptions":{}}},"id":67910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21659:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67904,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"21607:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21625:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"21607:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21607:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67912,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67892,"src":"21676:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21607:83:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21580:110:95"},{"expression":{"id":67915,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67903,"src":"21707:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67852,"id":67916,"nodeType":"Return","src":"21700:23:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20884:22:95","parameters":{"id":67849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67846,"mutability":"mutable","name":"_member","nameLocation":"20915:7:95","nodeType":"VariableDeclaration","scope":67918,"src":"20907:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67845,"name":"address","nodeType":"ElementaryTypeName","src":"20907:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67848,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20932:16:95","nodeType":"VariableDeclaration","scope":67918,"src":"20924:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67847,"name":"uint256","nodeType":"ElementaryTypeName","src":"20924:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20906:43:95"},"returnParameters":{"id":67852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67918,"src":"21013:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67850,"name":"uint256","nodeType":"ElementaryTypeName","src":"21013:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21012:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67927,"nodeType":"FunctionDefinition","src":"21736:99:95","nodes":[],"body":{"id":67926,"nodeType":"Block","src":"21790:45:95","nodes":[],"statements":[{"expression":{"expression":{"id":67923,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66895,"src":"21807:11:95","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$66572_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":67924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21819:9:95","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":66571,"src":"21807:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67922,"id":67925,"nodeType":"Return","src":"21800:28:95"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21745:12:95","parameters":{"id":67919,"nodeType":"ParameterList","parameters":[],"src":"21757:2:95"},"returnParameters":{"id":67922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67927,"src":"21781:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67920,"name":"uint256","nodeType":"ElementaryTypeName","src":"21781:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21780:9:95"},"scope":70168,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67936,"nodeType":"FunctionDefinition","src":"21841:110:95","nodes":[],"body":{"id":67935,"nodeType":"Block","src":"21916:35:95","nodes":[],"statements":[{"expression":{"id":67933,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"21933:11:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":67932,"id":67934,"nodeType":"Return","src":"21926:18:95"}]},"baseFunctions":[66493],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21850:14:95","parameters":{"id":67928,"nodeType":"ParameterList","parameters":[],"src":"21864:2:95"},"returnParameters":{"id":67932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67931,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67936,"src":"21888:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":67930,"nodeType":"UserDefinedTypeName","pathNode":{"id":67929,"name":"StrategyStruct.PointSystem","nameLocations":["21888:14:95","21903:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":66503,"src":"21888:26:95"},"referencedDeclaration":66503,"src":"21888:26:95","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"21887:28:95"},"scope":70168,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":68001,"nodeType":"FunctionDefinition","src":"22457:650:95","nodes":[],"body":{"id":68000,"nodeType":"Block","src":"22531:576:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":67945,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"22561:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67944,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"22541:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":67946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22541:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67947,"nodeType":"ExpressionStatement","src":"22541:28:95"},{"condition":{"id":67951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22583:27:95","subExpression":{"arguments":[{"id":67949,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"22602:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67948,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67197,"src":"22584:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22584:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67956,"nodeType":"IfStatement","src":"22579:90:95","trueBody":{"id":67955,"nodeType":"Block","src":"22612:57:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67952,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66699,"src":"22633:23:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22633:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67954,"nodeType":"RevertStatement","src":"22626:32:95"}]}},{"assignments":[67958],"declarations":[{"constant":false,"id":67958,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22729:23:95","nodeType":"VariableDeclaration","scope":68000,"src":"22724:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67957,"name":"bool","nodeType":"ElementaryTypeName","src":"22724:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67967,"initialValue":{"arguments":[{"id":67961,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"22801:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67964,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22818:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":67963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22810:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67962,"name":"address","nodeType":"ElementaryTypeName","src":"22810:7:95","typeDescriptions":{}}},"id":67965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22810:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67959,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"22755:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":67960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22773:27:95","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71467,"src":"22755:45:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22755:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22724:100:95"},{"condition":{"id":67969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22838:24:95","subExpression":{"id":67968,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67958,"src":"22839:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67974,"nodeType":"IfStatement","src":"22834:78:95","trueBody":{"id":67973,"nodeType":"Block","src":"22864:48:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67970,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"22885:14:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22885:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67972,"nodeType":"RevertStatement","src":"22878:23:95"}]}},{"assignments":[67980],"declarations":[{"constant":false,"id":67980,"mutability":"mutable","name":"pv","nameLocation":"22961:2:95","nodeType":"VariableDeclaration","scope":68000,"src":"22921:42:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67978,"nodeType":"UserDefinedTypeName","pathNode":{"id":67977,"name":"StrategyStruct.ProposalSupport","nameLocations":["22921:14:95","22936:15:95"],"nodeType":"IdentifierPath","referencedDeclaration":66569,"src":"22921:30:95"},"referencedDeclaration":66569,"src":"22921:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67979,"nodeType":"ArrayTypeName","src":"22921:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":67989,"initialValue":{"arguments":[{"id":67983,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67938,"src":"22977:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":67984,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"22985:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":67985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23000:15:95","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":66569,"src":"22985:30:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$66569_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":67986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22985:32:95","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":67987,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22984:34:95","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":67981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22966:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22970:6:95","memberName":"decode","nodeType":"MemberAccess","src":"22966:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22966:53:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22921:98:95"},{"expression":{"arguments":[{"id":67991,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"23054:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67992,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67980,"src":"23063:2:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67990,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68732,"src":"23029:24:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23029:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67994,"nodeType":"ExpressionStatement","src":"23029:37:95"},{"expression":{"arguments":[{"id":67996,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67940,"src":"23088:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67997,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67980,"src":"23097:2:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67995,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69019,"src":"23076:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23076:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67999,"nodeType":"ExpressionStatement","src":"23076:24:95"}]},"baseFunctions":[66325],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22466:9:95","overrides":{"id":67942,"nodeType":"OverrideSpecifier","overrides":[],"src":"22522:8:95"},"parameters":{"id":67941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67938,"mutability":"mutable","name":"_data","nameLocation":"22489:5:95","nodeType":"VariableDeclaration","scope":68001,"src":"22476:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67937,"name":"bytes","nodeType":"ElementaryTypeName","src":"22476:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67940,"mutability":"mutable","name":"_sender","nameLocation":"22504:7:95","nodeType":"VariableDeclaration","scope":68001,"src":"22496:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67939,"name":"address","nodeType":"ElementaryTypeName","src":"22496:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22475:37:95"},"returnParameters":{"id":67943,"nodeType":"ParameterList","parameters":[],"src":"22531:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68169,"nodeType":"FunctionDefinition","src":"23363:1925:95","nodes":[],"body":{"id":68168,"nodeType":"Block","src":"23449:1839:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68012,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68006,"src":"23508:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23514:6:95","memberName":"length","nodeType":"MemberAccess","src":"23508:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23524:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23508:17:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68020,"nodeType":"IfStatement","src":"23504:76:95","trueBody":{"id":68019,"nodeType":"Block","src":"23527:53:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68016,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66667,"src":"23548:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23548:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68018,"nodeType":"RevertStatement","src":"23541:28:95"}]}},{"assignments":[68022],"declarations":[{"constant":false,"id":68022,"mutability":"mutable","name":"proposalId","nameLocation":"23598:10:95","nodeType":"VariableDeclaration","scope":68168,"src":"23590:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68021,"name":"uint256","nodeType":"ElementaryTypeName","src":"23590:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68030,"initialValue":{"arguments":[{"id":68025,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68006,"src":"23622:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":68027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23630:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68026,"name":"uint256","nodeType":"ElementaryTypeName","src":"23630:7:95","typeDescriptions":{}}}],"id":68028,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23629:9:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":68023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23611:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23615:6:95","memberName":"decode","nodeType":"MemberAccess","src":"23611:10:95","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":68029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23611:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23590:49:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68031,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23654:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23668:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23654:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68038,"nodeType":"IfStatement","src":"23650:77:95","trueBody":{"id":68037,"nodeType":"Block","src":"23671:56:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68034,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66669,"src":"23692:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23692:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68036,"nodeType":"RevertStatement","src":"23685:31:95"}]}},{"assignments":[68043],"declarations":[{"constant":false,"id":68043,"mutability":"mutable","name":"proposal","nameLocation":"23768:8:95","nodeType":"VariableDeclaration","scope":68168,"src":"23736:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68042,"nodeType":"UserDefinedTypeName","pathNode":{"id":68041,"name":"StrategyStruct.Proposal","nameLocations":["23736:14:95","23751:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"23736:23:95"},"referencedDeclaration":66564,"src":"23736:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68047,"initialValue":{"baseExpression":{"id":68044,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"23779:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68046,"indexExpression":{"id":68045,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23789:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23779:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23736:64:95"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"},"id":68052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68048,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66889,"src":"23815:12:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":68049,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"23831:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":68050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23846:12:95","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":66498,"src":"23831:27:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$66498_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":68051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23859:7:95","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":66496,"src":"23831:35:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$66498","typeString":"enum StrategyStruct.ProposalType"}},"src":"23815:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68167,"nodeType":"IfStatement","src":"23811:1411:95","trueBody":{"id":68166,"nodeType":"Block","src":"23868:1354:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68053,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"23886:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23895:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"23886:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23909:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23886:33:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68062,"nodeType":"IfStatement","src":"23882:108:95","trueBody":{"id":68061,"nodeType":"Block","src":"23921:69:95","statements":[{"errorCall":{"arguments":[{"id":68058,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"23964:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68057,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"23946:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23946:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68060,"nodeType":"RevertStatement","src":"23939:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68063,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24008:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24017:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24008:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":68065,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"24035:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24008:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68075,"nodeType":"IfStatement","src":"24004:152:95","trueBody":{"id":68074,"nodeType":"Block","src":"24047:109:95","statements":[{"errorCall":{"arguments":[{"id":68068,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24092:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68069,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24104:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24113:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24104:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68071,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"24130:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68067,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66695,"src":"24072:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":68072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24072:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68073,"nodeType":"RevertStatement","src":"24065:76:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":68081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68076,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24174:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24183:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"24174:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68078,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"24201:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":68079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24216:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"24201:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24231:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"24201:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24174:63:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68087,"nodeType":"IfStatement","src":"24170:138:95","trueBody":{"id":68086,"nodeType":"Block","src":"24239:69:95","statements":[{"errorCall":{"arguments":[{"id":68083,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24282:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68082,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"24264:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24264:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68085,"nodeType":"RevertStatement","src":"24257:36:95"}]}},{"assignments":[68089],"declarations":[{"constant":false,"id":68089,"mutability":"mutable","name":"convictionLast","nameLocation":"24330:14:95","nodeType":"VariableDeclaration","scope":68166,"src":"24322:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68088,"name":"uint256","nodeType":"ElementaryTypeName","src":"24322:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68093,"initialValue":{"arguments":[{"id":68091,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24372:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68090,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69589,"src":"24347:24:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":68092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24347:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24322:61:95"},{"assignments":[68095],"declarations":[{"constant":false,"id":68095,"mutability":"mutable","name":"threshold","nameLocation":"24405:9:95","nodeType":"VariableDeclaration","scope":68166,"src":"24397:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68094,"name":"uint256","nodeType":"ElementaryTypeName","src":"24397:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68100,"initialValue":{"arguments":[{"expression":{"id":68097,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24436:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24445:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24436:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68096,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69205,"src":"24417:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":68099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24417:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24397:64:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68101,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68089,"src":"24480:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68102,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68095,"src":"24497:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24480:26:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68104,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24510:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24519:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24510:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24537:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24510:28:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24480:58:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68113,"nodeType":"IfStatement","src":"24476:137:95","trueBody":{"id":68112,"nodeType":"Block","src":"24540:73:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68109,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66685,"src":"24565:31:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24565:33:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68111,"nodeType":"RevertStatement","src":"24558:40:95"}]}},{"assignments":[68118],"declarations":[{"constant":false,"id":68118,"mutability":"mutable","name":"pool","nameLocation":"24645:4:95","nodeType":"VariableDeclaration","scope":68166,"src":"24627:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":68117,"nodeType":"UserDefinedTypeName","pathNode":{"id":68116,"name":"IAllo.Pool","nameLocations":["24627:5:95","24633:4:95"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24627:10:95"},"referencedDeclaration":2319,"src":"24627:10:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":68123,"initialValue":{"arguments":[{"id":68121,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65839,"src":"24665:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68119,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65833,"src":"24652:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":68120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24657:7:95","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24652:12:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":68122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24652:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24627:45:95"},{"expression":{"id":68127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68124,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"24687:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":68125,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24701:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24710:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24701:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24687:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68128,"nodeType":"ExpressionStatement","src":"24687:38:95"},{"expression":{"arguments":[{"expression":{"id":68130,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68118,"src":"24763:4:95","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":68131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24768:5:95","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24763:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68132,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24775:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24784:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"24775:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68134,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24797:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68135,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24806:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"24797:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68129,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24747:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":68136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24747:75:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68137,"nodeType":"ExpressionStatement","src":"24747:75:95"},{"expression":{"id":68144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68138,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24837:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24846:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"24837:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68141,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"24863:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":68142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24878:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"24863:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24893:8:95","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":66520,"src":"24863:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24837:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68145,"nodeType":"ExpressionStatement","src":"24837:64:95"},{"expression":{"arguments":[{"id":68149,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"24967:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68150,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"24995:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25004:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"24995:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":68152,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"25031:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68154,"indexExpression":{"id":68153,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"25049:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25031:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25081:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"25031:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68146,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"24915:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":68148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24931:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"24915:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24915:205:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68157,"nodeType":"ExpressionStatement","src":"24915:205:95"},{"eventCall":{"arguments":[{"id":68159,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68022,"src":"25152:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68160,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"25164:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25173:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"25164:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68162,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"25186:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25195:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"25186:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68158,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[66742,2858],"referencedDeclaration":66742,"src":"25140:11:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":68164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25140:71:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68165,"nodeType":"EmitStatement","src":"25135:76:95"}]}}]},"baseFunctions":[66336],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23372:11:95","overrides":{"id":68010,"nodeType":"OverrideSpecifier","overrides":[],"src":"23440:8:95"},"parameters":{"id":68009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68169,"src":"23384:16:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68002,"name":"address","nodeType":"ElementaryTypeName","src":"23384:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68003,"nodeType":"ArrayTypeName","src":"23384:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":68006,"mutability":"mutable","name":"_data","nameLocation":"23415:5:95","nodeType":"VariableDeclaration","scope":68169,"src":"23402:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68005,"name":"bytes","nodeType":"ElementaryTypeName","src":"23402:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":68008,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68169,"src":"23422:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68007,"name":"address","nodeType":"ElementaryTypeName","src":"23422:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23383:47:95"},"returnParameters":{"id":68011,"nodeType":"ParameterList","parameters":[],"src":"23449:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68223,"nodeType":"FunctionDefinition","src":"25294:743:95","nodes":[],"body":{"id":68222,"nodeType":"Block","src":"25391:646:95","nodes":[],"statements":[{"assignments":[68180],"declarations":[{"constant":false,"id":68180,"mutability":"mutable","name":"proposal","nameLocation":"25433:8:95","nodeType":"VariableDeclaration","scope":68222,"src":"25401:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68179,"nodeType":"UserDefinedTypeName","pathNode":{"id":68178,"name":"StrategyStruct.Proposal","nameLocations":["25401:14:95","25416:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"25401:23:95"},"referencedDeclaration":66564,"src":"25401:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68184,"initialValue":{"baseExpression":{"id":68181,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"25444:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68183,"indexExpression":{"id":68182,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68171,"src":"25454:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25444:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25401:64:95"},{"assignments":[68186,68188],"declarations":[{"constant":false,"id":68186,"mutability":"mutable","name":"convictionLast","nameLocation":"25559:14:95","nodeType":"VariableDeclaration","scope":68222,"src":"25551:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68185,"name":"uint256","nodeType":"ElementaryTypeName","src":"25551:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68188,"mutability":"mutable","name":"blockNumber","nameLocation":"25583:11:95","nodeType":"VariableDeclaration","scope":68222,"src":"25575:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68187,"name":"uint256","nodeType":"ElementaryTypeName","src":"25575:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68194,"initialValue":{"arguments":[{"id":68190,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25644:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":68191,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25654:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25663:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"25654:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68189,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69401,"src":"25610:33:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25610:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25550:126:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68195,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"25691:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25709:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25691:19:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68198,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68188,"src":"25714:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25729:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25714:16:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25691:39:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68208,"nodeType":"IfStatement","src":"25687:110:95","trueBody":{"id":68207,"nodeType":"Block","src":"25732:65:95","statements":[{"expression":{"id":68205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68202,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"25746:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68203,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25763:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25772:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"25763:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25746:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68206,"nodeType":"ExpressionStatement","src":"25746:40:95"}]}},{"assignments":[68210],"declarations":[{"constant":false,"id":68210,"mutability":"mutable","name":"threshold","nameLocation":"25814:9:95","nodeType":"VariableDeclaration","scope":68222,"src":"25806:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68209,"name":"uint256","nodeType":"ElementaryTypeName","src":"25806:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68215,"initialValue":{"arguments":[{"expression":{"id":68212,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"25845:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25854:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"25845:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68211,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69205,"src":"25826:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":68214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25826:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25806:64:95"},{"expression":{"id":68220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68216,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68174,"src":"25987:13:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68217,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"26003:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":68218,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68210,"src":"26021:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26003:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25987:43:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68221,"nodeType":"ExpressionStatement","src":"25987:43:95"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25303:18:95","parameters":{"id":68172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68171,"mutability":"mutable","name":"proposalId","nameLocation":"25330:10:95","nodeType":"VariableDeclaration","scope":68223,"src":"25322:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68170,"name":"uint256","nodeType":"ElementaryTypeName","src":"25322:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25321:20:95"},"returnParameters":{"id":68175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68174,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25376:13:95","nodeType":"VariableDeclaration","scope":68223,"src":"25371:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68173,"name":"bool","nodeType":"ElementaryTypeName","src":"25371:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25370:20:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68233,"nodeType":"FunctionDefinition","src":"26327:231:95","nodes":[],"body":{"id":68232,"nodeType":"Block","src":"26426:132:95","nodes":[],"statements":[]},"baseFunctions":[66356],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26336:19:95","overrides":{"id":68227,"nodeType":"OverrideSpecifier","overrides":[],"src":"26400:8:95"},"parameters":{"id":68226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68225,"mutability":"mutable","name":"_recipientId","nameLocation":"26364:12:95","nodeType":"VariableDeclaration","scope":68233,"src":"26356:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68224,"name":"address","nodeType":"ElementaryTypeName","src":"26356:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26355:22:95"},"returnParameters":{"id":68231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68233,"src":"26418:6:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":68229,"nodeType":"UserDefinedTypeName","pathNode":{"id":68228,"name":"Status","nameLocations":["26418:6:95"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26418:6:95"},"referencedDeclaration":2815,"src":"26418:6:95","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26417:8:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68252,"nodeType":"FunctionDefinition","src":"26687:287:95","nodes":[],"body":{"id":68251,"nodeType":"Block","src":"26797:177:95","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68248,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66635,"src":"26951:14:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26951:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68250,"nodeType":"RevertStatement","src":"26944:23:95"}]},"baseFunctions":[66195],"documentation":{"id":68234,"nodeType":"StructuredDocumentation","src":"26564:118:95","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26696:10:95","overrides":{"id":68242,"nodeType":"OverrideSpecifier","overrides":[],"src":"26755:8:95"},"parameters":{"id":68241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68252,"src":"26707:16:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68235,"name":"address","nodeType":"ElementaryTypeName","src":"26707:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68236,"nodeType":"ArrayTypeName","src":"26707:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":68240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68252,"src":"26725:14:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":68238,"name":"bytes","nodeType":"ElementaryTypeName","src":"26725:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":68239,"nodeType":"ArrayTypeName","src":"26725:7:95","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26706:34:95"},"returnParameters":{"id":68247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68252,"src":"26773:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":68244,"nodeType":"UserDefinedTypeName","pathNode":{"id":68243,"name":"PayoutSummary","nameLocations":["26773:13:95"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26773:13:95"},"referencedDeclaration":2820,"src":"26773:13:95","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":68245,"nodeType":"ArrayTypeName","src":"26773:15:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26772:24:95"},"scope":70168,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":68264,"nodeType":"FunctionDefinition","src":"26980:286:95","nodes":[],"body":{"id":68263,"nodeType":"Block","src":"27148:118:95","nodes":[],"statements":[]},"baseFunctions":[66347],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26989:10:95","overrides":{"id":68258,"nodeType":"OverrideSpecifier","overrides":[],"src":"27096:8:95"},"parameters":{"id":68257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68254,"mutability":"mutable","name":"_recipientId","nameLocation":"27008:12:95","nodeType":"VariableDeclaration","scope":68264,"src":"27000:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68253,"name":"address","nodeType":"ElementaryTypeName","src":"27000:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68256,"mutability":"mutable","name":"_data","nameLocation":"27035:5:95","nodeType":"VariableDeclaration","scope":68264,"src":"27022:18:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68255,"name":"bytes","nodeType":"ElementaryTypeName","src":"27022:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26999:42:95"},"returnParameters":{"id":68262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68264,"src":"27122:20:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":68260,"nodeType":"UserDefinedTypeName","pathNode":{"id":68259,"name":"PayoutSummary","nameLocations":["27122:13:95"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27122:13:95"},"referencedDeclaration":2820,"src":"27122:13:95","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"27121:22:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68275,"nodeType":"FunctionDefinition","src":"27272:127:95","nodes":[],"body":{"id":68274,"nodeType":"Block","src":"27349:50:95","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":68271,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68266,"src":"27384:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68270,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66752,"src":"27364:19:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":68272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27364:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68273,"nodeType":"EmitStatement","src":"27359:33:95"}]},"baseFunctions":[66370],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27281:24:95","overrides":{"id":68268,"nodeType":"OverrideSpecifier","overrides":[],"src":"27340:8:95"},"parameters":{"id":68267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68266,"mutability":"mutable","name":"_amount","nameLocation":"27314:7:95","nodeType":"VariableDeclaration","scope":68275,"src":"27306:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68265,"name":"uint256","nodeType":"ElementaryTypeName","src":"27306:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27305:17:95"},"returnParameters":{"id":68269,"nodeType":"ParameterList","parameters":[],"src":"27349:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68284,"nodeType":"FunctionDefinition","src":"27494:143:95","nodes":[],"body":{"id":68283,"nodeType":"Block","src":"27587:50:95","nodes":[],"statements":[]},"baseFunctions":[66307],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27503:17:95","overrides":{"id":68279,"nodeType":"OverrideSpecifier","overrides":[],"src":"27563:8:95"},"parameters":{"id":68278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68277,"mutability":"mutable","name":"_allocator","nameLocation":"27529:10:95","nodeType":"VariableDeclaration","scope":68284,"src":"27521:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68276,"name":"address","nodeType":"ElementaryTypeName","src":"27521:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27520:20:95"},"returnParameters":{"id":68282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68284,"src":"27581:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68280,"name":"bool","nodeType":"ElementaryTypeName","src":"27581:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27580:6:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68294,"nodeType":"FunctionDefinition","src":"27643:86:95","nodes":[],"body":{"id":68293,"nodeType":"Block","src":"27689:40:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":68290,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68286,"src":"27714:7:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68289,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66290,"src":"27699:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":68291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27699:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68292,"nodeType":"ExpressionStatement","src":"27699:23:95"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27652:13:95","parameters":{"id":68287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68286,"mutability":"mutable","name":"_active","nameLocation":"27671:7:95","nodeType":"VariableDeclaration","scope":68294,"src":"27666:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68285,"name":"bool","nodeType":"ElementaryTypeName","src":"27666:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27665:14:95"},"returnParameters":{"id":68288,"nodeType":"ParameterList","parameters":[],"src":"27689:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":68382,"nodeType":"FunctionDefinition","src":"27735:844:95","nodes":[],"body":{"id":68381,"nodeType":"Block","src":"27787:792:95","nodes":[],"statements":[{"assignments":[68303],"declarations":[{"constant":false,"id":68303,"mutability":"mutable","name":"proposalsIds","nameLocation":"27862:12:95","nodeType":"VariableDeclaration","scope":68381,"src":"27845:29:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68301,"name":"uint256","nodeType":"ElementaryTypeName","src":"27845:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68302,"nodeType":"ArrayTypeName","src":"27845:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":68307,"initialValue":{"baseExpression":{"id":68304,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"27877:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68306,"indexExpression":{"id":68305,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"27898:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27877:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27845:61:95"},{"body":{"id":68379,"nodeType":"Block","src":"27966:607:95","statements":[{"assignments":[68320],"declarations":[{"constant":false,"id":68320,"mutability":"mutable","name":"proposalId","nameLocation":"27988:10:95","nodeType":"VariableDeclaration","scope":68379,"src":"27980:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68319,"name":"uint256","nodeType":"ElementaryTypeName","src":"27980:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68324,"initialValue":{"baseExpression":{"id":68321,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"28001:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68323,"indexExpression":{"id":68322,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"28014:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28001:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27980:36:95"},{"assignments":[68329],"declarations":[{"constant":false,"id":68329,"mutability":"mutable","name":"proposal","nameLocation":"28062:8:95","nodeType":"VariableDeclaration","scope":68379,"src":"28030:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68328,"nodeType":"UserDefinedTypeName","pathNode":{"id":68327,"name":"StrategyStruct.Proposal","nameLocations":["28030:14:95","28045:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"28030:23:95"},"referencedDeclaration":66564,"src":"28030:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68333,"initialValue":{"baseExpression":{"id":68330,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"28073:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68332,"indexExpression":{"id":68331,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68320,"src":"28083:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28073:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28030:64:95"},{"condition":{"arguments":[{"id":68335,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68320,"src":"28127:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68334,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"28112:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28112:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68378,"nodeType":"IfStatement","src":"28108:455:95","trueBody":{"id":68377,"nodeType":"Block","src":"28140:423:95","statements":[{"assignments":[68338],"declarations":[{"constant":false,"id":68338,"mutability":"mutable","name":"stakedPoints","nameLocation":"28166:12:95","nodeType":"VariableDeclaration","scope":68377,"src":"28158:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68337,"name":"uint256","nodeType":"ElementaryTypeName","src":"28158:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68343,"initialValue":{"baseExpression":{"expression":{"id":68339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28181:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28190:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"28181:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68342,"indexExpression":{"id":68341,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"28208:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28181:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28158:58:95"},{"expression":{"id":68350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":68344,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28234:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28243:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"28234:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68348,"indexExpression":{"id":68346,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"28261:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28234:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":68349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28272:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28234:39:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68351,"nodeType":"ExpressionStatement","src":"28234:39:95"},{"expression":{"id":68356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68352,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28291:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28300:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"28291:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":68355,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"28316:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28291:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68357,"nodeType":"ExpressionStatement","src":"28291:37:95"},{"expression":{"id":68360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68358,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66881,"src":"28346:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":68359,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"28361:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28346:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68361,"nodeType":"ExpressionStatement","src":"28346:27:95"},{"expression":{"arguments":[{"id":68363,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28418:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68364,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"28428:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68362,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69354,"src":"28391:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28391:50:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68366,"nodeType":"ExpressionStatement","src":"28391:50:95"},{"eventCall":{"arguments":[{"id":68368,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68296,"src":"28477:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68369,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68320,"src":"28486:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":68370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28498:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":68371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28501:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28510:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"28501:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68329,"src":"28524:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28533:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"28524:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68367,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66784,"src":"28464:12:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":68375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28464:84:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68376,"nodeType":"EmitStatement","src":"28459:89:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68312,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"27936:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68313,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68303,"src":"27940:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27953:6:95","memberName":"length","nodeType":"MemberAccess","src":"27940:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27936:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68380,"initializationExpression":{"assignments":[68309],"declarations":[{"constant":false,"id":68309,"mutability":"mutable","name":"i","nameLocation":"27929:1:95","nodeType":"VariableDeclaration","scope":68380,"src":"27921:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68308,"name":"uint256","nodeType":"ElementaryTypeName","src":"27921:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68311,"initialValue":{"hexValue":"30","id":68310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27933:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27921:13:95"},"loopExpression":{"expression":{"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27961:3:95","subExpression":{"id":68316,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"27961:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68318,"nodeType":"ExpressionStatement","src":"27961:3:95"},"nodeType":"ForStatement","src":"27916:657:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27744:8:95","parameters":{"id":68297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68296,"mutability":"mutable","name":"_member","nameLocation":"27761:7:95","nodeType":"VariableDeclaration","scope":68382,"src":"27753:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68295,"name":"address","nodeType":"ElementaryTypeName","src":"27753:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27752:17:95"},"returnParameters":{"id":68298,"nodeType":"ParameterList","parameters":[],"src":"27787:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68460,"nodeType":"FunctionDefinition","src":"29263:1145:95","nodes":[],"body":{"id":68459,"nodeType":"Block","src":"29793:615:95","nodes":[],"statements":[{"assignments":[68415],"declarations":[{"constant":false,"id":68415,"mutability":"mutable","name":"proposal","nameLocation":"29835:8:95","nodeType":"VariableDeclaration","scope":68459,"src":"29803:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68414,"nodeType":"UserDefinedTypeName","pathNode":{"id":68413,"name":"StrategyStruct.Proposal","nameLocations":["29803:14:95","29818:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"29803:23:95"},"referencedDeclaration":66564,"src":"29803:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68419,"initialValue":{"baseExpression":{"id":68416,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"29846:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68418,"indexExpression":{"id":68417,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68385,"src":"29856:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29846:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29803:65:95"},{"expression":{"id":68431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68420,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68405,"src":"29879:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68421,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"29891:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29900:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"29891:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29919:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29891:29:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":68427,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"29946:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29955:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"29946:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68426,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69205,"src":"29927:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":68429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29927:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29891:80:95","trueExpression":{"hexValue":"30","id":68425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29923:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29879:92:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68432,"nodeType":"ExpressionStatement","src":"29879:92:95"},{"expression":{"components":[{"expression":{"id":68433,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30002:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30011:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"30002:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68435,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30034:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30043:11:95","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":66540,"src":"30034:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68437,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30068:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30077:14:95","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":66544,"src":"30068:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68439,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30105:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30114:15:95","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":66534,"src":"30105:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68441,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30143:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68442,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30152:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"30143:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68443,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30178:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30187:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"30178:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":68445,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30215:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"30215:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68447,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30247:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30256:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"30247:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68449,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68405,"src":"30284:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":68450,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30307:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30316:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"30307:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68454,"indexExpression":{"expression":{"id":68452,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30334:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30338:6:95","memberName":"sender","nodeType":"MemberAccess","src":"30334:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30307:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68455,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68415,"src":"30359:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30368:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"30359:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68457,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29988:413:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$66523_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":68410,"id":68458,"nodeType":"Return","src":"29981:420:95"}]},"documentation":{"id":68383,"nodeType":"StructuredDocumentation","src":"28585:673:95","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"29272:11:95","parameters":{"id":68386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68385,"mutability":"mutable","name":"_proposalId","nameLocation":"29292:11:95","nodeType":"VariableDeclaration","scope":68460,"src":"29284:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68384,"name":"uint256","nodeType":"ElementaryTypeName","src":"29284:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29283:21:95"},"returnParameters":{"id":68410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68388,"mutability":"mutable","name":"submitter","nameLocation":"29389:9:95","nodeType":"VariableDeclaration","scope":68460,"src":"29381:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68387,"name":"address","nodeType":"ElementaryTypeName","src":"29381:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68390,"mutability":"mutable","name":"beneficiary","nameLocation":"29420:11:95","nodeType":"VariableDeclaration","scope":68460,"src":"29412:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68389,"name":"address","nodeType":"ElementaryTypeName","src":"29412:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68392,"mutability":"mutable","name":"requestedToken","nameLocation":"29453:14:95","nodeType":"VariableDeclaration","scope":68460,"src":"29445:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68391,"name":"address","nodeType":"ElementaryTypeName","src":"29445:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68394,"mutability":"mutable","name":"requestedAmount","nameLocation":"29489:15:95","nodeType":"VariableDeclaration","scope":68460,"src":"29481:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68393,"name":"uint256","nodeType":"ElementaryTypeName","src":"29481:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68396,"mutability":"mutable","name":"stakedAmount","nameLocation":"29526:12:95","nodeType":"VariableDeclaration","scope":68460,"src":"29518:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68395,"name":"uint256","nodeType":"ElementaryTypeName","src":"29518:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68399,"mutability":"mutable","name":"proposalStatus","nameLocation":"29582:14:95","nodeType":"VariableDeclaration","scope":68460,"src":"29552:44:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":68398,"nodeType":"UserDefinedTypeName","pathNode":{"id":68397,"name":"StrategyStruct.ProposalStatus","nameLocations":["29552:14:95","29567:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66523,"src":"29552:29:95"},"referencedDeclaration":66523,"src":"29552:29:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":68401,"mutability":"mutable","name":"blockLast","nameLocation":"29618:9:95","nodeType":"VariableDeclaration","scope":68460,"src":"29610:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68400,"name":"uint256","nodeType":"ElementaryTypeName","src":"29610:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68403,"mutability":"mutable","name":"convictionLast","nameLocation":"29649:14:95","nodeType":"VariableDeclaration","scope":68460,"src":"29641:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68402,"name":"uint256","nodeType":"ElementaryTypeName","src":"29641:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68405,"mutability":"mutable","name":"threshold","nameLocation":"29685:9:95","nodeType":"VariableDeclaration","scope":68460,"src":"29677:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68404,"name":"uint256","nodeType":"ElementaryTypeName","src":"29677:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68407,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29716:17:95","nodeType":"VariableDeclaration","scope":68460,"src":"29708:25:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68406,"name":"uint256","nodeType":"ElementaryTypeName","src":"29708:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68409,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"29755:23:95","nodeType":"VariableDeclaration","scope":68460,"src":"29747:31:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68408,"name":"uint256","nodeType":"ElementaryTypeName","src":"29747:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29367:421:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68481,"nodeType":"FunctionDefinition","src":"30414:206:95","nodes":[],"body":{"id":68480,"nodeType":"Block","src":"30504:116:95","nodes":[],"statements":[{"assignments":[68472],"declarations":[{"constant":false,"id":68472,"mutability":"mutable","name":"proposal","nameLocation":"30546:8:95","nodeType":"VariableDeclaration","scope":68480,"src":"30514:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68471,"nodeType":"UserDefinedTypeName","pathNode":{"id":68470,"name":"StrategyStruct.Proposal","nameLocations":["30514:14:95","30529:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"30514:23:95"},"referencedDeclaration":66564,"src":"30514:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68476,"initialValue":{"baseExpression":{"id":68473,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"30557:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68475,"indexExpression":{"id":68474,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68462,"src":"30567:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30557:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30514:65:95"},{"expression":{"expression":{"id":68477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68472,"src":"30596:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30605:8:95","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":66556,"src":"30596:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":68467,"id":68479,"nodeType":"Return","src":"30589:24:95"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30423:11:95","parameters":{"id":68463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68462,"mutability":"mutable","name":"_proposalId","nameLocation":"30443:11:95","nodeType":"VariableDeclaration","scope":68481,"src":"30435:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68461,"name":"uint256","nodeType":"ElementaryTypeName","src":"30435:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30434:21:95"},"returnParameters":{"id":68467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68481,"src":"30487:15:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":68465,"nodeType":"UserDefinedTypeName","pathNode":{"id":68464,"name":"Metadata","nameLocations":["30487:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30487:8:95"},"referencedDeclaration":3098,"src":"30487:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30486:17:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68497,"nodeType":"FunctionDefinition","src":"30821:184:95","nodes":[],"body":{"id":68496,"nodeType":"Block","src":"30929:76:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":68492,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"30978:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68493,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68486,"src":"30991:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68491,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68582,"src":"30946:31:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":68494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30946:52:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68490,"id":68495,"nodeType":"Return","src":"30939:59:95"}]},"documentation":{"id":68482,"nodeType":"StructuredDocumentation","src":"30626:190:95","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"30830:21:95","parameters":{"id":68487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68484,"mutability":"mutable","name":"_proposalId","nameLocation":"30860:11:95","nodeType":"VariableDeclaration","scope":68497,"src":"30852:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68483,"name":"uint256","nodeType":"ElementaryTypeName","src":"30852:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68486,"mutability":"mutable","name":"_voter","nameLocation":"30881:6:95","nodeType":"VariableDeclaration","scope":68497,"src":"30873:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68485,"name":"address","nodeType":"ElementaryTypeName","src":"30873:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30851:37:95"},"returnParameters":{"id":68490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68497,"src":"30920:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68488,"name":"uint256","nodeType":"ElementaryTypeName","src":"30920:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30919:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68510,"nodeType":"FunctionDefinition","src":"31011:153:95","nodes":[],"body":{"id":68509,"nodeType":"Block","src":"31105:59:95","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":68504,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"31122:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68506,"indexExpression":{"id":68505,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68499,"src":"31132:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31122:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31145:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"31122:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68503,"id":68508,"nodeType":"Return","src":"31115:42:95"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"31020:23:95","parameters":{"id":68500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68499,"mutability":"mutable","name":"_proposalId","nameLocation":"31052:11:95","nodeType":"VariableDeclaration","scope":68510,"src":"31044:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68498,"name":"uint256","nodeType":"ElementaryTypeName","src":"31044:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31043:21:95"},"returnParameters":{"id":68503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68510,"src":"31096:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68501,"name":"uint256","nodeType":"ElementaryTypeName","src":"31096:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31095:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68522,"nodeType":"FunctionDefinition","src":"31232:135:95","nodes":[],"body":{"id":68521,"nodeType":"Block","src":"31317:50:95","nodes":[],"statements":[{"expression":{"baseExpression":{"id":68517,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66913,"src":"31334:18:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68519,"indexExpression":{"id":68518,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68512,"src":"31353:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31334:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68516,"id":68520,"nodeType":"Return","src":"31327:33:95"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"31241:21:95","parameters":{"id":68513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68512,"mutability":"mutable","name":"_voter","nameLocation":"31271:6:95","nodeType":"VariableDeclaration","scope":68522,"src":"31263:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68511,"name":"address","nodeType":"ElementaryTypeName","src":"31263:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31262:16:95"},"returnParameters":{"id":68516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68515,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68522,"src":"31308:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68514,"name":"uint256","nodeType":"ElementaryTypeName","src":"31308:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31307:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68565,"nodeType":"FunctionDefinition","src":"31373:874:95","nodes":[],"body":{"id":68564,"nodeType":"Block","src":"31723:524:95","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":68538,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31754:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68540,"indexExpression":{"id":68539,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"31772:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31754:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31804:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"31754:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":68542,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31828:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68544,"indexExpression":{"id":68543,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"31846:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31828:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31878:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"31828:62:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":68546,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31904:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68548,"indexExpression":{"id":68547,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"31922:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31904:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68549,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31954:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"31904:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":68550,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"31993:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68552,"indexExpression":{"id":68551,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"32011:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31993:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32043:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"31993:76:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":68554,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"32083:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68556,"indexExpression":{"id":68555,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"32101:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32083:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68557,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32133:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"32083:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":68558,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"32160:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68560,"indexExpression":{"id":68559,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"32178:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32160:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32210:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"32160:70:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68562,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31740:500:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$74765_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":68537,"id":68563,"nodeType":"Return","src":"31733:507:95"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31382:19:95","parameters":{"id":68523,"nodeType":"ParameterList","parameters":[],"src":"31401:2:95"},"returnParameters":{"id":68537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68526,"mutability":"mutable","name":"arbitrator","nameLocation":"31492:10:95","nodeType":"VariableDeclaration","scope":68565,"src":"31480:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"typeName":{"id":68525,"nodeType":"UserDefinedTypeName","pathNode":{"id":68524,"name":"IArbitrator","nameLocations":["31480:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"31480:11:95"},"referencedDeclaration":74765,"src":"31480:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":68528,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31524:12:95","nodeType":"VariableDeclaration","scope":68565,"src":"31516:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68527,"name":"address","nodeType":"ElementaryTypeName","src":"31516:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68530,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31558:25:95","nodeType":"VariableDeclaration","scope":68565,"src":"31550:33:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68529,"name":"uint256","nodeType":"ElementaryTypeName","src":"31550:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68532,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31605:26:95","nodeType":"VariableDeclaration","scope":68565,"src":"31597:34:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68531,"name":"uint256","nodeType":"ElementaryTypeName","src":"31597:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68534,"mutability":"mutable","name":"defaultRuling","nameLocation":"31653:13:95","nodeType":"VariableDeclaration","scope":68565,"src":"31645:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68533,"name":"uint256","nodeType":"ElementaryTypeName","src":"31645:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68536,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31688:20:95","nodeType":"VariableDeclaration","scope":68565,"src":"31680:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68535,"name":"uint256","nodeType":"ElementaryTypeName","src":"31680:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31466:252:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":68582,"nodeType":"FunctionDefinition","src":"32253:226:95","nodes":[],"body":{"id":68581,"nodeType":"Block","src":"32407:72:95","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":68574,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"32424:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68576,"indexExpression":{"id":68575,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68567,"src":"32434:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32447:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"32424:40:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68579,"indexExpression":{"id":68578,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68569,"src":"32465:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32424:48:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68573,"id":68580,"nodeType":"Return","src":"32417:55:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"32262:31:95","parameters":{"id":68570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68567,"mutability":"mutable","name":"_proposalId","nameLocation":"32302:11:95","nodeType":"VariableDeclaration","scope":68582,"src":"32294:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68566,"name":"uint256","nodeType":"ElementaryTypeName","src":"32294:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68569,"mutability":"mutable","name":"_voter","nameLocation":"32323:6:95","nodeType":"VariableDeclaration","scope":68582,"src":"32315:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68568,"name":"address","nodeType":"ElementaryTypeName","src":"32315:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32293:37:95"},"returnParameters":{"id":68573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68582,"src":"32394:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68571,"name":"uint256","nodeType":"ElementaryTypeName","src":"32394:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32393:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68592,"nodeType":"FunctionDefinition","src":"32485:153:95","nodes":[],"body":{"id":68591,"nodeType":"Block","src":"32557:81:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68587,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"32574:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":68588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32592:20:95","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72906,"src":"32574:38:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":68589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32574:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68586,"id":68590,"nodeType":"Return","src":"32567:47:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32494:20:95","parameters":{"id":68583,"nodeType":"ParameterList","parameters":[],"src":"32514:2:95"},"returnParameters":{"id":68586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68592,"src":"32548:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68584,"name":"uint256","nodeType":"ElementaryTypeName","src":"32548:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32547:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68617,"nodeType":"FunctionDefinition","src":"32644:193:95","nodes":[],"body":{"id":68616,"nodeType":"Block","src":"32726:111:95","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68599,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"32743:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68601,"indexExpression":{"id":68600,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68594,"src":"32753:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32743:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32766:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"32743:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32779:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32743:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68605,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"32784:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68607,"indexExpression":{"id":68606,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68594,"src":"32794:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32784:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":68608,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32807:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"32784:32:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32828:1:95","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":68610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32820:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68609,"name":"address","nodeType":"ElementaryTypeName","src":"32820:7:95","typeDescriptions":{}}},"id":68612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32820:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32784:46:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32743:87:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":68598,"id":68615,"nodeType":"Return","src":"32736:94:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32653:14:95","parameters":{"id":68595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68594,"mutability":"mutable","name":"_proposalID","nameLocation":"32676:11:95","nodeType":"VariableDeclaration","scope":68617,"src":"32668:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68593,"name":"uint256","nodeType":"ElementaryTypeName","src":"32668:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32667:21:95"},"returnParameters":{"id":68598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68617,"src":"32720:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68596,"name":"bool","nodeType":"ElementaryTypeName","src":"32720:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32719:6:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68636,"nodeType":"FunctionDefinition","src":"32843:191:95","nodes":[],"body":{"id":68635,"nodeType":"Block","src":"32946:88:95","nodes":[],"statements":[{"expression":{"id":68633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68624,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68622,"src":"32956:14:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68625,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"32973:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68626,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32982:8:95","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":66588,"src":"32973:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68627,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"32993:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68629,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"33007:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68630,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"33026:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33007:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32973:54:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32956:71:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68634,"nodeType":"ExpressionStatement","src":"32956:71:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"32852:15:95","parameters":{"id":68620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68619,"mutability":"mutable","name":"_requestedAmount","nameLocation":"32876:16:95","nodeType":"VariableDeclaration","scope":68636,"src":"32868:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68618,"name":"uint256","nodeType":"ElementaryTypeName","src":"32868:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32867:26:95"},"returnParameters":{"id":68623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68622,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"32930:14:95","nodeType":"VariableDeclaration","scope":68636,"src":"32925:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68621,"name":"bool","nodeType":"ElementaryTypeName","src":"32925:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32924:21:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68732,"nodeType":"FunctionDefinition","src":"33040:1548:95","nodes":[],"body":{"id":68731,"nodeType":"Block","src":"33170:1418:95","nodes":[],"statements":[{"assignments":[68646],"declarations":[{"constant":false,"id":68646,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"33187:15:95","nodeType":"VariableDeclaration","scope":68731,"src":"33180:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68645,"name":"int256","nodeType":"ElementaryTypeName","src":"33180:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68648,"initialValue":{"hexValue":"30","id":68647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33205:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33180:26:95"},{"body":{"id":68693,"nodeType":"Block","src":"33270:576:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68660,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33343:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68662,"indexExpression":{"id":68661,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33360:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33343:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33363:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66566,"src":"33343:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33377:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33343:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68668,"nodeType":"IfStatement","src":"33339:187:95","trueBody":{"id":68667,"nodeType":"Block","src":"33380:146:95","statements":[{"id":68666,"nodeType":"Continue","src":"33503:8:95"}]}},{"assignments":[68670],"declarations":[{"constant":false,"id":68670,"mutability":"mutable","name":"proposalId","nameLocation":"33547:10:95","nodeType":"VariableDeclaration","scope":68693,"src":"33539:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68669,"name":"uint256","nodeType":"ElementaryTypeName","src":"33539:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68675,"initialValue":{"expression":{"baseExpression":{"id":68671,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33560:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68673,"indexExpression":{"id":68672,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33577:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33560:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33580:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66566,"src":"33560:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33539:51:95"},{"condition":{"id":68679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33608:27:95","subExpression":{"arguments":[{"id":68677,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68670,"src":"33624:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68676,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"33609:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33609:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68685,"nodeType":"IfStatement","src":"33604:167:95","trueBody":{"id":68684,"nodeType":"Block","src":"33637:134:95","statements":[{"errorCall":{"arguments":[{"id":68681,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68670,"src":"33680:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68680,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"33662:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33662:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68683,"nodeType":"RevertStatement","src":"33655:36:95"}]}},{"expression":{"id":68691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68686,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68646,"src":"33784:15:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":68687,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33803:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68689,"indexExpression":{"id":68688,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33820:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33803:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33823:12:95","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":66568,"src":"33803:32:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33784:51:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":68692,"nodeType":"ExpressionStatement","src":"33784:51:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33236:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68654,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68642,"src":"33240:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33257:6:95","memberName":"length","nodeType":"MemberAccess","src":"33240:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33236:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68694,"initializationExpression":{"assignments":[68650],"declarations":[{"constant":false,"id":68650,"mutability":"mutable","name":"i","nameLocation":"33229:1:95","nodeType":"VariableDeclaration","scope":68694,"src":"33221:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68649,"name":"uint256","nodeType":"ElementaryTypeName","src":"33221:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68652,"initialValue":{"hexValue":"30","id":68651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33233:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33221:13:95"},"loopExpression":{"expression":{"id":68658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33265:3:95","subExpression":{"id":68657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68650,"src":"33265:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68659,"nodeType":"ExpressionStatement","src":"33265:3:95"},"nodeType":"ForStatement","src":"33216:630:95"},{"assignments":[68696],"declarations":[{"constant":false,"id":68696,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"33950:21:95","nodeType":"VariableDeclaration","scope":68731,"src":"33942:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68695,"name":"uint256","nodeType":"ElementaryTypeName","src":"33942:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68703,"initialValue":{"arguments":[{"arguments":[{"id":68699,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68638,"src":"34008:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68698,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68522,"src":"33986:21:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":68700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33986:30:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68701,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68646,"src":"34018:15:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68697,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69054,"src":"33974:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":68702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33974:60:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33942:92:95"},{"assignments":[68705],"declarations":[{"constant":false,"id":68705,"mutability":"mutable","name":"participantBalance","nameLocation":"34124:18:95","nodeType":"VariableDeclaration","scope":68731,"src":"34116:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68704,"name":"uint256","nodeType":"ElementaryTypeName","src":"34116:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68714,"initialValue":{"arguments":[{"id":68708,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68638,"src":"34188:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":68711,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"34205:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":68710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34197:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68709,"name":"address","nodeType":"ElementaryTypeName","src":"34197:7:95","typeDescriptions":{}}},"id":68712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34197:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68706,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"34145:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":68707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34163:24:95","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72506,"src":"34145:42:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":68713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34145:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34116:95:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68715,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"34377:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":68716,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68705,"src":"34401:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34377:42:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68724,"nodeType":"IfStatement","src":"34373:147:95","trueBody":{"id":68723,"nodeType":"Block","src":"34421:99:95","statements":[{"errorCall":{"arguments":[{"id":68719,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"34467:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68720,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68705,"src":"34490:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68718,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66665,"src":"34442:24:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34442:67:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68722,"nodeType":"RevertStatement","src":"34435:74:95"}]}},{"expression":{"id":68729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68725,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66913,"src":"34530:18:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68727,"indexExpression":{"id":68726,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68638,"src":"34549:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34530:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68728,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"34560:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34530:51:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68730,"nodeType":"ExpressionStatement","src":"34530:51:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"33049:24:95","parameters":{"id":68643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68638,"mutability":"mutable","name":"_sender","nameLocation":"33082:7:95","nodeType":"VariableDeclaration","scope":68732,"src":"33074:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68637,"name":"address","nodeType":"ElementaryTypeName","src":"33074:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68642,"mutability":"mutable","name":"_proposalSupport","nameLocation":"33131:16:95","nodeType":"VariableDeclaration","scope":68732,"src":"33091:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":68640,"nodeType":"UserDefinedTypeName","pathNode":{"id":68639,"name":"StrategyStruct.ProposalSupport","nameLocations":["33091:14:95","33106:15:95"],"nodeType":"IdentifierPath","referencedDeclaration":66569,"src":"33091:30:95"},"referencedDeclaration":66569,"src":"33091:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":68641,"nodeType":"ArrayTypeName","src":"33091:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"33073:75:95"},"returnParameters":{"id":68644,"nodeType":"ParameterList","parameters":[],"src":"33170:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":69019,"nodeType":"FunctionDefinition","src":"34594:3487:95","nodes":[],"body":{"id":69018,"nodeType":"Block","src":"34707:3374:95","nodes":[],"statements":[{"assignments":[68745],"declarations":[{"constant":false,"id":68745,"mutability":"mutable","name":"proposalsIds","nameLocation":"34734:12:95","nodeType":"VariableDeclaration","scope":69018,"src":"34717:29:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68743,"name":"uint256","nodeType":"ElementaryTypeName","src":"34717:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68744,"nodeType":"ArrayTypeName","src":"34717:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":68746,"nodeType":"VariableDeclarationStatement","src":"34717:29:95"},{"body":{"id":69016,"nodeType":"Block","src":"34810:3265:95","statements":[{"assignments":[68759],"declarations":[{"constant":false,"id":68759,"mutability":"mutable","name":"proposalId","nameLocation":"34832:10:95","nodeType":"VariableDeclaration","scope":69016,"src":"34824:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68758,"name":"uint256","nodeType":"ElementaryTypeName","src":"34824:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68764,"initialValue":{"expression":{"baseExpression":{"id":68760,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68738,"src":"34845:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68762,"indexExpression":{"id":68761,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"34862:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34845:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34865:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66566,"src":"34845:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34824:51:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68765,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"34948:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34961:6:95","memberName":"length","nodeType":"MemberAccess","src":"34948:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34971:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34948:24:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68867,"nodeType":"Block","src":"35100:764:95","statements":[{"assignments":[68785],"declarations":[{"constant":false,"id":68785,"mutability":"mutable","name":"exist","nameLocation":"35123:5:95","nodeType":"VariableDeclaration","scope":68867,"src":"35118:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68784,"name":"bool","nodeType":"ElementaryTypeName","src":"35118:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68787,"initialValue":{"hexValue":"66616c7365","id":68786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35131:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35118:18:95"},{"body":{"id":68815,"nodeType":"Block","src":"35204:268:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":68799,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35255:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68801,"indexExpression":{"id":68800,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35268:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35255:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68802,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35274:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35255:29:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68814,"nodeType":"IfStatement","src":"35251:203:95","trueBody":{"id":68813,"nodeType":"Block","src":"35286:168:95","statements":[{"expression":{"id":68806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68804,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68785,"src":"35312:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":68805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35320:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35312:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68807,"nodeType":"ExpressionStatement","src":"35312:12:95"},{"errorCall":{"arguments":[{"id":68809,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35383:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68810,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35395:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68808,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66683,"src":"35357:25:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35357:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68812,"nodeType":"RevertStatement","src":"35350:47:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68792,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35174:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68793,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35178:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35191:6:95","memberName":"length","nodeType":"MemberAccess","src":"35178:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35174:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68816,"initializationExpression":{"assignments":[68789],"declarations":[{"constant":false,"id":68789,"mutability":"mutable","name":"j","nameLocation":"35167:1:95","nodeType":"VariableDeclaration","scope":68816,"src":"35159:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68788,"name":"uint256","nodeType":"ElementaryTypeName","src":"35159:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68791,"initialValue":{"hexValue":"30","id":68790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35171:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35159:13:95"},"loopExpression":{"expression":{"id":68797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35199:3:95","subExpression":{"id":68796,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"35199:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68798,"nodeType":"ExpressionStatement","src":"35199:3:95"},"nodeType":"ForStatement","src":"35154:318:95"},{"condition":{"id":68818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35493:6:95","subExpression":{"id":68817,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68785,"src":"35494:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68866,"nodeType":"IfStatement","src":"35489:361:95","trueBody":{"id":68865,"nodeType":"Block","src":"35501:349:95","statements":[{"assignments":[68823],"declarations":[{"constant":false,"id":68823,"mutability":"mutable","name":"temp","nameLocation":"35540:4:95","nodeType":"VariableDeclaration","scope":68865,"src":"35523:21:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68821,"name":"uint256","nodeType":"ElementaryTypeName","src":"35523:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68822,"nodeType":"ArrayTypeName","src":"35523:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":68832,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68827,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35561:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35574:6:95","memberName":"length","nodeType":"MemberAccess","src":"35561:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":68829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35583:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35561:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35547:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":68824,"name":"uint256","nodeType":"ElementaryTypeName","src":"35551:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68825,"nodeType":"ArrayTypeName","src":"35551:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":68831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35547:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35523:62:95"},{"body":{"id":68852,"nodeType":"Block","src":"35657:74:95","statements":[{"expression":{"id":68850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68844,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68823,"src":"35683:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68846,"indexExpression":{"id":68845,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35688:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35683:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":68847,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35693:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68849,"indexExpression":{"id":68848,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35706:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35693:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35683:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68851,"nodeType":"ExpressionStatement","src":"35683:25:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35627:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68838,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35631:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35644:6:95","memberName":"length","nodeType":"MemberAccess","src":"35631:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35627:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68853,"initializationExpression":{"assignments":[68834],"declarations":[{"constant":false,"id":68834,"mutability":"mutable","name":"j","nameLocation":"35620:1:95","nodeType":"VariableDeclaration","scope":68853,"src":"35612:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68833,"name":"uint256","nodeType":"ElementaryTypeName","src":"35612:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68836,"initialValue":{"hexValue":"30","id":68835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35624:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35612:13:95"},"loopExpression":{"expression":{"id":68842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35652:3:95","subExpression":{"id":68841,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68834,"src":"35652:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68843,"nodeType":"ExpressionStatement","src":"35652:3:95"},"nodeType":"ForStatement","src":"35607:124:95"},{"expression":{"id":68859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68854,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68823,"src":"35752:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68857,"indexExpression":{"expression":{"id":68855,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35757:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35770:6:95","memberName":"length","nodeType":"MemberAccess","src":"35757:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35752:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68858,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35780:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35752:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68860,"nodeType":"ExpressionStatement","src":"35752:38:95"},{"expression":{"id":68863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68861,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35812:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68862,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68823,"src":"35827:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35812:19:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68864,"nodeType":"ExpressionStatement","src":"35812:19:95"}]}}]},"id":68868,"nodeType":"IfStatement","src":"34944:920:95","trueBody":{"id":68783,"nodeType":"Block","src":"34974:120:95","statements":[{"expression":{"id":68775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68769,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"34992:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":68773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35021:1:95","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"}],"id":68772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35007:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":68770,"name":"uint256","nodeType":"ElementaryTypeName","src":"35011:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68771,"nodeType":"ArrayTypeName","src":"35011:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":68774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35007:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"34992:31:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68776,"nodeType":"ExpressionStatement","src":"34992:31:95"},{"expression":{"id":68781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68777,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68745,"src":"35041:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68779,"indexExpression":{"hexValue":"30","id":68778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35054:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35041:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68780,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35059:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35041:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68782,"nodeType":"ExpressionStatement","src":"35041:28:95"}]}},{"assignments":[68870],"declarations":[{"constant":false,"id":68870,"mutability":"mutable","name":"delta","nameLocation":"35884:5:95","nodeType":"VariableDeclaration","scope":69016,"src":"35877:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68869,"name":"int256","nodeType":"ElementaryTypeName","src":"35877:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68875,"initialValue":{"expression":{"baseExpression":{"id":68871,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68738,"src":"35892:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68873,"indexExpression":{"id":68872,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"35909:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35892:19:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":68874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35912:12:95","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":66568,"src":"35892:32:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"35877:47:95"},{"assignments":[68880],"declarations":[{"constant":false,"id":68880,"mutability":"mutable","name":"proposal","nameLocation":"35971:8:95","nodeType":"VariableDeclaration","scope":69016,"src":"35939:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68879,"nodeType":"UserDefinedTypeName","pathNode":{"id":68878,"name":"StrategyStruct.Proposal","nameLocations":["35939:14:95","35954:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"35939:23:95"},"referencedDeclaration":66564,"src":"35939:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68884,"initialValue":{"baseExpression":{"id":68881,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"35982:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68883,"indexExpression":{"id":68882,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"35992:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35982:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35939:64:95"},{"assignments":[68886],"declarations":[{"constant":false,"id":68886,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"36113:20:95","nodeType":"VariableDeclaration","scope":69016,"src":"36105:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68885,"name":"uint256","nodeType":"ElementaryTypeName","src":"36105:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68891,"initialValue":{"baseExpression":{"expression":{"id":68887,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"36136:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68888,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36145:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"36136:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68890,"indexExpression":{"id":68889,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36163:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36136:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36105:66:95"},{"assignments":[68893],"declarations":[{"constant":false,"id":68893,"mutability":"mutable","name":"stakedPoints","nameLocation":"36344:12:95","nodeType":"VariableDeclaration","scope":69016,"src":"36336:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68892,"name":"uint256","nodeType":"ElementaryTypeName","src":"36336:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68898,"initialValue":{"arguments":[{"id":68895,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"36371:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68896,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68870,"src":"36393:5:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68894,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69054,"src":"36359:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":68897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36359:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36336:63:95"},{"expression":{"id":68905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":68899,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"36534:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36543:17:95","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":66553,"src":"36534:26:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68903,"indexExpression":{"id":68901,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36561:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36534:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68904,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"36572:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36534:50:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68906,"nodeType":"ExpressionStatement","src":"36534:50:95"},{"assignments":[68908],"declarations":[{"constant":false,"id":68908,"mutability":"mutable","name":"hasProposal","nameLocation":"36823:11:95","nodeType":"VariableDeclaration","scope":69016,"src":"36818:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68907,"name":"bool","nodeType":"ElementaryTypeName","src":"36818:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68910,"initialValue":{"hexValue":"66616c7365","id":68909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36837:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"36818:24:95"},{"body":{"id":68939,"nodeType":"Block","src":"36923:179:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":68924,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"36945:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68926,"indexExpression":{"id":68925,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36966:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68928,"indexExpression":{"id":68927,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"36975:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36945:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":68929,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"36981:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36990:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"36981:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36945:55:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68938,"nodeType":"IfStatement","src":"36941:147:95","trueBody":{"id":68937,"nodeType":"Block","src":"37002:86:95","statements":[{"expression":{"id":68934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68932,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68908,"src":"37024:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":68933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37038:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"37024:18:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68935,"nodeType":"ExpressionStatement","src":"37024:18:95"},{"id":68936,"nodeType":"Break","src":"37064:5:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68915,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"36876:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":68916,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"36880:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68918,"indexExpression":{"id":68917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"36901:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36880:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36910:6:95","memberName":"length","nodeType":"MemberAccess","src":"36880:36:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36876:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68940,"initializationExpression":{"assignments":[68912],"declarations":[{"constant":false,"id":68912,"mutability":"mutable","name":"k","nameLocation":"36869:1:95","nodeType":"VariableDeclaration","scope":68940,"src":"36861:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68911,"name":"uint256","nodeType":"ElementaryTypeName","src":"36861:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68914,"initialValue":{"hexValue":"30","id":68913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36873:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36861:13:95"},"loopExpression":{"expression":{"id":68922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36918:3:95","subExpression":{"id":68921,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"36918:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68923,"nodeType":"ExpressionStatement","src":"36918:3:95"},"nodeType":"ForStatement","src":"36856:246:95"},{"condition":{"id":68942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37119:12:95","subExpression":{"id":68941,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68908,"src":"37120:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68952,"nodeType":"IfStatement","src":"37115:106:95","trueBody":{"id":68951,"nodeType":"Block","src":"37133:88:95","statements":[{"expression":{"arguments":[{"expression":{"id":68947,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37186:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37195:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"37186:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":68943,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66918,"src":"37151:20:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68945,"indexExpression":{"id":68944,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"37172:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37151:29:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37181:4:95","memberName":"push","nodeType":"MemberAccess","src":"37151:34:95","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":68949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37151:55:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68950,"nodeType":"ExpressionStatement","src":"37151:55:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68953,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37376:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68954,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37400:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37376:36:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68985,"nodeType":"Block","src":"37581:161:95","statements":[{"expression":{"id":68975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68971,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66881,"src":"37599:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68972,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37614:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68973,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37637:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37614:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37599:50:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68976,"nodeType":"ExpressionStatement","src":"37599:50:95"},{"expression":{"id":68983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68977,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37667:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37676:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"37667:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68980,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37692:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68981,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37715:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37692:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37667:60:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68984,"nodeType":"ExpressionStatement","src":"37667:60:95"}]},"id":68986,"nodeType":"IfStatement","src":"37372:370:95","trueBody":{"id":68970,"nodeType":"Block","src":"37414:161:95","statements":[{"expression":{"id":68960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68956,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66881,"src":"37432:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68957,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37447:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68958,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37462:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37447:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37432:50:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68961,"nodeType":"ExpressionStatement","src":"37432:50:95"},{"expression":{"id":68968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68962,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37500:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37509:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"37500:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68965,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37525:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68966,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37540:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37525:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37500:60:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68969,"nodeType":"ExpressionStatement","src":"37500:60:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68987,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37759:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37768:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"37759:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37781:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37759:23:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69014,"nodeType":"Block","src":"37856:209:95","statements":[{"expression":{"arguments":[{"id":69000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37901:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":69001,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68886,"src":"37911:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68999,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69354,"src":"37874:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":69002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37874:58:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69003,"nodeType":"ExpressionStatement","src":"37874:58:95"},{"eventCall":{"arguments":[{"id":69005,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"37968:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69006,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68759,"src":"37977:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69007,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68893,"src":"37989:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69008,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"38003:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38012:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"38003:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69010,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"38026:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69011,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38035:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"38026:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69004,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66784,"src":"37955:12:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":69012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37955:95:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69013,"nodeType":"EmitStatement","src":"37950:100:95"}]},"id":69015,"nodeType":"IfStatement","src":"37755:310:95","trueBody":{"id":68998,"nodeType":"Block","src":"37784:66:95","statements":[{"expression":{"id":68996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68991,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68880,"src":"37802:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68993,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37811:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"37802:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68994,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"37823:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37829:6:95","memberName":"number","nodeType":"MemberAccess","src":"37823:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37802:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68997,"nodeType":"ExpressionStatement","src":"37802:33:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"34776:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68752,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68738,"src":"34780:16:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":68753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34797:6:95","memberName":"length","nodeType":"MemberAccess","src":"34780:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34776:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69017,"initializationExpression":{"assignments":[68748],"declarations":[{"constant":false,"id":68748,"mutability":"mutable","name":"i","nameLocation":"34769:1:95","nodeType":"VariableDeclaration","scope":69017,"src":"34761:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68747,"name":"uint256","nodeType":"ElementaryTypeName","src":"34761:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68750,"initialValue":{"hexValue":"30","id":68749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34773:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34761:13:95"},"loopExpression":{"expression":{"id":68756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34805:3:95","subExpression":{"id":68755,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68748,"src":"34805:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68757,"nodeType":"ExpressionStatement","src":"34805:3:95"},"nodeType":"ForStatement","src":"34756:3319:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34603:11:95","parameters":{"id":68739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68734,"mutability":"mutable","name":"_sender","nameLocation":"34623:7:95","nodeType":"VariableDeclaration","scope":69019,"src":"34615:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68733,"name":"address","nodeType":"ElementaryTypeName","src":"34615:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68738,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34672:16:95","nodeType":"VariableDeclaration","scope":69019,"src":"34632:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":68736,"nodeType":"UserDefinedTypeName","pathNode":{"id":68735,"name":"StrategyStruct.ProposalSupport","nameLocations":["34632:14:95","34647:15:95"],"nodeType":"IdentifierPath","referencedDeclaration":66569,"src":"34632:30:95"},"referencedDeclaration":66569,"src":"34632:30:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$66569_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":68737,"nodeType":"ArrayTypeName","src":"34632:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$66569_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"34614:75:95"},"returnParameters":{"id":68740,"nodeType":"ParameterList","parameters":[],"src":"34707:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69054,"nodeType":"FunctionDefinition","src":"38087:284:95","nodes":[],"body":{"id":69053,"nodeType":"Block","src":"38181:190:95","nodes":[],"statements":[{"assignments":[69029],"declarations":[{"constant":false,"id":69029,"mutability":"mutable","name":"result","nameLocation":"38198:6:95","nodeType":"VariableDeclaration","scope":69053,"src":"38191:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":69028,"name":"int256","nodeType":"ElementaryTypeName","src":"38191:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":69036,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":69035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":69032,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69021,"src":"38214:8:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38207:6:95","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":69030,"name":"int256","nodeType":"ElementaryTypeName","src":"38207:6:95","typeDescriptions":{}}},"id":69033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38207:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69034,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69023,"src":"38226:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"38207:25:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"38191:41:95"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":69039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69037,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69029,"src":"38247:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":69038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38256:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38247:10:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69047,"nodeType":"IfStatement","src":"38243:90:95","trueBody":{"id":69046,"nodeType":"Block","src":"38259:74:95","statements":[{"errorCall":{"arguments":[{"id":69041,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69021,"src":"38297:8:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69042,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69023,"src":"38307:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":69043,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69029,"src":"38315:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":69040,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66655,"src":"38280:16:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":69044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38280:42:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69045,"nodeType":"RevertStatement","src":"38273:49:95"}]}},{"expression":{"arguments":[{"id":69050,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69029,"src":"38357:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":69049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38349:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":69048,"name":"uint256","nodeType":"ElementaryTypeName","src":"38349:7:95","typeDescriptions":{}}},"id":69051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38349:15:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69027,"id":69052,"nodeType":"Return","src":"38342:22:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"38096:11:95","parameters":{"id":69024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69021,"mutability":"mutable","name":"_support","nameLocation":"38116:8:95","nodeType":"VariableDeclaration","scope":69054,"src":"38108:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69020,"name":"uint256","nodeType":"ElementaryTypeName","src":"38108:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69023,"mutability":"mutable","name":"_delta","nameLocation":"38133:6:95","nodeType":"VariableDeclaration","scope":69054,"src":"38126:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":69022,"name":"int256","nodeType":"ElementaryTypeName","src":"38126:6:95","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"38107:33:95"},"returnParameters":{"id":69027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69054,"src":"38172:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69025,"name":"uint256","nodeType":"ElementaryTypeName","src":"38172:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38171:9:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":69112,"nodeType":"FunctionDefinition","src":"38788:1191:95","nodes":[],"body":{"id":69111,"nodeType":"Block","src":"38951:1028:95","nodes":[],"statements":[{"assignments":[69067],"declarations":[{"constant":false,"id":69067,"mutability":"mutable","name":"t","nameLocation":"38969:1:95","nodeType":"VariableDeclaration","scope":69111,"src":"38961:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69066,"name":"uint256","nodeType":"ElementaryTypeName","src":"38961:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69069,"initialValue":{"id":69068,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69057,"src":"38973:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38961:23:95"},{"assignments":[69071],"declarations":[{"constant":false,"id":69071,"mutability":"mutable","name":"atTWO_128","nameLocation":"39307:9:95","nodeType":"VariableDeclaration","scope":69111,"src":"39299:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69070,"name":"uint256","nodeType":"ElementaryTypeName","src":"39299:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69082,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69073,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"39325:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39334:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"39325:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":69075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39343:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39325:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39324:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69078,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"39350:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39324:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69080,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69067,"src":"39353:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69072,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69305,"src":"39319:4:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":69081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39319:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39299:56:95"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69083,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69071,"src":"39851:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69084,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69059,"src":"39863:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39851:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39850:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69087,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69061,"src":"39878:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69088,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"39891:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69090,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"39896:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":69091,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69071,"src":"39906:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39896:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39895:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39878:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69095,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39877:40:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69096,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"39921:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69097,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"39925:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39934:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"39925:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39921:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69100,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39920:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39877:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69102,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39876:65:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39850:91:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69104,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39849:93:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69105,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66855,"src":"39945:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39849:103:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69107,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39848:105:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":69108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39969:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39848:124:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69065,"id":69110,"nodeType":"Return","src":"39841:131:95"}]},"documentation":{"id":69055,"nodeType":"StructuredDocumentation","src":"38377:406:95","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"38797:19:95","parameters":{"id":69062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69057,"mutability":"mutable","name":"_timePassed","nameLocation":"38825:11:95","nodeType":"VariableDeclaration","scope":69112,"src":"38817:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69056,"name":"uint256","nodeType":"ElementaryTypeName","src":"38817:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69059,"mutability":"mutable","name":"_lastConv","nameLocation":"38846:9:95","nodeType":"VariableDeclaration","scope":69112,"src":"38838:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69058,"name":"uint256","nodeType":"ElementaryTypeName","src":"38838:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69061,"mutability":"mutable","name":"_oldAmount","nameLocation":"38865:10:95","nodeType":"VariableDeclaration","scope":69112,"src":"38857:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69060,"name":"uint256","nodeType":"ElementaryTypeName","src":"38857:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38816:60:95"},"returnParameters":{"id":69065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69112,"src":"38938:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69063,"name":"uint256","nodeType":"ElementaryTypeName","src":"38938:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38937:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69205,"nodeType":"FunctionDefinition","src":"40560:1549:95","nodes":[],"body":{"id":69204,"nodeType":"Block","src":"40663:1446:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69120,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"40797:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":69121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40811:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"40797:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69127,"nodeType":"IfStatement","src":"40793:66:95","trueBody":{"id":69126,"nodeType":"Block","src":"40814:45:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69123,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66633,"src":"40835:11:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40835:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69125,"nodeType":"RevertStatement","src":"40828:20:95"}]}},{"condition":{"arguments":[{"id":69129,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69115,"src":"41315:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69128,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68636,"src":"41299:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":69130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41299:33:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69135,"nodeType":"IfStatement","src":"41295:91:95","trueBody":{"id":69134,"nodeType":"Block","src":"41334:52:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69131,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66641,"src":"41355:18:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41355:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69133,"nodeType":"RevertStatement","src":"41348:27:95"}]}},{"assignments":[69137],"declarations":[{"constant":false,"id":69137,"mutability":"mutable","name":"denom","nameLocation":"41542:5:95","nodeType":"VariableDeclaration","scope":69204,"src":"41534:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69136,"name":"uint256","nodeType":"ElementaryTypeName","src":"41534:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69156,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69138,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"41551:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41560:8:95","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":66588,"src":"41551:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":69142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":69140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41571:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":69141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41576:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41571:7:95","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41551:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69144,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41550:29:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69145,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41582:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69147,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69115,"src":"41587:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":69150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":69148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41606:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":69149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41611:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41606:7:95","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41587:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69152,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41586:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69153,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65841,"src":"41617:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41586:41:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41550:77:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41534:93:95"},{"expression":{"id":69191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69157,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"41637:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69158,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"41669:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69159,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41678:6:95","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":66590,"src":"41669:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":69160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41688:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41669:22:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41668:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":69163,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41695:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41668:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41667:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69166,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69137,"src":"41702:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69167,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69137,"src":"41710:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41702:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41701:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":69170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41720:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41701:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69172,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41700:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41667:56:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69174,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41666:58:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69175,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41727:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41666:62:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69177,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41665:64:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69178,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"41733:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69179,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"41737:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41746:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"41737:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41733:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69182,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41732:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41665:87:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69184,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41664:89:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":69185,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69313,"src":"41772:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":69186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41772:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41664:136:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69188,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41650:160:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":69189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41814:2:95","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41650:166:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41637:179:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69192,"nodeType":"ExpressionStatement","src":"41637:179:95"},{"expression":{"id":69202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69193,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"42006:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69194,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"42019:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":69195,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"42032:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42041:18:95","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":66594,"src":"42032:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42019:40:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":69199,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"42075:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42084:18:95","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":66594,"src":"42075:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42019:83:95","trueExpression":{"id":69198,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69118,"src":"42062:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42006:96:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69203,"nodeType":"ExpressionStatement","src":"42006:96:95"}]},"documentation":{"id":69113,"nodeType":"StructuredDocumentation","src":"39985:570:95","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"40569:18:95","parameters":{"id":69116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69115,"mutability":"mutable","name":"_requestedAmount","nameLocation":"40596:16:95","nodeType":"VariableDeclaration","scope":69205,"src":"40588:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69114,"name":"uint256","nodeType":"ElementaryTypeName","src":"40588:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40587:26:95"},"returnParameters":{"id":69119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69118,"mutability":"mutable","name":"_threshold","nameLocation":"40651:10:95","nodeType":"VariableDeclaration","scope":69205,"src":"40643:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69117,"name":"uint256","nodeType":"ElementaryTypeName","src":"40643:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40642:20:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69240,"nodeType":"FunctionDefinition","src":"42370:277:95","nodes":[],"body":{"id":69239,"nodeType":"Block","src":"42456:191:95","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69216,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69208,"src":"42474:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":69217,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"42480:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42474:13:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":69219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42489:42:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":69215,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42466:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42466:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69221,"nodeType":"ExpressionStatement","src":"42466:66:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69223,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69210,"src":"42550:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":69224,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"42555:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42550:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":69226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42564:30:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":69222,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42542:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42542:53:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69228,"nodeType":"ExpressionStatement","src":"42542:53:95"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69229,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69208,"src":"42614:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69230,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69210,"src":"42619:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42614:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69232,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42613:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69233,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66855,"src":"42625:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42613:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69235,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42612:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":69236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42637:3:95","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"42612:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69214,"id":69238,"nodeType":"Return","src":"42605:35:95"}]},"documentation":{"id":69206,"nodeType":"StructuredDocumentation","src":"42115:250:95","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"42379:4:95","parameters":{"id":69211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69208,"mutability":"mutable","name":"_a","nameLocation":"42392:2:95","nodeType":"VariableDeclaration","scope":69240,"src":"42384:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69207,"name":"uint256","nodeType":"ElementaryTypeName","src":"42384:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69210,"mutability":"mutable","name":"_b","nameLocation":"42404:2:95","nodeType":"VariableDeclaration","scope":69240,"src":"42396:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69209,"name":"uint256","nodeType":"ElementaryTypeName","src":"42396:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42383:24:95"},"returnParameters":{"id":69214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69213,"mutability":"mutable","name":"_result","nameLocation":"42447:7:95","nodeType":"VariableDeclaration","scope":69240,"src":"42439:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69212,"name":"uint256","nodeType":"ElementaryTypeName","src":"42439:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42438:17:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":69305,"nodeType":"FunctionDefinition","src":"42869:455:95","nodes":[],"body":{"id":69304,"nodeType":"Block","src":"42955:369:95","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69251,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69243,"src":"42973:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":69252,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"42978:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42973:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":69254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42987:30:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":69250,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42965:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42965:53:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69256,"nodeType":"ExpressionStatement","src":"42965:53:95"},{"assignments":[69258],"declarations":[{"constant":false,"id":69258,"mutability":"mutable","name":"a","nameLocation":"43036:1:95","nodeType":"VariableDeclaration","scope":69304,"src":"43028:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69257,"name":"uint256","nodeType":"ElementaryTypeName","src":"43028:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69260,"initialValue":{"id":69259,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69243,"src":"43040:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43028:14:95"},{"assignments":[69262],"declarations":[{"constant":false,"id":69262,"mutability":"mutable","name":"b","nameLocation":"43060:1:95","nodeType":"VariableDeclaration","scope":69304,"src":"43052:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69261,"name":"uint256","nodeType":"ElementaryTypeName","src":"43052:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69264,"initialValue":{"id":69263,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69245,"src":"43064:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43052:14:95"},{"expression":{"id":69267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69265,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69248,"src":"43076:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69266,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66852,"src":"43086:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43076:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69268,"nodeType":"ExpressionStatement","src":"43076:17:95"},{"body":{"id":69302,"nodeType":"Block","src":"43117:201:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69272,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43135:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":69273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43139:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43135:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43144:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43135:10:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69300,"nodeType":"Block","src":"43225:83:95","statements":[{"expression":{"id":69294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69289,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69248,"src":"43243:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69291,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69248,"src":"43258:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69292,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43267:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69290,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69240,"src":"43253:4:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":69293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43253:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43243:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69295,"nodeType":"ExpressionStatement","src":"43243:26:95"},{"expression":{"id":69298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69296,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43287:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":69297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43292:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43287:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69299,"nodeType":"ExpressionStatement","src":"43287:6:95"}]},"id":69301,"nodeType":"IfStatement","src":"43131:177:95","trueBody":{"id":69288,"nodeType":"Block","src":"43147:72:95","statements":[{"expression":{"id":69282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69277,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43165:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69279,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43174:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69280,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69258,"src":"43177:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69278,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69240,"src":"43169:4:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":69281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43169:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43165:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69283,"nodeType":"ExpressionStatement","src":"43165:14:95"},{"expression":{"id":69286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69284,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43197:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":69285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43203:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43197:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69287,"nodeType":"ExpressionStatement","src":"43197:7:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69262,"src":"43110:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43114:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43110:5:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69303,"nodeType":"WhileStatement","src":"43103:215:95"}]},"documentation":{"id":69241,"nodeType":"StructuredDocumentation","src":"42653:211:95","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"42878:4:95","parameters":{"id":69246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69243,"mutability":"mutable","name":"_a","nameLocation":"42891:2:95","nodeType":"VariableDeclaration","scope":69305,"src":"42883:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69242,"name":"uint256","nodeType":"ElementaryTypeName","src":"42883:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69245,"mutability":"mutable","name":"_b","nameLocation":"42903:2:95","nodeType":"VariableDeclaration","scope":69305,"src":"42895:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69244,"name":"uint256","nodeType":"ElementaryTypeName","src":"42895:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42882:24:95"},"returnParameters":{"id":69249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69248,"mutability":"mutable","name":"_result","nameLocation":"42946:7:95","nodeType":"VariableDeclaration","scope":69305,"src":"42938:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69247,"name":"uint256","nodeType":"ElementaryTypeName","src":"42938:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42937:17:95"},"scope":70168,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":69313,"nodeType":"FunctionDefinition","src":"43330:120:95","nodes":[],"body":{"id":69312,"nodeType":"Block","src":"43406:44:95","nodes":[],"statements":[{"expression":{"id":69310,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"43423:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69309,"id":69311,"nodeType":"Return","src":"43416:27:95"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"43339:26:95","parameters":{"id":69306,"nodeType":"ParameterList","parameters":[],"src":"43365:2:95"},"returnParameters":{"id":69309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69313,"src":"43397:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69307,"name":"uint256","nodeType":"ElementaryTypeName","src":"43397:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43396:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69354,"nodeType":"FunctionDefinition","src":"43640:424:95","nodes":[],"body":{"id":69353,"nodeType":"Block","src":"43776:288:95","nodes":[],"statements":[{"assignments":[69323,69325],"declarations":[{"constant":false,"id":69323,"mutability":"mutable","name":"conviction","nameLocation":"43795:10:95","nodeType":"VariableDeclaration","scope":69353,"src":"43787:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69322,"name":"uint256","nodeType":"ElementaryTypeName","src":"43787:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69325,"mutability":"mutable","name":"blockNumber","nameLocation":"43815:11:95","nodeType":"VariableDeclaration","scope":69353,"src":"43807:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69324,"name":"uint256","nodeType":"ElementaryTypeName","src":"43807:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69330,"initialValue":{"arguments":[{"id":69327,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"43864:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":69328,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69319,"src":"43875:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69326,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69401,"src":"43830:33:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":69329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43830:56:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"43786:100:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69331,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69323,"src":"43900:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43914:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43900:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69334,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69325,"src":"43919:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43934:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43919:16:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43900:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69340,"nodeType":"IfStatement","src":"43896:72:95","trueBody":{"id":69339,"nodeType":"Block","src":"43937:31:95","statements":[{"functionReturnParameters":69321,"id":69338,"nodeType":"Return","src":"43951:7:95"}]}},{"expression":{"id":69345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69341,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"43977:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69343,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43987:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"43977:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69344,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69325,"src":"43999:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43977:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69346,"nodeType":"ExpressionStatement","src":"43977:33:95"},{"expression":{"id":69351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69347,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"44020:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44030:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"44020:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69350,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69323,"src":"44047:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44020:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69352,"nodeType":"ExpressionStatement","src":"44020:37:95"}]},"documentation":{"id":69314,"nodeType":"StructuredDocumentation","src":"43456:179:95","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"43649:26:95","parameters":{"id":69320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69317,"mutability":"mutable","name":"_proposal","nameLocation":"43708:9:95","nodeType":"VariableDeclaration","scope":69354,"src":"43676:41:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69316,"nodeType":"UserDefinedTypeName","pathNode":{"id":69315,"name":"StrategyStruct.Proposal","nameLocations":["43676:14:95","43691:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"43676:23:95"},"referencedDeclaration":66564,"src":"43676:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":69319,"mutability":"mutable","name":"_oldStaked","nameLocation":"43727:10:95","nodeType":"VariableDeclaration","scope":69354,"src":"43719:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69318,"name":"uint256","nodeType":"ElementaryTypeName","src":"43719:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43675:63:95"},"returnParameters":{"id":69321,"nodeType":"ParameterList","parameters":[],"src":"43776:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69401,"nodeType":"FunctionDefinition","src":"44070:845:95","nodes":[],"body":{"id":69400,"nodeType":"Block","src":"44284:631:95","nodes":[],"statements":[{"expression":{"id":69369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69366,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44294:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69367,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44308:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44314:6:95","memberName":"number","nodeType":"MemberAccess","src":"44308:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44294:26:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69370,"nodeType":"ExpressionStatement","src":"44294:26:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69372,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44337:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44347:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"44337:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":69374,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44360:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44337:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":69371,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"44330:6:95","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":69376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44330:42:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69377,"nodeType":"ExpressionStatement","src":"44330:42:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69378,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44386:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44396:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"44386:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":69380,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44409:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44386:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69387,"nodeType":"IfStatement","src":"44382:173:95","trueBody":{"id":69386,"nodeType":"Block","src":"44422:133:95","statements":[{"expression":{"components":[{"hexValue":"30","id":69382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44510:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":69383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44513:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":69384,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44509:6:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":69365,"id":69385,"nodeType":"Return","src":"44502:13:95"}]}},{"expression":{"id":69398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69388,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69362,"src":"44608:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69390,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69364,"src":"44764:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69391,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44778:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44788:9:95","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":66546,"src":"44778:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44764:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69394,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69357,"src":"44850:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44860:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"44850:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69396,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69359,"src":"44888:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69389,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69112,"src":"44621:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":69397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44621:287:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44608:300:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69399,"nodeType":"ExpressionStatement","src":"44608:300:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"44079:33:95","parameters":{"id":69360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69357,"mutability":"mutable","name":"_proposal","nameLocation":"44145:9:95","nodeType":"VariableDeclaration","scope":69401,"src":"44113:41:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69356,"nodeType":"UserDefinedTypeName","pathNode":{"id":69355,"name":"StrategyStruct.Proposal","nameLocations":["44113:14:95","44128:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"44113:23:95"},"referencedDeclaration":66564,"src":"44113:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":69359,"mutability":"mutable","name":"_oldStaked","nameLocation":"44164:10:95","nodeType":"VariableDeclaration","scope":69401,"src":"44156:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69358,"name":"uint256","nodeType":"ElementaryTypeName","src":"44156:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44112:63:95"},"returnParameters":{"id":69365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69362,"mutability":"mutable","name":"conviction","nameLocation":"44247:10:95","nodeType":"VariableDeclaration","scope":69401,"src":"44239:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69361,"name":"uint256","nodeType":"ElementaryTypeName","src":"44239:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69364,"mutability":"mutable","name":"blockNumber","nameLocation":"44267:11:95","nodeType":"VariableDeclaration","scope":69401,"src":"44259:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69363,"name":"uint256","nodeType":"ElementaryTypeName","src":"44259:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44238:41:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":69553,"nodeType":"FunctionDefinition","src":"44921:2409:95","nodes":[],"body":{"id":69552,"nodeType":"Block","src":"45084:2246:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69410,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45111:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45129:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"45111:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":69414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45153:1:95","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":69413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45145:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69412,"name":"address","nodeType":"ElementaryTypeName","src":"45145:7:95","typeDescriptions":{}}},"id":69415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45145:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45111:44:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":69419,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45167:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69420,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45185:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"45167:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45159:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69417,"name":"address","nodeType":"ElementaryTypeName","src":"45159:7:95","typeDescriptions":{}}},"id":69421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45159:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":69424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45208:1:95","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":69423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45200:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69422,"name":"address","nodeType":"ElementaryTypeName","src":"45200:7:95","typeDescriptions":{}}},"id":69425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45200:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45159:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:99:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69428,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45252:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45270:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"45252:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69430,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45286:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69432,"indexExpression":{"id":69431,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45304:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45286:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45336:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"45286:62:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45252:96:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"id":69441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69435,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45376:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45394:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"45376:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69437,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45408:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69439,"indexExpression":{"id":69438,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45426:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45408:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45458:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"45408:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"src":"45376:92:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:216:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69443,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45496:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45514:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"45496:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69445,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45571:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69447,"indexExpression":{"id":69446,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45589:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45571:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45621:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"45571:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45496:150:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:394:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69451,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45674:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45692:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"45674:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69453,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45750:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69455,"indexExpression":{"id":69454,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45768:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45750:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45800:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"45750:76:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45674:152:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:574:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69459,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45854:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45872:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"45854:31:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69461,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"45889:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69463,"indexExpression":{"id":69462,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"45907:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45889:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45939:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"45889:63:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45854:98:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:700:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69467,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"45980:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45998:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"45980:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":69469,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46050:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69471,"indexExpression":{"id":69470,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46068:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46050:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46100:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"46050:70:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45980:140:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45252:868:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":69475,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45230:908:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45111:1027:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69543,"nodeType":"IfStatement","src":"45094:2158:95","trueBody":{"id":69542,"nodeType":"Block","src":"46149:1103:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69477,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46184:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69479,"indexExpression":{"id":69478,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46202:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46184:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46234:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46184:62:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69481,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46250:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46268:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46250:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46184:96:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},"id":69490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69484,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46304:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69486,"indexExpression":{"id":69485,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46322:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46304:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46354:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46304:60:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69488,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46368:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46386:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46368:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"src":"46304:92:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46184:212:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69516,"nodeType":"IfStatement","src":"46163:522:95","trueBody":{"id":69515,"nodeType":"Block","src":"46411:274:95","statements":[{"expression":{"arguments":[{"expression":{"id":69497,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46471:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46489:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46471:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":69492,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46429:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46447:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46429:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"id":69496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46458:12:95","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":74764,"src":"46429:41:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":69499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46429:73:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69500,"nodeType":"ExpressionStatement","src":"46429:73:95"},{"eventCall":{"arguments":[{"arguments":[{"id":69504,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46576:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$70168","typeString":"contract CVStrategyV0_0"}],"id":69503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46568:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69502,"name":"address","nodeType":"ElementaryTypeName","src":"46568:7:95","typeDescriptions":{}}},"id":69505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46568:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":69508,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46591:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69509,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46609:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46591:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46583:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69506,"name":"address","nodeType":"ElementaryTypeName","src":"46583:7:95","typeDescriptions":{}}},"id":69510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46583:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69511,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46622:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46640:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46622:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69501,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66822,"src":"46525:21:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":69513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46525:145:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69514,"nodeType":"EmitStatement","src":"46520:150:95"}]}},{"expression":{"id":69518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46699:32:95","subExpression":{"id":69517,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46699:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69519,"nodeType":"ExpressionStatement","src":"46699:32:95"},{"expression":{"id":69524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":69520,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"46745:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69522,"indexExpression":{"id":69521,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46763:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"46745:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69523,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46797:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"46745:69:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69525,"nodeType":"ExpressionStatement","src":"46745:69:95"},{"eventCall":{"arguments":[{"id":69527,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"46875:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69528,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46923:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69529,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46941:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"46923:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"expression":{"id":69530,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"46969:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69531,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46987:12:95","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":66577,"src":"46969:30:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69532,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47017:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47035:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"47017:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69534,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47078:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47096:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"47078:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69536,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47140:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69537,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47158:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"47140:31:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69538,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69404,"src":"47189:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47207:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"47189:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69526,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66843,"src":"46834:23:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$74765_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":69540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46834:407:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69541,"nodeType":"EmitStatement","src":"46829:412:95"}]}},{"expression":{"id":69546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69544,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"47262:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69545,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69407,"src":"47273:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"47262:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69547,"nodeType":"ExpressionStatement","src":"47262:20:95"},{"eventCall":{"arguments":[{"id":69549,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69407,"src":"47313:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":69548,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66789,"src":"47297:15:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$66595_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory)"}},"id":69550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47297:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69551,"nodeType":"EmitStatement","src":"47292:31:95"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"44930:14:95","parameters":{"id":69408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69404,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"44993:17:95","nodeType":"VariableDeclaration","scope":69553,"src":"44954:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69403,"nodeType":"UserDefinedTypeName","pathNode":{"id":69402,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["44954:14:95","44969:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"44954:31:95"},"referencedDeclaration":66586,"src":"44954:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69407,"mutability":"mutable","name":"_cvParams","nameLocation":"45051:9:95","nodeType":"VariableDeclaration","scope":69553,"src":"45020:40:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69406,"nodeType":"UserDefinedTypeName","pathNode":{"id":69405,"name":"StrategyStruct.CVParams","nameLocations":["45020:14:95","45035:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"45020:23:95"},"referencedDeclaration":66595,"src":"45020:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"44944:122:95"},"returnParameters":{"id":69409,"nodeType":"ParameterList","parameters":[],"src":"45084:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69589,"nodeType":"FunctionDefinition","src":"47336:639:95","nodes":[],"body":{"id":69588,"nodeType":"Block","src":"47423:552:95","nodes":[],"statements":[{"assignments":[69564],"declarations":[{"constant":false,"id":69564,"mutability":"mutable","name":"proposal","nameLocation":"47465:8:95","nodeType":"VariableDeclaration","scope":69588,"src":"47433:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69563,"nodeType":"UserDefinedTypeName","pathNode":{"id":69562,"name":"StrategyStruct.Proposal","nameLocations":["47433:14:95","47448:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"47433:23:95"},"referencedDeclaration":66564,"src":"47433:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69568,"initialValue":{"baseExpression":{"id":69565,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"47476:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69567,"indexExpression":{"id":69566,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69555,"src":"47486:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47476:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"47433:64:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69569,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47512:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47521:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"47512:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":69571,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69555,"src":"47535:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47512:33:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69578,"nodeType":"IfStatement","src":"47508:100:95","trueBody":{"id":69577,"nodeType":"Block","src":"47547:61:95","statements":[{"errorCall":{"arguments":[{"id":69574,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69555,"src":"47586:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69573,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"47568:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47568:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69576,"nodeType":"RevertStatement","src":"47561:36:95"}]}},{"expression":{"arguments":[{"id":69580,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47896:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":69581,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47906:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47915:12:95","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":66536,"src":"47906:21:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69579,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69354,"src":"47869:26:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$66564_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":69583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47869:59:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69584,"nodeType":"ExpressionStatement","src":"47869:59:95"},{"expression":{"expression":{"id":69585,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69564,"src":"47945:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47954:14:95","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":66538,"src":"47945:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69559,"id":69587,"nodeType":"Return","src":"47938:30:95"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"47345:24:95","parameters":{"id":69556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69555,"mutability":"mutable","name":"proposalId","nameLocation":"47378:10:95","nodeType":"VariableDeclaration","scope":69589,"src":"47370:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69554,"name":"uint256","nodeType":"ElementaryTypeName","src":"47370:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47369:20:95"},"returnParameters":{"id":69559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69558,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69589,"src":"47414:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69557,"name":"uint256","nodeType":"ElementaryTypeName","src":"47414:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47413:9:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":69609,"nodeType":"FunctionDefinition","src":"47981:141:95","nodes":[],"body":{"id":69608,"nodeType":"Block","src":"48061:61:95","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69596,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69591,"src":"48080:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":69597,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"48089:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48080:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69599,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48079:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69600,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66849,"src":"48095:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69601,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"48099:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":69602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48108:5:95","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":66592,"src":"48099:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48095:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69604,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48094:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48079:35:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":69606,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48078:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69595,"id":69607,"nodeType":"Return","src":"48071:44:95"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"47990:16:95","parameters":{"id":69592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69591,"mutability":"mutable","name":"amount","nameLocation":"48015:6:95","nodeType":"VariableDeclaration","scope":69609,"src":"48007:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69590,"name":"uint256","nodeType":"ElementaryTypeName","src":"48007:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48006:16:95"},"returnParameters":{"id":69595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69609,"src":"48052:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69593,"name":"uint256","nodeType":"ElementaryTypeName","src":"48052:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48051:9:95"},"scope":70168,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":69628,"nodeType":"FunctionDefinition","src":"48473:189:95","nodes":[],"body":{"id":69627,"nodeType":"Block","src":"48536:126:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69614,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67167,"src":"48546:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48546:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69616,"nodeType":"ExpressionStatement","src":"48546:17:95"},{"expression":{"arguments":[{"id":69618,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69611,"src":"48592:12:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69617,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67149,"src":"48573:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48573:32:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69620,"nodeType":"ExpressionStatement","src":"48573:32:95"},{"expression":{"id":69625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69621,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"48615:11:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69623,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69611,"src":"48642:12:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69622,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"48629:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70536_$","typeString":"type(contract ISybilScorer)"}},"id":69624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48629:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"src":"48615:40:95","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70536","typeString":"contract ISybilScorer"}},"id":69626,"nodeType":"ExpressionStatement","src":"48615:40:95"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"48482:14:95","parameters":{"id":69612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69611,"mutability":"mutable","name":"_sybilScorer","nameLocation":"48505:12:95","nodeType":"VariableDeclaration","scope":69628,"src":"48497:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69610,"name":"address","nodeType":"ElementaryTypeName","src":"48497:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48496:22:95"},"returnParameters":{"id":69613,"nodeType":"ParameterList","parameters":[],"src":"48536:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69646,"nodeType":"FunctionDefinition","src":"48668:250:95","nodes":[],"body":{"id":69645,"nodeType":"Block","src":"48830:88:95","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69637,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67167,"src":"48840:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48840:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69639,"nodeType":"ExpressionStatement","src":"48840:17:95"},{"expression":{"arguments":[{"id":69641,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69631,"src":"48882:17:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":69642,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69634,"src":"48901:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":69640,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69553,"src":"48867:14:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$66586_memory_ptr_$_t_struct$_CVParams_$66595_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":69643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48867:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69644,"nodeType":"ExpressionStatement","src":"48867:44:95"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"48677:13:95","parameters":{"id":69635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69631,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"48739:17:95","nodeType":"VariableDeclaration","scope":69646,"src":"48700:56:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69630,"nodeType":"UserDefinedTypeName","pathNode":{"id":69629,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["48700:14:95","48715:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"48700:31:95"},"referencedDeclaration":66586,"src":"48700:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69634,"mutability":"mutable","name":"_cvParams","nameLocation":"48797:9:95","nodeType":"VariableDeclaration","scope":69646,"src":"48766:40:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69633,"nodeType":"UserDefinedTypeName","pathNode":{"id":69632,"name":"StrategyStruct.CVParams","nameLocations":["48766:14:95","48781:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66595,"src":"48766:23:95"},"referencedDeclaration":66595,"src":"48766:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$66595_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"48690:122:95"},"returnParameters":{"id":69636,"nodeType":"ParameterList","parameters":[],"src":"48830:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69839,"nodeType":"FunctionDefinition","src":"48924:2405:95","nodes":[],"body":{"id":69838,"nodeType":"Block","src":"49110:2219:95","nodes":[],"statements":[{"assignments":[69661],"declarations":[{"constant":false,"id":69661,"mutability":"mutable","name":"proposal","nameLocation":"49152:8:95","nodeType":"VariableDeclaration","scope":69838,"src":"49120:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69660,"nodeType":"UserDefinedTypeName","pathNode":{"id":69659,"name":"StrategyStruct.Proposal","nameLocations":["49120:14:95","49135:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"49120:23:95"},"referencedDeclaration":66564,"src":"49120:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69665,"initialValue":{"baseExpression":{"id":69662,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"49163:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69664,"indexExpression":{"id":69663,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49173:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49163:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49120:64:95"},{"assignments":[69670],"declarations":[{"constant":false,"id":69670,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"49233:16:95","nodeType":"VariableDeclaration","scope":69838,"src":"49194:55:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69669,"nodeType":"UserDefinedTypeName","pathNode":{"id":69668,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["49194:14:95","49209:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"49194:31:95"},"referencedDeclaration":66586,"src":"49194:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":69675,"initialValue":{"baseExpression":{"id":69671,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"49252:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69674,"indexExpression":{"expression":{"id":69672,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"49270:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49279:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"49270:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49252:51:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49194:109:95"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":69678,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"49326:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69679,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49343:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"49326:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49318:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69676,"name":"address","nodeType":"ElementaryTypeName","src":"49318:7:95","typeDescriptions":{}}},"id":69680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49318:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49366:1:95","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":69682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49358:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69681,"name":"address","nodeType":"ElementaryTypeName","src":"49358:7:95","typeDescriptions":{}}},"id":69684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49358:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49318:50:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69690,"nodeType":"IfStatement","src":"49314:112:95","trueBody":{"id":69689,"nodeType":"Block","src":"49370:56:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69686,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"49391:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49391:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69688,"nodeType":"RevertStatement","src":"49384:31:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69691,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"49603:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49612:10:95","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":66532,"src":"49603:19:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":69693,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49626:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49603:33:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69700,"nodeType":"IfStatement","src":"49599:100:95","trueBody":{"id":69699,"nodeType":"Block","src":"49638:61:95","statements":[{"errorCall":{"arguments":[{"id":69696,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49677:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69695,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"49659:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49659:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69698,"nodeType":"RevertStatement","src":"49652:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":69706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69701,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"49712:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49721:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"49712:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69703,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"49739:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49754:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"49739:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49769:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"49739:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49712:63:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69712,"nodeType":"IfStatement","src":"49708:130:95","trueBody":{"id":69711,"nodeType":"Block","src":"49777:61:95","statements":[{"errorCall":{"arguments":[{"id":69708,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"49816:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69707,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"49798:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49798:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69710,"nodeType":"RevertStatement","src":"49791:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69713,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49851:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49855:5:95","memberName":"value","nodeType":"MemberAccess","src":"49851:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69715,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"49863:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49880:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"49863:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49851:55:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69726,"nodeType":"IfStatement","src":"49847:171:95","trueBody":{"id":69725,"nodeType":"Block","src":"49908:110:95","statements":[{"errorCall":{"arguments":[{"expression":{"id":69719,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49952:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49956:5:95","memberName":"value","nodeType":"MemberAccess","src":"49952:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69721,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"49963:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69722,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49980:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"49963:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69718,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66705,"src":"49929:22:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":69723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49929:78:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69724,"nodeType":"RevertStatement","src":"49922:85:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69727,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50137:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50146:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"50137:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":69729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50171:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50137:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69731,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50192:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69732,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50201:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"50192:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69733,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66867,"src":"50225:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:53:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":69735,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50248:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50254:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"50248:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50192:71:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50137:126:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69751,"nodeType":"IfStatement","src":"50120:325:95","trueBody":{"id":69750,"nodeType":"Block","src":"50274:171:95","statements":[{"errorCall":{"arguments":[{"id":69740,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"50337:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69741,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50349:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50358:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"50349:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":69743,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66867,"src":"50382:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:53:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69745,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50405:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50411:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"50405:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50349:71:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69739,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66727,"src":"50295:24:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":69748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50295:139:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69749,"nodeType":"RevertStatement","src":"50288:146:95"}]}},{"assignments":[69753],"declarations":[{"constant":false,"id":69753,"mutability":"mutable","name":"arbitrationFee","nameLocation":"50463:14:95","nodeType":"VariableDeclaration","scope":69838,"src":"50455:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69752,"name":"uint256","nodeType":"ElementaryTypeName","src":"50455:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69754,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50480:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50484:5:95","memberName":"value","nodeType":"MemberAccess","src":"50480:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":69756,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"50492:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69757,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50509:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"50492:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50480:55:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50455:80:95"},{"expression":{"arguments":[{"id":69766,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"50632:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69767,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50644:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50648:6:95","memberName":"sender","nodeType":"MemberAccess","src":"50644:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":69760,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"50546:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50562:17:95","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74777,"src":"50546:33:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":69765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":69763,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"50587:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50604:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"50587:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50546:85:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":69769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50546:109:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69770,"nodeType":"ExpressionStatement","src":"50546:109:95"},{"expression":{"id":69780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69771,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"50666:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69777,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66864,"src":"50743:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69778,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69652,"src":"50759:10:95","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":69772,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"50678:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50695:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"50678:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},"id":69774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50706:13:95","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":74712,"src":"50678:41:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":69776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":69775,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69753,"src":"50727:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50678:64:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":69779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50678:92:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50666:104:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69781,"nodeType":"ExpressionStatement","src":"50666:104:95"},{"expression":{"id":69788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69782,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50781:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50790:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"50781:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69785,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"50807:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50822:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"50807:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50837:8:95","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":66521,"src":"50807:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"50781:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69789,"nodeType":"ExpressionStatement","src":"50781:64:95"},{"expression":{"id":69796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":69790,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50855:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50864:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"50855:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50876:9:95","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":66525,"src":"50855:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69795,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"50888:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50855:42:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69797,"nodeType":"ExpressionStatement","src":"50855:42:95"},{"expression":{"id":69805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":69798,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50907:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50916:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"50907:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50928:16:95","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":66527,"src":"50907:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69803,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50947:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50953:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"50947:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50907:55:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69806,"nodeType":"ExpressionStatement","src":"50907:55:95"},{"expression":{"id":69814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":69807,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"50972:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69810,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50981:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"50972:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"50993:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"50972:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69812,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51006:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51010:6:95","memberName":"sender","nodeType":"MemberAccess","src":"51006:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"50972:44:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69815,"nodeType":"ExpressionStatement","src":"50972:44:95"},{"expression":{"id":69820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":69816,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66922,"src":"51026:21:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":69818,"indexExpression":{"id":69817,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"51048:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51026:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69819,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"51061:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51026:45:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69821,"nodeType":"ExpressionStatement","src":"51026:45:95"},{"expression":{"id":69823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51082:14:95","subExpression":{"id":69822,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66875,"src":"51082:12:95","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":69824,"nodeType":"ExpressionStatement","src":"51082:14:95"},{"eventCall":{"arguments":[{"expression":{"id":69826,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69670,"src":"51142:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51159:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"51142:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"id":69828,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69648,"src":"51183:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69829,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69655,"src":"51207:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69830,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51230:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51234:6:95","memberName":"sender","nodeType":"MemberAccess","src":"51230:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69832,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69650,"src":"51254:7:95","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":69833,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69661,"src":"51275:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51284:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"51275:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51296:16:95","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":66527,"src":"51275:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69825,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66814,"src":"51112:16:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74765_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":69836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51112:210:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69837,"nodeType":"EmitStatement","src":"51107:215:95"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"48933:15:95","parameters":{"id":69653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69648,"mutability":"mutable","name":"proposalId","nameLocation":"48957:10:95","nodeType":"VariableDeclaration","scope":69839,"src":"48949:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69647,"name":"uint256","nodeType":"ElementaryTypeName","src":"48949:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69650,"mutability":"mutable","name":"context","nameLocation":"48985:7:95","nodeType":"VariableDeclaration","scope":69839,"src":"48969:23:95","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":69649,"name":"string","nodeType":"ElementaryTypeName","src":"48969:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":69652,"mutability":"mutable","name":"_extraData","nameLocation":"49009:10:95","nodeType":"VariableDeclaration","scope":69839,"src":"48994:25:95","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":69651,"name":"bytes","nodeType":"ElementaryTypeName","src":"48994:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48948:72:95"},"returnParameters":{"id":69656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69655,"mutability":"mutable","name":"disputeId","nameLocation":"49095:9:95","nodeType":"VariableDeclaration","scope":69839,"src":"49087:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69654,"name":"uint256","nodeType":"ElementaryTypeName","src":"49087:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49086:19:95"},"scope":70168,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":70095,"nodeType":"FunctionDefinition","src":"51335:2994:95","nodes":[],"body":{"id":70094,"nodeType":"Block","src":"51412:2917:95","nodes":[],"statements":[{"assignments":[69848],"declarations":[{"constant":false,"id":69848,"mutability":"mutable","name":"proposalId","nameLocation":"51430:10:95","nodeType":"VariableDeclaration","scope":70094,"src":"51422:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69847,"name":"uint256","nodeType":"ElementaryTypeName","src":"51422:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69852,"initialValue":{"baseExpression":{"id":69849,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66922,"src":"51443:21:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":69851,"indexExpression":{"id":69850,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69841,"src":"51465:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51443:33:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51422:54:95"},{"assignments":[69857],"declarations":[{"constant":false,"id":69857,"mutability":"mutable","name":"proposal","nameLocation":"51518:8:95","nodeType":"VariableDeclaration","scope":70094,"src":"51486:40:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69856,"nodeType":"UserDefinedTypeName","pathNode":{"id":69855,"name":"StrategyStruct.Proposal","nameLocations":["51486:14:95","51501:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":66564,"src":"51486:23:95"},"referencedDeclaration":66564,"src":"51486:23:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69861,"initialValue":{"baseExpression":{"id":69858,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"51529:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69860,"indexExpression":{"id":69859,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51539:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51529:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51486:64:95"},{"assignments":[69866],"declarations":[{"constant":false,"id":69866,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"51599:16:95","nodeType":"VariableDeclaration","scope":70094,"src":"51560:55:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69865,"nodeType":"UserDefinedTypeName","pathNode":{"id":69864,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["51560:14:95","51575:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":66586,"src":"51560:31:95"},"referencedDeclaration":66586,"src":"51560:31:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":69871,"initialValue":{"baseExpression":{"id":69867,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"51618:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69870,"indexExpression":{"expression":{"id":69868,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"51636:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51645:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"51636:32:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51618:51:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51560:109:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69872,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51684:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51698:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51684:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69880,"nodeType":"IfStatement","src":"51680:82:95","trueBody":{"id":69879,"nodeType":"Block","src":"51701:61:95","statements":[{"errorCall":{"arguments":[{"id":69876,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51740:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69875,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66677,"src":"51722:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51722:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69878,"nodeType":"RevertStatement","src":"51715:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":69886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69881,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"51775:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51784:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"51775:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69883,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"51802:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51817:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"51802:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51832:8:95","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":66521,"src":"51802:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"51775:65:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69892,"nodeType":"IfStatement","src":"51771:134:95","trueBody":{"id":69891,"nodeType":"Block","src":"51842:63:95","statements":[{"errorCall":{"arguments":[{"id":69888,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"51883:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69887,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66711,"src":"51863:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51863:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69890,"nodeType":"RevertStatement","src":"51856:38:95"}]}},{"assignments":[69894],"declarations":[{"constant":false,"id":69894,"mutability":"mutable","name":"isTimeOut","nameLocation":"51920:9:95","nodeType":"VariableDeclaration","scope":70094,"src":"51915:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69893,"name":"bool","nodeType":"ElementaryTypeName","src":"51915:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":69904,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69895,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"51932:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51938:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"51932:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":69897,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"51950:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51959:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"51950:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51971:16:95","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":66527,"src":"51950:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":69900,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"51990:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69901,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52007:20:95","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":66585,"src":"51990:37:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51950:77:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51932:95:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"51915:112:95"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"52042:10:95","subExpression":{"id":69905,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69894,"src":"52043:9:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69907,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"52056:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52060:6:95","memberName":"sender","nodeType":"MemberAccess","src":"52056:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":69911,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52078:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52095:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"52078:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}],"id":69910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52070:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69909,"name":"address","nodeType":"ElementaryTypeName","src":"52070:7:95","typeDescriptions":{}}},"id":69913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52070:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52056:50:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52042:64:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69920,"nodeType":"IfStatement","src":"52038:118:95","trueBody":{"id":69919,"nodeType":"Block","src":"52108:48:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69916,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66707,"src":"52129:14:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52129:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69918,"nodeType":"RevertStatement","src":"52122:23:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69921,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69894,"src":"52170:9:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69922,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"52183:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52194:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52183:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52170:25:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69985,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"52967:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52978:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52967:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70014,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"53339:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":70015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53350:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53339:12:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70074,"nodeType":"IfStatement","src":"53335:834:95","trueBody":{"id":70073,"nodeType":"Block","src":"53353:816:95","statements":[{"expression":{"id":70023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":70017,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53367:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53376:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"53367:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":70020,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"53393:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":70021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53408:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"53393:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":70022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53423:8:95","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":66522,"src":"53393:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53367:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":70024,"nodeType":"ExpressionStatement","src":"53367:64:95"},{"expression":{"arguments":[{"id":70028,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53497:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":70029,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53509:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53518:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"53509:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":70031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53530:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"53509:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70032,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"53542:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":70033,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53559:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"53542:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70025,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53445:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53461:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"53445:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":70034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53445:154:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70035,"nodeType":"ExpressionStatement","src":"53445:154:95"},{"expression":{"arguments":[{"id":70039,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53668:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":70040,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53696:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53705:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"53696:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":70044,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"53740:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":70045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53758:11:95","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71426,"src":"53740:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74891_$","typeString":"function () view external returns (contract ISafe)"}},"id":70046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53740:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":70043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53732:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70042,"name":"address","nodeType":"ElementaryTypeName","src":"53732:7:95","typeDescriptions":{}}},"id":70047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53732:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70048,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"53790:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":70050,"indexExpression":{"id":70049,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"53808:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53790:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":70051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53840:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"53790:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":70052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53868:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53790:79:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70036,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53613:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53629:21:95","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"53613:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":70054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53613:270:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70055,"nodeType":"ExpressionStatement","src":"53613:270:95"},{"expression":{"arguments":[{"id":70059,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53952:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":70060,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53980:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53989:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"53980:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":70062,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"54016:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70063,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54025:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"54016:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":70064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54037:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"54016:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70065,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"54065:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":70067,"indexExpression":{"id":70066,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66879,"src":"54083:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54065:49:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":70068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54115:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"54065:75:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":70069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54143:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54065:79:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70056,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53897:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53913:21:95","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"53897:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":70071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53897:261:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70072,"nodeType":"ExpressionStatement","src":"53897:261:95"}]}},"id":70075,"nodeType":"IfStatement","src":"52963:1206:95","trueBody":{"id":70013,"nodeType":"Block","src":"52981:348:95","statements":[{"expression":{"id":69994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69988,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52995:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53004:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"52995:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69991,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"53021:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53036:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"53021:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53051:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"53021:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52995:62:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69995,"nodeType":"ExpressionStatement","src":"52995:62:95"},{"expression":{"arguments":[{"id":69999,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"53126:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":70000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"53154:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53163:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"53154:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":70002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53175:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"53154:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":70005,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"53211:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"id":70006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53229:11:95","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71426,"src":"53211:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74891_$","typeString":"function () view external returns (contract ISafe)"}},"id":70007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53211:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":70004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53203:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70003,"name":"address","nodeType":"ElementaryTypeName","src":"53203:7:95","typeDescriptions":{}}},"id":70008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53203:40:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70009,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"53261:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":70010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53278:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"53261:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69996,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"53071:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53087:21:95","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"53071:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":70011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53071:247:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70012,"nodeType":"ExpressionStatement","src":"53071:247:95"}]}},"id":70076,"nodeType":"IfStatement","src":"52166:2003:95","trueBody":{"id":69984,"nodeType":"Block","src":"52197:760:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69926,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52215:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52232:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"52215:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":69928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52249:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52215:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69934,"nodeType":"IfStatement","src":"52211:102:95","trueBody":{"id":69933,"nodeType":"Block","src":"52252:61:95","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69930,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66721,"src":"52277:19:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52277:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69932,"nodeType":"RevertStatement","src":"52270:28:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69935,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52330:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52347:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"52330:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52364:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52330:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69948,"nodeType":"IfStatement","src":"52326:136:95","trueBody":{"id":69947,"nodeType":"Block","src":"52367:95:95","statements":[{"expression":{"id":69945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69939,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52385:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52394:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"52385:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69942,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"52411:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52426:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"52411:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52441:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"52411:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52385:62:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69946,"nodeType":"ExpressionStatement","src":"52385:62:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69949,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52479:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52496:13:95","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":66583,"src":"52479:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52513:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52479:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69972,"nodeType":"IfStatement","src":"52475:304:95","trueBody":{"id":69971,"nodeType":"Block","src":"52516:263:95","statements":[{"expression":{"id":69959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69953,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52534:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52543:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"52534:23:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69956,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"52560:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":69957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52575:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"52560:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52590:8:95","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":66522,"src":"52560:38:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52534:64:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69960,"nodeType":"ExpressionStatement","src":"52534:64:95"},{"expression":{"arguments":[{"id":69964,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"52672:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69965,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52684:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52693:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"52684:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69967,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52704:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52721:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"52704:42:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69961,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"52616:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52632:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"52616:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52616:148:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69970,"nodeType":"ExpressionStatement","src":"52616:148:95"}]}},{"expression":{"arguments":[{"id":69976,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69848,"src":"52844:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69977,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"52856:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52865:11:95","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"52856:20:95","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$66530_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52877:10:95","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":66529,"src":"52856:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69980,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"52889:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52906:26:95","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66581,"src":"52889:43:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69973,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"52792:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":69975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52808:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"52792:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52792:154:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69983,"nodeType":"ExpressionStatement","src":"52792:154:95"}]}},{"expression":{"id":70078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"54179:14:95","subExpression":{"id":70077,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66875,"src":"54179:12:95","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":70079,"nodeType":"ExpressionStatement","src":"54179:14:95"},{"expression":{"id":70085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":70080,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69857,"src":"54203:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":70082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54212:21:95","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":66561,"src":"54203:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70083,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54236:5:95","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":70084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54242:9:95","memberName":"timestamp","nodeType":"MemberAccess","src":"54236:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"54203:48:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70086,"nodeType":"ExpressionStatement","src":"54203:48:95"},{"eventCall":{"arguments":[{"expression":{"id":70088,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69866,"src":"54273:16:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":70089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54290:10:95","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":66575,"src":"54273:27:95","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"}},{"id":70090,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69841,"src":"54302:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":70091,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69843,"src":"54314:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74765","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70087,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74652,"src":"54266:6:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74765_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":70092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54266:56:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70093,"nodeType":"EmitStatement","src":"54261:61:95"}]},"baseFunctions":[74660],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"51344:4:95","overrides":{"id":69845,"nodeType":"OverrideSpecifier","overrides":[],"src":"51403:8:95"},"parameters":{"id":69844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69841,"mutability":"mutable","name":"_disputeID","nameLocation":"51357:10:95","nodeType":"VariableDeclaration","scope":70095,"src":"51349:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69840,"name":"uint256","nodeType":"ElementaryTypeName","src":"51349:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69843,"mutability":"mutable","name":"_ruling","nameLocation":"51377:7:95","nodeType":"VariableDeclaration","scope":70095,"src":"51369:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69842,"name":"uint256","nodeType":"ElementaryTypeName","src":"51369:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51348:37:95"},"returnParameters":{"id":69846,"nodeType":"ParameterList","parameters":[],"src":"51412:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":70163,"nodeType":"FunctionDefinition","src":"54335:732:95","nodes":[],"body":{"id":70162,"nodeType":"Block","src":"54396:671:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"},"id":70107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70100,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54410:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70102,"indexExpression":{"id":70101,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54420:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54410:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70103,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54432:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"54410:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":70104,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"54450:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":70105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54465:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"54450:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":70106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54480:6:95","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":66517,"src":"54450:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54410:76:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70113,"nodeType":"IfStatement","src":"54406:143:95","trueBody":{"id":70112,"nodeType":"Block","src":"54488:61:95","statements":[{"errorCall":{"arguments":[{"id":70109,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54527:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70108,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"54509:17:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":70110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54509:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70111,"nodeType":"RevertStatement","src":"54502:36:95"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70114,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54563:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70116,"indexExpression":{"id":70115,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54573:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54563:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54585:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"54563:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":70118,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54598:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54602:6:95","memberName":"sender","nodeType":"MemberAccess","src":"54598:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"54563:45:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70131,"nodeType":"IfStatement","src":"54559:141:95","trueBody":{"id":70130,"nodeType":"Block","src":"54610:90:95","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":70122,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54645:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70124,"indexExpression":{"id":70123,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54655:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54645:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54667:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"54645:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70126,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54678:3:95","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54682:6:95","memberName":"sender","nodeType":"MemberAccess","src":"54678:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70121,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66719,"src":"54631:13:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":70128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54631:58:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70129,"nodeType":"RevertStatement","src":"54624:65:95"}]}},{"expression":{"arguments":[{"id":70135,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54758:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":70136,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54782:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70138,"indexExpression":{"id":70137,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54792:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54782:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54804:9:95","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":66542,"src":"54782:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":70140,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"54827:17:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$66586_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":70145,"indexExpression":{"expression":{"baseExpression":{"id":70141,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54845:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70143,"indexExpression":{"id":70142,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54855:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54845:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54867:23:95","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":66563,"src":"54845:45:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54827:64:95","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$66586_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":70146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54892:25:95","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":66579,"src":"54827:90:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70132,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66901,"src":"54710:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74798","typeString":"contract ICollateralVault"}},"id":70134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54726:18:95","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"54710:34:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":70147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54710:217:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70148,"nodeType":"ExpressionStatement","src":"54710:217:95"},{"expression":{"id":70156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70149,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66909,"src":"54938:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$66564_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":70151,"indexExpression":{"id":70150,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"54948:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54938:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$66564_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":70152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54960:14:95","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":66549,"src":"54938:36:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":70153,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"54977:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":70154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54992:14:95","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":66523,"src":"54977:29:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$66523_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":70155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55007:9:95","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":66519,"src":"54977:39:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54938:78:95","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$66523","typeString":"enum StrategyStruct.ProposalStatus"}},"id":70157,"nodeType":"ExpressionStatement","src":"54938:78:95"},{"eventCall":{"arguments":[{"id":70159,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70097,"src":"55049:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70158,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66826,"src":"55031:17:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":70160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55031:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70161,"nodeType":"EmitStatement","src":"55026:34:95"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"54344:14:95","parameters":{"id":70098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70097,"mutability":"mutable","name":"proposalId","nameLocation":"54367:10:95","nodeType":"VariableDeclaration","scope":70163,"src":"54359:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70096,"name":"uint256","nodeType":"ElementaryTypeName","src":"54359:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54358:20:95"},"returnParameters":{"id":70099,"nodeType":"ParameterList","parameters":[],"src":"54396:0:95"},"scope":70168,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":70167,"nodeType":"VariableDeclaration","src":"55073:25:95","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"55093:5:95","scope":70168,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":70164,"name":"uint256","nodeType":"ElementaryTypeName","src":"55073:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70166,"length":{"hexValue":"3530","id":70165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55081:2:95","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"55073:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":66618,"name":"BaseStrategyUpgradeable","nameLocations":["4010:23:95"],"nodeType":"IdentifierPath","referencedDeclaration":66431,"src":"4010:23:95"},"id":66619,"nodeType":"InheritanceSpecifier","src":"4010:23:95"},{"baseName":{"id":66620,"name":"IArbitrable","nameLocations":["4035:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":74661,"src":"4035:11:95"},"id":66621,"nodeType":"InheritanceSpecifier","src":"4035:11:95"},{"baseName":{"id":66622,"name":"IPointStrategy","nameLocations":["4048:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":66494,"src":"4048:14:95"},"id":66623,"nodeType":"InheritanceSpecifier","src":"4048:14:95"},{"baseName":{"id":66624,"name":"ERC165","nameLocations":["4064:6:95"],"nodeType":"IdentifierPath","referencedDeclaration":57030,"src":"4064:6:95"},"id":66625,"nodeType":"InheritanceSpecifier","src":"4064:6:95"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":66617,"nodeType":"StructuredDocumentation","src":"3939:44:95","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[70168,57030,57236,66494,74661,66431,3089,3317,3106,2969,71125,54969,54622,54271,54281,52200,52993,52449],"name":"CVStrategyV0_0","nameLocation":"3992:14:95","scope":70169,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,66627,66629,66631,66633,66635,66637,66639,66641,66643,66645,66647,66655,66657,66659,66665,66667,66669,66673,66677,66683,66685,66687,66695,66697,66699,66705,66707,66711,66713,66719,66721,66727,71048]}],"license":"AGPL-3.0-only"},"id":95} \ No newline at end of file diff --git a/pkg/contracts/out/ERC20.sol/ERC20.json b/pkg/contracts/out/ERC20.sol/ERC20.json index 016e2c506..9a7b0f572 100644 --- a/pkg/contracts/out/ERC20.sol/ERC20.json +++ b/pkg/contracts/out/ERC20.sol/ERC20.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080604052346200031d5762000c28803803806200001d8162000322565b9283398101906040818303126200031d5780516001600160401b03908181116200031d57836200004f91840162000348565b91602093848201518381116200031d576200006b920162000348565b82518281116200021d576003918254916001958684811c9416801562000312575b88851014620002fc578190601f94858111620002a6575b5088908583116001146200023f5760009262000233575b505060001982861b1c191690861b1783555b80519384116200021d5760049586548681811c9116801562000212575b82821014620001fd57838111620001b2575b508092851160011462000144575093839491849260009562000138575b50501b92600019911b1c19161790555b60405161086d9081620003bb8239f35b01519350388062000118565b92919084601f1981168860005285600020956000905b898383106200019757505050106200017c575b50505050811b01905562000128565b01519060f884600019921b161c19169055388080806200016d565b8587015189559097019694850194889350908101906200015a565b87600052816000208480880160051c820192848910620001f3575b0160051c019087905b828110620001e6575050620000fb565b60008155018790620001d6565b92508192620001cd565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000e9565b634e487b7160e01b600052604160045260246000fd5b015190503880620000ba565b90889350601f19831691876000528a6000209260005b8c8282106200028f575050841162000276575b505050811b018355620000cc565b015160001983881b60f8161c1916905538808062000268565b8385015186558c9790950194938401930162000255565b90915085600052886000208580850160051c8201928b8610620002f2575b918a91869594930160051c01915b828110620002e2575050620000a3565b600081558594508a9101620002d2565b92508192620002c4565b634e487b7160e01b600052602260045260246000fd5b93607f16936200008c565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200021d57604052565b919080601f840112156200031d5782516001600160401b0381116200021d576020906200037e601f8201601f1916830162000322565b928184528282870101116200031d5760005b818110620003a657508260009394955001015290565b85810183015184820184015282016200039056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048f57508163095ea7b31461046557816318160ddd1461044657816323b872dd1461037c578163313ce5671461036057816339509351146102f957816370a08231146102c257816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba610596565b6100c26105b1565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e557602090610112610108610596565b60243590336105c7565b5160018152f35b905082346101be57826003193601126101be57610134610596565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610735565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102b8575b60209384841081146102a5578388529081156102895750600114610251575b505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b0390f35b634e487b7160e01b815260418552602490fd5b919250868652828620918387935b8385106102755750505050830101858080610209565b80548886018301529301928490820161025f565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036102ea610596565b16815280845220549051908152f35b8284346101be57816003193601126101be57610313610596565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061034d57602084610112858533610735565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e557610398610596565b6103a06105b1565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103da575b6020866101128787876105c7565b84821061040357509183916103f86020969561011295033383610735565b9193948193506103cc565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e557602090610112610485610596565b6024359033610735565b8490843461054957826003193601126105495782600354600181811c9080831692831561053f575b60209384841081146102a557838852908115610289575060011461050657505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b91925060038652828620918387935b83851061052b5750505050830101858080610209565b805488860183015293019284908201610515565b91607f16916104b7565b8280fd5b6020808252825181830181905290939260005b82811061058257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610560565b600435906001600160a01b03821682036105ac57565b600080fd5b602435906001600160a01b03821682036105ac57565b6001600160a01b039081169182156106e257169182156106915760008281528060205260408120549180831061063d57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156107e657169182156107965760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea2646970667358221220b3097ce4cf8429a8b8cde43699569fe2a1fb6892ccdbc25006acaa5124fa87a364736f6c63430008130033","sourceMap":"1532:11312:66:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2046:13;1532:11312;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;-1:-1:-1;;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;2069:17;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;2069:17;1532:11312;;-1:-1:-1;1532:11312:66;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;-1:-1:-1;;1532:11312:66;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048f57508163095ea7b31461046557816318160ddd1461044657816323b872dd1461037c578163313ce5671461036057816339509351146102f957816370a08231146102c257816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba610596565b6100c26105b1565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e557602090610112610108610596565b60243590336105c7565b5160018152f35b905082346101be57826003193601126101be57610134610596565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610735565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102b8575b60209384841081146102a5578388529081156102895750600114610251575b505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b0390f35b634e487b7160e01b815260418552602490fd5b919250868652828620918387935b8385106102755750505050830101858080610209565b80548886018301529301928490820161025f565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036102ea610596565b16815280845220549051908152f35b8284346101be57816003193601126101be57610313610596565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061034d57602084610112858533610735565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e557610398610596565b6103a06105b1565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103da575b6020866101128787876105c7565b84821061040357509183916103f86020969561011295033383610735565b9193948193506103cc565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e557602090610112610485610596565b6024359033610735565b8490843461054957826003193601126105495782600354600181811c9080831692831561053f575b60209384841081146102a557838852908115610289575060011461050657505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b91925060038652828620918387935b83851061052b5750505050830101858080610209565b805488860183015293019284908201610515565b91607f16916104b7565b8280fd5b6020808252825181830181905290939260005b82811061058257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610560565b600435906001600160a01b03821682036105ac57565b600080fd5b602435906001600160a01b03821682036105ac57565b6001600160a01b039081169182156106e257169182156106915760008281528060205260408120549180831061063d57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156107e657169182156107965760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea2646970667358221220b3097ce4cf8429a8b8cde43699569fe2a1fb6892ccdbc25006acaa5124fa87a364736f6c63430008130033","sourceMap":"1532:11312:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:6;1532:11312;;:::i;:::-;;;719:10:74;;3894:6:66;:::i;:::-;1532:11312;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;719:10:74;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;6792:35;;;;1532:11312;;;;6928:34;1532:11312;;;;719:10:74;6928:34:66;:::i;1532:11312::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;-1:-1:-1;;1532:11312:66;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;;-1:-1:-1;;1532:11312:66;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:74;1532:11312:66;;;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;719:10:74;6021:38:66;719:10:74;;;6021:38:66;:::i;1532:11312::-;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;3186:2;1532:11312;;;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;719:10:74;1532:11312:66;;;;;;11264:17;;;11244:37;;11240:243;;1532:11312;;5424:6;;;;;;:::i;11240:243::-;11305:26;;;1532:11312;;;;;;11432:25;1532:11312;;;5424:6;1532:11312;;719:10:74;11432:25:66;;:::i;:::-;11240:243;;;;;;;;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3342:12;1532:11312;;;;;;;;;;;;;;;;;;;;;;;4606:6;1532:11312;;:::i;:::-;;;719:10:74;;4606:6:66;:::i;1532:11312::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;-1:-1:-1;;1532:11312:66;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;:::o;7456:788::-;-1:-1:-1;;;;;1532:11312:66;;;;7552:18;;1532:11312;;;7630:16;;;1532:11312;;7568:1;1532:11312;;;;;;;;;;7801:21;;;;1532:11312;;;;;8163:26;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;8163:26;7456:788::o;1532:11312::-;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;10457:340;-1:-1:-1;;;;;1532:11312:66;;;;10558:19;;1532:11312;;;10636:21;;;1532:11312;;;10758:32;1532:11312;;10575:1;1532:11312;;;;;10575:1;1532:11312;;10575:1;1532:11312;;;;;10575:1;1532:11312;;;;;;;10758:32;10457:340::o;1532:11312::-;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":55176,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":55182,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":55184,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":55186,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":55188,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":55748,"exportedSymbols":{"Context":[56659],"ERC20":[55747],"IERC20":[55825],"IERC20Metadata":[55850]},"nodeType":"SourceUnit","src":"105:12740:66","nodes":[{"id":55162,"nodeType":"PragmaDirective","src":"105:23:66","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55163,"nodeType":"ImportDirective","src":"130:22:66","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":55748,"sourceUnit":55826,"symbolAliases":[],"unitAlias":""},{"id":55164,"nodeType":"ImportDirective","src":"153:41:66","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":55748,"sourceUnit":55851,"symbolAliases":[],"unitAlias":""},{"id":55165,"nodeType":"ImportDirective","src":"195:33:66","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":55748,"sourceUnit":56660,"symbolAliases":[],"unitAlias":""},{"id":55747,"nodeType":"ContractDefinition","src":"1532:11312:66","nodes":[{"id":55176,"nodeType":"VariableDeclaration","src":"1588:45:66","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1624:9:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":55175,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55173,"name":"address","nodeType":"ElementaryTypeName","src":"1596:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1588:27:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55174,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":55182,"nodeType":"VariableDeclaration","src":"1640:67:66","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1696:11:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":55181,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55177,"name":"address","nodeType":"ElementaryTypeName","src":"1648:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1640:47:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55180,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55178,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1659:27:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55179,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":55184,"nodeType":"VariableDeclaration","src":"1714:28:66","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1730:12:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55183,"name":"uint256","nodeType":"ElementaryTypeName","src":"1714:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":55186,"nodeType":"VariableDeclaration","src":"1749:20:66","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1764:5:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55185,"name":"string","nodeType":"ElementaryTypeName","src":"1749:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55188,"nodeType":"VariableDeclaration","src":"1775:22:66","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1790:7:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55187,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55205,"nodeType":"FunctionDefinition","src":"1980:113:66","nodes":[],"body":{"id":55204,"nodeType":"Block","src":"2036:57:66","nodes":[],"statements":[{"expression":{"id":55198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55196,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55186,"src":"2046:5:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55197,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55191,"src":"2054:5:66","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2046:13:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55199,"nodeType":"ExpressionStatement","src":"2046:13:66"},{"expression":{"id":55202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55200,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55188,"src":"2069:7:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55201,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55193,"src":"2079:7:66","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2069:17:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55203,"nodeType":"ExpressionStatement","src":"2069:17:66"}]},"documentation":{"id":55189,"nodeType":"StructuredDocumentation","src":"1804:171:66","text":" @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":55194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55191,"mutability":"mutable","name":"name_","nameLocation":"2006:5:66","nodeType":"VariableDeclaration","scope":55205,"src":"1992:19:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55190,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55193,"mutability":"mutable","name":"symbol_","nameLocation":"2027:7:66","nodeType":"VariableDeclaration","scope":55205,"src":"2013:21:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55192,"name":"string","nodeType":"ElementaryTypeName","src":"2013:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1991:44:66"},"returnParameters":{"id":55195,"nodeType":"ParameterList","parameters":[],"src":"2036:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55215,"nodeType":"FunctionDefinition","src":"2158:98:66","nodes":[],"body":{"id":55214,"nodeType":"Block","src":"2227:29:66","nodes":[],"statements":[{"expression":{"id":55212,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55186,"src":"2244:5:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55211,"id":55213,"nodeType":"Return","src":"2237:12:66"}]},"baseFunctions":[55837],"documentation":{"id":55206,"nodeType":"StructuredDocumentation","src":"2099:54:66","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2167:4:66","overrides":{"id":55208,"nodeType":"OverrideSpecifier","overrides":[],"src":"2194:8:66"},"parameters":{"id":55207,"nodeType":"ParameterList","parameters":[],"src":"2171:2:66"},"returnParameters":{"id":55211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55215,"src":"2212:13:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55209,"name":"string","nodeType":"ElementaryTypeName","src":"2212:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2211:15:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55225,"nodeType":"FunctionDefinition","src":"2369:102:66","nodes":[],"body":{"id":55224,"nodeType":"Block","src":"2440:31:66","nodes":[],"statements":[{"expression":{"id":55222,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55188,"src":"2457:7:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55221,"id":55223,"nodeType":"Return","src":"2450:14:66"}]},"baseFunctions":[55843],"documentation":{"id":55216,"nodeType":"StructuredDocumentation","src":"2262:102:66","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2378:6:66","overrides":{"id":55218,"nodeType":"OverrideSpecifier","overrides":[],"src":"2407:8:66"},"parameters":{"id":55217,"nodeType":"ParameterList","parameters":[],"src":"2384:2:66"},"returnParameters":{"id":55221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55225,"src":"2425:13:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55219,"name":"string","nodeType":"ElementaryTypeName","src":"2425:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2424:15:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55235,"nodeType":"FunctionDefinition","src":"3104:91:66","nodes":[],"body":{"id":55234,"nodeType":"Block","src":"3169:26:66","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":55232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3186:2:66","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":55231,"id":55233,"nodeType":"Return","src":"3179:9:66"}]},"baseFunctions":[55849],"documentation":{"id":55226,"nodeType":"StructuredDocumentation","src":"2477:622:66","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3113:8:66","overrides":{"id":55228,"nodeType":"OverrideSpecifier","overrides":[],"src":"3144:8:66"},"parameters":{"id":55227,"nodeType":"ParameterList","parameters":[],"src":"3121:2:66"},"returnParameters":{"id":55231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55235,"src":"3162:5:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55229,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:66","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3161:7:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55245,"nodeType":"FunctionDefinition","src":"3255:106:66","nodes":[],"body":{"id":55244,"nodeType":"Block","src":"3325:36:66","nodes":[],"statements":[{"expression":{"id":55242,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"3342:12:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55241,"id":55243,"nodeType":"Return","src":"3335:19:66"}]},"baseFunctions":[55774],"documentation":{"id":55236,"nodeType":"StructuredDocumentation","src":"3201:49:66","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3264:11:66","overrides":{"id":55238,"nodeType":"OverrideSpecifier","overrides":[],"src":"3298:8:66"},"parameters":{"id":55237,"nodeType":"ParameterList","parameters":[],"src":"3275:2:66"},"returnParameters":{"id":55241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55245,"src":"3316:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55239,"name":"uint256","nodeType":"ElementaryTypeName","src":"3316:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3315:9:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55259,"nodeType":"FunctionDefinition","src":"3419:125:66","nodes":[],"body":{"id":55258,"nodeType":"Block","src":"3502:42:66","nodes":[],"statements":[{"expression":{"baseExpression":{"id":55254,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"3519:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55256,"indexExpression":{"id":55255,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55248,"src":"3529:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3519:18:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55253,"id":55257,"nodeType":"Return","src":"3512:25:66"}]},"baseFunctions":[55782],"documentation":{"id":55246,"nodeType":"StructuredDocumentation","src":"3367:47:66","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3428:9:66","overrides":{"id":55250,"nodeType":"OverrideSpecifier","overrides":[],"src":"3475:8:66"},"parameters":{"id":55249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55248,"mutability":"mutable","name":"account","nameLocation":"3446:7:66","nodeType":"VariableDeclaration","scope":55259,"src":"3438:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55247,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:17:66"},"returnParameters":{"id":55253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55252,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55259,"src":"3493:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55251,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3492:9:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55284,"nodeType":"FunctionDefinition","src":"3740:189:66","nodes":[],"body":{"id":55283,"nodeType":"Block","src":"3825:104:66","nodes":[],"statements":[{"assignments":[55271],"declarations":[{"constant":false,"id":55271,"mutability":"mutable","name":"owner","nameLocation":"3843:5:66","nodeType":"VariableDeclaration","scope":55283,"src":"3835:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55270,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55274,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55272,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"3851:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3835:28:66"},{"expression":{"arguments":[{"id":55276,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55271,"src":"3883:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55277,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55262,"src":"3890:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55278,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55264,"src":"3894:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55275,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55507,"src":"3873:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:28:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55280,"nodeType":"ExpressionStatement","src":"3873:28:66"},{"expression":{"hexValue":"74727565","id":55281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3918:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55269,"id":55282,"nodeType":"Return","src":"3911:11:66"}]},"baseFunctions":[55792],"documentation":{"id":55260,"nodeType":"StructuredDocumentation","src":"3550:185:66","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3749:8:66","overrides":{"id":55266,"nodeType":"OverrideSpecifier","overrides":[],"src":"3801:8:66"},"parameters":{"id":55265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55262,"mutability":"mutable","name":"to","nameLocation":"3766:2:66","nodeType":"VariableDeclaration","scope":55284,"src":"3758:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55261,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55264,"mutability":"mutable","name":"amount","nameLocation":"3778:6:66","nodeType":"VariableDeclaration","scope":55284,"src":"3770:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55263,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3757:28:66"},"returnParameters":{"id":55269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55284,"src":"3819:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55267,"name":"bool","nodeType":"ElementaryTypeName","src":"3819:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3818:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55302,"nodeType":"FunctionDefinition","src":"3987:149:66","nodes":[],"body":{"id":55301,"nodeType":"Block","src":"4085:51:66","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":55295,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55182,"src":"4102:11:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":55297,"indexExpression":{"id":55296,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55287,"src":"4114:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:18:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55299,"indexExpression":{"id":55298,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55289,"src":"4121:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:27:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55294,"id":55300,"nodeType":"Return","src":"4095:34:66"}]},"baseFunctions":[55802],"documentation":{"id":55285,"nodeType":"StructuredDocumentation","src":"3935:47:66","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3996:9:66","overrides":{"id":55291,"nodeType":"OverrideSpecifier","overrides":[],"src":"4058:8:66"},"parameters":{"id":55290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55287,"mutability":"mutable","name":"owner","nameLocation":"4014:5:66","nodeType":"VariableDeclaration","scope":55302,"src":"4006:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55286,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55289,"mutability":"mutable","name":"spender","nameLocation":"4029:7:66","nodeType":"VariableDeclaration","scope":55302,"src":"4021:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55288,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:32:66"},"returnParameters":{"id":55294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55302,"src":"4076:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55292,"name":"uint256","nodeType":"ElementaryTypeName","src":"4076:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:9:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55327,"nodeType":"FunctionDefinition","src":"4444:197:66","nodes":[],"body":{"id":55326,"nodeType":"Block","src":"4533:108:66","nodes":[],"statements":[{"assignments":[55314],"declarations":[{"constant":false,"id":55314,"mutability":"mutable","name":"owner","nameLocation":"4551:5:66","nodeType":"VariableDeclaration","scope":55326,"src":"4543:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55313,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55317,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55315,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"4559:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4543:28:66"},{"expression":{"arguments":[{"id":55319,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55314,"src":"4590:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55320,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55305,"src":"4597:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55321,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55307,"src":"4606:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55318,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"4581:8:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:32:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55323,"nodeType":"ExpressionStatement","src":"4581:32:66"},{"expression":{"hexValue":"74727565","id":55324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4630:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55312,"id":55325,"nodeType":"Return","src":"4623:11:66"}]},"baseFunctions":[55812],"documentation":{"id":55303,"nodeType":"StructuredDocumentation","src":"4142:297:66","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4453:7:66","overrides":{"id":55309,"nodeType":"OverrideSpecifier","overrides":[],"src":"4509:8:66"},"parameters":{"id":55308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55305,"mutability":"mutable","name":"spender","nameLocation":"4469:7:66","nodeType":"VariableDeclaration","scope":55327,"src":"4461:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55304,"name":"address","nodeType":"ElementaryTypeName","src":"4461:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55307,"mutability":"mutable","name":"amount","nameLocation":"4486:6:66","nodeType":"VariableDeclaration","scope":55327,"src":"4478:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55306,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:33:66"},"returnParameters":{"id":55312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55327,"src":"4527:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55310,"name":"bool","nodeType":"ElementaryTypeName","src":"4527:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4526:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55360,"nodeType":"FunctionDefinition","src":"5203:256:66","nodes":[],"body":{"id":55359,"nodeType":"Block","src":"5306:153:66","nodes":[],"statements":[{"assignments":[55341],"declarations":[{"constant":false,"id":55341,"mutability":"mutable","name":"spender","nameLocation":"5324:7:66","nodeType":"VariableDeclaration","scope":55359,"src":"5316:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55340,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55344,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55342,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"5334:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5334:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5316:30:66"},{"expression":{"arguments":[{"id":55346,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55330,"src":"5372:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55347,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"5378:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55348,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55334,"src":"5387:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55345,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55724,"src":"5356:15:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:38:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55350,"nodeType":"ExpressionStatement","src":"5356:38:66"},{"expression":{"arguments":[{"id":55352,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55330,"src":"5414:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55353,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55332,"src":"5420:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55354,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55334,"src":"5424:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55351,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55507,"src":"5404:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:27:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55356,"nodeType":"ExpressionStatement","src":"5404:27:66"},{"expression":{"hexValue":"74727565","id":55357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5448:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55339,"id":55358,"nodeType":"Return","src":"5441:11:66"}]},"baseFunctions":[55824],"documentation":{"id":55328,"nodeType":"StructuredDocumentation","src":"4647:551:66","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5212:12:66","overrides":{"id":55336,"nodeType":"OverrideSpecifier","overrides":[],"src":"5282:8:66"},"parameters":{"id":55335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55330,"mutability":"mutable","name":"from","nameLocation":"5233:4:66","nodeType":"VariableDeclaration","scope":55360,"src":"5225:12:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55329,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55332,"mutability":"mutable","name":"to","nameLocation":"5247:2:66","nodeType":"VariableDeclaration","scope":55360,"src":"5239:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55331,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55334,"mutability":"mutable","name":"amount","nameLocation":"5259:6:66","nodeType":"VariableDeclaration","scope":55360,"src":"5251:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55333,"name":"uint256","nodeType":"ElementaryTypeName","src":"5251:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5224:42:66"},"returnParameters":{"id":55339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55360,"src":"5300:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55337,"name":"bool","nodeType":"ElementaryTypeName","src":"5300:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5299:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55389,"nodeType":"FunctionDefinition","src":"5854:234:66","nodes":[],"body":{"id":55388,"nodeType":"Block","src":"5948:140:66","nodes":[],"statements":[{"assignments":[55371],"declarations":[{"constant":false,"id":55371,"mutability":"mutable","name":"owner","nameLocation":"5966:5:66","nodeType":"VariableDeclaration","scope":55388,"src":"5958:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55370,"name":"address","nodeType":"ElementaryTypeName","src":"5958:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55374,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55372,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"5974:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5958:28:66"},{"expression":{"arguments":[{"id":55376,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55371,"src":"6005:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55377,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55363,"src":"6012:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":55379,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55371,"src":"6031:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55380,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55363,"src":"6038:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":55378,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55302,"src":"6021:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":55381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:25:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":55382,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55365,"src":"6049:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6021:38:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55375,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"5996:8:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5996:64:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55385,"nodeType":"ExpressionStatement","src":"5996:64:66"},{"expression":{"hexValue":"74727565","id":55386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55369,"id":55387,"nodeType":"Return","src":"6070:11:66"}]},"documentation":{"id":55361,"nodeType":"StructuredDocumentation","src":"5465:384:66","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5863:17:66","parameters":{"id":55366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55363,"mutability":"mutable","name":"spender","nameLocation":"5889:7:66","nodeType":"VariableDeclaration","scope":55389,"src":"5881:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55362,"name":"address","nodeType":"ElementaryTypeName","src":"5881:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55365,"mutability":"mutable","name":"addedValue","nameLocation":"5906:10:66","nodeType":"VariableDeclaration","scope":55389,"src":"5898:18:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55364,"name":"uint256","nodeType":"ElementaryTypeName","src":"5898:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5880:37:66"},"returnParameters":{"id":55369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55389,"src":"5942:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55367,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55430,"nodeType":"FunctionDefinition","src":"6575:427:66","nodes":[],"body":{"id":55429,"nodeType":"Block","src":"6674:328:66","nodes":[],"statements":[{"assignments":[55400],"declarations":[{"constant":false,"id":55400,"mutability":"mutable","name":"owner","nameLocation":"6692:5:66","nodeType":"VariableDeclaration","scope":55429,"src":"6684:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55399,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55403,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55401,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"6700:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6684:28:66"},{"assignments":[55405],"declarations":[{"constant":false,"id":55405,"mutability":"mutable","name":"currentAllowance","nameLocation":"6730:16:66","nodeType":"VariableDeclaration","scope":55429,"src":"6722:24:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55404,"name":"uint256","nodeType":"ElementaryTypeName","src":"6722:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55410,"initialValue":{"arguments":[{"id":55407,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55400,"src":"6759:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55408,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55392,"src":"6766:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":55406,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55302,"src":"6749:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":55409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6749:25:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6722:52:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55412,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55405,"src":"6792:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":55413,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55394,"src":"6812:15:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6792:35:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":55415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:39:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":55411,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6784:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:85:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55417,"nodeType":"ExpressionStatement","src":"6784:85:66"},{"id":55426,"nodeType":"UncheckedBlock","src":"6879:95:66","statements":[{"expression":{"arguments":[{"id":55419,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55400,"src":"6912:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55420,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55392,"src":"6919:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55421,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55405,"src":"6928:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55422,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55394,"src":"6947:15:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6928:34:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55418,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"6903:8:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:60:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55425,"nodeType":"ExpressionStatement","src":"6903:60:66"}]},{"expression":{"hexValue":"74727565","id":55427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6991:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55398,"id":55428,"nodeType":"Return","src":"6984:11:66"}]},"documentation":{"id":55390,"nodeType":"StructuredDocumentation","src":"6094:476:66","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6584:17:66","parameters":{"id":55395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55392,"mutability":"mutable","name":"spender","nameLocation":"6610:7:66","nodeType":"VariableDeclaration","scope":55430,"src":"6602:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55391,"name":"address","nodeType":"ElementaryTypeName","src":"6602:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55394,"mutability":"mutable","name":"subtractedValue","nameLocation":"6627:15:66","nodeType":"VariableDeclaration","scope":55430,"src":"6619:23:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55393,"name":"uint256","nodeType":"ElementaryTypeName","src":"6619:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6601:42:66"},"returnParameters":{"id":55398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55397,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55430,"src":"6668:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55396,"name":"bool","nodeType":"ElementaryTypeName","src":"6668:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6667:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55507,"nodeType":"FunctionDefinition","src":"7456:788:66","nodes":[],"body":{"id":55506,"nodeType":"Block","src":"7534:710:66","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55441,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"7552:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7568:1:66","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":55443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7560:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55442,"name":"address","nodeType":"ElementaryTypeName","src":"7560:7:66","typeDescriptions":{}}},"id":55445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7552:18:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":55447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7572:39:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":55440,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7544:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7544:68:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55449,"nodeType":"ExpressionStatement","src":"7544:68:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55451,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"7630:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7644:1:66","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":55453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7636:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55452,"name":"address","nodeType":"ElementaryTypeName","src":"7636:7:66","typeDescriptions":{}}},"id":55455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7636:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7630:16:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":55457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:37:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":55450,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7622:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7622:64:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55459,"nodeType":"ExpressionStatement","src":"7622:64:66"},{"expression":{"arguments":[{"id":55461,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"7718:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55462,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"7724:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55463,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"7728:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55460,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55735,"src":"7697:20:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7697:38:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55465,"nodeType":"ExpressionStatement","src":"7697:38:66"},{"assignments":[55467],"declarations":[{"constant":false,"id":55467,"mutability":"mutable","name":"fromBalance","nameLocation":"7754:11:66","nodeType":"VariableDeclaration","scope":55506,"src":"7746:19:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55466,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55471,"initialValue":{"baseExpression":{"id":55468,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"7768:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55470,"indexExpression":{"id":55469,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"7778:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7768:15:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:37:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55473,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55467,"src":"7801:11:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":55474,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"7816:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:21:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":55476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7824:40:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":55472,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7793:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:72:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55478,"nodeType":"ExpressionStatement","src":"7793:72:66"},{"id":55493,"nodeType":"UncheckedBlock","src":"7875:273:66","statements":[{"expression":{"id":55485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55479,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"7899:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55481,"indexExpression":{"id":55480,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"7909:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7899:15:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55482,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55467,"src":"7917:11:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55483,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"7931:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7917:20:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:38:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55486,"nodeType":"ExpressionStatement","src":"7899:38:66"},{"expression":{"id":55491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55487,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"8114:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55489,"indexExpression":{"id":55488,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"8124:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8114:13:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":55490,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"8131:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8114:23:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55492,"nodeType":"ExpressionStatement","src":"8114:23:66"}]},{"eventCall":{"arguments":[{"id":55495,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"8172:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55496,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"8178:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55497,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"8182:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55494,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"8163:8:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8163:26:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55499,"nodeType":"EmitStatement","src":"8158:31:66"},{"expression":{"arguments":[{"id":55501,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"8220:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55502,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"8226:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55503,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"8230:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55500,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55746,"src":"8200:19:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8200:37:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55505,"nodeType":"ExpressionStatement","src":"8200:37:66"}]},"documentation":{"id":55431,"nodeType":"StructuredDocumentation","src":"7008:443:66","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7465:9:66","parameters":{"id":55438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55433,"mutability":"mutable","name":"from","nameLocation":"7483:4:66","nodeType":"VariableDeclaration","scope":55507,"src":"7475:12:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55432,"name":"address","nodeType":"ElementaryTypeName","src":"7475:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55435,"mutability":"mutable","name":"to","nameLocation":"7497:2:66","nodeType":"VariableDeclaration","scope":55507,"src":"7489:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55434,"name":"address","nodeType":"ElementaryTypeName","src":"7489:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55437,"mutability":"mutable","name":"amount","nameLocation":"7509:6:66","nodeType":"VariableDeclaration","scope":55507,"src":"7501:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55436,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:42:66"},"returnParameters":{"id":55439,"nodeType":"ParameterList","parameters":[],"src":"7534:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55564,"nodeType":"FunctionDefinition","src":"8520:535:66","nodes":[],"body":{"id":55563,"nodeType":"Block","src":"8585:470:66","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55516,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"8603:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8622:1:66","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":55518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8614:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55517,"name":"address","nodeType":"ElementaryTypeName","src":"8614:7:66","typeDescriptions":{}}},"id":55520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8603:21:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":55522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8626:33:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":55515,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8595:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8595:65:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55524,"nodeType":"ExpressionStatement","src":"8595:65:66"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":55528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8700:1:66","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":55527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8692:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55526,"name":"address","nodeType":"ElementaryTypeName","src":"8692:7:66","typeDescriptions":{}}},"id":55529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8692:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55530,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"8704:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55531,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"8713:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55525,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55735,"src":"8671:20:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:49:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55533,"nodeType":"ExpressionStatement","src":"8671:49:66"},{"expression":{"id":55536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55534,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"8731:12:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":55535,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"8747:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8731:22:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55537,"nodeType":"ExpressionStatement","src":"8731:22:66"},{"id":55544,"nodeType":"UncheckedBlock","src":"8763:175:66","statements":[{"expression":{"id":55542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55538,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"8899:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55540,"indexExpression":{"id":55539,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"8909:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8899:18:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":55541,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"8921:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8899:28:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55543,"nodeType":"ExpressionStatement","src":"8899:28:66"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":55548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8969:1:66","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":55547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55546,"name":"address","nodeType":"ElementaryTypeName","src":"8961:7:66","typeDescriptions":{}}},"id":55549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55550,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"8973:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55551,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"8982:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55545,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"8952:8:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:37:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55553,"nodeType":"EmitStatement","src":"8947:42:66"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":55557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:66","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":55556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55555,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:66","typeDescriptions":{}}},"id":55558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55559,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"9032:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55560,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"9041:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55554,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55746,"src":"9000:19:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:48:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55562,"nodeType":"ExpressionStatement","src":"9000:48:66"}]},"documentation":{"id":55508,"nodeType":"StructuredDocumentation","src":"8250:265:66","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8529:5:66","parameters":{"id":55513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55510,"mutability":"mutable","name":"account","nameLocation":"8543:7:66","nodeType":"VariableDeclaration","scope":55564,"src":"8535:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55509,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55512,"mutability":"mutable","name":"amount","nameLocation":"8560:6:66","nodeType":"VariableDeclaration","scope":55564,"src":"8552:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55511,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8534:33:66"},"returnParameters":{"id":55514,"nodeType":"ParameterList","parameters":[],"src":"8585:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55636,"nodeType":"FunctionDefinition","src":"9375:659:66","nodes":[],"body":{"id":55635,"nodeType":"Block","src":"9440:594:66","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55573,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9458:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9477:1:66","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":55575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9469:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55574,"name":"address","nodeType":"ElementaryTypeName","src":"9469:7:66","typeDescriptions":{}}},"id":55577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9469:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9458:21:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":55579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9481:35:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":55572,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9450:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:67:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55581,"nodeType":"ExpressionStatement","src":"9450:67:66"},{"expression":{"arguments":[{"id":55583,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9549:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":55586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:66","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":55585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9558:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55584,"name":"address","nodeType":"ElementaryTypeName","src":"9558:7:66","typeDescriptions":{}}},"id":55587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9558:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55588,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9570:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55582,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55735,"src":"9528:20:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:49:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55590,"nodeType":"ExpressionStatement","src":"9528:49:66"},{"assignments":[55592],"declarations":[{"constant":false,"id":55592,"mutability":"mutable","name":"accountBalance","nameLocation":"9596:14:66","nodeType":"VariableDeclaration","scope":55635,"src":"9588:22:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55591,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55596,"initialValue":{"baseExpression":{"id":55593,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"9613:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55595,"indexExpression":{"id":55594,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9623:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9613:18:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9588:43:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55598,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55592,"src":"9649:14:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":55599,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9667:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9649:24:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":55601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:36:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":55597,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9641:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:71:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55603,"nodeType":"ExpressionStatement","src":"9641:71:66"},{"id":55616,"nodeType":"UncheckedBlock","src":"9722:194:66","statements":[{"expression":{"id":55610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55604,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"9746:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55606,"indexExpression":{"id":55605,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9756:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9746:18:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55607,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55592,"src":"9767:14:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55608,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9784:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:23:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9746:44:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55611,"nodeType":"ExpressionStatement","src":"9746:44:66"},{"expression":{"id":55614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55612,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"9883:12:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":55613,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9899:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9883:22:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55615,"nodeType":"ExpressionStatement","src":"9883:22:66"}]},{"eventCall":{"arguments":[{"id":55618,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9940:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":55621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:66","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":55620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9949:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55619,"name":"address","nodeType":"ElementaryTypeName","src":"9949:7:66","typeDescriptions":{}}},"id":55622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55623,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9961:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55617,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"9931:8:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9931:37:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55625,"nodeType":"EmitStatement","src":"9926:42:66"},{"expression":{"arguments":[{"id":55627,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9999:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":55630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:66","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":55629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10008:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55628,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:66","typeDescriptions":{}}},"id":55631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10008:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55632,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"10020:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55626,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55746,"src":"9979:19:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:48:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55634,"nodeType":"ExpressionStatement","src":"9979:48:66"}]},"documentation":{"id":55565,"nodeType":"StructuredDocumentation","src":"9061:309:66","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9384:5:66","parameters":{"id":55570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55567,"mutability":"mutable","name":"account","nameLocation":"9398:7:66","nodeType":"VariableDeclaration","scope":55636,"src":"9390:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55566,"name":"address","nodeType":"ElementaryTypeName","src":"9390:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55569,"mutability":"mutable","name":"amount","nameLocation":"9415:6:66","nodeType":"VariableDeclaration","scope":55636,"src":"9407:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55568,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9389:33:66"},"returnParameters":{"id":55571,"nodeType":"ParameterList","parameters":[],"src":"9440:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55681,"nodeType":"FunctionDefinition","src":"10457:340:66","nodes":[],"body":{"id":55680,"nodeType":"Block","src":"10540:257:66","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55647,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55639,"src":"10558:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10575:1:66","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":55649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10567:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55648,"name":"address","nodeType":"ElementaryTypeName","src":"10567:7:66","typeDescriptions":{}}},"id":55651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10567:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10558:19:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":55653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10579:38:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":55646,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10550:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:68:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55655,"nodeType":"ExpressionStatement","src":"10550:68:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55657,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55641,"src":"10636:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:1:66","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":55659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10647:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55658,"name":"address","nodeType":"ElementaryTypeName","src":"10647:7:66","typeDescriptions":{}}},"id":55661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10636:21:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":55663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10659:36:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":55656,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10628:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10628:68:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55665,"nodeType":"ExpressionStatement","src":"10628:68:66"},{"expression":{"id":55672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":55666,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55182,"src":"10707:11:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":55669,"indexExpression":{"id":55667,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55639,"src":"10719:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10707:18:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55670,"indexExpression":{"id":55668,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55641,"src":"10726:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10707:27:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55671,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55643,"src":"10737:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:36:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55673,"nodeType":"ExpressionStatement","src":"10707:36:66"},{"eventCall":{"arguments":[{"id":55675,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55639,"src":"10767:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55676,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55641,"src":"10774:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55677,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55643,"src":"10783:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55674,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55768,"src":"10758:8:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10758:32:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55679,"nodeType":"EmitStatement","src":"10753:37:66"}]},"documentation":{"id":55637,"nodeType":"StructuredDocumentation","src":"10040:412:66","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10466:8:66","parameters":{"id":55644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55639,"mutability":"mutable","name":"owner","nameLocation":"10483:5:66","nodeType":"VariableDeclaration","scope":55681,"src":"10475:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55638,"name":"address","nodeType":"ElementaryTypeName","src":"10475:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55641,"mutability":"mutable","name":"spender","nameLocation":"10498:7:66","nodeType":"VariableDeclaration","scope":55681,"src":"10490:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55640,"name":"address","nodeType":"ElementaryTypeName","src":"10490:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55643,"mutability":"mutable","name":"amount","nameLocation":"10515:6:66","nodeType":"VariableDeclaration","scope":55681,"src":"10507:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55642,"name":"uint256","nodeType":"ElementaryTypeName","src":"10507:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10474:48:66"},"returnParameters":{"id":55645,"nodeType":"ParameterList","parameters":[],"src":"10540:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55724,"nodeType":"FunctionDefinition","src":"11078:411:66","nodes":[],"body":{"id":55723,"nodeType":"Block","src":"11168:321:66","nodes":[],"statements":[{"assignments":[55692],"declarations":[{"constant":false,"id":55692,"mutability":"mutable","name":"currentAllowance","nameLocation":"11186:16:66","nodeType":"VariableDeclaration","scope":55723,"src":"11178:24:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55691,"name":"uint256","nodeType":"ElementaryTypeName","src":"11178:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55697,"initialValue":{"arguments":[{"id":55694,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55684,"src":"11215:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55695,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55686,"src":"11222:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":55693,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55302,"src":"11205:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":55696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:25:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11178:52:66"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55698,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55692,"src":"11244:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":55701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11269:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":55700,"name":"uint256","nodeType":"ElementaryTypeName","src":"11269:7:66","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":55699,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11264:4:66","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":55702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11264:13:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":55703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11278:3:66","memberName":"max","nodeType":"MemberAccess","src":"11264:17:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11244:37:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55722,"nodeType":"IfStatement","src":"11240:243:66","trueBody":{"id":55721,"nodeType":"Block","src":"11283:200:66","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55706,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55692,"src":"11305:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":55707,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55688,"src":"11325:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11305:26:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":55709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:31:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":55705,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11297:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11297:68:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55711,"nodeType":"ExpressionStatement","src":"11297:68:66"},{"id":55720,"nodeType":"UncheckedBlock","src":"11379:94:66","statements":[{"expression":{"arguments":[{"id":55713,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55684,"src":"11416:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55714,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55686,"src":"11423:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55715,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55692,"src":"11432:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55716,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55688,"src":"11451:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11432:25:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55712,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"11407:8:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11407:51:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55719,"nodeType":"ExpressionStatement","src":"11407:51:66"}]}]}}]},"documentation":{"id":55682,"nodeType":"StructuredDocumentation","src":"10803:270:66","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11087:15:66","parameters":{"id":55689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55684,"mutability":"mutable","name":"owner","nameLocation":"11111:5:66","nodeType":"VariableDeclaration","scope":55724,"src":"11103:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55683,"name":"address","nodeType":"ElementaryTypeName","src":"11103:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55686,"mutability":"mutable","name":"spender","nameLocation":"11126:7:66","nodeType":"VariableDeclaration","scope":55724,"src":"11118:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55685,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55688,"mutability":"mutable","name":"amount","nameLocation":"11143:6:66","nodeType":"VariableDeclaration","scope":55724,"src":"11135:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55687,"name":"uint256","nodeType":"ElementaryTypeName","src":"11135:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11102:48:66"},"returnParameters":{"id":55690,"nodeType":"ParameterList","parameters":[],"src":"11168:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55735,"nodeType":"FunctionDefinition","src":"12073:91:66","nodes":[],"body":{"id":55734,"nodeType":"Block","src":"12162:2:66","nodes":[],"statements":[]},"documentation":{"id":55725,"nodeType":"StructuredDocumentation","src":"11495:573:66","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12082:20:66","parameters":{"id":55732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55727,"mutability":"mutable","name":"from","nameLocation":"12111:4:66","nodeType":"VariableDeclaration","scope":55735,"src":"12103:12:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55726,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55729,"mutability":"mutable","name":"to","nameLocation":"12125:2:66","nodeType":"VariableDeclaration","scope":55735,"src":"12117:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55728,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55731,"mutability":"mutable","name":"amount","nameLocation":"12137:6:66","nodeType":"VariableDeclaration","scope":55735,"src":"12129:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55730,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:42:66"},"returnParameters":{"id":55733,"nodeType":"ParameterList","parameters":[],"src":"12162:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55746,"nodeType":"FunctionDefinition","src":"12752:90:66","nodes":[],"body":{"id":55745,"nodeType":"Block","src":"12840:2:66","nodes":[],"statements":[]},"documentation":{"id":55736,"nodeType":"StructuredDocumentation","src":"12170:577:66","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12761:19:66","parameters":{"id":55743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55738,"mutability":"mutable","name":"from","nameLocation":"12789:4:66","nodeType":"VariableDeclaration","scope":55746,"src":"12781:12:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55737,"name":"address","nodeType":"ElementaryTypeName","src":"12781:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55740,"mutability":"mutable","name":"to","nameLocation":"12803:2:66","nodeType":"VariableDeclaration","scope":55746,"src":"12795:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55739,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55742,"mutability":"mutable","name":"amount","nameLocation":"12815:6:66","nodeType":"VariableDeclaration","scope":55746,"src":"12807:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55741,"name":"uint256","nodeType":"ElementaryTypeName","src":"12807:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12780:42:66"},"returnParameters":{"id":55744,"nodeType":"ParameterList","parameters":[],"src":"12840:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":55167,"name":"Context","nameLocations":["1550:7:66"],"nodeType":"IdentifierPath","referencedDeclaration":56659,"src":"1550:7:66"},"id":55168,"nodeType":"InheritanceSpecifier","src":"1550:7:66"},{"baseName":{"id":55169,"name":"IERC20","nameLocations":["1559:6:66"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1559:6:66"},"id":55170,"nodeType":"InheritanceSpecifier","src":"1559:6:66"},{"baseName":{"id":55171,"name":"IERC20Metadata","nameLocations":["1567:14:66"],"nodeType":"IdentifierPath","referencedDeclaration":55850,"src":"1567:14:66"},"id":55172,"nodeType":"InheritanceSpecifier","src":"1567:14:66"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":55166,"nodeType":"StructuredDocumentation","src":"230:1301:66","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"linearizedBaseContracts":[55747,55850,55825,56659],"name":"ERC20","nameLocation":"1541:5:66","scope":55748,"usedErrors":[]}],"license":"MIT"},"id":66} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080604052346200031d5762000c28803803806200001d8162000322565b9283398101906040818303126200031d5780516001600160401b03908181116200031d57836200004f91840162000348565b91602093848201518381116200031d576200006b920162000348565b82518281116200021d576003918254916001958684811c9416801562000312575b88851014620002fc578190601f94858111620002a6575b5088908583116001146200023f5760009262000233575b505060001982861b1c191690861b1783555b80519384116200021d5760049586548681811c9116801562000212575b82821014620001fd57838111620001b2575b508092851160011462000144575093839491849260009562000138575b50501b92600019911b1c19161790555b60405161086d9081620003bb8239f35b01519350388062000118565b92919084601f1981168860005285600020956000905b898383106200019757505050106200017c575b50505050811b01905562000128565b01519060f884600019921b161c19169055388080806200016d565b8587015189559097019694850194889350908101906200015a565b87600052816000208480880160051c820192848910620001f3575b0160051c019087905b828110620001e6575050620000fb565b60008155018790620001d6565b92508192620001cd565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000e9565b634e487b7160e01b600052604160045260246000fd5b015190503880620000ba565b90889350601f19831691876000528a6000209260005b8c8282106200028f575050841162000276575b505050811b018355620000cc565b015160001983881b60f8161c1916905538808062000268565b8385015186558c9790950194938401930162000255565b90915085600052886000208580850160051c8201928b8610620002f2575b918a91869594930160051c01915b828110620002e2575050620000a3565b600081558594508a9101620002d2565b92508192620002c4565b634e487b7160e01b600052602260045260246000fd5b93607f16936200008c565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200021d57604052565b919080601f840112156200031d5782516001600160401b0381116200021d576020906200037e601f8201601f1916830162000322565b928184528282870101116200031d5760005b818110620003a657508260009394955001015290565b85810183015184820184015282016200039056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048f57508163095ea7b31461046557816318160ddd1461044657816323b872dd1461037c578163313ce5671461036057816339509351146102f957816370a08231146102c257816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba610596565b6100c26105b1565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e557602090610112610108610596565b60243590336105c7565b5160018152f35b905082346101be57826003193601126101be57610134610596565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610735565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102b8575b60209384841081146102a5578388529081156102895750600114610251575b505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b0390f35b634e487b7160e01b815260418552602490fd5b919250868652828620918387935b8385106102755750505050830101858080610209565b80548886018301529301928490820161025f565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036102ea610596565b16815280845220549051908152f35b8284346101be57816003193601126101be57610313610596565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061034d57602084610112858533610735565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e557610398610596565b6103a06105b1565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103da575b6020866101128787876105c7565b84821061040357509183916103f86020969561011295033383610735565b9193948193506103cc565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e557602090610112610485610596565b6024359033610735565b8490843461054957826003193601126105495782600354600181811c9080831692831561053f575b60209384841081146102a557838852908115610289575060011461050657505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b91925060038652828620918387935b83851061052b5750505050830101858080610209565b805488860183015293019284908201610515565b91607f16916104b7565b8280fd5b6020808252825181830181905290939260005b82811061058257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610560565b600435906001600160a01b03821682036105ac57565b600080fd5b602435906001600160a01b03821682036105ac57565b6001600160a01b039081169182156106e257169182156106915760008281528060205260408120549180831061063d57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156107e657169182156107965760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea264697066735822122069dfab1a2a1856d6365c411a2cacbe0fc877db76d6535e04652e13e9dd0325a764736f6c63430008130033","sourceMap":"1532:11312:66:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2046:13;1532:11312;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;-1:-1:-1;;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;2069:17;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;2069:17;1532:11312;;-1:-1:-1;1532:11312:66;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;-1:-1:-1;;1532:11312:66;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048f57508163095ea7b31461046557816318160ddd1461044657816323b872dd1461037c578163313ce5671461036057816339509351146102f957816370a08231146102c257816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba610596565b6100c26105b1565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e557602090610112610108610596565b60243590336105c7565b5160018152f35b905082346101be57826003193601126101be57610134610596565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610735565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102b8575b60209384841081146102a5578388529081156102895750600114610251575b505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b0390f35b634e487b7160e01b815260418552602490fd5b919250868652828620918387935b8385106102755750505050830101858080610209565b80548886018301529301928490820161025f565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036102ea610596565b16815280845220549051908152f35b8284346101be57816003193601126101be57610313610596565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061034d57602084610112858533610735565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e557610398610596565b6103a06105b1565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103da575b6020866101128787876105c7565b84821061040357509183916103f86020969561011295033383610735565b9193948193506103cc565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e557602090610112610485610596565b6024359033610735565b8490843461054957826003193601126105495782600354600181811c9080831692831561053f575b60209384841081146102a557838852908115610289575060011461050657505050829003601f01601f19168201926001600160401b0384118385101761023e575082918261023a92528261054d565b91925060038652828620918387935b83851061052b5750505050830101858080610209565b805488860183015293019284908201610515565b91607f16916104b7565b8280fd5b6020808252825181830181905290939260005b82811061058257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610560565b600435906001600160a01b03821682036105ac57565b600080fd5b602435906001600160a01b03821682036105ac57565b6001600160a01b039081169182156106e257169182156106915760008281528060205260408120549180831061063d57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156107e657169182156107965760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea264697066735822122069dfab1a2a1856d6365c411a2cacbe0fc877db76d6535e04652e13e9dd0325a764736f6c63430008130033","sourceMap":"1532:11312:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:6;1532:11312;;:::i;:::-;;;734:10:74;;3894:6:66;:::i;:::-;1532:11312;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;734:10:74;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;6792:35;;;;1532:11312;;;;6928:34;1532:11312;;;;734:10:74;6928:34:66;:::i;1532:11312::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;-1:-1:-1;;1532:11312:66;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;;-1:-1:-1;;1532:11312:66;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;734:10:74;1532:11312:66;;;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;734:10:74;6021:38:66;734:10:74;;;6021:38:66;:::i;1532:11312::-;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;3186:2;1532:11312;;;;;;;;;;;;-1:-1:-1;;1532:11312:66;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;734:10:74;1532:11312:66;;;;;;11264:17;;;11244:37;;11240:243;;1532:11312;;5424:6;;;;;;:::i;11240:243::-;11305:26;;;1532:11312;;;;;;11432:25;1532:11312;;;5424:6;1532:11312;;734:10:74;11432:25:66;;:::i;:::-;11240:243;;;;;;;;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3342:12;1532:11312;;;;;;;;;;;;;;;;;;;;;;;4606:6;1532:11312;;:::i;:::-;;;734:10:74;;4606:6:66;:::i;1532:11312::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;-1:-1:-1;;1532:11312:66;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:11312:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;1532:11312:66;;;;;;:::o;7456:788::-;-1:-1:-1;;;;;1532:11312:66;;;;7552:18;;1532:11312;;;7630:16;;;1532:11312;;7568:1;1532:11312;;;;;;;;;;7801:21;;;;1532:11312;;;;;8163:26;1532:11312;;;;;;;;;;;;;;;;;;;;;;;;;;;;8163:26;7456:788::o;1532:11312::-;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;10457:340;-1:-1:-1;;;;;1532:11312:66;;;;10558:19;;1532:11312;;;10636:21;;;1532:11312;;;10758:32;1532:11312;;10575:1;1532:11312;;;;;10575:1;1532:11312;;10575:1;1532:11312;;;;;10575:1;1532:11312;;;;;;;10758:32;10457:340::o;1532:11312::-;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;1532:11312:66;;;;;;","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":55176,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":55182,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":55184,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":55186,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":55188,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":55748,"exportedSymbols":{"Context":[56667],"ERC20":[55747],"IERC20":[55825],"IERC20Metadata":[55850]},"nodeType":"SourceUnit","src":"105:12740:66","nodes":[{"id":55162,"nodeType":"PragmaDirective","src":"105:23:66","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55163,"nodeType":"ImportDirective","src":"130:22:66","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":55748,"sourceUnit":55826,"symbolAliases":[],"unitAlias":""},{"id":55164,"nodeType":"ImportDirective","src":"153:41:66","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":55748,"sourceUnit":55851,"symbolAliases":[],"unitAlias":""},{"id":55165,"nodeType":"ImportDirective","src":"195:33:66","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":55748,"sourceUnit":56668,"symbolAliases":[],"unitAlias":""},{"id":55747,"nodeType":"ContractDefinition","src":"1532:11312:66","nodes":[{"id":55176,"nodeType":"VariableDeclaration","src":"1588:45:66","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1624:9:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":55175,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55173,"name":"address","nodeType":"ElementaryTypeName","src":"1596:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1588:27:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55174,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":55182,"nodeType":"VariableDeclaration","src":"1640:67:66","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1696:11:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":55181,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55177,"name":"address","nodeType":"ElementaryTypeName","src":"1648:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1640:47:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55180,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55178,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1659:27:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55179,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":55184,"nodeType":"VariableDeclaration","src":"1714:28:66","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1730:12:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55183,"name":"uint256","nodeType":"ElementaryTypeName","src":"1714:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":55186,"nodeType":"VariableDeclaration","src":"1749:20:66","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1764:5:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55185,"name":"string","nodeType":"ElementaryTypeName","src":"1749:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55188,"nodeType":"VariableDeclaration","src":"1775:22:66","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1790:7:66","scope":55747,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55187,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55205,"nodeType":"FunctionDefinition","src":"1980:113:66","nodes":[],"body":{"id":55204,"nodeType":"Block","src":"2036:57:66","nodes":[],"statements":[{"expression":{"id":55198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55196,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55186,"src":"2046:5:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55197,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55191,"src":"2054:5:66","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2046:13:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55199,"nodeType":"ExpressionStatement","src":"2046:13:66"},{"expression":{"id":55202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55200,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55188,"src":"2069:7:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55201,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55193,"src":"2079:7:66","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2069:17:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55203,"nodeType":"ExpressionStatement","src":"2069:17:66"}]},"documentation":{"id":55189,"nodeType":"StructuredDocumentation","src":"1804:171:66","text":" @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":55194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55191,"mutability":"mutable","name":"name_","nameLocation":"2006:5:66","nodeType":"VariableDeclaration","scope":55205,"src":"1992:19:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55190,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55193,"mutability":"mutable","name":"symbol_","nameLocation":"2027:7:66","nodeType":"VariableDeclaration","scope":55205,"src":"2013:21:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55192,"name":"string","nodeType":"ElementaryTypeName","src":"2013:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1991:44:66"},"returnParameters":{"id":55195,"nodeType":"ParameterList","parameters":[],"src":"2036:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55215,"nodeType":"FunctionDefinition","src":"2158:98:66","nodes":[],"body":{"id":55214,"nodeType":"Block","src":"2227:29:66","nodes":[],"statements":[{"expression":{"id":55212,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55186,"src":"2244:5:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55211,"id":55213,"nodeType":"Return","src":"2237:12:66"}]},"baseFunctions":[55837],"documentation":{"id":55206,"nodeType":"StructuredDocumentation","src":"2099:54:66","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2167:4:66","overrides":{"id":55208,"nodeType":"OverrideSpecifier","overrides":[],"src":"2194:8:66"},"parameters":{"id":55207,"nodeType":"ParameterList","parameters":[],"src":"2171:2:66"},"returnParameters":{"id":55211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55215,"src":"2212:13:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55209,"name":"string","nodeType":"ElementaryTypeName","src":"2212:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2211:15:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55225,"nodeType":"FunctionDefinition","src":"2369:102:66","nodes":[],"body":{"id":55224,"nodeType":"Block","src":"2440:31:66","nodes":[],"statements":[{"expression":{"id":55222,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55188,"src":"2457:7:66","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55221,"id":55223,"nodeType":"Return","src":"2450:14:66"}]},"baseFunctions":[55843],"documentation":{"id":55216,"nodeType":"StructuredDocumentation","src":"2262:102:66","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2378:6:66","overrides":{"id":55218,"nodeType":"OverrideSpecifier","overrides":[],"src":"2407:8:66"},"parameters":{"id":55217,"nodeType":"ParameterList","parameters":[],"src":"2384:2:66"},"returnParameters":{"id":55221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55225,"src":"2425:13:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55219,"name":"string","nodeType":"ElementaryTypeName","src":"2425:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2424:15:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55235,"nodeType":"FunctionDefinition","src":"3104:91:66","nodes":[],"body":{"id":55234,"nodeType":"Block","src":"3169:26:66","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":55232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3186:2:66","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":55231,"id":55233,"nodeType":"Return","src":"3179:9:66"}]},"baseFunctions":[55849],"documentation":{"id":55226,"nodeType":"StructuredDocumentation","src":"2477:622:66","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3113:8:66","overrides":{"id":55228,"nodeType":"OverrideSpecifier","overrides":[],"src":"3144:8:66"},"parameters":{"id":55227,"nodeType":"ParameterList","parameters":[],"src":"3121:2:66"},"returnParameters":{"id":55231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55235,"src":"3162:5:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55229,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:66","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3161:7:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55245,"nodeType":"FunctionDefinition","src":"3255:106:66","nodes":[],"body":{"id":55244,"nodeType":"Block","src":"3325:36:66","nodes":[],"statements":[{"expression":{"id":55242,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"3342:12:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55241,"id":55243,"nodeType":"Return","src":"3335:19:66"}]},"baseFunctions":[55774],"documentation":{"id":55236,"nodeType":"StructuredDocumentation","src":"3201:49:66","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3264:11:66","overrides":{"id":55238,"nodeType":"OverrideSpecifier","overrides":[],"src":"3298:8:66"},"parameters":{"id":55237,"nodeType":"ParameterList","parameters":[],"src":"3275:2:66"},"returnParameters":{"id":55241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55245,"src":"3316:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55239,"name":"uint256","nodeType":"ElementaryTypeName","src":"3316:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3315:9:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55259,"nodeType":"FunctionDefinition","src":"3419:125:66","nodes":[],"body":{"id":55258,"nodeType":"Block","src":"3502:42:66","nodes":[],"statements":[{"expression":{"baseExpression":{"id":55254,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"3519:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55256,"indexExpression":{"id":55255,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55248,"src":"3529:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3519:18:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55253,"id":55257,"nodeType":"Return","src":"3512:25:66"}]},"baseFunctions":[55782],"documentation":{"id":55246,"nodeType":"StructuredDocumentation","src":"3367:47:66","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3428:9:66","overrides":{"id":55250,"nodeType":"OverrideSpecifier","overrides":[],"src":"3475:8:66"},"parameters":{"id":55249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55248,"mutability":"mutable","name":"account","nameLocation":"3446:7:66","nodeType":"VariableDeclaration","scope":55259,"src":"3438:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55247,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:17:66"},"returnParameters":{"id":55253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55252,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55259,"src":"3493:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55251,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3492:9:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55284,"nodeType":"FunctionDefinition","src":"3740:189:66","nodes":[],"body":{"id":55283,"nodeType":"Block","src":"3825:104:66","nodes":[],"statements":[{"assignments":[55271],"declarations":[{"constant":false,"id":55271,"mutability":"mutable","name":"owner","nameLocation":"3843:5:66","nodeType":"VariableDeclaration","scope":55283,"src":"3835:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55270,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55274,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55272,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"3851:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3835:28:66"},{"expression":{"arguments":[{"id":55276,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55271,"src":"3883:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55277,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55262,"src":"3890:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55278,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55264,"src":"3894:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55275,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55507,"src":"3873:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:28:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55280,"nodeType":"ExpressionStatement","src":"3873:28:66"},{"expression":{"hexValue":"74727565","id":55281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3918:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55269,"id":55282,"nodeType":"Return","src":"3911:11:66"}]},"baseFunctions":[55792],"documentation":{"id":55260,"nodeType":"StructuredDocumentation","src":"3550:185:66","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3749:8:66","overrides":{"id":55266,"nodeType":"OverrideSpecifier","overrides":[],"src":"3801:8:66"},"parameters":{"id":55265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55262,"mutability":"mutable","name":"to","nameLocation":"3766:2:66","nodeType":"VariableDeclaration","scope":55284,"src":"3758:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55261,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55264,"mutability":"mutable","name":"amount","nameLocation":"3778:6:66","nodeType":"VariableDeclaration","scope":55284,"src":"3770:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55263,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3757:28:66"},"returnParameters":{"id":55269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55284,"src":"3819:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55267,"name":"bool","nodeType":"ElementaryTypeName","src":"3819:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3818:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55302,"nodeType":"FunctionDefinition","src":"3987:149:66","nodes":[],"body":{"id":55301,"nodeType":"Block","src":"4085:51:66","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":55295,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55182,"src":"4102:11:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":55297,"indexExpression":{"id":55296,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55287,"src":"4114:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:18:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55299,"indexExpression":{"id":55298,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55289,"src":"4121:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:27:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55294,"id":55300,"nodeType":"Return","src":"4095:34:66"}]},"baseFunctions":[55802],"documentation":{"id":55285,"nodeType":"StructuredDocumentation","src":"3935:47:66","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3996:9:66","overrides":{"id":55291,"nodeType":"OverrideSpecifier","overrides":[],"src":"4058:8:66"},"parameters":{"id":55290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55287,"mutability":"mutable","name":"owner","nameLocation":"4014:5:66","nodeType":"VariableDeclaration","scope":55302,"src":"4006:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55286,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55289,"mutability":"mutable","name":"spender","nameLocation":"4029:7:66","nodeType":"VariableDeclaration","scope":55302,"src":"4021:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55288,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:32:66"},"returnParameters":{"id":55294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55302,"src":"4076:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55292,"name":"uint256","nodeType":"ElementaryTypeName","src":"4076:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:9:66"},"scope":55747,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55327,"nodeType":"FunctionDefinition","src":"4444:197:66","nodes":[],"body":{"id":55326,"nodeType":"Block","src":"4533:108:66","nodes":[],"statements":[{"assignments":[55314],"declarations":[{"constant":false,"id":55314,"mutability":"mutable","name":"owner","nameLocation":"4551:5:66","nodeType":"VariableDeclaration","scope":55326,"src":"4543:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55313,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55317,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55315,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"4559:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4543:28:66"},{"expression":{"arguments":[{"id":55319,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55314,"src":"4590:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55320,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55305,"src":"4597:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55321,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55307,"src":"4606:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55318,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"4581:8:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:32:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55323,"nodeType":"ExpressionStatement","src":"4581:32:66"},{"expression":{"hexValue":"74727565","id":55324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4630:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55312,"id":55325,"nodeType":"Return","src":"4623:11:66"}]},"baseFunctions":[55812],"documentation":{"id":55303,"nodeType":"StructuredDocumentation","src":"4142:297:66","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4453:7:66","overrides":{"id":55309,"nodeType":"OverrideSpecifier","overrides":[],"src":"4509:8:66"},"parameters":{"id":55308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55305,"mutability":"mutable","name":"spender","nameLocation":"4469:7:66","nodeType":"VariableDeclaration","scope":55327,"src":"4461:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55304,"name":"address","nodeType":"ElementaryTypeName","src":"4461:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55307,"mutability":"mutable","name":"amount","nameLocation":"4486:6:66","nodeType":"VariableDeclaration","scope":55327,"src":"4478:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55306,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:33:66"},"returnParameters":{"id":55312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55327,"src":"4527:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55310,"name":"bool","nodeType":"ElementaryTypeName","src":"4527:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4526:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55360,"nodeType":"FunctionDefinition","src":"5203:256:66","nodes":[],"body":{"id":55359,"nodeType":"Block","src":"5306:153:66","nodes":[],"statements":[{"assignments":[55341],"declarations":[{"constant":false,"id":55341,"mutability":"mutable","name":"spender","nameLocation":"5324:7:66","nodeType":"VariableDeclaration","scope":55359,"src":"5316:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55340,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55344,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55342,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"5334:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5334:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5316:30:66"},{"expression":{"arguments":[{"id":55346,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55330,"src":"5372:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55347,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"5378:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55348,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55334,"src":"5387:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55345,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55724,"src":"5356:15:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:38:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55350,"nodeType":"ExpressionStatement","src":"5356:38:66"},{"expression":{"arguments":[{"id":55352,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55330,"src":"5414:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55353,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55332,"src":"5420:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55354,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55334,"src":"5424:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55351,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55507,"src":"5404:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:27:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55356,"nodeType":"ExpressionStatement","src":"5404:27:66"},{"expression":{"hexValue":"74727565","id":55357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5448:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55339,"id":55358,"nodeType":"Return","src":"5441:11:66"}]},"baseFunctions":[55824],"documentation":{"id":55328,"nodeType":"StructuredDocumentation","src":"4647:551:66","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5212:12:66","overrides":{"id":55336,"nodeType":"OverrideSpecifier","overrides":[],"src":"5282:8:66"},"parameters":{"id":55335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55330,"mutability":"mutable","name":"from","nameLocation":"5233:4:66","nodeType":"VariableDeclaration","scope":55360,"src":"5225:12:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55329,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55332,"mutability":"mutable","name":"to","nameLocation":"5247:2:66","nodeType":"VariableDeclaration","scope":55360,"src":"5239:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55331,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55334,"mutability":"mutable","name":"amount","nameLocation":"5259:6:66","nodeType":"VariableDeclaration","scope":55360,"src":"5251:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55333,"name":"uint256","nodeType":"ElementaryTypeName","src":"5251:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5224:42:66"},"returnParameters":{"id":55339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55360,"src":"5300:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55337,"name":"bool","nodeType":"ElementaryTypeName","src":"5300:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5299:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55389,"nodeType":"FunctionDefinition","src":"5854:234:66","nodes":[],"body":{"id":55388,"nodeType":"Block","src":"5948:140:66","nodes":[],"statements":[{"assignments":[55371],"declarations":[{"constant":false,"id":55371,"mutability":"mutable","name":"owner","nameLocation":"5966:5:66","nodeType":"VariableDeclaration","scope":55388,"src":"5958:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55370,"name":"address","nodeType":"ElementaryTypeName","src":"5958:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55374,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55372,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"5974:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5958:28:66"},{"expression":{"arguments":[{"id":55376,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55371,"src":"6005:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55377,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55363,"src":"6012:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":55379,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55371,"src":"6031:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55380,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55363,"src":"6038:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":55378,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55302,"src":"6021:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":55381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:25:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":55382,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55365,"src":"6049:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6021:38:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55375,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"5996:8:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5996:64:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55385,"nodeType":"ExpressionStatement","src":"5996:64:66"},{"expression":{"hexValue":"74727565","id":55386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55369,"id":55387,"nodeType":"Return","src":"6070:11:66"}]},"documentation":{"id":55361,"nodeType":"StructuredDocumentation","src":"5465:384:66","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5863:17:66","parameters":{"id":55366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55363,"mutability":"mutable","name":"spender","nameLocation":"5889:7:66","nodeType":"VariableDeclaration","scope":55389,"src":"5881:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55362,"name":"address","nodeType":"ElementaryTypeName","src":"5881:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55365,"mutability":"mutable","name":"addedValue","nameLocation":"5906:10:66","nodeType":"VariableDeclaration","scope":55389,"src":"5898:18:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55364,"name":"uint256","nodeType":"ElementaryTypeName","src":"5898:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5880:37:66"},"returnParameters":{"id":55369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55389,"src":"5942:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55367,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55430,"nodeType":"FunctionDefinition","src":"6575:427:66","nodes":[],"body":{"id":55429,"nodeType":"Block","src":"6674:328:66","nodes":[],"statements":[{"assignments":[55400],"declarations":[{"constant":false,"id":55400,"mutability":"mutable","name":"owner","nameLocation":"6692:5:66","nodeType":"VariableDeclaration","scope":55429,"src":"6684:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55399,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55403,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55401,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"6700:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6684:28:66"},{"assignments":[55405],"declarations":[{"constant":false,"id":55405,"mutability":"mutable","name":"currentAllowance","nameLocation":"6730:16:66","nodeType":"VariableDeclaration","scope":55429,"src":"6722:24:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55404,"name":"uint256","nodeType":"ElementaryTypeName","src":"6722:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55410,"initialValue":{"arguments":[{"id":55407,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55400,"src":"6759:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55408,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55392,"src":"6766:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":55406,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55302,"src":"6749:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":55409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6749:25:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6722:52:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55412,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55405,"src":"6792:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":55413,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55394,"src":"6812:15:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6792:35:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":55415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:39:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":55411,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6784:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:85:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55417,"nodeType":"ExpressionStatement","src":"6784:85:66"},{"id":55426,"nodeType":"UncheckedBlock","src":"6879:95:66","statements":[{"expression":{"arguments":[{"id":55419,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55400,"src":"6912:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55420,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55392,"src":"6919:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55421,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55405,"src":"6928:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55422,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55394,"src":"6947:15:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6928:34:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55418,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"6903:8:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:60:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55425,"nodeType":"ExpressionStatement","src":"6903:60:66"}]},{"expression":{"hexValue":"74727565","id":55427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6991:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55398,"id":55428,"nodeType":"Return","src":"6984:11:66"}]},"documentation":{"id":55390,"nodeType":"StructuredDocumentation","src":"6094:476:66","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6584:17:66","parameters":{"id":55395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55392,"mutability":"mutable","name":"spender","nameLocation":"6610:7:66","nodeType":"VariableDeclaration","scope":55430,"src":"6602:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55391,"name":"address","nodeType":"ElementaryTypeName","src":"6602:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55394,"mutability":"mutable","name":"subtractedValue","nameLocation":"6627:15:66","nodeType":"VariableDeclaration","scope":55430,"src":"6619:23:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55393,"name":"uint256","nodeType":"ElementaryTypeName","src":"6619:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6601:42:66"},"returnParameters":{"id":55398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55397,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55430,"src":"6668:4:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55396,"name":"bool","nodeType":"ElementaryTypeName","src":"6668:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6667:6:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":55507,"nodeType":"FunctionDefinition","src":"7456:788:66","nodes":[],"body":{"id":55506,"nodeType":"Block","src":"7534:710:66","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55441,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"7552:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7568:1:66","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":55443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7560:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55442,"name":"address","nodeType":"ElementaryTypeName","src":"7560:7:66","typeDescriptions":{}}},"id":55445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7552:18:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":55447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7572:39:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":55440,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7544:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7544:68:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55449,"nodeType":"ExpressionStatement","src":"7544:68:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55451,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"7630:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7644:1:66","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":55453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7636:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55452,"name":"address","nodeType":"ElementaryTypeName","src":"7636:7:66","typeDescriptions":{}}},"id":55455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7636:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7630:16:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":55457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:37:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":55450,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7622:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7622:64:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55459,"nodeType":"ExpressionStatement","src":"7622:64:66"},{"expression":{"arguments":[{"id":55461,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"7718:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55462,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"7724:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55463,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"7728:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55460,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55735,"src":"7697:20:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7697:38:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55465,"nodeType":"ExpressionStatement","src":"7697:38:66"},{"assignments":[55467],"declarations":[{"constant":false,"id":55467,"mutability":"mutable","name":"fromBalance","nameLocation":"7754:11:66","nodeType":"VariableDeclaration","scope":55506,"src":"7746:19:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55466,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55471,"initialValue":{"baseExpression":{"id":55468,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"7768:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55470,"indexExpression":{"id":55469,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"7778:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7768:15:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:37:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55473,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55467,"src":"7801:11:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":55474,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"7816:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:21:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":55476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7824:40:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":55472,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7793:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:72:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55478,"nodeType":"ExpressionStatement","src":"7793:72:66"},{"id":55493,"nodeType":"UncheckedBlock","src":"7875:273:66","statements":[{"expression":{"id":55485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55479,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"7899:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55481,"indexExpression":{"id":55480,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"7909:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7899:15:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55482,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55467,"src":"7917:11:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55483,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"7931:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7917:20:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:38:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55486,"nodeType":"ExpressionStatement","src":"7899:38:66"},{"expression":{"id":55491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55487,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"8114:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55489,"indexExpression":{"id":55488,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"8124:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8114:13:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":55490,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"8131:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8114:23:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55492,"nodeType":"ExpressionStatement","src":"8114:23:66"}]},{"eventCall":{"arguments":[{"id":55495,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"8172:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55496,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"8178:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55497,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"8182:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55494,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"8163:8:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8163:26:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55499,"nodeType":"EmitStatement","src":"8158:31:66"},{"expression":{"arguments":[{"id":55501,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"8220:4:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55502,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"8226:2:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55503,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55437,"src":"8230:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55500,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55746,"src":"8200:19:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8200:37:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55505,"nodeType":"ExpressionStatement","src":"8200:37:66"}]},"documentation":{"id":55431,"nodeType":"StructuredDocumentation","src":"7008:443:66","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7465:9:66","parameters":{"id":55438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55433,"mutability":"mutable","name":"from","nameLocation":"7483:4:66","nodeType":"VariableDeclaration","scope":55507,"src":"7475:12:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55432,"name":"address","nodeType":"ElementaryTypeName","src":"7475:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55435,"mutability":"mutable","name":"to","nameLocation":"7497:2:66","nodeType":"VariableDeclaration","scope":55507,"src":"7489:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55434,"name":"address","nodeType":"ElementaryTypeName","src":"7489:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55437,"mutability":"mutable","name":"amount","nameLocation":"7509:6:66","nodeType":"VariableDeclaration","scope":55507,"src":"7501:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55436,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:42:66"},"returnParameters":{"id":55439,"nodeType":"ParameterList","parameters":[],"src":"7534:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55564,"nodeType":"FunctionDefinition","src":"8520:535:66","nodes":[],"body":{"id":55563,"nodeType":"Block","src":"8585:470:66","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55516,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"8603:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8622:1:66","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":55518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8614:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55517,"name":"address","nodeType":"ElementaryTypeName","src":"8614:7:66","typeDescriptions":{}}},"id":55520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8603:21:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":55522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8626:33:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":55515,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8595:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8595:65:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55524,"nodeType":"ExpressionStatement","src":"8595:65:66"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":55528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8700:1:66","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":55527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8692:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55526,"name":"address","nodeType":"ElementaryTypeName","src":"8692:7:66","typeDescriptions":{}}},"id":55529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8692:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55530,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"8704:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55531,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"8713:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55525,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55735,"src":"8671:20:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:49:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55533,"nodeType":"ExpressionStatement","src":"8671:49:66"},{"expression":{"id":55536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55534,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"8731:12:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":55535,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"8747:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8731:22:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55537,"nodeType":"ExpressionStatement","src":"8731:22:66"},{"id":55544,"nodeType":"UncheckedBlock","src":"8763:175:66","statements":[{"expression":{"id":55542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55538,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"8899:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55540,"indexExpression":{"id":55539,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"8909:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8899:18:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":55541,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"8921:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8899:28:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55543,"nodeType":"ExpressionStatement","src":"8899:28:66"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":55548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8969:1:66","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":55547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55546,"name":"address","nodeType":"ElementaryTypeName","src":"8961:7:66","typeDescriptions":{}}},"id":55549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55550,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"8973:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55551,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"8982:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55545,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"8952:8:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:37:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55553,"nodeType":"EmitStatement","src":"8947:42:66"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":55557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:66","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":55556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55555,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:66","typeDescriptions":{}}},"id":55558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55559,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55510,"src":"9032:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55560,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55512,"src":"9041:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55554,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55746,"src":"9000:19:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:48:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55562,"nodeType":"ExpressionStatement","src":"9000:48:66"}]},"documentation":{"id":55508,"nodeType":"StructuredDocumentation","src":"8250:265:66","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8529:5:66","parameters":{"id":55513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55510,"mutability":"mutable","name":"account","nameLocation":"8543:7:66","nodeType":"VariableDeclaration","scope":55564,"src":"8535:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55509,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55512,"mutability":"mutable","name":"amount","nameLocation":"8560:6:66","nodeType":"VariableDeclaration","scope":55564,"src":"8552:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55511,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8534:33:66"},"returnParameters":{"id":55514,"nodeType":"ParameterList","parameters":[],"src":"8585:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55636,"nodeType":"FunctionDefinition","src":"9375:659:66","nodes":[],"body":{"id":55635,"nodeType":"Block","src":"9440:594:66","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55573,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9458:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9477:1:66","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":55575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9469:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55574,"name":"address","nodeType":"ElementaryTypeName","src":"9469:7:66","typeDescriptions":{}}},"id":55577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9469:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9458:21:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":55579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9481:35:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":55572,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9450:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:67:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55581,"nodeType":"ExpressionStatement","src":"9450:67:66"},{"expression":{"arguments":[{"id":55583,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9549:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":55586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:66","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":55585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9558:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55584,"name":"address","nodeType":"ElementaryTypeName","src":"9558:7:66","typeDescriptions":{}}},"id":55587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9558:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55588,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9570:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55582,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55735,"src":"9528:20:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:49:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55590,"nodeType":"ExpressionStatement","src":"9528:49:66"},{"assignments":[55592],"declarations":[{"constant":false,"id":55592,"mutability":"mutable","name":"accountBalance","nameLocation":"9596:14:66","nodeType":"VariableDeclaration","scope":55635,"src":"9588:22:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55591,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55596,"initialValue":{"baseExpression":{"id":55593,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"9613:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55595,"indexExpression":{"id":55594,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9623:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9613:18:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9588:43:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55598,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55592,"src":"9649:14:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":55599,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9667:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9649:24:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":55601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:36:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":55597,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9641:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:71:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55603,"nodeType":"ExpressionStatement","src":"9641:71:66"},{"id":55616,"nodeType":"UncheckedBlock","src":"9722:194:66","statements":[{"expression":{"id":55610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55604,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55176,"src":"9746:9:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55606,"indexExpression":{"id":55605,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9756:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9746:18:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55607,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55592,"src":"9767:14:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55608,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9784:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:23:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9746:44:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55611,"nodeType":"ExpressionStatement","src":"9746:44:66"},{"expression":{"id":55614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55612,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"9883:12:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":55613,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9899:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9883:22:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55615,"nodeType":"ExpressionStatement","src":"9883:22:66"}]},{"eventCall":{"arguments":[{"id":55618,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9940:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":55621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:66","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":55620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9949:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55619,"name":"address","nodeType":"ElementaryTypeName","src":"9949:7:66","typeDescriptions":{}}},"id":55622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55623,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"9961:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55617,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"9931:8:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9931:37:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55625,"nodeType":"EmitStatement","src":"9926:42:66"},{"expression":{"arguments":[{"id":55627,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55567,"src":"9999:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":55630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:66","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":55629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10008:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55628,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:66","typeDescriptions":{}}},"id":55631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10008:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55632,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"10020:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55626,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55746,"src":"9979:19:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:48:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55634,"nodeType":"ExpressionStatement","src":"9979:48:66"}]},"documentation":{"id":55565,"nodeType":"StructuredDocumentation","src":"9061:309:66","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9384:5:66","parameters":{"id":55570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55567,"mutability":"mutable","name":"account","nameLocation":"9398:7:66","nodeType":"VariableDeclaration","scope":55636,"src":"9390:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55566,"name":"address","nodeType":"ElementaryTypeName","src":"9390:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55569,"mutability":"mutable","name":"amount","nameLocation":"9415:6:66","nodeType":"VariableDeclaration","scope":55636,"src":"9407:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55568,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9389:33:66"},"returnParameters":{"id":55571,"nodeType":"ParameterList","parameters":[],"src":"9440:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55681,"nodeType":"FunctionDefinition","src":"10457:340:66","nodes":[],"body":{"id":55680,"nodeType":"Block","src":"10540:257:66","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55647,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55639,"src":"10558:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10575:1:66","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":55649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10567:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55648,"name":"address","nodeType":"ElementaryTypeName","src":"10567:7:66","typeDescriptions":{}}},"id":55651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10567:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10558:19:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":55653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10579:38:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":55646,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10550:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:68:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55655,"nodeType":"ExpressionStatement","src":"10550:68:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55657,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55641,"src":"10636:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:1:66","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":55659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10647:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55658,"name":"address","nodeType":"ElementaryTypeName","src":"10647:7:66","typeDescriptions":{}}},"id":55661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10636:21:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":55663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10659:36:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":55656,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10628:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10628:68:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55665,"nodeType":"ExpressionStatement","src":"10628:68:66"},{"expression":{"id":55672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":55666,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55182,"src":"10707:11:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":55669,"indexExpression":{"id":55667,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55639,"src":"10719:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10707:18:66","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55670,"indexExpression":{"id":55668,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55641,"src":"10726:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10707:27:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55671,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55643,"src":"10737:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:36:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55673,"nodeType":"ExpressionStatement","src":"10707:36:66"},{"eventCall":{"arguments":[{"id":55675,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55639,"src":"10767:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55676,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55641,"src":"10774:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55677,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55643,"src":"10783:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55674,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55768,"src":"10758:8:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10758:32:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55679,"nodeType":"EmitStatement","src":"10753:37:66"}]},"documentation":{"id":55637,"nodeType":"StructuredDocumentation","src":"10040:412:66","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10466:8:66","parameters":{"id":55644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55639,"mutability":"mutable","name":"owner","nameLocation":"10483:5:66","nodeType":"VariableDeclaration","scope":55681,"src":"10475:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55638,"name":"address","nodeType":"ElementaryTypeName","src":"10475:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55641,"mutability":"mutable","name":"spender","nameLocation":"10498:7:66","nodeType":"VariableDeclaration","scope":55681,"src":"10490:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55640,"name":"address","nodeType":"ElementaryTypeName","src":"10490:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55643,"mutability":"mutable","name":"amount","nameLocation":"10515:6:66","nodeType":"VariableDeclaration","scope":55681,"src":"10507:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55642,"name":"uint256","nodeType":"ElementaryTypeName","src":"10507:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10474:48:66"},"returnParameters":{"id":55645,"nodeType":"ParameterList","parameters":[],"src":"10540:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55724,"nodeType":"FunctionDefinition","src":"11078:411:66","nodes":[],"body":{"id":55723,"nodeType":"Block","src":"11168:321:66","nodes":[],"statements":[{"assignments":[55692],"declarations":[{"constant":false,"id":55692,"mutability":"mutable","name":"currentAllowance","nameLocation":"11186:16:66","nodeType":"VariableDeclaration","scope":55723,"src":"11178:24:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55691,"name":"uint256","nodeType":"ElementaryTypeName","src":"11178:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55697,"initialValue":{"arguments":[{"id":55694,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55684,"src":"11215:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55695,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55686,"src":"11222:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":55693,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55302,"src":"11205:9:66","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":55696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:25:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11178:52:66"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55698,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55692,"src":"11244:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":55701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11269:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":55700,"name":"uint256","nodeType":"ElementaryTypeName","src":"11269:7:66","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":55699,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11264:4:66","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":55702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11264:13:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":55703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11278:3:66","memberName":"max","nodeType":"MemberAccess","src":"11264:17:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11244:37:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55722,"nodeType":"IfStatement","src":"11240:243:66","trueBody":{"id":55721,"nodeType":"Block","src":"11283:200:66","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55706,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55692,"src":"11305:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":55707,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55688,"src":"11325:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11305:26:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":55709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:31:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":55705,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11297:7:66","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11297:68:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55711,"nodeType":"ExpressionStatement","src":"11297:68:66"},{"id":55720,"nodeType":"UncheckedBlock","src":"11379:94:66","statements":[{"expression":{"arguments":[{"id":55713,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55684,"src":"11416:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55714,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55686,"src":"11423:7:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55715,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55692,"src":"11432:16:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55716,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55688,"src":"11451:6:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11432:25:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55712,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"11407:8:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11407:51:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55719,"nodeType":"ExpressionStatement","src":"11407:51:66"}]}]}}]},"documentation":{"id":55682,"nodeType":"StructuredDocumentation","src":"10803:270:66","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11087:15:66","parameters":{"id":55689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55684,"mutability":"mutable","name":"owner","nameLocation":"11111:5:66","nodeType":"VariableDeclaration","scope":55724,"src":"11103:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55683,"name":"address","nodeType":"ElementaryTypeName","src":"11103:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55686,"mutability":"mutable","name":"spender","nameLocation":"11126:7:66","nodeType":"VariableDeclaration","scope":55724,"src":"11118:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55685,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55688,"mutability":"mutable","name":"amount","nameLocation":"11143:6:66","nodeType":"VariableDeclaration","scope":55724,"src":"11135:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55687,"name":"uint256","nodeType":"ElementaryTypeName","src":"11135:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11102:48:66"},"returnParameters":{"id":55690,"nodeType":"ParameterList","parameters":[],"src":"11168:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55735,"nodeType":"FunctionDefinition","src":"12073:91:66","nodes":[],"body":{"id":55734,"nodeType":"Block","src":"12162:2:66","nodes":[],"statements":[]},"documentation":{"id":55725,"nodeType":"StructuredDocumentation","src":"11495:573:66","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12082:20:66","parameters":{"id":55732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55727,"mutability":"mutable","name":"from","nameLocation":"12111:4:66","nodeType":"VariableDeclaration","scope":55735,"src":"12103:12:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55726,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55729,"mutability":"mutable","name":"to","nameLocation":"12125:2:66","nodeType":"VariableDeclaration","scope":55735,"src":"12117:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55728,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55731,"mutability":"mutable","name":"amount","nameLocation":"12137:6:66","nodeType":"VariableDeclaration","scope":55735,"src":"12129:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55730,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:42:66"},"returnParameters":{"id":55733,"nodeType":"ParameterList","parameters":[],"src":"12162:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":55746,"nodeType":"FunctionDefinition","src":"12752:90:66","nodes":[],"body":{"id":55745,"nodeType":"Block","src":"12840:2:66","nodes":[],"statements":[]},"documentation":{"id":55736,"nodeType":"StructuredDocumentation","src":"12170:577:66","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12761:19:66","parameters":{"id":55743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55738,"mutability":"mutable","name":"from","nameLocation":"12789:4:66","nodeType":"VariableDeclaration","scope":55746,"src":"12781:12:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55737,"name":"address","nodeType":"ElementaryTypeName","src":"12781:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55740,"mutability":"mutable","name":"to","nameLocation":"12803:2:66","nodeType":"VariableDeclaration","scope":55746,"src":"12795:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55739,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55742,"mutability":"mutable","name":"amount","nameLocation":"12815:6:66","nodeType":"VariableDeclaration","scope":55746,"src":"12807:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55741,"name":"uint256","nodeType":"ElementaryTypeName","src":"12807:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12780:42:66"},"returnParameters":{"id":55744,"nodeType":"ParameterList","parameters":[],"src":"12840:0:66"},"scope":55747,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":55167,"name":"Context","nameLocations":["1550:7:66"],"nodeType":"IdentifierPath","referencedDeclaration":56667,"src":"1550:7:66"},"id":55168,"nodeType":"InheritanceSpecifier","src":"1550:7:66"},{"baseName":{"id":55169,"name":"IERC20","nameLocations":["1559:6:66"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1559:6:66"},"id":55170,"nodeType":"InheritanceSpecifier","src":"1559:6:66"},{"baseName":{"id":55171,"name":"IERC20Metadata","nameLocations":["1567:14:66"],"nodeType":"IdentifierPath","referencedDeclaration":55850,"src":"1567:14:66"},"id":55172,"nodeType":"InheritanceSpecifier","src":"1567:14:66"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":55166,"nodeType":"StructuredDocumentation","src":"230:1301:66","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"linearizedBaseContracts":[55747,55850,55825,56667],"name":"ERC20","nameLocation":"1541:5:66","scope":55748,"usedErrors":[]}],"license":"MIT"},"id":66} \ No newline at end of file diff --git a/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json b/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json index 6a1d07d68..30b68424b 100644 --- a/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json +++ b/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":55826,"exportedSymbols":{"IERC20":[55825]},"nodeType":"SourceUnit","src":"106:2631:67","nodes":[{"id":55749,"nodeType":"PragmaDirective","src":"106:23:67","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55825,"nodeType":"ContractDefinition","src":"202:2534:67","nodes":[{"id":55759,"nodeType":"EventDefinition","src":"388:72:67","nodes":[],"anonymous":false,"documentation":{"id":55751,"nodeType":"StructuredDocumentation","src":"225:158:67","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"394:8:67","parameters":{"id":55758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55753,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:67","nodeType":"VariableDeclaration","scope":55759,"src":"403:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55752,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55755,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:67","nodeType":"VariableDeclaration","scope":55759,"src":"425:18:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55754,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55757,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:67","nodeType":"VariableDeclaration","scope":55759,"src":"445:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55756,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:67"}},{"id":55768,"nodeType":"EventDefinition","src":"619:78:67","nodes":[],"anonymous":false,"documentation":{"id":55760,"nodeType":"StructuredDocumentation","src":"466:148:67","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"625:8:67","parameters":{"id":55767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55762,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:67","nodeType":"VariableDeclaration","scope":55768,"src":"634:21:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55761,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55764,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:67","nodeType":"VariableDeclaration","scope":55768,"src":"657:23:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55763,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55766,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:67","nodeType":"VariableDeclaration","scope":55768,"src":"682:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55765,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:67"}},{"id":55774,"nodeType":"FunctionDefinition","src":"774:55:67","nodes":[],"documentation":{"id":55769,"nodeType":"StructuredDocumentation","src":"703:66:67","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:67","parameters":{"id":55770,"nodeType":"ParameterList","parameters":[],"src":"794:2:67"},"returnParameters":{"id":55773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55772,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55774,"src":"820:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55771,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:67"},"scope":55825,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55782,"nodeType":"FunctionDefinition","src":"912:68:67","nodes":[],"documentation":{"id":55775,"nodeType":"StructuredDocumentation","src":"835:72:67","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:67","parameters":{"id":55778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55777,"mutability":"mutable","name":"account","nameLocation":"939:7:67","nodeType":"VariableDeclaration","scope":55782,"src":"931:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55776,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:67"},"returnParameters":{"id":55781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55782,"src":"971:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55779,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:67"},"scope":55825,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55792,"nodeType":"FunctionDefinition","src":"1193:70:67","nodes":[],"documentation":{"id":55783,"nodeType":"StructuredDocumentation","src":"986:202:67","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:67","parameters":{"id":55788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55785,"mutability":"mutable","name":"to","nameLocation":"1219:2:67","nodeType":"VariableDeclaration","scope":55792,"src":"1211:10:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55784,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55787,"mutability":"mutable","name":"amount","nameLocation":"1231:6:67","nodeType":"VariableDeclaration","scope":55792,"src":"1223:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55786,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:67"},"returnParameters":{"id":55791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55792,"src":"1257:4:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55789,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:67"},"scope":55825,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":55802,"nodeType":"FunctionDefinition","src":"1538:83:67","nodes":[],"documentation":{"id":55793,"nodeType":"StructuredDocumentation","src":"1269:264:67","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:67","parameters":{"id":55798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55795,"mutability":"mutable","name":"owner","nameLocation":"1565:5:67","nodeType":"VariableDeclaration","scope":55802,"src":"1557:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55794,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55797,"mutability":"mutable","name":"spender","nameLocation":"1580:7:67","nodeType":"VariableDeclaration","scope":55802,"src":"1572:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55796,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:67"},"returnParameters":{"id":55801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55800,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55802,"src":"1612:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55799,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:67"},"scope":55825,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55812,"nodeType":"FunctionDefinition","src":"2274:74:67","nodes":[],"documentation":{"id":55803,"nodeType":"StructuredDocumentation","src":"1627:642:67","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:67","parameters":{"id":55808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55805,"mutability":"mutable","name":"spender","nameLocation":"2299:7:67","nodeType":"VariableDeclaration","scope":55812,"src":"2291:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55804,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55807,"mutability":"mutable","name":"amount","nameLocation":"2316:6:67","nodeType":"VariableDeclaration","scope":55812,"src":"2308:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55806,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:67"},"returnParameters":{"id":55811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55812,"src":"2342:4:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55809,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:67"},"scope":55825,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":55824,"nodeType":"FunctionDefinition","src":"2646:88:67","nodes":[],"documentation":{"id":55813,"nodeType":"StructuredDocumentation","src":"2354:287:67","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:67","parameters":{"id":55820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55815,"mutability":"mutable","name":"from","nameLocation":"2676:4:67","nodeType":"VariableDeclaration","scope":55824,"src":"2668:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55814,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55817,"mutability":"mutable","name":"to","nameLocation":"2690:2:67","nodeType":"VariableDeclaration","scope":55824,"src":"2682:10:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55816,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55819,"mutability":"mutable","name":"amount","nameLocation":"2702:6:67","nodeType":"VariableDeclaration","scope":55824,"src":"2694:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55818,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:67"},"returnParameters":{"id":55823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55822,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55824,"src":"2728:4:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55821,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:67"},"scope":55825,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":55750,"nodeType":"StructuredDocumentation","src":"131:70:67","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[55825],"name":"IERC20","nameLocation":"212:6:67","scope":55826,"usedErrors":[]}],"license":"MIT"},"id":67} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":55826,"exportedSymbols":{"IERC20":[55825]},"nodeType":"SourceUnit","src":"106:2631:67","nodes":[{"id":55749,"nodeType":"PragmaDirective","src":"106:23:67","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55825,"nodeType":"ContractDefinition","src":"202:2534:67","nodes":[{"id":55759,"nodeType":"EventDefinition","src":"388:72:67","nodes":[],"anonymous":false,"documentation":{"id":55751,"nodeType":"StructuredDocumentation","src":"225:158:67","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"394:8:67","parameters":{"id":55758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55753,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:67","nodeType":"VariableDeclaration","scope":55759,"src":"403:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55752,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55755,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:67","nodeType":"VariableDeclaration","scope":55759,"src":"425:18:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55754,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55757,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:67","nodeType":"VariableDeclaration","scope":55759,"src":"445:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55756,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:67"}},{"id":55768,"nodeType":"EventDefinition","src":"619:78:67","nodes":[],"anonymous":false,"documentation":{"id":55760,"nodeType":"StructuredDocumentation","src":"466:148:67","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"625:8:67","parameters":{"id":55767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55762,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:67","nodeType":"VariableDeclaration","scope":55768,"src":"634:21:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55761,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55764,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:67","nodeType":"VariableDeclaration","scope":55768,"src":"657:23:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55763,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55766,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:67","nodeType":"VariableDeclaration","scope":55768,"src":"682:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55765,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:67"}},{"id":55774,"nodeType":"FunctionDefinition","src":"774:55:67","nodes":[],"documentation":{"id":55769,"nodeType":"StructuredDocumentation","src":"703:66:67","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:67","parameters":{"id":55770,"nodeType":"ParameterList","parameters":[],"src":"794:2:67"},"returnParameters":{"id":55773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55772,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55774,"src":"820:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55771,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:67"},"scope":55825,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55782,"nodeType":"FunctionDefinition","src":"912:68:67","nodes":[],"documentation":{"id":55775,"nodeType":"StructuredDocumentation","src":"835:72:67","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:67","parameters":{"id":55778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55777,"mutability":"mutable","name":"account","nameLocation":"939:7:67","nodeType":"VariableDeclaration","scope":55782,"src":"931:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55776,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:67"},"returnParameters":{"id":55781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55782,"src":"971:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55779,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:67"},"scope":55825,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55792,"nodeType":"FunctionDefinition","src":"1193:70:67","nodes":[],"documentation":{"id":55783,"nodeType":"StructuredDocumentation","src":"986:202:67","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:67","parameters":{"id":55788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55785,"mutability":"mutable","name":"to","nameLocation":"1219:2:67","nodeType":"VariableDeclaration","scope":55792,"src":"1211:10:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55784,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55787,"mutability":"mutable","name":"amount","nameLocation":"1231:6:67","nodeType":"VariableDeclaration","scope":55792,"src":"1223:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55786,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:67"},"returnParameters":{"id":55791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55792,"src":"1257:4:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55789,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:67"},"scope":55825,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":55802,"nodeType":"FunctionDefinition","src":"1538:83:67","nodes":[],"documentation":{"id":55793,"nodeType":"StructuredDocumentation","src":"1269:264:67","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:67","parameters":{"id":55798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55795,"mutability":"mutable","name":"owner","nameLocation":"1565:5:67","nodeType":"VariableDeclaration","scope":55802,"src":"1557:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55794,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55797,"mutability":"mutable","name":"spender","nameLocation":"1580:7:67","nodeType":"VariableDeclaration","scope":55802,"src":"1572:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55796,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:67"},"returnParameters":{"id":55801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55800,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55802,"src":"1612:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55799,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:67"},"scope":55825,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55812,"nodeType":"FunctionDefinition","src":"2274:74:67","nodes":[],"documentation":{"id":55803,"nodeType":"StructuredDocumentation","src":"1627:642:67","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:67","parameters":{"id":55808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55805,"mutability":"mutable","name":"spender","nameLocation":"2299:7:67","nodeType":"VariableDeclaration","scope":55812,"src":"2291:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55804,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55807,"mutability":"mutable","name":"amount","nameLocation":"2316:6:67","nodeType":"VariableDeclaration","scope":55812,"src":"2308:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55806,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:67"},"returnParameters":{"id":55811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55812,"src":"2342:4:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55809,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:67"},"scope":55825,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":55824,"nodeType":"FunctionDefinition","src":"2646:88:67","nodes":[],"documentation":{"id":55813,"nodeType":"StructuredDocumentation","src":"2354:287:67","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:67","parameters":{"id":55820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55815,"mutability":"mutable","name":"from","nameLocation":"2676:4:67","nodeType":"VariableDeclaration","scope":55824,"src":"2668:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55814,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55817,"mutability":"mutable","name":"to","nameLocation":"2690:2:67","nodeType":"VariableDeclaration","scope":55824,"src":"2682:10:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55816,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55819,"mutability":"mutable","name":"amount","nameLocation":"2702:6:67","nodeType":"VariableDeclaration","scope":55824,"src":"2694:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55818,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:67"},"returnParameters":{"id":55823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55822,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55824,"src":"2728:4:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55821,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:67"},"scope":55825,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":55750,"nodeType":"StructuredDocumentation","src":"131:70:67","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[55825],"name":"IERC20","nameLocation":"212:6:67","scope":55826,"usedErrors":[]}],"license":"MIT"},"id":67} \ No newline at end of file diff --git a/pkg/contracts/out/FAllo.sol/FAllo.json b/pkg/contracts/out/FAllo.sol/FAllo.json index 19a0087f9..45e45e784 100644 --- a/pkg/contracts/out/FAllo.sol/FAllo.json +++ b/pkg/contracts/out/FAllo.sol/FAllo.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/FAllo.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/FAllo.sol":"FAllo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","id":72821,"exportedSymbols":{"FAllo":[72820],"IAllo":[2610],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:636:109","nodes":[{"id":72781,"nodeType":"PragmaDirective","src":"42:24:109","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72783,"nodeType":"ImportDirective","src":"68:66:109","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":72821,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":72782,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"76:5:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72785,"nodeType":"ImportDirective","src":"135:73:109","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":72821,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":72784,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"143:8:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72820,"nodeType":"ContractDefinition","src":"210:467:109","nodes":[{"id":72806,"nodeType":"FunctionDefinition","src":"232:301:109","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"241:28:109","parameters":{"id":72802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72787,"mutability":"mutable","name":"_profileId","nameLocation":"287:10:109","nodeType":"VariableDeclaration","scope":72806,"src":"279:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":72786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279:7:109","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":72789,"mutability":"mutable","name":"_strategy","nameLocation":"315:9:109","nodeType":"VariableDeclaration","scope":72806,"src":"307:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72788,"name":"address","nodeType":"ElementaryTypeName","src":"307:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72791,"mutability":"mutable","name":"_initStrategyData","nameLocation":"347:17:109","nodeType":"VariableDeclaration","scope":72806,"src":"334:30:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":72790,"name":"bytes","nodeType":"ElementaryTypeName","src":"334:5:109","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":72793,"mutability":"mutable","name":"_token","nameLocation":"382:6:109","nodeType":"VariableDeclaration","scope":72806,"src":"374:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72792,"name":"address","nodeType":"ElementaryTypeName","src":"374:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72795,"mutability":"mutable","name":"_amount","nameLocation":"406:7:109","nodeType":"VariableDeclaration","scope":72806,"src":"398:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72794,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72798,"mutability":"mutable","name":"_metadata","nameLocation":"439:9:109","nodeType":"VariableDeclaration","scope":72806,"src":"423:25:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":72797,"nodeType":"UserDefinedTypeName","pathNode":{"id":72796,"name":"Metadata","nameLocations":["423:8:109"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"423:8:109"},"referencedDeclaration":3098,"src":"423:8:109","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":72801,"mutability":"mutable","name":"_managers","nameLocation":"475:9:109","nodeType":"VariableDeclaration","scope":72806,"src":"458:26:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72799,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72800,"nodeType":"ArrayTypeName","src":"458:9:109","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"269:221:109"},"returnParameters":{"id":72805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72804,"mutability":"mutable","name":"poolId","nameLocation":"525:6:109","nodeType":"VariableDeclaration","scope":72806,"src":"517:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72803,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"516:16:109"},"scope":72820,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72811,"nodeType":"FunctionDefinition","src":"539:55:109","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"548:11:109","parameters":{"id":72807,"nodeType":"ParameterList","parameters":[],"src":"559:2:109"},"returnParameters":{"id":72810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72811,"src":"585:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72808,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"584:9:109"},"scope":72820,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":72819,"nodeType":"FunctionDefinition","src":"599:76:109","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"608:7:109","parameters":{"id":72814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72813,"mutability":"mutable","name":"_poolId","nameLocation":"624:7:109","nodeType":"VariableDeclaration","scope":72819,"src":"616:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72812,"name":"uint256","nodeType":"ElementaryTypeName","src":"616:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"615:17:109"},"returnParameters":{"id":72818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72817,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72819,"src":"656:17:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":72816,"nodeType":"UserDefinedTypeName","pathNode":{"id":72815,"name":"IAllo.Pool","nameLocations":["656:5:109","662:4:109"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"656:10:109"},"referencedDeclaration":2319,"src":"656:10:109","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"655:19:109"},"scope":72820,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[72820],"name":"FAllo","nameLocation":"220:5:109","scope":72821,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":109} \ No newline at end of file +{"abi":[{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/FAllo.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/FAllo.sol":"FAllo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","id":74625,"exportedSymbols":{"FAllo":[74624],"IAllo":[2610],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:636:108","nodes":[{"id":74585,"nodeType":"PragmaDirective","src":"42:24:108","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74587,"nodeType":"ImportDirective","src":"68:66:108","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":74625,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":74586,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"76:5:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74589,"nodeType":"ImportDirective","src":"135:73:108","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":74625,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":74588,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"143:8:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74624,"nodeType":"ContractDefinition","src":"210:467:108","nodes":[{"id":74610,"nodeType":"FunctionDefinition","src":"232:301:108","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"241:28:108","parameters":{"id":74606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74591,"mutability":"mutable","name":"_profileId","nameLocation":"287:10:108","nodeType":"VariableDeclaration","scope":74610,"src":"279:18:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279:7:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":74593,"mutability":"mutable","name":"_strategy","nameLocation":"315:9:108","nodeType":"VariableDeclaration","scope":74610,"src":"307:17:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74592,"name":"address","nodeType":"ElementaryTypeName","src":"307:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74595,"mutability":"mutable","name":"_initStrategyData","nameLocation":"347:17:108","nodeType":"VariableDeclaration","scope":74610,"src":"334:30:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74594,"name":"bytes","nodeType":"ElementaryTypeName","src":"334:5:108","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74597,"mutability":"mutable","name":"_token","nameLocation":"382:6:108","nodeType":"VariableDeclaration","scope":74610,"src":"374:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74596,"name":"address","nodeType":"ElementaryTypeName","src":"374:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74599,"mutability":"mutable","name":"_amount","nameLocation":"406:7:108","nodeType":"VariableDeclaration","scope":74610,"src":"398:15:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74598,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74602,"mutability":"mutable","name":"_metadata","nameLocation":"439:9:108","nodeType":"VariableDeclaration","scope":74610,"src":"423:25:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":74601,"nodeType":"UserDefinedTypeName","pathNode":{"id":74600,"name":"Metadata","nameLocations":["423:8:108"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"423:8:108"},"referencedDeclaration":3098,"src":"423:8:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":74605,"mutability":"mutable","name":"_managers","nameLocation":"475:9:108","nodeType":"VariableDeclaration","scope":74610,"src":"458:26:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74603,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74604,"nodeType":"ArrayTypeName","src":"458:9:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"269:221:108"},"returnParameters":{"id":74609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74608,"mutability":"mutable","name":"poolId","nameLocation":"525:6:108","nodeType":"VariableDeclaration","scope":74610,"src":"517:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74607,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"516:16:108"},"scope":74624,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":74615,"nodeType":"FunctionDefinition","src":"539:55:108","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"548:11:108","parameters":{"id":74611,"nodeType":"ParameterList","parameters":[],"src":"559:2:108"},"returnParameters":{"id":74614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74615,"src":"585:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74612,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"584:9:108"},"scope":74624,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74623,"nodeType":"FunctionDefinition","src":"599:76:108","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"608:7:108","parameters":{"id":74618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74617,"mutability":"mutable","name":"_poolId","nameLocation":"624:7:108","nodeType":"VariableDeclaration","scope":74623,"src":"616:15:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74616,"name":"uint256","nodeType":"ElementaryTypeName","src":"616:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"615:17:108"},"returnParameters":{"id":74622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74621,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74623,"src":"656:17:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":74620,"nodeType":"UserDefinedTypeName","pathNode":{"id":74619,"name":"IAllo.Pool","nameLocations":["656:5:108","662:4:108"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"656:10:108"},"referencedDeclaration":2319,"src":"656:10:108","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"655:19:108"},"scope":74624,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74624],"name":"FAllo","nameLocation":"220:5:108","scope":74625,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":108} \ No newline at end of file diff --git a/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json b/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json index 8d8375f92..a4e6e069a 100644 --- a/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json +++ b/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x6080604052346200033a5762000f9d803803806200001d816200033f565b9283398101906060818303126200033a5780516001600160401b03908181116200033a57836200004f91840162000365565b90602093848401518281116200033a576040916200006f91860162000365565b9301519260ff84168094036200033a57825190828211620003245760008054926001958685811c9516801562000319575b8986101462000305578190601f95868111620002b2575b5089908683116001146200024e57849262000242575b5050600019600383901b1c191690861b1781555b81519384116200022e5784548581811c9116801562000223575b888210146200020f57838111620001c7575b5086928411600114620001615783949596509262000155575b5050600019600383901b1c191690821b1790555b60ff196002541617600255604051610bc59081620003d88239f35b01519050388062000126565b9190601f1984169685845280842093905b888210620001af575050838596971062000195575b505050811b0190556200013a565b015160001960f88460031b161c1916905538808062000187565b80878596829496860151815501950193019062000172565b8582528782208480870160051c8201928a881062000205575b0160051c019086905b828110620001f95750506200010d565b838155018690620001e9565b92508192620001e0565b634e487b7160e01b82526022600452602482fd5b90607f1690620000fb565b634e487b7160e01b81526041600452602490fd5b015190503880620000cd565b8480528a85208994509190601f198416865b8d8282106200029b575050841162000281575b505050811b018155620000e1565b015160001960f88460031b161c1916905538808062000273565b8385015186558c9790950194938401930162000260565b9091508380528984208680850160051c8201928c8610620002fb575b918a91869594930160051c01915b828110620002ec575050620000b7565b8681558594508a9101620002dc565b92508192620002ce565b634e487b7160e01b83526022600452602483fd5b94607f1694620000a0565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200032457604052565b919080601f840112156200033a5782516001600160401b03811162000324576020906200039b601f8201601f191683016200033f565b928184528282870101116200033a5760005b818110620003c357508260009394955001015290565b8581018301518482018401528201620003ad56fe60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066735822122012fd584b2a1889095179bc971ea37e802f1865c76ace8e2c4fde9028999849d464736f6c63430008130033","sourceMap":"290:2060:94:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2060:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2060:94;;;;;;;;;;;;;;;;543:21;290:2060;;;543:21;290:2060;;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:94;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:94;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;-1:-1:-1;;290:2060:94;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;;;;;;-1:-1:-1;;;290:2060:94;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;-1:-1:-1;290:2060:94;;-1:-1:-1;290:2060:94;;;;;;;;;-1:-1:-1;;290:2060:94;;;-1:-1:-1;;;;;290:2060:94;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;290:2060:94;;;;;;;;;;-1:-1:-1;;290:2060:94;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066735822122012fd584b2a1889095179bc971ea37e802f1865c76ace8e2c4fde9028999849d464736f6c63430008130033","sourceMap":"290:2060:94:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934:13;290:2060:94;11081:1934:13;;;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2261:81;;;;;;;;;;;;;21786:1164:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934;290:2060:94;11081:1934:13;;;;21786:1164;-1:-1:-1;;;;;;;;;;;21786:1164:13;;;290:2060:94;;21786:1164:13;;;;;;290:2060:94;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;5674:184:13;;;;;;;;;;290:2060:94;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:94;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;14252:18:13;;:::i;:::-;14323:2708;;;;;;;;;290:2060:94;11081:1934:13;290:2060:94;11081:1934:13;;;;14323:2708;;;;;;;;;;;;290:2060:94;14323:2708:13;;;;;;;;290:2060:94;14323:2708:13;;;;;;;;;;;;;;;;;290:2060:94;14323:2708:13;;;;;;290:2060:94;14323:2708:13;;;11081:1934;14323:2708;;;;;;;;;;;;;;;;290:2060:94;14323:2708:13;;;290:2060:94;;14323:2708:13;;290:2060:94;;;14323:2708:13;;;290:2060:94;14323:2708:13;290:2060:94;14323:2708:13;;;;;;;;;-1:-1:-1;;;14323:2708:13;;;;;;;;-1:-1:-1;;;;;;;;;;;14323:2708:13;;;290:2060:94;;14323:2708:13;;;;;;;;;;;;;;290:2060:94;;;;;;;;;;;;;:::i;:::-;2261:81;;;;;;;;23520:810:13;;;;;2261:81:94;;;23520:810:13;;;;;;;;11081:1934;;;23520:810;;;;290:2060:94;;;23520:810:13;;;;;;;;;;;;;;290:2060:94;;;23520:810:13;;;;;;290:2060:94;;;;;;;;;;;;;;;;;:::i;:::-;;;;2261:81;;;;;9295:1143:13;;;;;;;290:2060:94;9295:1143:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9295:1143:13;;;290:2060:94;;;;;9295:1143:13;;;;;;290:2060:94;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2261:81;;;;;290:2060;8037:861:13;;;;;;;;;;;;;;;;;;290:2060:94;8037:861:13;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8037:861:13;;;;290:2060:94;;;;;8037:861:13;;;;;;;290:2060:94;;;;;;;;-1:-1:-1;;290:2060:94;;;;;;:::i;:::-;;;2261:81;;;;;20311:887:13;;;;;;;290:2060:94;20311:887:13;;;;;;;;;;;;;;;;;;;;;;;;;;290:2060:94;11081:1934:13;;;;20311:887;-1:-1:-1;;;;;;;;;;;290:2060:94;20311:887:13;;290:2060:94;;20311:887:13;;;;;;290:2060:94;;;;;;;;;;;;;;;;;;;769:7;290:2060;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:94;;;;;-1:-1:-1;;290:2060:94;;;;-1:-1:-1;;;;;290:2060:94;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:94;;;;;-1:-1:-1;;290:2060:94;;;;;;;;-1:-1:-1;290:2060:94;;;;;;-1:-1:-1;;;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:94;;;;;;;;:::i;:::-;13632:205:13;;;;;;;;;290:2060:94;;;;;;;;;;;;;;-1:-1:-1;;290:2060:94;;;;;;;;:::i;:::-;5240:148:13;;;;;;;;;290:2060:94;;;;;;;;;;;;;-1:-1:-1;;290:2060:94;;;;;;:::i;:::-;;;;2261:81;;;;;18729:946:13;;;;;;;;;;;;;;;;;;;;290:2060:94;18729:946:13;;;;;;;;290:2060:94;18729:946:13;;;;;;-1:-1:-1;;;;;;;;;;;290:2060:94;18729:946:13;;290:2060:94;;18729:946:13;;;;;;290:2060:94;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2261:81;;;;290:2060;6847:884:13;;;;;;;;;;;;;290:2060:94;;;6847:884:13;;;;;;;;;290:2060:94;6847:884:13;;;;;;;;;-1:-1:-1;;;;;;;;;;;6847:884:13;;;;290:2060:94;;;;;6847:884:13;;;;;;290:2060:94;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;871:9;290:2060;;;;;;;;;;;;;;;;;;:::i;:::-;2261:81;;;;;;;;;;;;11081:1934:13;;;;;;;;;;;;;;;;;;;;;;;;;;;290:2060:94;11081:1934:13;;;;;;;;;;;;;;;;;;-1:-1:-1;11081:1934:13;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11081:1934:13;-1:-1:-1;;;;;;;;;;;11081:1934:13;;;290:2060:94;;;;;11081:1934:13;;;;;;;;;;;;;;;;;;;;;;290:2060:94;;;;;;;;;;;;;;;4968:68:13;;;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;6128:413:13;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6128:413:13;;;;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:94;;;;;-1:-1:-1;;290:2060:94;;;;-1:-1:-1;;;;;290:2060:94;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2060:94;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;290:2060:94;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;11081:1934:13;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;:::o;17096:1062:13:-;17222:87;;663:5:94;290:2060;;;;;;;;;;;;;;;;;17096:1062:13;290:2060:94;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2060:94;;;;;-1:-1:-1;;290:2060:94;;;;-1:-1:-1;;;;;290:2060:94;;;;;;;;17508:644:13;290:2060:94;17222:87:13;290:2060:94;;;17431:24:13;;17508:644;;;;;;17222:87;17508:644;;;;;;;;;;;;;;17096:1062;:::o;290:2060:94:-;;;;663:5;290:2060;;;;;663:5;290:2060;;;;;663:5;290:2060;;;663:5;290:2060;;;663:5;290:2060;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2060:94;;;-1:-1:-1;;290:2060:94;;;;;;;;-1:-1:-1;290:2060:94;;;;;;-1:-1:-1;;;290:2060:94;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/GV2ERC20.sol\":\"GV2ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/GV2ERC20.sol":"GV2ERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":64309,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":64311,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":64313,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/script/GV2ERC20.sol","id":64524,"exportedSymbols":{"ERC20":[4491],"GV2ERC20":[64523]},"nodeType":"SourceUnit","src":"42:2309:94","nodes":[{"id":64302,"nodeType":"PragmaDirective","src":"42:24:94","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":64304,"nodeType":"ImportDirective","src":"68:50:94","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":64524,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":64303,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"76:5:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64523,"nodeType":"ContractDefinition","src":"290:2060:94","nodes":[{"id":64309,"nodeType":"VariableDeclaration","src":"323:21:94","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"339:5:94","scope":64523,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":64308,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:94","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":64311,"nodeType":"VariableDeclaration","src":"350:23:94","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"366:7:94","scope":64523,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":64310,"name":"string","nodeType":"ElementaryTypeName","src":"350:6:94","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":64313,"nodeType":"VariableDeclaration","src":"379:24:94","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"394:9:94","scope":64523,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64312,"name":"uint8","nodeType":"ElementaryTypeName","src":"379:5:94","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":64335,"nodeType":"FunctionDefinition","src":"410:161:94","nodes":[],"body":{"id":64334,"nodeType":"Block","src":"483:88:94","nodes":[],"statements":[{"expression":{"id":64324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64322,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64309,"src":"493:5:94","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64323,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64315,"src":"501:5:94","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"493:13:94","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":64325,"nodeType":"ExpressionStatement","src":"493:13:94"},{"expression":{"id":64328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64326,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64311,"src":"516:7:94","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64327,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64317,"src":"526:7:94","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"516:17:94","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":64329,"nodeType":"ExpressionStatement","src":"516:17:94"},{"expression":{"id":64332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64330,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64313,"src":"543:9:94","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64331,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64319,"src":"555:9:94","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"543:21:94","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":64333,"nodeType":"ExpressionStatement","src":"543:21:94"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":64320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64315,"mutability":"mutable","name":"name_","nameLocation":"436:5:94","nodeType":"VariableDeclaration","scope":64335,"src":"422:19:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64314,"name":"string","nodeType":"ElementaryTypeName","src":"422:6:94","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":64317,"mutability":"mutable","name":"symbol_","nameLocation":"457:7:94","nodeType":"VariableDeclaration","scope":64335,"src":"443:21:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64316,"name":"string","nodeType":"ElementaryTypeName","src":"443:6:94","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":64319,"mutability":"mutable","name":"decimals_","nameLocation":"472:9:94","nodeType":"VariableDeclaration","scope":64335,"src":"466:15:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64318,"name":"uint8","nodeType":"ElementaryTypeName","src":"466:5:94","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"421:61:94"},"returnParameters":{"id":64321,"nodeType":"ParameterList","parameters":[],"src":"483:0:94"},"scope":64523,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64344,"nodeType":"FunctionDefinition","src":"577:98:94","nodes":[],"body":{"id":64343,"nodeType":"Block","src":"646:29:94","nodes":[],"statements":[{"expression":{"id":64341,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64309,"src":"663:5:94","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":64340,"id":64342,"nodeType":"Return","src":"656:12:94"}]},"baseFunctions":[4167],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"586:4:94","overrides":{"id":64337,"nodeType":"OverrideSpecifier","overrides":[],"src":"613:8:94"},"parameters":{"id":64336,"nodeType":"ParameterList","parameters":[],"src":"590:2:94"},"returnParameters":{"id":64340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64344,"src":"631:13:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64338,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:94","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"630:15:94"},"scope":64523,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64353,"nodeType":"FunctionDefinition","src":"681:102:94","nodes":[],"body":{"id":64352,"nodeType":"Block","src":"752:31:94","nodes":[],"statements":[{"expression":{"id":64350,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64311,"src":"769:7:94","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":64349,"id":64351,"nodeType":"Return","src":"762:14:94"}]},"baseFunctions":[4173],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"690:6:94","overrides":{"id":64346,"nodeType":"OverrideSpecifier","overrides":[],"src":"719:8:94"},"parameters":{"id":64345,"nodeType":"ParameterList","parameters":[],"src":"696:2:94"},"returnParameters":{"id":64349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64353,"src":"737:13:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64347,"name":"string","nodeType":"ElementaryTypeName","src":"737:6:94","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"736:15:94"},"scope":64523,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64362,"nodeType":"FunctionDefinition","src":"789:98:94","nodes":[],"body":{"id":64361,"nodeType":"Block","src":"854:33:94","nodes":[],"statements":[{"expression":{"id":64359,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64313,"src":"871:9:94","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":64358,"id":64360,"nodeType":"Return","src":"864:16:94"}]},"baseFunctions":[4182],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"798:8:94","overrides":{"id":64355,"nodeType":"OverrideSpecifier","overrides":[],"src":"829:8:94"},"parameters":{"id":64354,"nodeType":"ParameterList","parameters":[],"src":"806:2:94"},"returnParameters":{"id":64358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64362,"src":"847:5:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64356,"name":"uint8","nodeType":"ElementaryTypeName","src":"847:5:94","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"846:7:94"},"scope":64523,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64377,"nodeType":"FunctionDefinition","src":"893:102:94","nodes":[],"body":{"id":64376,"nodeType":"Block","src":"949:46:94","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64371,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64364,"src":"977:2:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64370,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"965:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"965:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64373,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64366,"src":"982:5:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64369,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"959:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":64374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"959:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64375,"nodeType":"ExpressionStatement","src":"959:29:94"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"902:4:94","parameters":{"id":64367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64364,"mutability":"mutable","name":"to","nameLocation":"915:2:94","nodeType":"VariableDeclaration","scope":64377,"src":"907:10:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64363,"name":"address","nodeType":"ElementaryTypeName","src":"907:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64366,"mutability":"mutable","name":"value","nameLocation":"927:5:94","nodeType":"VariableDeclaration","scope":64377,"src":"919:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64365,"name":"uint256","nodeType":"ElementaryTypeName","src":"919:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"906:27:94"},"returnParameters":{"id":64368,"nodeType":"ParameterList","parameters":[],"src":"949:0:94"},"scope":64523,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64392,"nodeType":"FunctionDefinition","src":"1001:106:94","nodes":[],"body":{"id":64391,"nodeType":"Block","src":"1059:48:94","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64386,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64379,"src":"1087:4:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64385,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"1075:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1075:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64388,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64381,"src":"1094:5:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64384,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"1069:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":64389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1069:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64390,"nodeType":"ExpressionStatement","src":"1069:31:94"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1010:4:94","parameters":{"id":64382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64379,"mutability":"mutable","name":"from","nameLocation":"1023:4:94","nodeType":"VariableDeclaration","scope":64392,"src":"1015:12:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64378,"name":"address","nodeType":"ElementaryTypeName","src":"1015:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64381,"mutability":"mutable","name":"value","nameLocation":"1037:5:94","nodeType":"VariableDeclaration","scope":64392,"src":"1029:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64380,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1014:29:94"},"returnParameters":{"id":64383,"nodeType":"ParameterList","parameters":[],"src":"1059:0:94"},"scope":64523,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64412,"nodeType":"FunctionDefinition","src":"1113:151:94","nodes":[],"body":{"id":64411,"nodeType":"Block","src":"1194:70:94","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64403,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64394,"src":"1226:4:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64402,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"1214:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64406,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64396,"src":"1245:2:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64405,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"1233:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64408,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64398,"src":"1250:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64401,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4444,"src":"1204:9:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":64409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1204:53:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64410,"nodeType":"ExpressionStatement","src":"1204:53:94"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1122:14:94","parameters":{"id":64399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64394,"mutability":"mutable","name":"from","nameLocation":"1145:4:94","nodeType":"VariableDeclaration","scope":64412,"src":"1137:12:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64393,"name":"address","nodeType":"ElementaryTypeName","src":"1137:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64396,"mutability":"mutable","name":"to","nameLocation":"1159:2:94","nodeType":"VariableDeclaration","scope":64412,"src":"1151:10:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64395,"name":"address","nodeType":"ElementaryTypeName","src":"1151:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64398,"mutability":"mutable","name":"amount","nameLocation":"1171:6:94","nodeType":"VariableDeclaration","scope":64412,"src":"1163:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64397,"name":"uint256","nodeType":"ElementaryTypeName","src":"1163:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1136:42:94"},"returnParameters":{"id":64400,"nodeType":"ParameterList","parameters":[],"src":"1194:0:94"},"scope":64523,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64432,"nodeType":"FunctionDefinition","src":"1270:175:94","nodes":[],"body":{"id":64431,"nodeType":"Block","src":"1363:82:94","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64423,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64414,"src":"1401:5:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64422,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"1389:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1389:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64426,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64416,"src":"1421:7:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64425,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"1409:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64428,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64418,"src":"1431:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64421,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4456,"src":"1373:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":64429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:65:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64430,"nodeType":"ExpressionStatement","src":"1373:65:94"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1279:20:94","parameters":{"id":64419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64414,"mutability":"mutable","name":"owner","nameLocation":"1308:5:94","nodeType":"VariableDeclaration","scope":64432,"src":"1300:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64413,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64416,"mutability":"mutable","name":"spender","nameLocation":"1323:7:94","nodeType":"VariableDeclaration","scope":64432,"src":"1315:15:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64415,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64418,"mutability":"mutable","name":"amount","nameLocation":"1340:6:94","nodeType":"VariableDeclaration","scope":64432,"src":"1332:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64417,"name":"uint256","nodeType":"ElementaryTypeName","src":"1332:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1299:48:94"},"returnParameters":{"id":64420,"nodeType":"ParameterList","parameters":[],"src":"1363:0:94"},"scope":64523,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64451,"nodeType":"FunctionDefinition","src":"1451:148:94","nodes":[],"body":{"id":64450,"nodeType":"Block","src":"1536:63:94","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64445,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64434,"src":"1580:2:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64444,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"1568:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1568:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64447,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64436,"src":"1585:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64442,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1553:5:94","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64523_$","typeString":"type(contract super GV2ERC20)"}},"id":64443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1559:8:94","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1553:14:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":64448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1553:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64441,"id":64449,"nodeType":"Return","src":"1546:46:94"}]},"baseFunctions":[4282],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1460:8:94","overrides":{"id":64438,"nodeType":"OverrideSpecifier","overrides":[],"src":"1512:8:94"},"parameters":{"id":64437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64434,"mutability":"mutable","name":"to","nameLocation":"1477:2:94","nodeType":"VariableDeclaration","scope":64451,"src":"1469:10:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64433,"name":"address","nodeType":"ElementaryTypeName","src":"1469:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64436,"mutability":"mutable","name":"amount","nameLocation":"1489:6:94","nodeType":"VariableDeclaration","scope":64451,"src":"1481:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64435,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1468:28:94"},"returnParameters":{"id":64441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64451,"src":"1530:4:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64439,"name":"bool","nodeType":"ElementaryTypeName","src":"1530:4:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1529:6:94"},"scope":64523,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64475,"nodeType":"FunctionDefinition","src":"1605:189:94","nodes":[],"body":{"id":64474,"nodeType":"Block","src":"1708:86:94","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64466,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64453,"src":"1756:4:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64465,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"1744:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1744:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64469,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64455,"src":"1775:2:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64468,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"1763:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1763:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64471,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64457,"src":"1780:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64463,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1725:5:94","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64523_$","typeString":"type(contract super GV2ERC20)"}},"id":64464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1731:12:94","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4310,"src":"1725:18:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":64472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1725:62:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64462,"id":64473,"nodeType":"Return","src":"1718:69:94"}]},"baseFunctions":[4310],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1614:12:94","overrides":{"id":64459,"nodeType":"OverrideSpecifier","overrides":[],"src":"1684:8:94"},"parameters":{"id":64458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64453,"mutability":"mutable","name":"from","nameLocation":"1635:4:94","nodeType":"VariableDeclaration","scope":64475,"src":"1627:12:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64452,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64455,"mutability":"mutable","name":"to","nameLocation":"1649:2:94","nodeType":"VariableDeclaration","scope":64475,"src":"1641:10:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64454,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64457,"mutability":"mutable","name":"amount","nameLocation":"1661:6:94","nodeType":"VariableDeclaration","scope":64475,"src":"1653:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64456,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1626:42:94"},"returnParameters":{"id":64462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64475,"src":"1702:4:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64460,"name":"bool","nodeType":"ElementaryTypeName","src":"1702:4:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1701:6:94"},"scope":64523,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64494,"nodeType":"FunctionDefinition","src":"1800:184:94","nodes":[],"body":{"id":64493,"nodeType":"Block","src":"1903:81:94","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64488,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64477,"src":"1956:7:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64487,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"1944:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1944:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64490,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64479,"src":"1966:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64485,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1920:5:94","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64523_$","typeString":"type(contract super GV2ERC20)"}},"id":64486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1926:17:94","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4240,"src":"1920:23:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":64491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:57:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64484,"id":64492,"nodeType":"Return","src":"1913:64:94"}]},"baseFunctions":[4240],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1809:17:94","overrides":{"id":64481,"nodeType":"OverrideSpecifier","overrides":[],"src":"1879:8:94"},"parameters":{"id":64480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64477,"mutability":"mutable","name":"spender","nameLocation":"1835:7:94","nodeType":"VariableDeclaration","scope":64494,"src":"1827:15:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64476,"name":"address","nodeType":"ElementaryTypeName","src":"1827:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64479,"mutability":"mutable","name":"difference","nameLocation":"1852:10:94","nodeType":"VariableDeclaration","scope":64494,"src":"1844:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64478,"name":"uint256","nodeType":"ElementaryTypeName","src":"1844:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1826:37:94"},"returnParameters":{"id":64484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64494,"src":"1897:4:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64482,"name":"bool","nodeType":"ElementaryTypeName","src":"1897:4:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1896:6:94"},"scope":64523,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64513,"nodeType":"FunctionDefinition","src":"1990:184:94","nodes":[],"body":{"id":64512,"nodeType":"Block","src":"2093:81:94","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64507,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64496,"src":"2146:7:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64506,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64522,"src":"2134:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64509,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64498,"src":"2156:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64504,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2110:5:94","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64523_$","typeString":"type(contract super GV2ERC20)"}},"id":64505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:17:94","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"2110:23:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":64510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:57:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64503,"id":64511,"nodeType":"Return","src":"2103:64:94"}]},"baseFunctions":[4254],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1999:17:94","overrides":{"id":64500,"nodeType":"OverrideSpecifier","overrides":[],"src":"2069:8:94"},"parameters":{"id":64499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64496,"mutability":"mutable","name":"spender","nameLocation":"2025:7:94","nodeType":"VariableDeclaration","scope":64513,"src":"2017:15:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64495,"name":"address","nodeType":"ElementaryTypeName","src":"2017:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64498,"mutability":"mutable","name":"difference","nameLocation":"2042:10:94","nodeType":"VariableDeclaration","scope":64513,"src":"2034:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64497,"name":"uint256","nodeType":"ElementaryTypeName","src":"2034:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2016:37:94"},"returnParameters":{"id":64503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64513,"src":"2087:4:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64501,"name":"bool","nodeType":"ElementaryTypeName","src":"2087:4:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2086:6:94"},"scope":64523,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64522,"nodeType":"FunctionDefinition","src":"2180:168:94","nodes":[],"body":{"id":64521,"nodeType":"Block","src":"2251:97:94","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2286:56:94","statements":[{"nodeType":"YulAssignment","src":"2300:32:94","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2313:1:94"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2320:3:94","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2325:3:94"},"nodeType":"YulFunctionCall","src":"2325:5:94"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2316:3:94"},"nodeType":"YulFunctionCall","src":"2316:15:94"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2310:2:94"},"nodeType":"YulFunctionCall","src":"2310:22:94"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2300:6:94"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":64515,"isOffset":false,"isSlot":false,"src":"2313:1:94","valueSize":1},{"declaration":64518,"isOffset":false,"isSlot":false,"src":"2300:6:94","valueSize":1}],"flags":["memory-safe"],"id":64520,"nodeType":"InlineAssembly","src":"2261:81:94"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2189:11:94","parameters":{"id":64516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64515,"mutability":"mutable","name":"a","nameLocation":"2209:1:94","nodeType":"VariableDeclaration","scope":64522,"src":"2201:9:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64514,"name":"address","nodeType":"ElementaryTypeName","src":"2201:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2200:11:94"},"returnParameters":{"id":64519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64518,"mutability":"mutable","name":"result","nameLocation":"2243:6:94","nodeType":"VariableDeclaration","scope":64522,"src":"2235:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64517,"name":"address","nodeType":"ElementaryTypeName","src":"2235:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2234:16:94"},"scope":64523,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":64306,"name":"ERC20","nameLocations":["311:5:94"],"nodeType":"IdentifierPath","referencedDeclaration":4491,"src":"311:5:94"},"id":64307,"nodeType":"InheritanceSpecifier","src":"311:5:94"}],"canonicalName":"GV2ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":64305,"nodeType":"StructuredDocumentation","src":"120:170:94","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[64523,4491],"name":"GV2ERC20","nameLocation":"299:8:94","scope":64524,"usedErrors":[4101,4104,4107,4110,4113,4116,4119]}],"license":"AGPL-3.0-only"},"id":94} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000e9438038062000e94833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610b7080620003246000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220fcfede121580ba0e769e1d6c6b5cae9a425e25d8ecc4fdae8eb1775216a823a164736f6c63430008130033","sourceMap":"290:2060:107:-:0;;;410:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;493:5;:13;501:5;493;:13;:::i;:::-;-1:-1:-1;516:7:107;:17;526:7;516;:17;:::i;:::-;-1:-1:-1;543:9:107;:21;;-1:-1:-1;;543:21:107;;;;;;;;;;;;-1:-1:-1;290:2060:107;;-1:-1:-1;290:2060:107;14:127:139;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:139;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:139;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:139:o;991:712::-;1097:6;1105;1113;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1209:16;;-1:-1:-1;;;;;1274:14:139;;;1271:34;;;1301:1;1298;1291:12;1271:34;1324:61;1377:7;1368:6;1357:9;1353:22;1324:61;:::i;:::-;1314:71;;1431:2;1420:9;1416:18;1410:25;1394:41;;1460:2;1450:8;1447:16;1444:36;;;1476:1;1473;1466:12;1444:36;;1499:63;1554:7;1543:8;1532:9;1528:24;1499:63;:::i;:::-;1489:73;;;1605:2;1594:9;1590:18;1584:25;1649:4;1642:5;1638:16;1631:5;1628:27;1618:55;;1669:1;1666;1659:12;1618:55;1692:5;1682:15;;;991:712;;;;;:::o;1708:380::-;1787:1;1783:12;;;;1830;;;1851:61;;1905:4;1897:6;1893:17;1883:27;;1851:61;1958:2;1950:6;1947:14;1927:18;1924:38;1921:161;;2004:10;1999:3;1995:20;1992:1;1985:31;2039:4;2036:1;2029:15;2067:4;2064:1;2057:15;1921:161;;1708:380;;;:::o;2219:545::-;2321:2;2316:3;2313:11;2310:448;;;2357:1;2382:5;2378:2;2371:17;2427:4;2423:2;2413:19;2497:2;2485:10;2481:19;2478:1;2474:27;2468:4;2464:38;2533:4;2521:10;2518:20;2515:47;;;-1:-1:-1;2556:4:139;2515:47;2611:2;2606:3;2602:12;2599:1;2595:20;2589:4;2585:31;2575:41;;2666:82;2684:2;2677:5;2674:13;2666:82;;;2729:17;;;2710:1;2699:13;2666:82;;;2670:3;;;2310:448;2219:545;;;:::o;2940:1352::-;3060:10;;-1:-1:-1;;;;;3082:30:139;;3079:56;;;3115:18;;:::i;:::-;3144:97;3234:6;3194:38;3226:4;3220:11;3194:38;:::i;:::-;3188:4;3144:97;:::i;:::-;3296:4;;3360:2;3349:14;;3377:1;3372:663;;;;4079:1;4096:6;4093:89;;;-1:-1:-1;4148:19:139;;;4142:26;4093:89;-1:-1:-1;;2897:1:139;2893:11;;;2889:24;2885:29;2875:40;2921:1;2917:11;;;2872:57;4195:81;;3342:944;;3372:663;2166:1;2159:14;;;2203:4;2190:18;;-1:-1:-1;;3408:20:139;;;3526:236;3540:7;3537:1;3534:14;3526:236;;;3629:19;;;3623:26;3608:42;;3721:27;;;;3689:1;3677:14;;;;3556:19;;3526:236;;;3530:3;3790:6;3781:7;3778:19;3775:201;;;3851:19;;;3845:26;-1:-1:-1;;3934:1:139;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:139;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:139:o;:::-;290:2060:107;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220fcfede121580ba0e769e1d6c6b5cae9a425e25d8ecc4fdae8eb1775216a823a164736f6c63430008130033","sourceMap":"290:2060:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:14;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:139;;1162:22;1144:41;;1132:2;1117:18;5995:573:14;1004:187:139;4847:195:14;5007:18;5001:25;4847:195;;;1342:25:139;;;1330:2;1315:18;4847:195:14;1196:177:139;1605:189:107;;;;;;:::i;:::-;;:::i;789:98::-;871:9;;789:98;;871:9;;;;1853:36:139;;1841:2;1826:18;789:98:107;1711:184:139;17096:1062:14;;;:::i;1800:184:107:-;;;;;;:::i;:::-;;:::i;893:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:14;;;;;;:::i;:::-;5276:18;5270:4;5263:32;;;5171:14;5308:19;;;;5372:4;5356:21;;5350:28;;5108:286;13503:340;;;;;;:::i;:::-;13726:17;13720:4;13713:31;;;13563:14;13757:19;;;;13821:4;13805:21;;13799:28;;13503:340;681:102:107;;;:::i;1001:106::-;;;;;;:::i;:::-;;:::i;1990:184::-;;;;;;:::i;:::-;;:::i;1451:148::-;;;;;;:::i;:::-;;:::i;1270:175::-;;;;;;:::i;:::-;;:::i;14027:3010:14:-;;;;;;:::i;:::-;;:::i;5489:375::-;;;;;;:::i;:::-;5704:4;5697:21;5744:20;5738:4;5731:34;;;5601:14;5778:19;;;;5842:4;5826:21;;5820:28;;5489:375;1113:151:107;;;;;;:::i;:::-;;:::i;577:98::-;631:13;663:5;656:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;:::o;5995:573:14:-;6069:4;6228:7;6222:4;6215:21;6262:20;6256:4;6249:34;6309:8;6303:4;6296:22;6361:6;6354:4;6348;6338:21;6331:37;6436:6;6430:4;6423:20;6524:4;6518:11;6514:2;6510:20;6500:8;-1:-1:-1;;;;;;;;;;;6467:4:14;6461;6456:75;-1:-1:-1;6557:4:14;5995:573;;;;:::o;1605:189:107:-;1702:4;1725:62;1744:17;1756:4;1744:11;:17::i;:::-;1763:15;1775:2;1763:11;:15::i;:::-;1780:6;1725:18;:62::i;:::-;1718:69;1605:189;-1:-1:-1;;;;1605:189:107:o;17096:1062:14:-;17261:4;17255:11;17153:14;17447:6;:4;:6::i;:::-;17431:24;;;;;;;17726:66;17716:77;;17813:12;;;17806:30;-1:-1:-1;17946:66:14;17939:4;17932:12;;17925:88;18047:9;18040:4;18033:12;;18026:31;18091:9;18084:4;18077:12;;18070:31;18137:4;18124:18;;;17096:1062::o;1800:184:107:-;1897:4;1920:57;1944:20;1956:7;1944:11;:20::i;:::-;1966:10;1920:23;:57::i;:::-;1913:64;1800:184;-1:-1:-1;;;1800:184:107:o;893:102::-;959:29;965:15;977:2;965:11;:15::i;:::-;982:5;959;:29::i;:::-;893:102;;:::o;681:::-;737:13;769:7;762:14;;;;;:::i;1001:106::-;1069:31;1075:17;1087:4;1075:11;:17::i;:::-;1094:5;1069;:31::i;1990:184::-;2087:4;2110:57;2134:20;2146:7;2134:11;:20::i;:::-;2156:10;2110:23;:57::i;1451:148::-;1530:4;1553:39;1568:15;1580:2;1568:11;:15::i;:::-;1585:6;1553:14;:39::i;1270:175::-;1373:65;1389:18;1401:5;1389:11;:18::i;:::-;1409:20;1421:7;1409:11;:20::i;:::-;1431:6;1373:15;:65::i;:::-;1270:175;;;:::o;14027:3010:14:-;14226:23;14252:18;:16;:18::i;:::-;14226:44;;14406:4;14400:11;14513:8;14500:11;14497:25;14494:142;;;14554:10;14548:4;14541:24;14617:4;14611;14604:18;14494:142;14714:5;14710:2;14706:14;14702:2;14698:23;14689:32;;14761:7;14757:2;14753:16;14749:2;14745:25;14734:36;;14854:17;14848:4;14841:31;14898:5;14892:4;14885:19;14950:4;14944;14934:21;14992:9;14986:16;15103:1;15091:10;15087:18;15076:9;15069:37;15325:66;15322:1;15315:77;15426:5;15419:4;15416:1;15412:12;15405:27;15466:7;15459:4;15456:1;15452:12;15445:29;15508:5;15501:4;15498:1;15494:12;15487:27;15548:10;15541:4;15538:1;15534:12;15527:32;;;15593:8;15586:4;15583:1;15579:12;15572:30;15664:6;15661:1;15654:17;15697:15;15691:4;15684:29;15752:4;15749:1;15739:18;15733:4;15726:32;15844:4;15838;15828:21;15825:1;15818:32;15886:1;15880:4;15876:12;15870:4;15863:26;15915:1;15909:4;15902:15;15943:1;15937:4;15930:15;15998:4;15992;15986;15983:1;15980;15973:5;15962:41;15958:46;16423:5;16404:16;16398:23;16395:34;16385:159;;16462:10;16456:4;16449:24;16525:4;16519;16512:18;16385:159;-1:-1:-1;;;16685:43:14;;16679:4;16672:57;16765:4;16759;16749:21;16742:36;;;16720:7;16885:5;-1:-1:-1;;;;;;;;;;;;16845:4:14;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:14;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:14:o;1113:151:107:-;1204:53;1214:17;1226:4;1214:11;:17::i;:::-;1233:15;1245:2;1233:11;:15::i;:::-;1250:6;1204:9;:53::i;2180:168::-;2235:14;2325:5;2320:3;2316:15;2313:1;2310:22;2300:32;;2180:168;;;:::o;10886:2203:14:-;10974:4;11125;11121:2;11117:13;11218:8;11212:4;11205:22;11263:20;11256:5;11253:31;11247:4;11240:45;11335:4;11329;11319:21;11377:13;11371:20;11499:1;11495:6;11483:10;11480:22;11470:430;;11617:10;11609:6;11606:22;11603:159;;;11664:10;11658:4;11651:24;11739:4;11733;11726:18;11603:159;11878:6;11866:10;11862:23;11847:13;11840:46;11470:430;;;11996:18;11989:5;11986:29;11980:4;11973:43;12068:4;12062;12052:21;12111:15;12105:22;12201:11;12193:6;12190:23;12187:146;;;12245:10;12239:4;12232:24;12314:4;12308;12301:18;12187:146;12442:6;12429:11;12425:24;12408:15;12401:49;;;12525:2;12519:4;12512:16;12578:4;12572;12562:21;12828:6;12812:13;12806:20;12802:33;12787:13;12780:56;;12904:6;12898:4;12891:20;12998:4;12992:11;12988:2;12984:20;12976:5;12972:2;12968:14;-1:-1:-1;;;;;;;;;;;12935:4:14;12929;12924:81;;-1:-1:-1;13078:4:14;10886:2203;;;;;:::o;6700:1058::-;6788:4;6945:7;6939:4;6932:21;6979:20;6973:4;6966:34;7026:8;7020:4;7013:22;7085:4;7079;7069:21;7132:13;7126:20;7239:10;7222:15;7218:32;7322:15;7306:14;7303:35;7300:156;;;7370:10;7364:4;7357:24;7437:4;7431;7424:18;7300:156;7535:14;7520:13;7513:37;7618:14;7612:4;7605:28;;;;7714:4;7708:11;7704:2;7700:20;7690:8;-1:-1:-1;;;;;;;;;;;7657:4:14;7651;7646:75;-1:-1:-1;7747:4:14;6700:1058;;;;:::o;18562:1172::-;18783:18;18777:25;18862:6;18843:17;18839:30;18959:17;18941:16;18938:39;18935:162;;;19009:10;19003:4;18996:24;19078:4;19072;19065:18;18935:162;19184:16;19164:18;19157:44;;;19287:18;19281:4;19274:32;19332:2;19326:4;19319:16;19385:4;19379;19369:21;19501:6;19485:13;19479:20;19475:33;19460:13;19453:56;;19577:6;19571:4;19564:20;19658:4;19652:11;19648:2;19644:20;19641:1;-1:-1:-1;;;;;;;;;;;19608:4:14;19602;19597:68;893:102:107;;:::o;20140:1119:14:-;20407:18;20401:4;20394:32;20452:4;20446;20439:18;20509:4;20503;20493:21;20552:15;20546:22;20642:11;20634:6;20631:23;20628:146;;;20686:10;20680:4;20673:24;20755:4;20749;20742:18;20628:146;20866:24;;;20842:49;;21001:18;20995:25;;20991:38;;;20964:66;;-1:-1:-1;21085:20:14;;;-1:-1:-1;;;;;21162:22:14;;-1:-1:-1;;;;;;;;;;;21129:4:14;-1:-1:-1;21118:70:14;893:102:107;;:::o;7890:1035:14:-;7978:4;8135:7;8129:4;8122:21;8169:20;8163:4;8156:34;8216:8;8210:4;8203:22;8275:4;8269;8259:21;8322:13;8316:20;8413:10;8396:15;8393:31;8390:153;;;8456:10;8450:4;8443:24;8524:4;8518;8511:18;8390:153;8656:10;8639:15;8635:32;8613:54;;8702:14;8687:13;8680:37;8785:14;8779:4;8772:28;;;8881:4;8875:11;8871:2;8867:20;8857:8;-1:-1:-1;;;;;;;;;;;8824:4:14;8818;8813:75;-1:-1:-1;8914:4:14;7890:1035;;;;:::o;9112:1406::-;9182:4;9391:18;9385:4;9378:32;9436:8;9430:4;9423:22;9497:4;9491;9481:21;9540:15;9534:22;9630:11;9622:6;9619:23;9616:146;;;9674:10;9668:4;9661:24;9743:4;9737;9730:18;9616:146;9871:6;9858:11;9854:24;9837:15;9830:49;;;9954:2;9948:4;9941:16;10007:4;10001;9991:21;10257:6;10241:13;10235:20;10231:33;10216:13;10209:56;;10333:6;10327:4;10320:20;10421:4;10415:11;10411:2;10407:20;10397:8;-1:-1:-1;;;;;;;;;;;10364:4:14;10358;10353:75;-1:-1:-1;10507:4:14;9112:1406;;;;:::o;23377:959::-;23618:7;23612:4;23605:21;23652:20;23646:4;23639:34;23699:5;23693:4;23686:19;23755:4;23749;23739:21;23797:13;23791:20;23919:1;23915:6;23903:10;23900:22;23890:430;;24037:10;24029:6;24026:22;24023:159;;;24084:10;24078:4;24071:24;24159:4;24153;24146:18;24023:159;24298:6;24286:10;24282:23;24267:13;24260:46;23890:430;;;23377:959;;;:::o;21607:1396::-;21830:4;21826:2;21822:13;21931:18;21924:5;21921:29;21915:4;21908:43;22003:4;21997;21987:21;22046:15;22040:22;22136:11;22128:6;22125:23;22122:146;;;22180:10;22174:4;22167:24;22249:4;22243;22236:18;22122:146;22377:6;22364:11;22360:24;22343:15;22336:49;;;22460:2;22454:4;22447:16;22513:4;22507;22497:21;22763:6;22747:13;22741:20;22737:33;22722:13;22715:56;;22839:6;22833:4;22826:20;22933:4;22927:11;22923:2;22919:20;22911:5;22907:2;22903:14;-1:-1:-1;;;;;;;;;;;22870:4:14;22864;22859:81;;1270:175:107;;;:::o;14:548:139:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:139;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:139:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2082:186::-;2141:6;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;2273:693::-;2384:6;2392;2400;2408;2416;2424;2432;2485:3;2473:9;2464:7;2460:23;2456:33;2453:53;;;2502:1;2499;2492:12;2453:53;2525:29;2544:9;2525:29;:::i;:::-;2515:39;;2573:38;2607:2;2596:9;2592:18;2573:38;:::i;:::-;2563:48;;2658:2;2647:9;2643:18;2630:32;2620:42;;2709:2;2698:9;2694:18;2681:32;2671:42;;2763:3;2752:9;2748:19;2735:33;2808:4;2801:5;2797:16;2790:5;2787:27;2777:55;;2828:1;2825;2818:12;2777:55;2273:693;;;;-1:-1:-1;2273:693:139;;;;2851:5;2903:3;2888:19;;2875:33;;-1:-1:-1;2955:3:139;2940:19;;;2927:33;;2273:693;-1:-1:-1;;2273:693:139:o;2971:260::-;3039:6;3047;3100:2;3088:9;3079:7;3075:23;3071:32;3068:52;;;3116:1;3113;3106:12;3068:52;3139:29;3158:9;3139:29;:::i;:::-;3129:39;;3187:38;3221:2;3210:9;3206:18;3187:38;:::i;:::-;3177:48;;2971:260;;;;;:::o;3236:380::-;3315:1;3311:12;;;;3358;;;3379:61;;3433:4;3425:6;3421:17;3411:27;;3379:61;3486:2;3478:6;3475:14;3455:18;3452:38;3449:161;;3532:10;3527:3;3523:20;3520:1;3513:31;3567:4;3564:1;3557:15;3595:4;3592:1;3585:15;3449:161;;3236:380;;;:::o","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/GV2ERC20.sol\":\"GV2ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/GV2ERC20.sol":"GV2ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":70503,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":70505,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":70507,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/script/GV2ERC20.sol","id":70718,"exportedSymbols":{"ERC20":[4533],"GV2ERC20":[70717]},"nodeType":"SourceUnit","src":"42:2309:107","nodes":[{"id":70496,"nodeType":"PragmaDirective","src":"42:24:107","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70498,"nodeType":"ImportDirective","src":"68:50:107","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":70718,"sourceUnit":4534,"symbolAliases":[{"foreign":{"id":70497,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"76:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70717,"nodeType":"ContractDefinition","src":"290:2060:107","nodes":[{"id":70503,"nodeType":"VariableDeclaration","src":"323:21:107","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"339:5:107","scope":70717,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":70502,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":70505,"nodeType":"VariableDeclaration","src":"350:23:107","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"366:7:107","scope":70717,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":70504,"name":"string","nodeType":"ElementaryTypeName","src":"350:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":70507,"nodeType":"VariableDeclaration","src":"379:24:107","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"394:9:107","scope":70717,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":70506,"name":"uint8","nodeType":"ElementaryTypeName","src":"379:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":70529,"nodeType":"FunctionDefinition","src":"410:161:107","nodes":[],"body":{"id":70528,"nodeType":"Block","src":"483:88:107","nodes":[],"statements":[{"expression":{"id":70518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70516,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70503,"src":"493:5:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70517,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70509,"src":"501:5:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"493:13:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":70519,"nodeType":"ExpressionStatement","src":"493:13:107"},{"expression":{"id":70522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70520,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70505,"src":"516:7:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70521,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70511,"src":"526:7:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"516:17:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":70523,"nodeType":"ExpressionStatement","src":"516:17:107"},{"expression":{"id":70526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70524,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70507,"src":"543:9:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70525,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70513,"src":"555:9:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"543:21:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":70527,"nodeType":"ExpressionStatement","src":"543:21:107"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":70514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70509,"mutability":"mutable","name":"name_","nameLocation":"436:5:107","nodeType":"VariableDeclaration","scope":70529,"src":"422:19:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70508,"name":"string","nodeType":"ElementaryTypeName","src":"422:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70511,"mutability":"mutable","name":"symbol_","nameLocation":"457:7:107","nodeType":"VariableDeclaration","scope":70529,"src":"443:21:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70510,"name":"string","nodeType":"ElementaryTypeName","src":"443:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70513,"mutability":"mutable","name":"decimals_","nameLocation":"472:9:107","nodeType":"VariableDeclaration","scope":70529,"src":"466:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":70512,"name":"uint8","nodeType":"ElementaryTypeName","src":"466:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"421:61:107"},"returnParameters":{"id":70515,"nodeType":"ParameterList","parameters":[],"src":"483:0:107"},"scope":70717,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":70538,"nodeType":"FunctionDefinition","src":"577:98:107","nodes":[],"body":{"id":70537,"nodeType":"Block","src":"646:29:107","nodes":[],"statements":[{"expression":{"id":70535,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70503,"src":"663:5:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":70534,"id":70536,"nodeType":"Return","src":"656:12:107"}]},"baseFunctions":[4209],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"586:4:107","overrides":{"id":70531,"nodeType":"OverrideSpecifier","overrides":[],"src":"613:8:107"},"parameters":{"id":70530,"nodeType":"ParameterList","parameters":[],"src":"590:2:107"},"returnParameters":{"id":70534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70533,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70538,"src":"631:13:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70532,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"630:15:107"},"scope":70717,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":70547,"nodeType":"FunctionDefinition","src":"681:102:107","nodes":[],"body":{"id":70546,"nodeType":"Block","src":"752:31:107","nodes":[],"statements":[{"expression":{"id":70544,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70505,"src":"769:7:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":70543,"id":70545,"nodeType":"Return","src":"762:14:107"}]},"baseFunctions":[4215],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"690:6:107","overrides":{"id":70540,"nodeType":"OverrideSpecifier","overrides":[],"src":"719:8:107"},"parameters":{"id":70539,"nodeType":"ParameterList","parameters":[],"src":"696:2:107"},"returnParameters":{"id":70543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70542,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70547,"src":"737:13:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70541,"name":"string","nodeType":"ElementaryTypeName","src":"737:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"736:15:107"},"scope":70717,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":70556,"nodeType":"FunctionDefinition","src":"789:98:107","nodes":[],"body":{"id":70555,"nodeType":"Block","src":"854:33:107","nodes":[],"statements":[{"expression":{"id":70553,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70507,"src":"871:9:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":70552,"id":70554,"nodeType":"Return","src":"864:16:107"}]},"baseFunctions":[4224],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"798:8:107","overrides":{"id":70549,"nodeType":"OverrideSpecifier","overrides":[],"src":"829:8:107"},"parameters":{"id":70548,"nodeType":"ParameterList","parameters":[],"src":"806:2:107"},"returnParameters":{"id":70552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70556,"src":"847:5:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":70550,"name":"uint8","nodeType":"ElementaryTypeName","src":"847:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"846:7:107"},"scope":70717,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":70571,"nodeType":"FunctionDefinition","src":"893:102:107","nodes":[],"body":{"id":70570,"nodeType":"Block","src":"949:46:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":70565,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70558,"src":"977:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70564,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"965:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"965:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70567,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70560,"src":"982:5:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70563,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4434,"src":"959:5:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":70568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"959:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70569,"nodeType":"ExpressionStatement","src":"959:29:107"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"902:4:107","parameters":{"id":70561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70558,"mutability":"mutable","name":"to","nameLocation":"915:2:107","nodeType":"VariableDeclaration","scope":70571,"src":"907:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70557,"name":"address","nodeType":"ElementaryTypeName","src":"907:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70560,"mutability":"mutable","name":"value","nameLocation":"927:5:107","nodeType":"VariableDeclaration","scope":70571,"src":"919:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70559,"name":"uint256","nodeType":"ElementaryTypeName","src":"919:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"906:27:107"},"returnParameters":{"id":70562,"nodeType":"ParameterList","parameters":[],"src":"949:0:107"},"scope":70717,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70586,"nodeType":"FunctionDefinition","src":"1001:106:107","nodes":[],"body":{"id":70585,"nodeType":"Block","src":"1059:48:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":70580,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70573,"src":"1087:4:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70579,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"1075:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1075:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70582,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70575,"src":"1094:5:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70578,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4462,"src":"1069:5:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":70583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1069:31:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70584,"nodeType":"ExpressionStatement","src":"1069:31:107"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1010:4:107","parameters":{"id":70576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70573,"mutability":"mutable","name":"from","nameLocation":"1023:4:107","nodeType":"VariableDeclaration","scope":70586,"src":"1015:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70572,"name":"address","nodeType":"ElementaryTypeName","src":"1015:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70575,"mutability":"mutable","name":"value","nameLocation":"1037:5:107","nodeType":"VariableDeclaration","scope":70586,"src":"1029:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70574,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1014:29:107"},"returnParameters":{"id":70577,"nodeType":"ParameterList","parameters":[],"src":"1059:0:107"},"scope":70717,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70606,"nodeType":"FunctionDefinition","src":"1113:151:107","nodes":[],"body":{"id":70605,"nodeType":"Block","src":"1194:70:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":70597,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70588,"src":"1226:4:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70596,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"1214:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":70600,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70590,"src":"1245:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70599,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"1233:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70602,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70592,"src":"1250:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70595,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4486,"src":"1204:9:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":70603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1204:53:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70604,"nodeType":"ExpressionStatement","src":"1204:53:107"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1122:14:107","parameters":{"id":70593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70588,"mutability":"mutable","name":"from","nameLocation":"1145:4:107","nodeType":"VariableDeclaration","scope":70606,"src":"1137:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70587,"name":"address","nodeType":"ElementaryTypeName","src":"1137:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70590,"mutability":"mutable","name":"to","nameLocation":"1159:2:107","nodeType":"VariableDeclaration","scope":70606,"src":"1151:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70589,"name":"address","nodeType":"ElementaryTypeName","src":"1151:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70592,"mutability":"mutable","name":"amount","nameLocation":"1171:6:107","nodeType":"VariableDeclaration","scope":70606,"src":"1163:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70591,"name":"uint256","nodeType":"ElementaryTypeName","src":"1163:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1136:42:107"},"returnParameters":{"id":70594,"nodeType":"ParameterList","parameters":[],"src":"1194:0:107"},"scope":70717,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70626,"nodeType":"FunctionDefinition","src":"1270:175:107","nodes":[],"body":{"id":70625,"nodeType":"Block","src":"1363:82:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":70617,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70608,"src":"1401:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70616,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"1389:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1389:18:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":70620,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70610,"src":"1421:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70619,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"1409:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70622,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"1431:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70615,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"1373:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":70623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:65:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70624,"nodeType":"ExpressionStatement","src":"1373:65:107"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1279:20:107","parameters":{"id":70613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70608,"mutability":"mutable","name":"owner","nameLocation":"1308:5:107","nodeType":"VariableDeclaration","scope":70626,"src":"1300:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70607,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70610,"mutability":"mutable","name":"spender","nameLocation":"1323:7:107","nodeType":"VariableDeclaration","scope":70626,"src":"1315:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70609,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70612,"mutability":"mutable","name":"amount","nameLocation":"1340:6:107","nodeType":"VariableDeclaration","scope":70626,"src":"1332:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70611,"name":"uint256","nodeType":"ElementaryTypeName","src":"1332:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1299:48:107"},"returnParameters":{"id":70614,"nodeType":"ParameterList","parameters":[],"src":"1363:0:107"},"scope":70717,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70645,"nodeType":"FunctionDefinition","src":"1451:148:107","nodes":[],"body":{"id":70644,"nodeType":"Block","src":"1536:63:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":70639,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70628,"src":"1580:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70638,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"1568:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1568:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70641,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"1585:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70636,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1553:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$70717_$","typeString":"type(contract super GV2ERC20)"}},"id":70637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1559:8:107","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4324,"src":"1553:14:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":70642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1553:39:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":70635,"id":70643,"nodeType":"Return","src":"1546:46:107"}]},"baseFunctions":[4324],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1460:8:107","overrides":{"id":70632,"nodeType":"OverrideSpecifier","overrides":[],"src":"1512:8:107"},"parameters":{"id":70631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70628,"mutability":"mutable","name":"to","nameLocation":"1477:2:107","nodeType":"VariableDeclaration","scope":70645,"src":"1469:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70627,"name":"address","nodeType":"ElementaryTypeName","src":"1469:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70630,"mutability":"mutable","name":"amount","nameLocation":"1489:6:107","nodeType":"VariableDeclaration","scope":70645,"src":"1481:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70629,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1468:28:107"},"returnParameters":{"id":70635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70634,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70645,"src":"1530:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70633,"name":"bool","nodeType":"ElementaryTypeName","src":"1530:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1529:6:107"},"scope":70717,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70669,"nodeType":"FunctionDefinition","src":"1605:189:107","nodes":[],"body":{"id":70668,"nodeType":"Block","src":"1708:86:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":70660,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70647,"src":"1756:4:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70659,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"1744:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1744:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":70663,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70649,"src":"1775:2:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70662,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"1763:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1763:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70665,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70651,"src":"1780:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70657,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1725:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$70717_$","typeString":"type(contract super GV2ERC20)"}},"id":70658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1731:12:107","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4352,"src":"1725:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":70666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1725:62:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":70656,"id":70667,"nodeType":"Return","src":"1718:69:107"}]},"baseFunctions":[4352],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1614:12:107","overrides":{"id":70653,"nodeType":"OverrideSpecifier","overrides":[],"src":"1684:8:107"},"parameters":{"id":70652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70647,"mutability":"mutable","name":"from","nameLocation":"1635:4:107","nodeType":"VariableDeclaration","scope":70669,"src":"1627:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70646,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70649,"mutability":"mutable","name":"to","nameLocation":"1649:2:107","nodeType":"VariableDeclaration","scope":70669,"src":"1641:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70648,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70651,"mutability":"mutable","name":"amount","nameLocation":"1661:6:107","nodeType":"VariableDeclaration","scope":70669,"src":"1653:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70650,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1626:42:107"},"returnParameters":{"id":70656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70669,"src":"1702:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70654,"name":"bool","nodeType":"ElementaryTypeName","src":"1702:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1701:6:107"},"scope":70717,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70688,"nodeType":"FunctionDefinition","src":"1800:184:107","nodes":[],"body":{"id":70687,"nodeType":"Block","src":"1903:81:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":70682,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70671,"src":"1956:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70681,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"1944:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1944:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70684,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70673,"src":"1966:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70679,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1920:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$70717_$","typeString":"type(contract super GV2ERC20)"}},"id":70680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1926:17:107","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1920:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":70685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":70678,"id":70686,"nodeType":"Return","src":"1913:64:107"}]},"baseFunctions":[4282],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1809:17:107","overrides":{"id":70675,"nodeType":"OverrideSpecifier","overrides":[],"src":"1879:8:107"},"parameters":{"id":70674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70671,"mutability":"mutable","name":"spender","nameLocation":"1835:7:107","nodeType":"VariableDeclaration","scope":70688,"src":"1827:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70670,"name":"address","nodeType":"ElementaryTypeName","src":"1827:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70673,"mutability":"mutable","name":"difference","nameLocation":"1852:10:107","nodeType":"VariableDeclaration","scope":70688,"src":"1844:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70672,"name":"uint256","nodeType":"ElementaryTypeName","src":"1844:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1826:37:107"},"returnParameters":{"id":70678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70677,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70688,"src":"1897:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70676,"name":"bool","nodeType":"ElementaryTypeName","src":"1897:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1896:6:107"},"scope":70717,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70707,"nodeType":"FunctionDefinition","src":"1990:184:107","nodes":[],"body":{"id":70706,"nodeType":"Block","src":"2093:81:107","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":70701,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70690,"src":"2146:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70700,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70716,"src":"2134:11:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":70702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70703,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70692,"src":"2156:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":70698,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2110:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$70717_$","typeString":"type(contract super GV2ERC20)"}},"id":70699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:17:107","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4296,"src":"2110:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":70704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":70697,"id":70705,"nodeType":"Return","src":"2103:64:107"}]},"baseFunctions":[4296],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1999:17:107","overrides":{"id":70694,"nodeType":"OverrideSpecifier","overrides":[],"src":"2069:8:107"},"parameters":{"id":70693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70690,"mutability":"mutable","name":"spender","nameLocation":"2025:7:107","nodeType":"VariableDeclaration","scope":70707,"src":"2017:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70689,"name":"address","nodeType":"ElementaryTypeName","src":"2017:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70692,"mutability":"mutable","name":"difference","nameLocation":"2042:10:107","nodeType":"VariableDeclaration","scope":70707,"src":"2034:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70691,"name":"uint256","nodeType":"ElementaryTypeName","src":"2034:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2016:37:107"},"returnParameters":{"id":70697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70696,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70707,"src":"2087:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70695,"name":"bool","nodeType":"ElementaryTypeName","src":"2087:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2086:6:107"},"scope":70717,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70716,"nodeType":"FunctionDefinition","src":"2180:168:107","nodes":[],"body":{"id":70715,"nodeType":"Block","src":"2251:97:107","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2286:56:107","statements":[{"nodeType":"YulAssignment","src":"2300:32:107","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2313:1:107"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2320:3:107","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2325:3:107"},"nodeType":"YulFunctionCall","src":"2325:5:107"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2316:3:107"},"nodeType":"YulFunctionCall","src":"2316:15:107"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2310:2:107"},"nodeType":"YulFunctionCall","src":"2310:22:107"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2300:6:107"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":70709,"isOffset":false,"isSlot":false,"src":"2313:1:107","valueSize":1},{"declaration":70712,"isOffset":false,"isSlot":false,"src":"2300:6:107","valueSize":1}],"flags":["memory-safe"],"id":70714,"nodeType":"InlineAssembly","src":"2261:81:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2189:11:107","parameters":{"id":70710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70709,"mutability":"mutable","name":"a","nameLocation":"2209:1:107","nodeType":"VariableDeclaration","scope":70716,"src":"2201:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70708,"name":"address","nodeType":"ElementaryTypeName","src":"2201:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2200:11:107"},"returnParameters":{"id":70713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70712,"mutability":"mutable","name":"result","nameLocation":"2243:6:107","nodeType":"VariableDeclaration","scope":70716,"src":"2235:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70711,"name":"address","nodeType":"ElementaryTypeName","src":"2235:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2234:16:107"},"scope":70717,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":70500,"name":"ERC20","nameLocations":["311:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":4533,"src":"311:5:107"},"id":70501,"nodeType":"InheritanceSpecifier","src":"311:5:107"}],"canonicalName":"GV2ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":70499,"nodeType":"StructuredDocumentation","src":"120:170:107","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[70717,4533],"name":"GV2ERC20","nameLocation":"299:8:107","scope":70718,"usedErrors":[4143,4146,4149,4152,4155,4158,4161]}],"license":"AGPL-3.0-only"},"id":107} \ No newline at end of file diff --git a/pkg/contracts/out/IAllo.sol/IAllo.json b/pkg/contracts/out/IAllo.sol/IAllo.json index 433981788..4ab1e4778 100644 --- a/pkg/contracts/out/IAllo.sol/IAllo.json +++ b/pkg/contracts/out/IAllo.sol/IAllo.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to add\",\"_poolId\":\"The ID of the pool to add the manager to\"}},\"addToCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to add\"}},\"allocate(uint256,bytes)\":{\"details\":\"Each strategy will handle the allocation of funds differently.\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy.\",\"_poolId\":\"The ID of the pool to allocate funds from\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"Each strategy will handle the allocation of funds differently\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolIds\":\"The pool ID's to register the recipients for\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"Each strategy will handle the distribution of funds differently\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolId\":\"The ID of the pool to distribute from\",\"_recipientIds\":\"The recipient ids to distribute to\"}},\"fundPool(uint256,uint256)\":{\"details\":\"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.\",\"params\":{\"_amount\":\"The amount to fund the pool with\",\"_poolId\":\"The ID of the pool to fund\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"baseFee The current base fee\"}},\"getFeeDenominator()\":{\"details\":\"1e18 represents 100%\",\"returns\":{\"_0\":\"feeDenominator The current fee denominator\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"percentFee The current percentage for the fee\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"pool The 'Pool' struct for the ID of the pool passed in\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"registry The current registry address\"}},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"strategy The address of the strategy for the ID of the pool passed in\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"treasury The current treasury address\"}},\"initialize(address,address,address,uint256,uint256)\":{\"params\":{\"_baseFee\":\"Base fee amount\",\"_owner\":\"Address of the owner\",\"_percentFee\":\"Percentage for the fee\",\"_registry\":\"Address of the registry contract\",\"_treasury\":\"Address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy to check\"},\"returns\":{\"_0\":\"'true' if the '_strategy' is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool manager, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_recipient\":\"The address to send the recovered funds to\",\"_token\":\"The token to recover\"}},\"registerRecipient(uint256,bytes)\":{\"params\":{\"_poolId\":\"The ID of the pool to register the recipient for\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to remove\"}},\"removePoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to remove\",\"_poolId\":\"The ID of the pool to remove the manager from\"}},\"updateBaseFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_percentFee\":\"The new percentage for the fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_metadata\":\"The new metadata to set\",\"_poolId\":\"The ID of the pool to update\"}},\"updateRegistry(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"title\":\"Allo Interface\",\"version\":1},\"userdoc\":{\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"addPoolManager(uint256,address)\":{\"notice\":\"Adds a pool manager to the pool.\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Adds a strategy to the cloneable strategies.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocates funds to a recipient.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocates funds to multiple recipients.\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Registers a batch of recipients.\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distributes funds to recipients and emits {Distributed} event if successful\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Funds a pool.\"},\"getBaseFee()\":{\"notice\":\"Returns the current base fee\"},\"getFeeDenominator()\":{\"notice\":\"Returns the current fee denominator\"},\"getPercentFee()\":{\"notice\":\"Returns the current percent fee\"},\"getPool(uint256)\":{\"notice\":\"Returns the 'Pool' struct for a given 'poolId'\"},\"getRegistry()\":{\"notice\":\"Returns the current registry address\"},\"getStrategy(uint256)\":{\"notice\":\"Returns the address of the strategy for a given 'poolId'\"},\"getTreasury()\":{\"notice\":\"Returns the current treasury address\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initialize the Allo contract\"},\"isCloneableStrategy(address)\":{\"notice\":\"Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if an address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if an address is a pool manager.\"},\"recoverFunds(address,address)\":{\"notice\":\"Recovers funds from a pool.\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Removes a strategy from the cloneable strategies.\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Removes a pool manager from the pool.\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the percentage for the fee.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Updates a pools metadata.\"},\"updateRegistry(address)\":{\"notice\":\"Update the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"Interface for the Allo contract. It exposes all functions needed to use the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":\"IAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to add","_poolId":"The ID of the pool to add the manager to"}},"addToCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to add"}},"allocate(uint256,bytes)":{"details":"Each strategy will handle the allocation of funds differently.","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy.","_poolId":"The ID of the pool to allocate funds from"}},"batchAllocate(uint256[],bytes[])":{"details":"Each strategy will handle the allocation of funds differently"},"batchRegisterRecipient(uint256[],bytes[])":{"params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolIds":"The pool ID's to register the recipients for"}},"distribute(uint256,address[],bytes)":{"details":"Each strategy will handle the distribution of funds differently","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolId":"The ID of the pool to distribute from","_recipientIds":"The recipient ids to distribute to"}},"fundPool(uint256,uint256)":{"details":"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.","params":{"_amount":"The amount to fund the pool with","_poolId":"The ID of the pool to fund"}},"getBaseFee()":{"returns":{"_0":"baseFee The current base fee"}},"getFeeDenominator()":{"details":"1e18 represents 100%","returns":{"_0":"feeDenominator The current fee denominator"}},"getPercentFee()":{"returns":{"_0":"percentFee The current percentage for the fee"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"pool The 'Pool' struct for the ID of the pool passed in"}},"getRegistry()":{"returns":{"_0":"registry The current registry address"}},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"strategy The address of the strategy for the ID of the pool passed in"}},"getTreasury()":{"returns":{"_0":"treasury The current treasury address"}},"initialize(address,address,address,uint256,uint256)":{"params":{"_baseFee":"Base fee amount","_owner":"Address of the owner","_percentFee":"Percentage for the fee","_registry":"Address of the registry contract","_treasury":"Address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy to check"},"returns":{"_0":"'true' if the '_strategy' is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool manager, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_recipient":"The address to send the recovered funds to","_token":"The token to recover"}},"registerRecipient(uint256,bytes)":{"params":{"_poolId":"The ID of the pool to register the recipient for"}},"removeFromCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to remove"}},"removePoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to remove","_poolId":"The ID of the pool to remove the manager from"}},"updateBaseFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_percentFee":"The new percentage for the fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool admin.","params":{"_metadata":"The new metadata to set","_poolId":"The ID of the pool to update"}},"updateRegistry(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addPoolManager(uint256,address)":{"notice":"Adds a pool manager to the pool."},"addToCloneableStrategies(address)":{"notice":"Adds a strategy to the cloneable strategies."},"allocate(uint256,bytes)":{"notice":"Allocates funds to a recipient."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocates funds to multiple recipients."},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Registers a batch of recipients."},"distribute(uint256,address[],bytes)":{"notice":"Distributes funds to recipients and emits {Distributed} event if successful"},"fundPool(uint256,uint256)":{"notice":"Funds a pool."},"getBaseFee()":{"notice":"Returns the current base fee"},"getFeeDenominator()":{"notice":"Returns the current fee denominator"},"getPercentFee()":{"notice":"Returns the current percent fee"},"getPool(uint256)":{"notice":"Returns the 'Pool' struct for a given 'poolId'"},"getRegistry()":{"notice":"Returns the current registry address"},"getStrategy(uint256)":{"notice":"Returns the address of the strategy for a given 'poolId'"},"getTreasury()":{"notice":"Returns the current treasury address"},"initialize(address,address,address,uint256,uint256)":{"notice":"Initialize the Allo contract"},"isCloneableStrategy(address)":{"notice":"Checks if a strategy is cloneable (is in the cloneableStrategies mapping)."},"isPoolAdmin(uint256,address)":{"notice":"Checks if an address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if an address is a pool manager."},"recoverFunds(address,address)":{"notice":"Recovers funds from a pool."},"registerRecipient(uint256,bytes)":{"notice":"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy."},"removeFromCloneableStrategies(address)":{"notice":"Removes a strategy from the cloneable strategies."},"removePoolManager(uint256,address)":{"notice":"Removes a pool manager from the pool."},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the percentage for the fee."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Updates a pools metadata."},"updateRegistry(address)":{"notice":"Update the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":"IAllo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","id":2611,"exportedSymbols":{"IAllo":[2610],"IRegistry":[2802],"IStrategy":[2969],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:15030:3","nodes":[{"id":2297,"nodeType":"PragmaDirective","src":"42:24:3","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2299,"nodeType":"ImportDirective","src":"82:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./IRegistry.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":2298,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"90:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2301,"nodeType":"ImportDirective","src":"125:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"./IStrategy.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":2300,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"133:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2303,"nodeType":"ImportDirective","src":"190:51:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2302,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"198:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2610,"nodeType":"ContractDefinition","src":"4531:10540:3","nodes":[{"id":2319,"nodeType":"StructDefinition","src":"4718:180:3","nodes":[],"canonicalName":"IAllo.Pool","members":[{"constant":false,"id":2306,"mutability":"mutable","name":"profileId","nameLocation":"4748:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4740:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4740:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"strategy","nameLocation":"4777:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4767:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2308,"nodeType":"UserDefinedTypeName","pathNode":{"id":2307,"name":"IStrategy","nameLocations":["4767:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"4767:9:3"},"referencedDeclaration":2969,"src":"4767:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2311,"mutability":"mutable","name":"token","nameLocation":"4803:5:3","nodeType":"VariableDeclaration","scope":2319,"src":"4795:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2310,"name":"address","nodeType":"ElementaryTypeName","src":"4795:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2314,"mutability":"mutable","name":"metadata","nameLocation":"4827:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4818:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2313,"nodeType":"UserDefinedTypeName","pathNode":{"id":2312,"name":"Metadata","nameLocations":["4818:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4818:8:3"},"referencedDeclaration":3098,"src":"4818:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2316,"mutability":"mutable","name":"managerRole","nameLocation":"4853:11:3","nodeType":"VariableDeclaration","scope":2319,"src":"4845:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4845:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2318,"mutability":"mutable","name":"adminRole","nameLocation":"4882:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4874:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4874:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Pool","nameLocation":"4725:4:3","scope":2610,"visibility":"public"},{"id":2336,"nodeType":"EventDefinition","src":"5405:193:3","nodes":[],"anonymous":false,"documentation":{"id":2320,"nodeType":"StructuredDocumentation","src":"4998:402:3","text":"@notice Event emitted when a new pool is created\n @param poolId ID of the pool created\n @param profileId ID of the profile the pool is associated with\n @param strategy Address of the strategy contract\n @param token Address of the token pool was funded with when created\n @param amount Amount pool was funded with when created\n @param metadata Pool metadata"},"eventSelector":"69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1","name":"PoolCreated","nameLocation":"5411:11:3","parameters":{"id":2335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2322,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5448:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5432:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2321,"name":"uint256","nodeType":"ElementaryTypeName","src":"5432:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2324,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5480:9:3","nodeType":"VariableDeclaration","scope":2336,"src":"5464:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5464:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2327,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"5509:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5499:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2326,"nodeType":"UserDefinedTypeName","pathNode":{"id":2325,"name":"IStrategy","nameLocations":["5499:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"5499:9:3"},"referencedDeclaration":2969,"src":"5499:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2329,"indexed":false,"mutability":"mutable","name":"token","nameLocation":"5535:5:3","nodeType":"VariableDeclaration","scope":2336,"src":"5527:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"5527:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2331,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5558:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5550:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2334,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5583:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5574:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2333,"nodeType":"UserDefinedTypeName","pathNode":{"id":2332,"name":"Metadata","nameLocations":["5574:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5574:8:3"},"referencedDeclaration":3098,"src":"5574:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5422:175:3"}},{"id":2344,"nodeType":"EventDefinition","src":"5761:69:3","nodes":[],"anonymous":false,"documentation":{"id":2337,"nodeType":"StructuredDocumentation","src":"5604:152:3","text":"@notice Emitted when a pools metadata is updated\n @param poolId ID of the pool updated\n @param metadata Pool metadata that was updated"},"eventSelector":"14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0","name":"PoolMetadataUpdated","nameLocation":"5767:19:3","parameters":{"id":2343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5803:6:3","nodeType":"VariableDeclaration","scope":2344,"src":"5787:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"5787:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2342,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5820:8:3","nodeType":"VariableDeclaration","scope":2344,"src":"5811:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2341,"nodeType":"UserDefinedTypeName","pathNode":{"id":2340,"name":"Metadata","nameLocations":["5811:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5811:8:3"},"referencedDeclaration":3098,"src":"5811:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5786:43:3"}},{"id":2353,"nodeType":"EventDefinition","src":"6032:70:3","nodes":[],"anonymous":false,"documentation":{"id":2345,"nodeType":"StructuredDocumentation","src":"5836:191:3","text":"@notice Emitted when a pool is funded\n @param poolId ID of the pool funded\n @param amount Amount funded to the pool\n @param fee Amount of the fee paid to the treasury"},"eventSelector":"bf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851","name":"PoolFunded","nameLocation":"6038:10:3","parameters":{"id":2352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6065:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6049:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2346,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2349,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6081:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6073:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"6073:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2351,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"6097:3:3","nodeType":"VariableDeclaration","scope":2353,"src":"6089:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6048:53:3"}},{"id":2360,"nodeType":"EventDefinition","src":"6271:58:3","nodes":[],"anonymous":false,"documentation":{"id":2354,"nodeType":"StructuredDocumentation","src":"6108:158:3","text":"@notice Emitted when the base fee is paid\n @param poolId ID of the pool the base fee was paid for\n @param amount Amount of the base fee paid"},"eventSelector":"02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72","name":"BaseFeePaid","nameLocation":"6277:11:3","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2356,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6305:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6289:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint256","nodeType":"ElementaryTypeName","src":"6289:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2358,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6321:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6313:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2357,"name":"uint256","nodeType":"ElementaryTypeName","src":"6313:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6288:40:3"}},{"id":2365,"nodeType":"EventDefinition","src":"6448:40:3","nodes":[],"anonymous":false,"documentation":{"id":2361,"nodeType":"StructuredDocumentation","src":"6335:108:3","text":"@notice Emitted when the treasury address is updated\n @param treasury Address of the new treasury"},"eventSelector":"7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1","name":"TreasuryUpdated","nameLocation":"6454:15:3","parameters":{"id":2364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2363,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"6478:8:3","nodeType":"VariableDeclaration","scope":2365,"src":"6470:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2362,"name":"address","nodeType":"ElementaryTypeName","src":"6470:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6469:18:3"}},{"id":2370,"nodeType":"EventDefinition","src":"6603:44:3","nodes":[],"anonymous":false,"documentation":{"id":2366,"nodeType":"StructuredDocumentation","src":"6494:104:3","text":"@notice Emitted when the percent fee is updated\n @param percentFee New percentage for the fee"},"eventSelector":"9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065","name":"PercentFeeUpdated","nameLocation":"6609:17:3","parameters":{"id":2369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2368,"indexed":false,"mutability":"mutable","name":"percentFee","nameLocation":"6635:10:3","nodeType":"VariableDeclaration","scope":2370,"src":"6627:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6626:20:3"}},{"id":2375,"nodeType":"EventDefinition","src":"6749:38:3","nodes":[],"anonymous":false,"documentation":{"id":2371,"nodeType":"StructuredDocumentation","src":"6653:91:3","text":"@notice Emitted when the base fee is updated\n @param baseFee New base fee amount"},"eventSelector":"803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3","name":"BaseFeeUpdated","nameLocation":"6755:14:3","parameters":{"id":2374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2373,"indexed":false,"mutability":"mutable","name":"baseFee","nameLocation":"6778:7:3","nodeType":"VariableDeclaration","scope":2375,"src":"6770:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6769:17:3"}},{"id":2380,"nodeType":"EventDefinition","src":"6906:40:3","nodes":[],"anonymous":false,"documentation":{"id":2376,"nodeType":"StructuredDocumentation","src":"6793:108:3","text":"@notice Emitted when the registry address is updated\n @param registry Address of the new registry"},"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6912:15:3","parameters":{"id":2379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2378,"indexed":false,"mutability":"mutable","name":"registry","nameLocation":"6936:8:3","nodeType":"VariableDeclaration","scope":2380,"src":"6928:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2377,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6927:18:3"}},{"id":2385,"nodeType":"EventDefinition","src":"7099:41:3","nodes":[],"anonymous":false,"documentation":{"id":2381,"nodeType":"StructuredDocumentation","src":"6952:142:3","text":"@notice Emitted when a strategy is approved and added to the cloneable strategies\n @param strategy Address of the strategy approved"},"eventSelector":"960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1","name":"StrategyApproved","nameLocation":"7105:16:3","parameters":{"id":2384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2383,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7130:8:3","nodeType":"VariableDeclaration","scope":2385,"src":"7122:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2382,"name":"address","nodeType":"ElementaryTypeName","src":"7122:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7121:18:3"}},{"id":2390,"nodeType":"EventDefinition","src":"7283:40:3","nodes":[],"anonymous":false,"documentation":{"id":2386,"nodeType":"StructuredDocumentation","src":"7146:132:3","text":"@notice Emitted when a strategy is removed from the cloneable strategies\n @param strategy Address of the strategy removed"},"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"7289:15:3","parameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7313:8:3","nodeType":"VariableDeclaration","scope":2390,"src":"7305:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2387,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7304:18:3"}},{"id":2404,"nodeType":"FunctionDefinition","src":"7750:176:3","nodes":[],"documentation":{"id":2391,"nodeType":"StructuredDocumentation","src":"7465:280:3","text":"@notice Initialize the Allo contract\n @param _owner Address of the owner\n @param _registry Address of the registry contract\n @param _treasury Address of the treasury\n @param _percentFee Percentage for the fee\n @param _baseFee Base fee amount"},"functionSelector":"a6b63eb8","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7759:10:3","parameters":{"id":2402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2393,"mutability":"mutable","name":"_owner","nameLocation":"7787:6:3","nodeType":"VariableDeclaration","scope":2404,"src":"7779:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2392,"name":"address","nodeType":"ElementaryTypeName","src":"7779:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2395,"mutability":"mutable","name":"_registry","nameLocation":"7811:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7803:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2394,"name":"address","nodeType":"ElementaryTypeName","src":"7803:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2397,"mutability":"mutable","name":"_treasury","nameLocation":"7846:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7830:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2396,"name":"address","nodeType":"ElementaryTypeName","src":"7830:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":2399,"mutability":"mutable","name":"_percentFee","nameLocation":"7873:11:3","nodeType":"VariableDeclaration","scope":2404,"src":"7865:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2398,"name":"uint256","nodeType":"ElementaryTypeName","src":"7865:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2401,"mutability":"mutable","name":"_baseFee","nameLocation":"7902:8:3","nodeType":"VariableDeclaration","scope":2404,"src":"7894:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2400,"name":"uint256","nodeType":"ElementaryTypeName","src":"7894:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7769:147:3"},"returnParameters":{"id":2403,"nodeType":"ParameterList","parameters":[],"src":"7925:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2413,"nodeType":"FunctionDefinition","src":"8123:81:3","nodes":[],"documentation":{"id":2405,"nodeType":"StructuredDocumentation","src":"7932:186:3","text":"@notice Updates a pools metadata.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to update\n @param _metadata The new metadata to set"},"functionSelector":"5f9ca138","implemented":false,"kind":"function","modifiers":[],"name":"updatePoolMetadata","nameLocation":"8132:18:3","parameters":{"id":2411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2407,"mutability":"mutable","name":"_poolId","nameLocation":"8159:7:3","nodeType":"VariableDeclaration","scope":2413,"src":"8151:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2406,"name":"uint256","nodeType":"ElementaryTypeName","src":"8151:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2410,"mutability":"mutable","name":"_metadata","nameLocation":"8184:9:3","nodeType":"VariableDeclaration","scope":2413,"src":"8168:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2409,"nodeType":"UserDefinedTypeName","pathNode":{"id":2408,"name":"Metadata","nameLocations":["8168:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8168:8:3"},"referencedDeclaration":3098,"src":"8168:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"8150:44:3"},"returnParameters":{"id":2412,"nodeType":"ParameterList","parameters":[],"src":"8203:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2419,"nodeType":"FunctionDefinition","src":"8364:52:3","nodes":[],"documentation":{"id":2414,"nodeType":"StructuredDocumentation","src":"8210:149:3","text":"@notice Update the registry address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":false,"kind":"function","modifiers":[],"name":"updateRegistry","nameLocation":"8373:14:3","parameters":{"id":2417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2416,"mutability":"mutable","name":"_registry","nameLocation":"8396:9:3","nodeType":"VariableDeclaration","scope":2419,"src":"8388:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2415,"name":"address","nodeType":"ElementaryTypeName","src":"8388:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8387:19:3"},"returnParameters":{"id":2418,"nodeType":"ParameterList","parameters":[],"src":"8415:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2425,"nodeType":"FunctionDefinition","src":"8577:60:3","nodes":[],"documentation":{"id":2420,"nodeType":"StructuredDocumentation","src":"8422:150:3","text":"@notice Updates the treasury address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":false,"kind":"function","modifiers":[],"name":"updateTreasury","nameLocation":"8586:14:3","parameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"_treasury","nameLocation":"8617:9:3","nodeType":"VariableDeclaration","scope":2425,"src":"8601:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2421,"name":"address","nodeType":"ElementaryTypeName","src":"8601:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8600:27:3"},"returnParameters":{"id":2424,"nodeType":"ParameterList","parameters":[],"src":"8636:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2431,"nodeType":"FunctionDefinition","src":"8812:56:3","nodes":[],"documentation":{"id":2426,"nodeType":"StructuredDocumentation","src":"8643:164:3","text":"@notice Updates the percentage for the fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _percentFee The new percentage for the fee"},"functionSelector":"f54fc4a0","implemented":false,"kind":"function","modifiers":[],"name":"updatePercentFee","nameLocation":"8821:16:3","parameters":{"id":2429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"_percentFee","nameLocation":"8846:11:3","nodeType":"VariableDeclaration","scope":2431,"src":"8838:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2427,"name":"uint256","nodeType":"ElementaryTypeName","src":"8838:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8837:21:3"},"returnParameters":{"id":2430,"nodeType":"ParameterList","parameters":[],"src":"8867:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2437,"nodeType":"FunctionDefinition","src":"9012:50:3","nodes":[],"documentation":{"id":2432,"nodeType":"StructuredDocumentation","src":"8874:133:3","text":"@notice Updates the base fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":false,"kind":"function","modifiers":[],"name":"updateBaseFee","nameLocation":"9021:13:3","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"_baseFee","nameLocation":"9043:8:3","nodeType":"VariableDeclaration","scope":2437,"src":"9035:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9035:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9034:18:3"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"9061:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2443,"nodeType":"FunctionDefinition","src":"9248:62:3","nodes":[],"documentation":{"id":2438,"nodeType":"StructuredDocumentation","src":"9068:175:3","text":"@notice Adds a strategy to the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to add"},"functionSelector":"41bba0b4","implemented":false,"kind":"function","modifiers":[],"name":"addToCloneableStrategies","nameLocation":"9257:24:3","parameters":{"id":2441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2440,"mutability":"mutable","name":"_strategy","nameLocation":"9290:9:3","nodeType":"VariableDeclaration","scope":2443,"src":"9282:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2439,"name":"address","nodeType":"ElementaryTypeName","src":"9282:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9281:19:3"},"returnParameters":{"id":2442,"nodeType":"ParameterList","parameters":[],"src":"9309:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2449,"nodeType":"FunctionDefinition","src":"9504:67:3","nodes":[],"documentation":{"id":2444,"nodeType":"StructuredDocumentation","src":"9316:183:3","text":"@notice Removes a strategy from the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to remove"},"functionSelector":"031e2fa1","implemented":false,"kind":"function","modifiers":[],"name":"removeFromCloneableStrategies","nameLocation":"9513:29:3","parameters":{"id":2447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2446,"mutability":"mutable","name":"_strategy","nameLocation":"9551:9:3","nodeType":"VariableDeclaration","scope":2449,"src":"9543:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2445,"name":"address","nodeType":"ElementaryTypeName","src":"9543:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9542:19:3"},"returnParameters":{"id":2448,"nodeType":"ParameterList","parameters":[],"src":"9570:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2457,"nodeType":"FunctionDefinition","src":"9796:68:3","nodes":[],"documentation":{"id":2450,"nodeType":"StructuredDocumentation","src":"9577:214:3","text":"@notice Adds a pool manager to the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to add the manager to\n @param _manager The address of the manager to add"},"functionSelector":"2cf682b0","implemented":false,"kind":"function","modifiers":[],"name":"addPoolManager","nameLocation":"9805:14:3","parameters":{"id":2455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"_poolId","nameLocation":"9828:7:3","nodeType":"VariableDeclaration","scope":2457,"src":"9820:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2451,"name":"uint256","nodeType":"ElementaryTypeName","src":"9820:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2454,"mutability":"mutable","name":"_manager","nameLocation":"9845:8:3","nodeType":"VariableDeclaration","scope":2457,"src":"9837:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2453,"name":"address","nodeType":"ElementaryTypeName","src":"9837:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9819:35:3"},"returnParameters":{"id":2456,"nodeType":"ParameterList","parameters":[],"src":"9863:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2465,"nodeType":"FunctionDefinition","src":"10102:71:3","nodes":[],"documentation":{"id":2458,"nodeType":"StructuredDocumentation","src":"9870:227:3","text":"@notice Removes a pool manager from the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to remove the manager from\n @param _manager The address of the manager to remove"},"functionSelector":"7f5a70bd","implemented":false,"kind":"function","modifiers":[],"name":"removePoolManager","nameLocation":"10111:17:3","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"_poolId","nameLocation":"10137:7:3","nodeType":"VariableDeclaration","scope":2465,"src":"10129:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2459,"name":"uint256","nodeType":"ElementaryTypeName","src":"10129:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"_manager","nameLocation":"10154:8:3","nodeType":"VariableDeclaration","scope":2465,"src":"10146:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2461,"name":"address","nodeType":"ElementaryTypeName","src":"10146:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10128:35:3"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"10172:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2473,"nodeType":"FunctionDefinition","src":"10383:67:3","nodes":[],"documentation":{"id":2466,"nodeType":"StructuredDocumentation","src":"10179:199:3","text":"@notice Recovers funds from a pool.\n @dev 'msg.sender' must be a pool admin.\n @param _token The token to recover\n @param _recipient The address to send the recovered funds to"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"10392:12:3","parameters":{"id":2471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2468,"mutability":"mutable","name":"_token","nameLocation":"10413:6:3","nodeType":"VariableDeclaration","scope":2473,"src":"10405:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2467,"name":"address","nodeType":"ElementaryTypeName","src":"10405:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2470,"mutability":"mutable","name":"_recipient","nameLocation":"10429:10:3","nodeType":"VariableDeclaration","scope":2473,"src":"10421:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2469,"name":"address","nodeType":"ElementaryTypeName","src":"10421:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10404:36:3"},"returnParameters":{"id":2472,"nodeType":"ParameterList","parameters":[],"src":"10449:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2483,"nodeType":"FunctionDefinition","src":"10658:99:3","nodes":[],"documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"10456:197:3","text":"@notice Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\n @param _poolId The ID of the pool to register the recipient for"},"functionSelector":"075c0e9c","implemented":false,"kind":"function","modifiers":[],"name":"registerRecipient","nameLocation":"10667:17:3","parameters":{"id":2479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2476,"mutability":"mutable","name":"_poolId","nameLocation":"10693:7:3","nodeType":"VariableDeclaration","scope":2483,"src":"10685:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2475,"name":"uint256","nodeType":"ElementaryTypeName","src":"10685:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2478,"mutability":"mutable","name":"_data","nameLocation":"10715:5:3","nodeType":"VariableDeclaration","scope":2483,"src":"10702:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2477,"name":"bytes","nodeType":"ElementaryTypeName","src":"10702:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10684:37:3"},"returnParameters":{"id":2482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2483,"src":"10748:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2480,"name":"address","nodeType":"ElementaryTypeName","src":"10748:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10747:9:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2496,"nodeType":"FunctionDefinition","src":"10983:133:3","nodes":[],"documentation":{"id":2484,"nodeType":"StructuredDocumentation","src":"10763:215:3","text":"@notice Registers a batch of recipients.\n @param _poolIds The pool ID's to register the recipients for\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"1a20bd88","implemented":false,"kind":"function","modifiers":[],"name":"batchRegisterRecipient","nameLocation":"10992:22:3","parameters":{"id":2491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2487,"mutability":"mutable","name":"_poolIds","nameLocation":"11032:8:3","nodeType":"VariableDeclaration","scope":2496,"src":"11015:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2485,"name":"uint256","nodeType":"ElementaryTypeName","src":"11015:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2486,"nodeType":"ArrayTypeName","src":"11015:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2490,"mutability":"mutable","name":"_data","nameLocation":"11057:5:3","nodeType":"VariableDeclaration","scope":2496,"src":"11042:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2488,"name":"bytes","nodeType":"ElementaryTypeName","src":"11042:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2489,"nodeType":"ArrayTypeName","src":"11042:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11014:49:3"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2496,"src":"11098:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2492,"name":"address","nodeType":"ElementaryTypeName","src":"11098:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2493,"nodeType":"ArrayTypeName","src":"11098:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11097:18:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2504,"nodeType":"FunctionDefinition","src":"11427:69:3","nodes":[],"documentation":{"id":2497,"nodeType":"StructuredDocumentation","src":"11122:300:3","text":"@notice Funds a pool.\n @dev 'msg.value' must be greater than 0 if the token is the native token\n or '_amount' must be greater than 0 if the token is not the native token.\n @param _poolId The ID of the pool to fund\n @param _amount The amount to fund the pool with"},"functionSelector":"5acd6fac","implemented":false,"kind":"function","modifiers":[],"name":"fundPool","nameLocation":"11436:8:3","parameters":{"id":2502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2499,"mutability":"mutable","name":"_poolId","nameLocation":"11453:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11445:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2498,"name":"uint256","nodeType":"ElementaryTypeName","src":"11445:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2501,"mutability":"mutable","name":"_amount","nameLocation":"11470:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11462:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2500,"name":"uint256","nodeType":"ElementaryTypeName","src":"11462:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11444:34:3"},"returnParameters":{"id":2503,"nodeType":"ParameterList","parameters":[],"src":"11495:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2512,"nodeType":"FunctionDefinition","src":"11794:72:3","nodes":[],"documentation":{"id":2505,"nodeType":"StructuredDocumentation","src":"11502:287:3","text":"@notice Allocates funds to a recipient.\n @dev Each strategy will handle the allocation of funds differently.\n @param _poolId The ID of the pool to allocate funds from\n @param _data The data to pass to the strategy and may be handled differently by each strategy."},"functionSelector":"2ec38188","implemented":false,"kind":"function","modifiers":[],"name":"allocate","nameLocation":"11803:8:3","parameters":{"id":2510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"_poolId","nameLocation":"11820:7:3","nodeType":"VariableDeclaration","scope":2512,"src":"11812:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2506,"name":"uint256","nodeType":"ElementaryTypeName","src":"11812:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"_data","nameLocation":"11842:5:3","nodeType":"VariableDeclaration","scope":2512,"src":"11829:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"11829:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:37:3"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[],"src":"11865:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2522,"nodeType":"FunctionDefinition","src":"12003:84:3","nodes":[],"documentation":{"id":2513,"nodeType":"StructuredDocumentation","src":"11872:126:3","text":"@notice Allocates funds to multiple recipients.\n @dev Each strategy will handle the allocation of funds differently"},"functionSelector":"c6dff1cf","implemented":false,"kind":"function","modifiers":[],"name":"batchAllocate","nameLocation":"12012:13:3","parameters":{"id":2520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"_poolIds","nameLocation":"12045:8:3","nodeType":"VariableDeclaration","scope":2522,"src":"12026:27:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12026:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2515,"nodeType":"ArrayTypeName","src":"12026:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2519,"mutability":"mutable","name":"_datas","nameLocation":"12070:6:3","nodeType":"VariableDeclaration","scope":2522,"src":"12055:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2517,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2518,"nodeType":"ArrayTypeName","src":"12055:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"12025:52:3"},"returnParameters":{"id":2521,"nodeType":"ParameterList","parameters":[],"src":"12086:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2533,"nodeType":"FunctionDefinition","src":"12489:98:3","nodes":[],"documentation":{"id":2523,"nodeType":"StructuredDocumentation","src":"12093:391:3","text":"@notice Distributes funds to recipients and emits {Distributed} event if successful\n @dev Each strategy will handle the distribution of funds differently\n @param _poolId The ID of the pool to distribute from\n @param _recipientIds The recipient ids to distribute to\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"3a5fbd92","implemented":false,"kind":"function","modifiers":[],"name":"distribute","nameLocation":"12498:10:3","parameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2525,"mutability":"mutable","name":"_poolId","nameLocation":"12517:7:3","nodeType":"VariableDeclaration","scope":2533,"src":"12509:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2524,"name":"uint256","nodeType":"ElementaryTypeName","src":"12509:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2528,"mutability":"mutable","name":"_recipientIds","nameLocation":"12543:13:3","nodeType":"VariableDeclaration","scope":2533,"src":"12526:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"12526:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2527,"nodeType":"ArrayTypeName","src":"12526:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"_data","nameLocation":"12571:5:3","nodeType":"VariableDeclaration","scope":2533,"src":"12558:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2529,"name":"bytes","nodeType":"ElementaryTypeName","src":"12558:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12508:69:3"},"returnParameters":{"id":2532,"nodeType":"ParameterList","parameters":[],"src":"12586:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2543,"nodeType":"FunctionDefinition","src":"12922:85:3","nodes":[],"documentation":{"id":2534,"nodeType":"StructuredDocumentation","src":"12696:221:3","text":"@notice Checks if an address is a pool admin.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":false,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"12931:11:3","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"_poolId","nameLocation":"12951:7:3","nodeType":"VariableDeclaration","scope":2543,"src":"12943:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint256","nodeType":"ElementaryTypeName","src":"12943:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"_address","nameLocation":"12968:8:3","nodeType":"VariableDeclaration","scope":2543,"src":"12960:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2537,"name":"address","nodeType":"ElementaryTypeName","src":"12960:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12942:35:3"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2543,"src":"13001:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2540,"name":"bool","nodeType":"ElementaryTypeName","src":"13001:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13000:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2553,"nodeType":"FunctionDefinition","src":"13243:87:3","nodes":[],"documentation":{"id":2544,"nodeType":"StructuredDocumentation","src":"13013:225:3","text":"@notice Checks if an address is a pool manager.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":false,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"13252:13:3","parameters":{"id":2549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2546,"mutability":"mutable","name":"_poolId","nameLocation":"13274:7:3","nodeType":"VariableDeclaration","scope":2553,"src":"13266:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2545,"name":"uint256","nodeType":"ElementaryTypeName","src":"13266:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2548,"mutability":"mutable","name":"_address","nameLocation":"13291:8:3","nodeType":"VariableDeclaration","scope":2553,"src":"13283:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2547,"name":"address","nodeType":"ElementaryTypeName","src":"13283:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13265:35:3"},"returnParameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2553,"src":"13324:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2550,"name":"bool","nodeType":"ElementaryTypeName","src":"13324:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13323:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2561,"nodeType":"FunctionDefinition","src":"13563:77:3","nodes":[],"documentation":{"id":2554,"nodeType":"StructuredDocumentation","src":"13336:222:3","text":"@notice Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\n @param _strategy The address of the strategy to check\n @return 'true' if the '_strategy' is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":false,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"13572:19:3","parameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"_strategy","nameLocation":"13600:9:3","nodeType":"VariableDeclaration","scope":2561,"src":"13592:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2555,"name":"address","nodeType":"ElementaryTypeName","src":"13592:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13591:19:3"},"returnParameters":{"id":2560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2561,"src":"13634:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2558,"name":"bool","nodeType":"ElementaryTypeName","src":"13634:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13633:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2569,"nodeType":"FunctionDefinition","src":"13856:70:3","nodes":[],"documentation":{"id":2562,"nodeType":"StructuredDocumentation","src":"13646:205:3","text":"@notice Returns the address of the strategy for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return strategy The address of the strategy for the ID of the pool passed in"},"functionSelector":"cfc0cc34","implemented":false,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"13865:11:3","parameters":{"id":2565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"_poolId","nameLocation":"13885:7:3","nodeType":"VariableDeclaration","scope":2569,"src":"13877:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2563,"name":"uint256","nodeType":"ElementaryTypeName","src":"13877:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13876:17:3"},"returnParameters":{"id":2568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2569,"src":"13917:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2566,"name":"address","nodeType":"ElementaryTypeName","src":"13917:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13916:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2575,"nodeType":"FunctionDefinition","src":"14042:57:3","nodes":[],"documentation":{"id":2570,"nodeType":"StructuredDocumentation","src":"13932:105:3","text":"@notice Returns the current percent fee\n @return percentFee The current percentage for the fee"},"functionSelector":"4edbaadc","implemented":false,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"14051:13:3","parameters":{"id":2571,"nodeType":"ParameterList","parameters":[],"src":"14064:2:3"},"returnParameters":{"id":2574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2575,"src":"14090:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint256","nodeType":"ElementaryTypeName","src":"14090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14089:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2581,"nodeType":"FunctionDefinition","src":"14195:54:3","nodes":[],"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"14105:85:3","text":"@notice Returns the current base fee\n @return baseFee The current base fee"},"functionSelector":"15e812ad","implemented":false,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"14204:10:3","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[],"src":"14214:2:3"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2581,"src":"14240:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"14240:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14239:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2587,"nodeType":"FunctionDefinition","src":"14362:63:3","nodes":[],"documentation":{"id":2582,"nodeType":"StructuredDocumentation","src":"14255:102:3","text":"@notice Returns the current treasury address\n @return treasury The current treasury address"},"functionSelector":"3b19e84a","implemented":false,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"14371:11:3","parameters":{"id":2583,"nodeType":"ParameterList","parameters":[],"src":"14382:2:3"},"returnParameters":{"id":2586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2587,"src":"14408:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"14408:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"14407:17:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2594,"nodeType":"FunctionDefinition","src":"14538:57:3","nodes":[],"documentation":{"id":2588,"nodeType":"StructuredDocumentation","src":"14431:102:3","text":"@notice Returns the current registry address\n @return registry The current registry address"},"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"14547:11:3","parameters":{"id":2589,"nodeType":"ParameterList","parameters":[],"src":"14558:2:3"},"returnParameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2594,"src":"14584:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":2591,"nodeType":"UserDefinedTypeName","pathNode":{"id":2590,"name":"IRegistry","nameLocations":["14584:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"14584:9:3"},"referencedDeclaration":2802,"src":"14584:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"14583:11:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2603,"nodeType":"FunctionDefinition","src":"14787:70:3","nodes":[],"documentation":{"id":2595,"nodeType":"StructuredDocumentation","src":"14601:181:3","text":"@notice Returns the 'Pool' struct for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return pool The 'Pool' struct for the ID of the pool passed in"},"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"14796:7:3","parameters":{"id":2598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2597,"mutability":"mutable","name":"_poolId","nameLocation":"14812:7:3","nodeType":"VariableDeclaration","scope":2603,"src":"14804:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2596,"name":"uint256","nodeType":"ElementaryTypeName","src":"14804:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14803:17:3"},"returnParameters":{"id":2602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2603,"src":"14844:11:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":2600,"nodeType":"UserDefinedTypeName","pathNode":{"id":2599,"name":"Pool","nameLocations":["14844:4:3"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14844:4:3"},"referencedDeclaration":2319,"src":"14844:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"14843:13:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2609,"nodeType":"FunctionDefinition","src":"15008:61:3","nodes":[],"documentation":{"id":2604,"nodeType":"StructuredDocumentation","src":"14863:140:3","text":"@notice Returns the current fee denominator\n @dev 1e18 represents 100%\n @return feeDenominator The current fee denominator"},"functionSelector":"f4e1fc41","implemented":false,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"15017:17:3","parameters":{"id":2605,"nodeType":"ParameterList","parameters":[],"src":"15034:2:3"},"returnParameters":{"id":2608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2609,"src":"15060:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2606,"name":"uint256","nodeType":"ElementaryTypeName","src":"15060:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15059:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IAllo","contractDependencies":[],"contractKind":"interface","documentation":{"id":2304,"nodeType":"StructuredDocumentation","src":"4234:297:3","text":"@title Allo Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Allo contract. It exposes all functions needed to use the Allo protocol."},"fullyImplemented":false,"linearizedBaseContracts":[2610],"name":"IAllo","nameLocation":"4541:5:3","scope":2611,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":3} \ No newline at end of file +{"abi":[{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to add\",\"_poolId\":\"The ID of the pool to add the manager to\"}},\"addToCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to add\"}},\"allocate(uint256,bytes)\":{\"details\":\"Each strategy will handle the allocation of funds differently.\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy.\",\"_poolId\":\"The ID of the pool to allocate funds from\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"Each strategy will handle the allocation of funds differently\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolIds\":\"The pool ID's to register the recipients for\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"Each strategy will handle the distribution of funds differently\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolId\":\"The ID of the pool to distribute from\",\"_recipientIds\":\"The recipient ids to distribute to\"}},\"fundPool(uint256,uint256)\":{\"details\":\"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.\",\"params\":{\"_amount\":\"The amount to fund the pool with\",\"_poolId\":\"The ID of the pool to fund\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"baseFee The current base fee\"}},\"getFeeDenominator()\":{\"details\":\"1e18 represents 100%\",\"returns\":{\"_0\":\"feeDenominator The current fee denominator\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"percentFee The current percentage for the fee\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"pool The 'Pool' struct for the ID of the pool passed in\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"registry The current registry address\"}},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"strategy The address of the strategy for the ID of the pool passed in\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"treasury The current treasury address\"}},\"initialize(address,address,address,uint256,uint256)\":{\"params\":{\"_baseFee\":\"Base fee amount\",\"_owner\":\"Address of the owner\",\"_percentFee\":\"Percentage for the fee\",\"_registry\":\"Address of the registry contract\",\"_treasury\":\"Address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy to check\"},\"returns\":{\"_0\":\"'true' if the '_strategy' is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool manager, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_recipient\":\"The address to send the recovered funds to\",\"_token\":\"The token to recover\"}},\"registerRecipient(uint256,bytes)\":{\"params\":{\"_poolId\":\"The ID of the pool to register the recipient for\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to remove\"}},\"removePoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to remove\",\"_poolId\":\"The ID of the pool to remove the manager from\"}},\"updateBaseFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_percentFee\":\"The new percentage for the fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_metadata\":\"The new metadata to set\",\"_poolId\":\"The ID of the pool to update\"}},\"updateRegistry(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"title\":\"Allo Interface\",\"version\":1},\"userdoc\":{\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"addPoolManager(uint256,address)\":{\"notice\":\"Adds a pool manager to the pool.\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Adds a strategy to the cloneable strategies.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocates funds to a recipient.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocates funds to multiple recipients.\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Registers a batch of recipients.\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distributes funds to recipients and emits {Distributed} event if successful\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Funds a pool.\"},\"getBaseFee()\":{\"notice\":\"Returns the current base fee\"},\"getFeeDenominator()\":{\"notice\":\"Returns the current fee denominator\"},\"getPercentFee()\":{\"notice\":\"Returns the current percent fee\"},\"getPool(uint256)\":{\"notice\":\"Returns the 'Pool' struct for a given 'poolId'\"},\"getRegistry()\":{\"notice\":\"Returns the current registry address\"},\"getStrategy(uint256)\":{\"notice\":\"Returns the address of the strategy for a given 'poolId'\"},\"getTreasury()\":{\"notice\":\"Returns the current treasury address\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initialize the Allo contract\"},\"isCloneableStrategy(address)\":{\"notice\":\"Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if an address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if an address is a pool manager.\"},\"recoverFunds(address,address)\":{\"notice\":\"Recovers funds from a pool.\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Removes a strategy from the cloneable strategies.\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Removes a pool manager from the pool.\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the percentage for the fee.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Updates a pools metadata.\"},\"updateRegistry(address)\":{\"notice\":\"Update the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"Interface for the Allo contract. It exposes all functions needed to use the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":\"IAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to add","_poolId":"The ID of the pool to add the manager to"}},"addToCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to add"}},"allocate(uint256,bytes)":{"details":"Each strategy will handle the allocation of funds differently.","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy.","_poolId":"The ID of the pool to allocate funds from"}},"batchAllocate(uint256[],bytes[])":{"details":"Each strategy will handle the allocation of funds differently"},"batchRegisterRecipient(uint256[],bytes[])":{"params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolIds":"The pool ID's to register the recipients for"}},"distribute(uint256,address[],bytes)":{"details":"Each strategy will handle the distribution of funds differently","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolId":"The ID of the pool to distribute from","_recipientIds":"The recipient ids to distribute to"}},"fundPool(uint256,uint256)":{"details":"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.","params":{"_amount":"The amount to fund the pool with","_poolId":"The ID of the pool to fund"}},"getBaseFee()":{"returns":{"_0":"baseFee The current base fee"}},"getFeeDenominator()":{"details":"1e18 represents 100%","returns":{"_0":"feeDenominator The current fee denominator"}},"getPercentFee()":{"returns":{"_0":"percentFee The current percentage for the fee"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"pool The 'Pool' struct for the ID of the pool passed in"}},"getRegistry()":{"returns":{"_0":"registry The current registry address"}},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"strategy The address of the strategy for the ID of the pool passed in"}},"getTreasury()":{"returns":{"_0":"treasury The current treasury address"}},"initialize(address,address,address,uint256,uint256)":{"params":{"_baseFee":"Base fee amount","_owner":"Address of the owner","_percentFee":"Percentage for the fee","_registry":"Address of the registry contract","_treasury":"Address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy to check"},"returns":{"_0":"'true' if the '_strategy' is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool manager, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_recipient":"The address to send the recovered funds to","_token":"The token to recover"}},"registerRecipient(uint256,bytes)":{"params":{"_poolId":"The ID of the pool to register the recipient for"}},"removeFromCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to remove"}},"removePoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to remove","_poolId":"The ID of the pool to remove the manager from"}},"updateBaseFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_percentFee":"The new percentage for the fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool admin.","params":{"_metadata":"The new metadata to set","_poolId":"The ID of the pool to update"}},"updateRegistry(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addPoolManager(uint256,address)":{"notice":"Adds a pool manager to the pool."},"addToCloneableStrategies(address)":{"notice":"Adds a strategy to the cloneable strategies."},"allocate(uint256,bytes)":{"notice":"Allocates funds to a recipient."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocates funds to multiple recipients."},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Registers a batch of recipients."},"distribute(uint256,address[],bytes)":{"notice":"Distributes funds to recipients and emits {Distributed} event if successful"},"fundPool(uint256,uint256)":{"notice":"Funds a pool."},"getBaseFee()":{"notice":"Returns the current base fee"},"getFeeDenominator()":{"notice":"Returns the current fee denominator"},"getPercentFee()":{"notice":"Returns the current percent fee"},"getPool(uint256)":{"notice":"Returns the 'Pool' struct for a given 'poolId'"},"getRegistry()":{"notice":"Returns the current registry address"},"getStrategy(uint256)":{"notice":"Returns the address of the strategy for a given 'poolId'"},"getTreasury()":{"notice":"Returns the current treasury address"},"initialize(address,address,address,uint256,uint256)":{"notice":"Initialize the Allo contract"},"isCloneableStrategy(address)":{"notice":"Checks if a strategy is cloneable (is in the cloneableStrategies mapping)."},"isPoolAdmin(uint256,address)":{"notice":"Checks if an address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if an address is a pool manager."},"recoverFunds(address,address)":{"notice":"Recovers funds from a pool."},"registerRecipient(uint256,bytes)":{"notice":"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy."},"removeFromCloneableStrategies(address)":{"notice":"Removes a strategy from the cloneable strategies."},"removePoolManager(uint256,address)":{"notice":"Removes a pool manager from the pool."},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the percentage for the fee."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Updates a pools metadata."},"updateRegistry(address)":{"notice":"Update the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":"IAllo"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","id":2611,"exportedSymbols":{"IAllo":[2610],"IRegistry":[2802],"IStrategy":[2969],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:15030:3","nodes":[{"id":2297,"nodeType":"PragmaDirective","src":"42:24:3","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2299,"nodeType":"ImportDirective","src":"82:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./IRegistry.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":2298,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"90:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2301,"nodeType":"ImportDirective","src":"125:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"./IStrategy.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":2300,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"133:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2303,"nodeType":"ImportDirective","src":"190:51:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2302,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"198:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2610,"nodeType":"ContractDefinition","src":"4531:10540:3","nodes":[{"id":2319,"nodeType":"StructDefinition","src":"4718:180:3","nodes":[],"canonicalName":"IAllo.Pool","members":[{"constant":false,"id":2306,"mutability":"mutable","name":"profileId","nameLocation":"4748:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4740:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4740:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"strategy","nameLocation":"4777:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4767:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2308,"nodeType":"UserDefinedTypeName","pathNode":{"id":2307,"name":"IStrategy","nameLocations":["4767:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"4767:9:3"},"referencedDeclaration":2969,"src":"4767:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2311,"mutability":"mutable","name":"token","nameLocation":"4803:5:3","nodeType":"VariableDeclaration","scope":2319,"src":"4795:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2310,"name":"address","nodeType":"ElementaryTypeName","src":"4795:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2314,"mutability":"mutable","name":"metadata","nameLocation":"4827:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4818:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2313,"nodeType":"UserDefinedTypeName","pathNode":{"id":2312,"name":"Metadata","nameLocations":["4818:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4818:8:3"},"referencedDeclaration":3098,"src":"4818:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2316,"mutability":"mutable","name":"managerRole","nameLocation":"4853:11:3","nodeType":"VariableDeclaration","scope":2319,"src":"4845:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4845:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2318,"mutability":"mutable","name":"adminRole","nameLocation":"4882:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4874:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4874:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Pool","nameLocation":"4725:4:3","scope":2610,"visibility":"public"},{"id":2336,"nodeType":"EventDefinition","src":"5405:193:3","nodes":[],"anonymous":false,"documentation":{"id":2320,"nodeType":"StructuredDocumentation","src":"4998:402:3","text":"@notice Event emitted when a new pool is created\n @param poolId ID of the pool created\n @param profileId ID of the profile the pool is associated with\n @param strategy Address of the strategy contract\n @param token Address of the token pool was funded with when created\n @param amount Amount pool was funded with when created\n @param metadata Pool metadata"},"eventSelector":"69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1","name":"PoolCreated","nameLocation":"5411:11:3","parameters":{"id":2335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2322,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5448:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5432:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2321,"name":"uint256","nodeType":"ElementaryTypeName","src":"5432:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2324,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5480:9:3","nodeType":"VariableDeclaration","scope":2336,"src":"5464:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5464:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2327,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"5509:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5499:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2326,"nodeType":"UserDefinedTypeName","pathNode":{"id":2325,"name":"IStrategy","nameLocations":["5499:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"5499:9:3"},"referencedDeclaration":2969,"src":"5499:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2329,"indexed":false,"mutability":"mutable","name":"token","nameLocation":"5535:5:3","nodeType":"VariableDeclaration","scope":2336,"src":"5527:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"5527:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2331,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5558:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5550:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2334,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5583:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5574:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2333,"nodeType":"UserDefinedTypeName","pathNode":{"id":2332,"name":"Metadata","nameLocations":["5574:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5574:8:3"},"referencedDeclaration":3098,"src":"5574:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5422:175:3"}},{"id":2344,"nodeType":"EventDefinition","src":"5761:69:3","nodes":[],"anonymous":false,"documentation":{"id":2337,"nodeType":"StructuredDocumentation","src":"5604:152:3","text":"@notice Emitted when a pools metadata is updated\n @param poolId ID of the pool updated\n @param metadata Pool metadata that was updated"},"eventSelector":"14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0","name":"PoolMetadataUpdated","nameLocation":"5767:19:3","parameters":{"id":2343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5803:6:3","nodeType":"VariableDeclaration","scope":2344,"src":"5787:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"5787:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2342,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5820:8:3","nodeType":"VariableDeclaration","scope":2344,"src":"5811:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2341,"nodeType":"UserDefinedTypeName","pathNode":{"id":2340,"name":"Metadata","nameLocations":["5811:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5811:8:3"},"referencedDeclaration":3098,"src":"5811:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5786:43:3"}},{"id":2353,"nodeType":"EventDefinition","src":"6032:70:3","nodes":[],"anonymous":false,"documentation":{"id":2345,"nodeType":"StructuredDocumentation","src":"5836:191:3","text":"@notice Emitted when a pool is funded\n @param poolId ID of the pool funded\n @param amount Amount funded to the pool\n @param fee Amount of the fee paid to the treasury"},"eventSelector":"bf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851","name":"PoolFunded","nameLocation":"6038:10:3","parameters":{"id":2352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6065:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6049:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2346,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2349,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6081:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6073:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"6073:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2351,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"6097:3:3","nodeType":"VariableDeclaration","scope":2353,"src":"6089:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6048:53:3"}},{"id":2360,"nodeType":"EventDefinition","src":"6271:58:3","nodes":[],"anonymous":false,"documentation":{"id":2354,"nodeType":"StructuredDocumentation","src":"6108:158:3","text":"@notice Emitted when the base fee is paid\n @param poolId ID of the pool the base fee was paid for\n @param amount Amount of the base fee paid"},"eventSelector":"02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72","name":"BaseFeePaid","nameLocation":"6277:11:3","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2356,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6305:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6289:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint256","nodeType":"ElementaryTypeName","src":"6289:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2358,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6321:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6313:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2357,"name":"uint256","nodeType":"ElementaryTypeName","src":"6313:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6288:40:3"}},{"id":2365,"nodeType":"EventDefinition","src":"6448:40:3","nodes":[],"anonymous":false,"documentation":{"id":2361,"nodeType":"StructuredDocumentation","src":"6335:108:3","text":"@notice Emitted when the treasury address is updated\n @param treasury Address of the new treasury"},"eventSelector":"7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1","name":"TreasuryUpdated","nameLocation":"6454:15:3","parameters":{"id":2364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2363,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"6478:8:3","nodeType":"VariableDeclaration","scope":2365,"src":"6470:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2362,"name":"address","nodeType":"ElementaryTypeName","src":"6470:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6469:18:3"}},{"id":2370,"nodeType":"EventDefinition","src":"6603:44:3","nodes":[],"anonymous":false,"documentation":{"id":2366,"nodeType":"StructuredDocumentation","src":"6494:104:3","text":"@notice Emitted when the percent fee is updated\n @param percentFee New percentage for the fee"},"eventSelector":"9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065","name":"PercentFeeUpdated","nameLocation":"6609:17:3","parameters":{"id":2369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2368,"indexed":false,"mutability":"mutable","name":"percentFee","nameLocation":"6635:10:3","nodeType":"VariableDeclaration","scope":2370,"src":"6627:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6626:20:3"}},{"id":2375,"nodeType":"EventDefinition","src":"6749:38:3","nodes":[],"anonymous":false,"documentation":{"id":2371,"nodeType":"StructuredDocumentation","src":"6653:91:3","text":"@notice Emitted when the base fee is updated\n @param baseFee New base fee amount"},"eventSelector":"803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3","name":"BaseFeeUpdated","nameLocation":"6755:14:3","parameters":{"id":2374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2373,"indexed":false,"mutability":"mutable","name":"baseFee","nameLocation":"6778:7:3","nodeType":"VariableDeclaration","scope":2375,"src":"6770:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6769:17:3"}},{"id":2380,"nodeType":"EventDefinition","src":"6906:40:3","nodes":[],"anonymous":false,"documentation":{"id":2376,"nodeType":"StructuredDocumentation","src":"6793:108:3","text":"@notice Emitted when the registry address is updated\n @param registry Address of the new registry"},"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6912:15:3","parameters":{"id":2379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2378,"indexed":false,"mutability":"mutable","name":"registry","nameLocation":"6936:8:3","nodeType":"VariableDeclaration","scope":2380,"src":"6928:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2377,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6927:18:3"}},{"id":2385,"nodeType":"EventDefinition","src":"7099:41:3","nodes":[],"anonymous":false,"documentation":{"id":2381,"nodeType":"StructuredDocumentation","src":"6952:142:3","text":"@notice Emitted when a strategy is approved and added to the cloneable strategies\n @param strategy Address of the strategy approved"},"eventSelector":"960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1","name":"StrategyApproved","nameLocation":"7105:16:3","parameters":{"id":2384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2383,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7130:8:3","nodeType":"VariableDeclaration","scope":2385,"src":"7122:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2382,"name":"address","nodeType":"ElementaryTypeName","src":"7122:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7121:18:3"}},{"id":2390,"nodeType":"EventDefinition","src":"7283:40:3","nodes":[],"anonymous":false,"documentation":{"id":2386,"nodeType":"StructuredDocumentation","src":"7146:132:3","text":"@notice Emitted when a strategy is removed from the cloneable strategies\n @param strategy Address of the strategy removed"},"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"7289:15:3","parameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7313:8:3","nodeType":"VariableDeclaration","scope":2390,"src":"7305:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2387,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7304:18:3"}},{"id":2404,"nodeType":"FunctionDefinition","src":"7750:176:3","nodes":[],"documentation":{"id":2391,"nodeType":"StructuredDocumentation","src":"7465:280:3","text":"@notice Initialize the Allo contract\n @param _owner Address of the owner\n @param _registry Address of the registry contract\n @param _treasury Address of the treasury\n @param _percentFee Percentage for the fee\n @param _baseFee Base fee amount"},"functionSelector":"a6b63eb8","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7759:10:3","parameters":{"id":2402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2393,"mutability":"mutable","name":"_owner","nameLocation":"7787:6:3","nodeType":"VariableDeclaration","scope":2404,"src":"7779:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2392,"name":"address","nodeType":"ElementaryTypeName","src":"7779:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2395,"mutability":"mutable","name":"_registry","nameLocation":"7811:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7803:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2394,"name":"address","nodeType":"ElementaryTypeName","src":"7803:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2397,"mutability":"mutable","name":"_treasury","nameLocation":"7846:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7830:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2396,"name":"address","nodeType":"ElementaryTypeName","src":"7830:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":2399,"mutability":"mutable","name":"_percentFee","nameLocation":"7873:11:3","nodeType":"VariableDeclaration","scope":2404,"src":"7865:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2398,"name":"uint256","nodeType":"ElementaryTypeName","src":"7865:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2401,"mutability":"mutable","name":"_baseFee","nameLocation":"7902:8:3","nodeType":"VariableDeclaration","scope":2404,"src":"7894:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2400,"name":"uint256","nodeType":"ElementaryTypeName","src":"7894:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7769:147:3"},"returnParameters":{"id":2403,"nodeType":"ParameterList","parameters":[],"src":"7925:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2413,"nodeType":"FunctionDefinition","src":"8123:81:3","nodes":[],"documentation":{"id":2405,"nodeType":"StructuredDocumentation","src":"7932:186:3","text":"@notice Updates a pools metadata.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to update\n @param _metadata The new metadata to set"},"functionSelector":"5f9ca138","implemented":false,"kind":"function","modifiers":[],"name":"updatePoolMetadata","nameLocation":"8132:18:3","parameters":{"id":2411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2407,"mutability":"mutable","name":"_poolId","nameLocation":"8159:7:3","nodeType":"VariableDeclaration","scope":2413,"src":"8151:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2406,"name":"uint256","nodeType":"ElementaryTypeName","src":"8151:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2410,"mutability":"mutable","name":"_metadata","nameLocation":"8184:9:3","nodeType":"VariableDeclaration","scope":2413,"src":"8168:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2409,"nodeType":"UserDefinedTypeName","pathNode":{"id":2408,"name":"Metadata","nameLocations":["8168:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8168:8:3"},"referencedDeclaration":3098,"src":"8168:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"8150:44:3"},"returnParameters":{"id":2412,"nodeType":"ParameterList","parameters":[],"src":"8203:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2419,"nodeType":"FunctionDefinition","src":"8364:52:3","nodes":[],"documentation":{"id":2414,"nodeType":"StructuredDocumentation","src":"8210:149:3","text":"@notice Update the registry address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":false,"kind":"function","modifiers":[],"name":"updateRegistry","nameLocation":"8373:14:3","parameters":{"id":2417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2416,"mutability":"mutable","name":"_registry","nameLocation":"8396:9:3","nodeType":"VariableDeclaration","scope":2419,"src":"8388:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2415,"name":"address","nodeType":"ElementaryTypeName","src":"8388:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8387:19:3"},"returnParameters":{"id":2418,"nodeType":"ParameterList","parameters":[],"src":"8415:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2425,"nodeType":"FunctionDefinition","src":"8577:60:3","nodes":[],"documentation":{"id":2420,"nodeType":"StructuredDocumentation","src":"8422:150:3","text":"@notice Updates the treasury address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":false,"kind":"function","modifiers":[],"name":"updateTreasury","nameLocation":"8586:14:3","parameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"_treasury","nameLocation":"8617:9:3","nodeType":"VariableDeclaration","scope":2425,"src":"8601:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2421,"name":"address","nodeType":"ElementaryTypeName","src":"8601:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8600:27:3"},"returnParameters":{"id":2424,"nodeType":"ParameterList","parameters":[],"src":"8636:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2431,"nodeType":"FunctionDefinition","src":"8812:56:3","nodes":[],"documentation":{"id":2426,"nodeType":"StructuredDocumentation","src":"8643:164:3","text":"@notice Updates the percentage for the fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _percentFee The new percentage for the fee"},"functionSelector":"f54fc4a0","implemented":false,"kind":"function","modifiers":[],"name":"updatePercentFee","nameLocation":"8821:16:3","parameters":{"id":2429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"_percentFee","nameLocation":"8846:11:3","nodeType":"VariableDeclaration","scope":2431,"src":"8838:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2427,"name":"uint256","nodeType":"ElementaryTypeName","src":"8838:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8837:21:3"},"returnParameters":{"id":2430,"nodeType":"ParameterList","parameters":[],"src":"8867:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2437,"nodeType":"FunctionDefinition","src":"9012:50:3","nodes":[],"documentation":{"id":2432,"nodeType":"StructuredDocumentation","src":"8874:133:3","text":"@notice Updates the base fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":false,"kind":"function","modifiers":[],"name":"updateBaseFee","nameLocation":"9021:13:3","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"_baseFee","nameLocation":"9043:8:3","nodeType":"VariableDeclaration","scope":2437,"src":"9035:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9035:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9034:18:3"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"9061:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2443,"nodeType":"FunctionDefinition","src":"9248:62:3","nodes":[],"documentation":{"id":2438,"nodeType":"StructuredDocumentation","src":"9068:175:3","text":"@notice Adds a strategy to the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to add"},"functionSelector":"41bba0b4","implemented":false,"kind":"function","modifiers":[],"name":"addToCloneableStrategies","nameLocation":"9257:24:3","parameters":{"id":2441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2440,"mutability":"mutable","name":"_strategy","nameLocation":"9290:9:3","nodeType":"VariableDeclaration","scope":2443,"src":"9282:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2439,"name":"address","nodeType":"ElementaryTypeName","src":"9282:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9281:19:3"},"returnParameters":{"id":2442,"nodeType":"ParameterList","parameters":[],"src":"9309:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2449,"nodeType":"FunctionDefinition","src":"9504:67:3","nodes":[],"documentation":{"id":2444,"nodeType":"StructuredDocumentation","src":"9316:183:3","text":"@notice Removes a strategy from the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to remove"},"functionSelector":"031e2fa1","implemented":false,"kind":"function","modifiers":[],"name":"removeFromCloneableStrategies","nameLocation":"9513:29:3","parameters":{"id":2447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2446,"mutability":"mutable","name":"_strategy","nameLocation":"9551:9:3","nodeType":"VariableDeclaration","scope":2449,"src":"9543:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2445,"name":"address","nodeType":"ElementaryTypeName","src":"9543:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9542:19:3"},"returnParameters":{"id":2448,"nodeType":"ParameterList","parameters":[],"src":"9570:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2457,"nodeType":"FunctionDefinition","src":"9796:68:3","nodes":[],"documentation":{"id":2450,"nodeType":"StructuredDocumentation","src":"9577:214:3","text":"@notice Adds a pool manager to the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to add the manager to\n @param _manager The address of the manager to add"},"functionSelector":"2cf682b0","implemented":false,"kind":"function","modifiers":[],"name":"addPoolManager","nameLocation":"9805:14:3","parameters":{"id":2455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"_poolId","nameLocation":"9828:7:3","nodeType":"VariableDeclaration","scope":2457,"src":"9820:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2451,"name":"uint256","nodeType":"ElementaryTypeName","src":"9820:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2454,"mutability":"mutable","name":"_manager","nameLocation":"9845:8:3","nodeType":"VariableDeclaration","scope":2457,"src":"9837:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2453,"name":"address","nodeType":"ElementaryTypeName","src":"9837:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9819:35:3"},"returnParameters":{"id":2456,"nodeType":"ParameterList","parameters":[],"src":"9863:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2465,"nodeType":"FunctionDefinition","src":"10102:71:3","nodes":[],"documentation":{"id":2458,"nodeType":"StructuredDocumentation","src":"9870:227:3","text":"@notice Removes a pool manager from the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to remove the manager from\n @param _manager The address of the manager to remove"},"functionSelector":"7f5a70bd","implemented":false,"kind":"function","modifiers":[],"name":"removePoolManager","nameLocation":"10111:17:3","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"_poolId","nameLocation":"10137:7:3","nodeType":"VariableDeclaration","scope":2465,"src":"10129:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2459,"name":"uint256","nodeType":"ElementaryTypeName","src":"10129:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"_manager","nameLocation":"10154:8:3","nodeType":"VariableDeclaration","scope":2465,"src":"10146:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2461,"name":"address","nodeType":"ElementaryTypeName","src":"10146:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10128:35:3"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"10172:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2473,"nodeType":"FunctionDefinition","src":"10383:67:3","nodes":[],"documentation":{"id":2466,"nodeType":"StructuredDocumentation","src":"10179:199:3","text":"@notice Recovers funds from a pool.\n @dev 'msg.sender' must be a pool admin.\n @param _token The token to recover\n @param _recipient The address to send the recovered funds to"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"10392:12:3","parameters":{"id":2471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2468,"mutability":"mutable","name":"_token","nameLocation":"10413:6:3","nodeType":"VariableDeclaration","scope":2473,"src":"10405:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2467,"name":"address","nodeType":"ElementaryTypeName","src":"10405:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2470,"mutability":"mutable","name":"_recipient","nameLocation":"10429:10:3","nodeType":"VariableDeclaration","scope":2473,"src":"10421:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2469,"name":"address","nodeType":"ElementaryTypeName","src":"10421:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10404:36:3"},"returnParameters":{"id":2472,"nodeType":"ParameterList","parameters":[],"src":"10449:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2483,"nodeType":"FunctionDefinition","src":"10658:99:3","nodes":[],"documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"10456:197:3","text":"@notice Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\n @param _poolId The ID of the pool to register the recipient for"},"functionSelector":"075c0e9c","implemented":false,"kind":"function","modifiers":[],"name":"registerRecipient","nameLocation":"10667:17:3","parameters":{"id":2479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2476,"mutability":"mutable","name":"_poolId","nameLocation":"10693:7:3","nodeType":"VariableDeclaration","scope":2483,"src":"10685:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2475,"name":"uint256","nodeType":"ElementaryTypeName","src":"10685:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2478,"mutability":"mutable","name":"_data","nameLocation":"10715:5:3","nodeType":"VariableDeclaration","scope":2483,"src":"10702:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2477,"name":"bytes","nodeType":"ElementaryTypeName","src":"10702:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10684:37:3"},"returnParameters":{"id":2482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2483,"src":"10748:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2480,"name":"address","nodeType":"ElementaryTypeName","src":"10748:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10747:9:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2496,"nodeType":"FunctionDefinition","src":"10983:133:3","nodes":[],"documentation":{"id":2484,"nodeType":"StructuredDocumentation","src":"10763:215:3","text":"@notice Registers a batch of recipients.\n @param _poolIds The pool ID's to register the recipients for\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"1a20bd88","implemented":false,"kind":"function","modifiers":[],"name":"batchRegisterRecipient","nameLocation":"10992:22:3","parameters":{"id":2491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2487,"mutability":"mutable","name":"_poolIds","nameLocation":"11032:8:3","nodeType":"VariableDeclaration","scope":2496,"src":"11015:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2485,"name":"uint256","nodeType":"ElementaryTypeName","src":"11015:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2486,"nodeType":"ArrayTypeName","src":"11015:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2490,"mutability":"mutable","name":"_data","nameLocation":"11057:5:3","nodeType":"VariableDeclaration","scope":2496,"src":"11042:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2488,"name":"bytes","nodeType":"ElementaryTypeName","src":"11042:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2489,"nodeType":"ArrayTypeName","src":"11042:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11014:49:3"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2496,"src":"11098:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2492,"name":"address","nodeType":"ElementaryTypeName","src":"11098:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2493,"nodeType":"ArrayTypeName","src":"11098:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11097:18:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2504,"nodeType":"FunctionDefinition","src":"11427:69:3","nodes":[],"documentation":{"id":2497,"nodeType":"StructuredDocumentation","src":"11122:300:3","text":"@notice Funds a pool.\n @dev 'msg.value' must be greater than 0 if the token is the native token\n or '_amount' must be greater than 0 if the token is not the native token.\n @param _poolId The ID of the pool to fund\n @param _amount The amount to fund the pool with"},"functionSelector":"5acd6fac","implemented":false,"kind":"function","modifiers":[],"name":"fundPool","nameLocation":"11436:8:3","parameters":{"id":2502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2499,"mutability":"mutable","name":"_poolId","nameLocation":"11453:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11445:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2498,"name":"uint256","nodeType":"ElementaryTypeName","src":"11445:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2501,"mutability":"mutable","name":"_amount","nameLocation":"11470:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11462:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2500,"name":"uint256","nodeType":"ElementaryTypeName","src":"11462:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11444:34:3"},"returnParameters":{"id":2503,"nodeType":"ParameterList","parameters":[],"src":"11495:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2512,"nodeType":"FunctionDefinition","src":"11794:72:3","nodes":[],"documentation":{"id":2505,"nodeType":"StructuredDocumentation","src":"11502:287:3","text":"@notice Allocates funds to a recipient.\n @dev Each strategy will handle the allocation of funds differently.\n @param _poolId The ID of the pool to allocate funds from\n @param _data The data to pass to the strategy and may be handled differently by each strategy."},"functionSelector":"2ec38188","implemented":false,"kind":"function","modifiers":[],"name":"allocate","nameLocation":"11803:8:3","parameters":{"id":2510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"_poolId","nameLocation":"11820:7:3","nodeType":"VariableDeclaration","scope":2512,"src":"11812:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2506,"name":"uint256","nodeType":"ElementaryTypeName","src":"11812:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"_data","nameLocation":"11842:5:3","nodeType":"VariableDeclaration","scope":2512,"src":"11829:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"11829:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:37:3"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[],"src":"11865:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2522,"nodeType":"FunctionDefinition","src":"12003:84:3","nodes":[],"documentation":{"id":2513,"nodeType":"StructuredDocumentation","src":"11872:126:3","text":"@notice Allocates funds to multiple recipients.\n @dev Each strategy will handle the allocation of funds differently"},"functionSelector":"c6dff1cf","implemented":false,"kind":"function","modifiers":[],"name":"batchAllocate","nameLocation":"12012:13:3","parameters":{"id":2520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"_poolIds","nameLocation":"12045:8:3","nodeType":"VariableDeclaration","scope":2522,"src":"12026:27:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12026:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2515,"nodeType":"ArrayTypeName","src":"12026:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2519,"mutability":"mutable","name":"_datas","nameLocation":"12070:6:3","nodeType":"VariableDeclaration","scope":2522,"src":"12055:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2517,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2518,"nodeType":"ArrayTypeName","src":"12055:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"12025:52:3"},"returnParameters":{"id":2521,"nodeType":"ParameterList","parameters":[],"src":"12086:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2533,"nodeType":"FunctionDefinition","src":"12489:98:3","nodes":[],"documentation":{"id":2523,"nodeType":"StructuredDocumentation","src":"12093:391:3","text":"@notice Distributes funds to recipients and emits {Distributed} event if successful\n @dev Each strategy will handle the distribution of funds differently\n @param _poolId The ID of the pool to distribute from\n @param _recipientIds The recipient ids to distribute to\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"3a5fbd92","implemented":false,"kind":"function","modifiers":[],"name":"distribute","nameLocation":"12498:10:3","parameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2525,"mutability":"mutable","name":"_poolId","nameLocation":"12517:7:3","nodeType":"VariableDeclaration","scope":2533,"src":"12509:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2524,"name":"uint256","nodeType":"ElementaryTypeName","src":"12509:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2528,"mutability":"mutable","name":"_recipientIds","nameLocation":"12543:13:3","nodeType":"VariableDeclaration","scope":2533,"src":"12526:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"12526:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2527,"nodeType":"ArrayTypeName","src":"12526:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"_data","nameLocation":"12571:5:3","nodeType":"VariableDeclaration","scope":2533,"src":"12558:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2529,"name":"bytes","nodeType":"ElementaryTypeName","src":"12558:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12508:69:3"},"returnParameters":{"id":2532,"nodeType":"ParameterList","parameters":[],"src":"12586:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2543,"nodeType":"FunctionDefinition","src":"12922:85:3","nodes":[],"documentation":{"id":2534,"nodeType":"StructuredDocumentation","src":"12696:221:3","text":"@notice Checks if an address is a pool admin.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":false,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"12931:11:3","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"_poolId","nameLocation":"12951:7:3","nodeType":"VariableDeclaration","scope":2543,"src":"12943:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint256","nodeType":"ElementaryTypeName","src":"12943:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"_address","nameLocation":"12968:8:3","nodeType":"VariableDeclaration","scope":2543,"src":"12960:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2537,"name":"address","nodeType":"ElementaryTypeName","src":"12960:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12942:35:3"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2543,"src":"13001:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2540,"name":"bool","nodeType":"ElementaryTypeName","src":"13001:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13000:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2553,"nodeType":"FunctionDefinition","src":"13243:87:3","nodes":[],"documentation":{"id":2544,"nodeType":"StructuredDocumentation","src":"13013:225:3","text":"@notice Checks if an address is a pool manager.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":false,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"13252:13:3","parameters":{"id":2549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2546,"mutability":"mutable","name":"_poolId","nameLocation":"13274:7:3","nodeType":"VariableDeclaration","scope":2553,"src":"13266:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2545,"name":"uint256","nodeType":"ElementaryTypeName","src":"13266:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2548,"mutability":"mutable","name":"_address","nameLocation":"13291:8:3","nodeType":"VariableDeclaration","scope":2553,"src":"13283:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2547,"name":"address","nodeType":"ElementaryTypeName","src":"13283:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13265:35:3"},"returnParameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2553,"src":"13324:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2550,"name":"bool","nodeType":"ElementaryTypeName","src":"13324:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13323:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2561,"nodeType":"FunctionDefinition","src":"13563:77:3","nodes":[],"documentation":{"id":2554,"nodeType":"StructuredDocumentation","src":"13336:222:3","text":"@notice Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\n @param _strategy The address of the strategy to check\n @return 'true' if the '_strategy' is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":false,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"13572:19:3","parameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"_strategy","nameLocation":"13600:9:3","nodeType":"VariableDeclaration","scope":2561,"src":"13592:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2555,"name":"address","nodeType":"ElementaryTypeName","src":"13592:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13591:19:3"},"returnParameters":{"id":2560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2561,"src":"13634:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2558,"name":"bool","nodeType":"ElementaryTypeName","src":"13634:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13633:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2569,"nodeType":"FunctionDefinition","src":"13856:70:3","nodes":[],"documentation":{"id":2562,"nodeType":"StructuredDocumentation","src":"13646:205:3","text":"@notice Returns the address of the strategy for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return strategy The address of the strategy for the ID of the pool passed in"},"functionSelector":"cfc0cc34","implemented":false,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"13865:11:3","parameters":{"id":2565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"_poolId","nameLocation":"13885:7:3","nodeType":"VariableDeclaration","scope":2569,"src":"13877:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2563,"name":"uint256","nodeType":"ElementaryTypeName","src":"13877:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13876:17:3"},"returnParameters":{"id":2568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2569,"src":"13917:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2566,"name":"address","nodeType":"ElementaryTypeName","src":"13917:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13916:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2575,"nodeType":"FunctionDefinition","src":"14042:57:3","nodes":[],"documentation":{"id":2570,"nodeType":"StructuredDocumentation","src":"13932:105:3","text":"@notice Returns the current percent fee\n @return percentFee The current percentage for the fee"},"functionSelector":"4edbaadc","implemented":false,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"14051:13:3","parameters":{"id":2571,"nodeType":"ParameterList","parameters":[],"src":"14064:2:3"},"returnParameters":{"id":2574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2575,"src":"14090:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint256","nodeType":"ElementaryTypeName","src":"14090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14089:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2581,"nodeType":"FunctionDefinition","src":"14195:54:3","nodes":[],"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"14105:85:3","text":"@notice Returns the current base fee\n @return baseFee The current base fee"},"functionSelector":"15e812ad","implemented":false,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"14204:10:3","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[],"src":"14214:2:3"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2581,"src":"14240:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"14240:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14239:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2587,"nodeType":"FunctionDefinition","src":"14362:63:3","nodes":[],"documentation":{"id":2582,"nodeType":"StructuredDocumentation","src":"14255:102:3","text":"@notice Returns the current treasury address\n @return treasury The current treasury address"},"functionSelector":"3b19e84a","implemented":false,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"14371:11:3","parameters":{"id":2583,"nodeType":"ParameterList","parameters":[],"src":"14382:2:3"},"returnParameters":{"id":2586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2587,"src":"14408:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"14408:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"14407:17:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2594,"nodeType":"FunctionDefinition","src":"14538:57:3","nodes":[],"documentation":{"id":2588,"nodeType":"StructuredDocumentation","src":"14431:102:3","text":"@notice Returns the current registry address\n @return registry The current registry address"},"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"14547:11:3","parameters":{"id":2589,"nodeType":"ParameterList","parameters":[],"src":"14558:2:3"},"returnParameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2594,"src":"14584:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":2591,"nodeType":"UserDefinedTypeName","pathNode":{"id":2590,"name":"IRegistry","nameLocations":["14584:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"14584:9:3"},"referencedDeclaration":2802,"src":"14584:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"14583:11:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2603,"nodeType":"FunctionDefinition","src":"14787:70:3","nodes":[],"documentation":{"id":2595,"nodeType":"StructuredDocumentation","src":"14601:181:3","text":"@notice Returns the 'Pool' struct for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return pool The 'Pool' struct for the ID of the pool passed in"},"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"14796:7:3","parameters":{"id":2598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2597,"mutability":"mutable","name":"_poolId","nameLocation":"14812:7:3","nodeType":"VariableDeclaration","scope":2603,"src":"14804:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2596,"name":"uint256","nodeType":"ElementaryTypeName","src":"14804:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14803:17:3"},"returnParameters":{"id":2602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2603,"src":"14844:11:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":2600,"nodeType":"UserDefinedTypeName","pathNode":{"id":2599,"name":"Pool","nameLocations":["14844:4:3"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14844:4:3"},"referencedDeclaration":2319,"src":"14844:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"14843:13:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2609,"nodeType":"FunctionDefinition","src":"15008:61:3","nodes":[],"documentation":{"id":2604,"nodeType":"StructuredDocumentation","src":"14863:140:3","text":"@notice Returns the current fee denominator\n @dev 1e18 represents 100%\n @return feeDenominator The current fee denominator"},"functionSelector":"f4e1fc41","implemented":false,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"15017:17:3","parameters":{"id":2605,"nodeType":"ParameterList","parameters":[],"src":"15034:2:3"},"returnParameters":{"id":2608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2609,"src":"15060:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2606,"name":"uint256","nodeType":"ElementaryTypeName","src":"15060:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15059:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IAllo","contractDependencies":[],"contractKind":"interface","documentation":{"id":2304,"nodeType":"StructuredDocumentation","src":"4234:297:3","text":"@title Allo Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Allo contract. It exposes all functions needed to use the Allo protocol."},"fullyImplemented":false,"linearizedBaseContracts":[2610],"name":"IAllo","nameLocation":"4541:5:3","scope":2611,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":3} \ No newline at end of file diff --git a/pkg/contracts/out/IArbitrator.sol/IArbitrator.json b/pkg/contracts/out/IArbitrator.sol/IArbitrator.json index 2707e3956..21e790983 100644 --- a/pkg/contracts/out/IArbitrator.sol/IArbitrator.json +++ b/pkg/contracts/out/IArbitrator.sol/IArbitrator.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"},{"name":"_feeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","registerSafe(address)":"88d5b732"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feeAmount\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"cost\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"cost\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}}},\"title\":\"Arbitrator Arbitrator interface that implements the new arbitration standard. Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most. When developing arbitrator contracts we need to: - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes). - Define the functions for cost display (arbitrationCost). - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling).\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/IArbitrator.sol\":\"IArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"},{"internalType":"uint256","name":"_feeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"cost":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"cost":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/IArbitrator.sol":"IArbitrator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","id":72962,"exportedSymbols":{"IArbitrable":[72857],"IArbitrator":[72961],"IERC20":[55825]},"nodeType":"SourceUnit","src":"33:5673:111","nodes":[{"id":72859,"nodeType":"PragmaDirective","src":"33:24:111","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72860,"nodeType":"ImportDirective","src":"59:56:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":72962,"sourceUnit":55826,"symbolAliases":[],"unitAlias":""},{"id":72861,"nodeType":"ImportDirective","src":"116:27:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./IArbitrable.sol","nameLocation":"-1:-1:-1","scope":72962,"sourceUnit":72858,"symbolAliases":[],"unitAlias":""},{"id":72961,"nodeType":"ContractDefinition","src":"761:4944:111","nodes":[{"id":72870,"nodeType":"EventDefinition","src":"994:83:111","nodes":[],"anonymous":false,"documentation":{"id":72863,"nodeType":"StructuredDocumentation","src":"789:200:111","text":"@dev To be emitted when a dispute is created.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _arbitrable The contract which created the dispute."},"eventSelector":"141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995","name":"DisputeCreation","nameLocation":"1000:15:111","parameters":{"id":72869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72865,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1032:10:111","nodeType":"VariableDeclaration","scope":72870,"src":"1016:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72864,"name":"uint256","nodeType":"ElementaryTypeName","src":"1016:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72868,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1064:11:111","nodeType":"VariableDeclaration","scope":72870,"src":"1044:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"},"typeName":{"id":72867,"nodeType":"UserDefinedTypeName","pathNode":{"id":72866,"name":"IArbitrable","nameLocations":["1044:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72857,"src":"1044:11:111"},"referencedDeclaration":72857,"src":"1044:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"}},"visibility":"internal"}],"src":"1015:61:111"}},{"id":72880,"nodeType":"EventDefinition","src":"1332:91:111","nodes":[],"anonymous":false,"documentation":{"id":72871,"nodeType":"StructuredDocumentation","src":"1083:244:111","text":"@dev To be raised when a ruling is given.\n @param _arbitrable The arbitrable receiving the ruling.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _ruling The ruling which was given."},"eventSelector":"394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276","name":"Ruling","nameLocation":"1338:6:111","parameters":{"id":72879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72874,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1365:11:111","nodeType":"VariableDeclaration","scope":72880,"src":"1345:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"},"typeName":{"id":72873,"nodeType":"UserDefinedTypeName","pathNode":{"id":72872,"name":"IArbitrable","nameLocations":["1345:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":72857,"src":"1345:11:111"},"referencedDeclaration":72857,"src":"1345:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":72876,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1394:10:111","nodeType":"VariableDeclaration","scope":72880,"src":"1378:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72875,"name":"uint256","nodeType":"ElementaryTypeName","src":"1378:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72878,"indexed":false,"mutability":"mutable","name":"_ruling","nameLocation":"1414:7:111","nodeType":"VariableDeclaration","scope":72880,"src":"1406:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72877,"name":"uint256","nodeType":"ElementaryTypeName","src":"1406:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1344:78:111"}},{"id":72888,"nodeType":"EventDefinition","src":"1623:70:111","nodes":[],"anonymous":false,"documentation":{"id":72881,"nodeType":"StructuredDocumentation","src":"1429:189:111","text":"@dev To be emitted when an ERC20 token is added or removed as a method to pay fees.\n @param _token The ERC20 token.\n @param _accepted Whether the token is accepted or not."},"eventSelector":"541615e167511d757a7067a700eb54431b256bb458dfdce0ac58bf2ed0aefd44","name":"AcceptedFeeToken","nameLocation":"1629:16:111","parameters":{"id":72887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72884,"indexed":true,"mutability":"mutable","name":"_token","nameLocation":"1661:6:111","nodeType":"VariableDeclaration","scope":72888,"src":"1646:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":72883,"nodeType":"UserDefinedTypeName","pathNode":{"id":72882,"name":"IERC20","nameLocations":["1646:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1646:6:111"},"referencedDeclaration":55825,"src":"1646:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":72886,"indexed":true,"mutability":"mutable","name":"_accepted","nameLocation":"1682:9:111","nodeType":"VariableDeclaration","scope":72888,"src":"1669:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72885,"name":"bool","nodeType":"ElementaryTypeName","src":"1669:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1645:47:111"}},{"id":72898,"nodeType":"EventDefinition","src":"1955:88:111","nodes":[],"anonymous":false,"documentation":{"id":72889,"nodeType":"StructuredDocumentation","src":"1699:251:111","text":"@dev To be emitted when the fee for a particular ERC20 token is updated.\n @param _feeToken The ERC20 token.\n @param _rateInEth The new rate of the fee token in ETH.\n @param _rateDecimals The new decimals of the fee token rate."},"eventSelector":"e6996b7f03e9bd02228b99d3d946932e3197f505f60542c4cfbc919441d8a4e6","name":"NewCurrencyRate","nameLocation":"1961:15:111","parameters":{"id":72897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72892,"indexed":true,"mutability":"mutable","name":"_feeToken","nameLocation":"1992:9:111","nodeType":"VariableDeclaration","scope":72898,"src":"1977:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":72891,"nodeType":"UserDefinedTypeName","pathNode":{"id":72890,"name":"IERC20","nameLocations":["1977:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1977:6:111"},"referencedDeclaration":55825,"src":"1977:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":72894,"indexed":false,"mutability":"mutable","name":"_rateInEth","nameLocation":"2010:10:111","nodeType":"VariableDeclaration","scope":72898,"src":"2003:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72893,"name":"uint64","nodeType":"ElementaryTypeName","src":"2003:6:111","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":72896,"indexed":false,"mutability":"mutable","name":"_rateDecimals","nameLocation":"2028:13:111","nodeType":"VariableDeclaration","scope":72898,"src":"2022:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72895,"name":"uint8","nodeType":"ElementaryTypeName","src":"2022:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1976:66:111"}},{"id":72908,"nodeType":"FunctionDefinition","src":"2659:145:111","nodes":[],"documentation":{"id":72899,"nodeType":"StructuredDocumentation","src":"2049:605:111","text":"@dev Create a dispute and pay for the fees in the native currency, typically ETH.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return disputeID The identifier of the dispute created."},"functionSelector":"c13517e1","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2668:13:111","parameters":{"id":72904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72901,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"2690:16:111","nodeType":"VariableDeclaration","scope":72908,"src":"2682:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72900,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72903,"mutability":"mutable","name":"_extraData","nameLocation":"2723:10:111","nodeType":"VariableDeclaration","scope":72908,"src":"2708:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":72902,"name":"bytes","nodeType":"ElementaryTypeName","src":"2708:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2681:53:111"},"returnParameters":{"id":72907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72906,"mutability":"mutable","name":"disputeID","nameLocation":"2793:9:111","nodeType":"VariableDeclaration","scope":72908,"src":"2785:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72905,"name":"uint256","nodeType":"ElementaryTypeName","src":"2785:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2784:19:111"},"scope":72961,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72923,"nodeType":"FunctionDefinition","src":"3538:167:111","nodes":[],"documentation":{"id":72909,"nodeType":"StructuredDocumentation","src":"2810:723:111","text":"@dev Create a dispute and pay for the fees in a supported ERC20 token.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @param _feeAmount Amount of the ERC20 token used to pay fees.\n @return disputeID The identifier of the dispute created."},"functionSelector":"f6506db4","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3547:13:111","parameters":{"id":72919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72911,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"3569:16:111","nodeType":"VariableDeclaration","scope":72923,"src":"3561:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72910,"name":"uint256","nodeType":"ElementaryTypeName","src":"3561:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72913,"mutability":"mutable","name":"_extraData","nameLocation":"3602:10:111","nodeType":"VariableDeclaration","scope":72923,"src":"3587:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":72912,"name":"bytes","nodeType":"ElementaryTypeName","src":"3587:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":72916,"mutability":"mutable","name":"_feeToken","nameLocation":"3621:9:111","nodeType":"VariableDeclaration","scope":72923,"src":"3614:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":72915,"nodeType":"UserDefinedTypeName","pathNode":{"id":72914,"name":"IERC20","nameLocations":["3614:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3614:6:111"},"referencedDeclaration":55825,"src":"3614:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":72918,"mutability":"mutable","name":"_feeAmount","nameLocation":"3640:10:111","nodeType":"VariableDeclaration","scope":72923,"src":"3632:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72917,"name":"uint256","nodeType":"ElementaryTypeName","src":"3632:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3560:91:111"},"returnParameters":{"id":72922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72921,"mutability":"mutable","name":"disputeID","nameLocation":"3694:9:111","nodeType":"VariableDeclaration","scope":72923,"src":"3686:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72920,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3685:19:111"},"scope":72961,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72931,"nodeType":"FunctionDefinition","src":"4254:89:111","nodes":[],"documentation":{"id":72924,"nodeType":"StructuredDocumentation","src":"3711:538:111","text":"@dev Compute the cost of arbitration denominated in the native currency, typically ETH.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return cost The arbitration cost in ETH."},"functionSelector":"f7434ea9","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4263:15:111","parameters":{"id":72927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72926,"mutability":"mutable","name":"_extraData","nameLocation":"4294:10:111","nodeType":"VariableDeclaration","scope":72931,"src":"4279:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":72925,"name":"bytes","nodeType":"ElementaryTypeName","src":"4279:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4278:27:111"},"returnParameters":{"id":72930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72929,"mutability":"mutable","name":"cost","nameLocation":"4337:4:111","nodeType":"VariableDeclaration","scope":72931,"src":"4329:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72928,"name":"uint256","nodeType":"ElementaryTypeName","src":"4329:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4328:14:111"},"scope":72961,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":72942,"nodeType":"FunctionDefinition","src":"4936:107:111","nodes":[],"documentation":{"id":72932,"nodeType":"StructuredDocumentation","src":"4349:582:111","text":"@dev Compute the cost of arbitration denominated in `_feeToken`.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @return cost The arbitration cost in `_feeToken`."},"functionSelector":"d98493f6","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4945:15:111","parameters":{"id":72938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72934,"mutability":"mutable","name":"_extraData","nameLocation":"4976:10:111","nodeType":"VariableDeclaration","scope":72942,"src":"4961:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":72933,"name":"bytes","nodeType":"ElementaryTypeName","src":"4961:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":72937,"mutability":"mutable","name":"_feeToken","nameLocation":"4995:9:111","nodeType":"VariableDeclaration","scope":72942,"src":"4988:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":72936,"nodeType":"UserDefinedTypeName","pathNode":{"id":72935,"name":"IERC20","nameLocations":["4988:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"4988:6:111"},"referencedDeclaration":55825,"src":"4988:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"4960:45:111"},"returnParameters":{"id":72941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72940,"mutability":"mutable","name":"cost","nameLocation":"5037:4:111","nodeType":"VariableDeclaration","scope":72942,"src":"5029:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72939,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:14:111"},"scope":72961,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":72954,"nodeType":"FunctionDefinition","src":"5337:110:111","nodes":[],"documentation":{"id":72943,"nodeType":"StructuredDocumentation","src":"5049:283:111","text":"@dev Gets the current ruling of a specified dispute.\n @param _disputeID The ID of the dispute.\n @return ruling The current ruling.\n @return tied Whether it's a tie or not.\n @return overridden Whether the ruling was overridden by appeal funding or not."},"functionSelector":"1c3db16d","implemented":false,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5346:13:111","parameters":{"id":72946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72945,"mutability":"mutable","name":"_disputeID","nameLocation":"5368:10:111","nodeType":"VariableDeclaration","scope":72954,"src":"5360:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72944,"name":"uint256","nodeType":"ElementaryTypeName","src":"5360:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5359:20:111"},"returnParameters":{"id":72953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72948,"mutability":"mutable","name":"ruling","nameLocation":"5411:6:111","nodeType":"VariableDeclaration","scope":72954,"src":"5403:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72947,"name":"uint256","nodeType":"ElementaryTypeName","src":"5403:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72950,"mutability":"mutable","name":"tied","nameLocation":"5424:4:111","nodeType":"VariableDeclaration","scope":72954,"src":"5419:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72949,"name":"bool","nodeType":"ElementaryTypeName","src":"5419:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":72952,"mutability":"mutable","name":"overridden","nameLocation":"5435:10:111","nodeType":"VariableDeclaration","scope":72954,"src":"5430:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72951,"name":"bool","nodeType":"ElementaryTypeName","src":"5430:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5402:44:111"},"scope":72961,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":72960,"nodeType":"FunctionDefinition","src":"5657:46:111","nodes":[],"documentation":{"id":72955,"nodeType":"StructuredDocumentation","src":"5479:173:111","text":"@dev Authorize the safe to execute a ruling on the source contract.<\n @param _safe that acts as the Tribunal safe that can rule disputes from the source Strategy."},"functionSelector":"88d5b732","implemented":false,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"5666:12:111","parameters":{"id":72958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72957,"mutability":"mutable","name":"_safe","nameLocation":"5687:5:111","nodeType":"VariableDeclaration","scope":72960,"src":"5679:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72956,"name":"address","nodeType":"ElementaryTypeName","src":"5679:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5678:15:111"},"returnParameters":{"id":72959,"nodeType":"ParameterList","parameters":[],"src":"5702:0:111"},"scope":72961,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IArbitrator","contractDependencies":[],"contractKind":"interface","documentation":{"id":72862,"nodeType":"StructuredDocumentation","src":"145:616:111","text":"@title Arbitrator\n Arbitrator interface that implements the new arbitration standard.\n Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most.\n When developing arbitrator contracts we need to:\n - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes).\n - Define the functions for cost display (arbitrationCost).\n - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling)."},"fullyImplemented":false,"linearizedBaseContracts":[72961],"name":"IArbitrator","nameLocation":"771:11:111","scope":72962,"usedErrors":[]}],"license":"MIT"},"id":111} \ No newline at end of file +{"abi":[{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"},{"name":"_feeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","registerSafe(address)":"88d5b732"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feeAmount\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"cost\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"cost\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}}},\"title\":\"Arbitrator Arbitrator interface that implements the new arbitration standard. Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most. When developing arbitrator contracts we need to: - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes). - Define the functions for cost display (arbitrationCost). - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling).\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/IArbitrator.sol\":\"IArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"},{"internalType":"uint256","name":"_feeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"cost":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"cost":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/IArbitrator.sol":"IArbitrator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","id":74766,"exportedSymbols":{"IArbitrable":[74661],"IArbitrator":[74765],"IERC20":[55825]},"nodeType":"SourceUnit","src":"33:5673:110","nodes":[{"id":74663,"nodeType":"PragmaDirective","src":"33:24:110","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74664,"nodeType":"ImportDirective","src":"59:56:110","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":74766,"sourceUnit":55826,"symbolAliases":[],"unitAlias":""},{"id":74665,"nodeType":"ImportDirective","src":"116:27:110","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./IArbitrable.sol","nameLocation":"-1:-1:-1","scope":74766,"sourceUnit":74662,"symbolAliases":[],"unitAlias":""},{"id":74765,"nodeType":"ContractDefinition","src":"761:4944:110","nodes":[{"id":74674,"nodeType":"EventDefinition","src":"994:83:110","nodes":[],"anonymous":false,"documentation":{"id":74667,"nodeType":"StructuredDocumentation","src":"789:200:110","text":"@dev To be emitted when a dispute is created.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _arbitrable The contract which created the dispute."},"eventSelector":"141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995","name":"DisputeCreation","nameLocation":"1000:15:110","parameters":{"id":74673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74669,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1032:10:110","nodeType":"VariableDeclaration","scope":74674,"src":"1016:26:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74668,"name":"uint256","nodeType":"ElementaryTypeName","src":"1016:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74672,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1064:11:110","nodeType":"VariableDeclaration","scope":74674,"src":"1044:31:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"},"typeName":{"id":74671,"nodeType":"UserDefinedTypeName","pathNode":{"id":74670,"name":"IArbitrable","nameLocations":["1044:11:110"],"nodeType":"IdentifierPath","referencedDeclaration":74661,"src":"1044:11:110"},"referencedDeclaration":74661,"src":"1044:11:110","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"}},"visibility":"internal"}],"src":"1015:61:110"}},{"id":74684,"nodeType":"EventDefinition","src":"1332:91:110","nodes":[],"anonymous":false,"documentation":{"id":74675,"nodeType":"StructuredDocumentation","src":"1083:244:110","text":"@dev To be raised when a ruling is given.\n @param _arbitrable The arbitrable receiving the ruling.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _ruling The ruling which was given."},"eventSelector":"394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276","name":"Ruling","nameLocation":"1338:6:110","parameters":{"id":74683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74678,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1365:11:110","nodeType":"VariableDeclaration","scope":74684,"src":"1345:31:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"},"typeName":{"id":74677,"nodeType":"UserDefinedTypeName","pathNode":{"id":74676,"name":"IArbitrable","nameLocations":["1345:11:110"],"nodeType":"IdentifierPath","referencedDeclaration":74661,"src":"1345:11:110"},"referencedDeclaration":74661,"src":"1345:11:110","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":74680,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1394:10:110","nodeType":"VariableDeclaration","scope":74684,"src":"1378:26:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74679,"name":"uint256","nodeType":"ElementaryTypeName","src":"1378:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74682,"indexed":false,"mutability":"mutable","name":"_ruling","nameLocation":"1414:7:110","nodeType":"VariableDeclaration","scope":74684,"src":"1406:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74681,"name":"uint256","nodeType":"ElementaryTypeName","src":"1406:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1344:78:110"}},{"id":74692,"nodeType":"EventDefinition","src":"1623:70:110","nodes":[],"anonymous":false,"documentation":{"id":74685,"nodeType":"StructuredDocumentation","src":"1429:189:110","text":"@dev To be emitted when an ERC20 token is added or removed as a method to pay fees.\n @param _token The ERC20 token.\n @param _accepted Whether the token is accepted or not."},"eventSelector":"541615e167511d757a7067a700eb54431b256bb458dfdce0ac58bf2ed0aefd44","name":"AcceptedFeeToken","nameLocation":"1629:16:110","parameters":{"id":74691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74688,"indexed":true,"mutability":"mutable","name":"_token","nameLocation":"1661:6:110","nodeType":"VariableDeclaration","scope":74692,"src":"1646:21:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":74687,"nodeType":"UserDefinedTypeName","pathNode":{"id":74686,"name":"IERC20","nameLocations":["1646:6:110"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1646:6:110"},"referencedDeclaration":55825,"src":"1646:6:110","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":74690,"indexed":true,"mutability":"mutable","name":"_accepted","nameLocation":"1682:9:110","nodeType":"VariableDeclaration","scope":74692,"src":"1669:22:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74689,"name":"bool","nodeType":"ElementaryTypeName","src":"1669:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1645:47:110"}},{"id":74702,"nodeType":"EventDefinition","src":"1955:88:110","nodes":[],"anonymous":false,"documentation":{"id":74693,"nodeType":"StructuredDocumentation","src":"1699:251:110","text":"@dev To be emitted when the fee for a particular ERC20 token is updated.\n @param _feeToken The ERC20 token.\n @param _rateInEth The new rate of the fee token in ETH.\n @param _rateDecimals The new decimals of the fee token rate."},"eventSelector":"e6996b7f03e9bd02228b99d3d946932e3197f505f60542c4cfbc919441d8a4e6","name":"NewCurrencyRate","nameLocation":"1961:15:110","parameters":{"id":74701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74696,"indexed":true,"mutability":"mutable","name":"_feeToken","nameLocation":"1992:9:110","nodeType":"VariableDeclaration","scope":74702,"src":"1977:24:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":74695,"nodeType":"UserDefinedTypeName","pathNode":{"id":74694,"name":"IERC20","nameLocations":["1977:6:110"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1977:6:110"},"referencedDeclaration":55825,"src":"1977:6:110","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":74698,"indexed":false,"mutability":"mutable","name":"_rateInEth","nameLocation":"2010:10:110","nodeType":"VariableDeclaration","scope":74702,"src":"2003:17:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":74697,"name":"uint64","nodeType":"ElementaryTypeName","src":"2003:6:110","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":74700,"indexed":false,"mutability":"mutable","name":"_rateDecimals","nameLocation":"2028:13:110","nodeType":"VariableDeclaration","scope":74702,"src":"2022:19:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":74699,"name":"uint8","nodeType":"ElementaryTypeName","src":"2022:5:110","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1976:66:110"}},{"id":74712,"nodeType":"FunctionDefinition","src":"2659:145:110","nodes":[],"documentation":{"id":74703,"nodeType":"StructuredDocumentation","src":"2049:605:110","text":"@dev Create a dispute and pay for the fees in the native currency, typically ETH.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return disputeID The identifier of the dispute created."},"functionSelector":"c13517e1","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2668:13:110","parameters":{"id":74708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74705,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"2690:16:110","nodeType":"VariableDeclaration","scope":74712,"src":"2682:24:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74704,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74707,"mutability":"mutable","name":"_extraData","nameLocation":"2723:10:110","nodeType":"VariableDeclaration","scope":74712,"src":"2708:25:110","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74706,"name":"bytes","nodeType":"ElementaryTypeName","src":"2708:5:110","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2681:53:110"},"returnParameters":{"id":74711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74710,"mutability":"mutable","name":"disputeID","nameLocation":"2793:9:110","nodeType":"VariableDeclaration","scope":74712,"src":"2785:17:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74709,"name":"uint256","nodeType":"ElementaryTypeName","src":"2785:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2784:19:110"},"scope":74765,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":74727,"nodeType":"FunctionDefinition","src":"3538:167:110","nodes":[],"documentation":{"id":74713,"nodeType":"StructuredDocumentation","src":"2810:723:110","text":"@dev Create a dispute and pay for the fees in a supported ERC20 token.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @param _feeAmount Amount of the ERC20 token used to pay fees.\n @return disputeID The identifier of the dispute created."},"functionSelector":"f6506db4","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3547:13:110","parameters":{"id":74723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74715,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"3569:16:110","nodeType":"VariableDeclaration","scope":74727,"src":"3561:24:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74714,"name":"uint256","nodeType":"ElementaryTypeName","src":"3561:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74717,"mutability":"mutable","name":"_extraData","nameLocation":"3602:10:110","nodeType":"VariableDeclaration","scope":74727,"src":"3587:25:110","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74716,"name":"bytes","nodeType":"ElementaryTypeName","src":"3587:5:110","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74720,"mutability":"mutable","name":"_feeToken","nameLocation":"3621:9:110","nodeType":"VariableDeclaration","scope":74727,"src":"3614:16:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":74719,"nodeType":"UserDefinedTypeName","pathNode":{"id":74718,"name":"IERC20","nameLocations":["3614:6:110"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3614:6:110"},"referencedDeclaration":55825,"src":"3614:6:110","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":74722,"mutability":"mutable","name":"_feeAmount","nameLocation":"3640:10:110","nodeType":"VariableDeclaration","scope":74727,"src":"3632:18:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74721,"name":"uint256","nodeType":"ElementaryTypeName","src":"3632:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3560:91:110"},"returnParameters":{"id":74726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74725,"mutability":"mutable","name":"disputeID","nameLocation":"3694:9:110","nodeType":"VariableDeclaration","scope":74727,"src":"3686:17:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74724,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3685:19:110"},"scope":74765,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74735,"nodeType":"FunctionDefinition","src":"4254:89:110","nodes":[],"documentation":{"id":74728,"nodeType":"StructuredDocumentation","src":"3711:538:110","text":"@dev Compute the cost of arbitration denominated in the native currency, typically ETH.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return cost The arbitration cost in ETH."},"functionSelector":"f7434ea9","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4263:15:110","parameters":{"id":74731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74730,"mutability":"mutable","name":"_extraData","nameLocation":"4294:10:110","nodeType":"VariableDeclaration","scope":74735,"src":"4279:25:110","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74729,"name":"bytes","nodeType":"ElementaryTypeName","src":"4279:5:110","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4278:27:110"},"returnParameters":{"id":74734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74733,"mutability":"mutable","name":"cost","nameLocation":"4337:4:110","nodeType":"VariableDeclaration","scope":74735,"src":"4329:12:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74732,"name":"uint256","nodeType":"ElementaryTypeName","src":"4329:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4328:14:110"},"scope":74765,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74746,"nodeType":"FunctionDefinition","src":"4936:107:110","nodes":[],"documentation":{"id":74736,"nodeType":"StructuredDocumentation","src":"4349:582:110","text":"@dev Compute the cost of arbitration denominated in `_feeToken`.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @return cost The arbitration cost in `_feeToken`."},"functionSelector":"d98493f6","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4945:15:110","parameters":{"id":74742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74738,"mutability":"mutable","name":"_extraData","nameLocation":"4976:10:110","nodeType":"VariableDeclaration","scope":74746,"src":"4961:25:110","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74737,"name":"bytes","nodeType":"ElementaryTypeName","src":"4961:5:110","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74741,"mutability":"mutable","name":"_feeToken","nameLocation":"4995:9:110","nodeType":"VariableDeclaration","scope":74746,"src":"4988:16:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":74740,"nodeType":"UserDefinedTypeName","pathNode":{"id":74739,"name":"IERC20","nameLocations":["4988:6:110"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"4988:6:110"},"referencedDeclaration":55825,"src":"4988:6:110","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"4960:45:110"},"returnParameters":{"id":74745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74744,"mutability":"mutable","name":"cost","nameLocation":"5037:4:110","nodeType":"VariableDeclaration","scope":74746,"src":"5029:12:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74743,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:14:110"},"scope":74765,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74758,"nodeType":"FunctionDefinition","src":"5337:110:110","nodes":[],"documentation":{"id":74747,"nodeType":"StructuredDocumentation","src":"5049:283:110","text":"@dev Gets the current ruling of a specified dispute.\n @param _disputeID The ID of the dispute.\n @return ruling The current ruling.\n @return tied Whether it's a tie or not.\n @return overridden Whether the ruling was overridden by appeal funding or not."},"functionSelector":"1c3db16d","implemented":false,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5346:13:110","parameters":{"id":74750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74749,"mutability":"mutable","name":"_disputeID","nameLocation":"5368:10:110","nodeType":"VariableDeclaration","scope":74758,"src":"5360:18:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74748,"name":"uint256","nodeType":"ElementaryTypeName","src":"5360:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5359:20:110"},"returnParameters":{"id":74757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74752,"mutability":"mutable","name":"ruling","nameLocation":"5411:6:110","nodeType":"VariableDeclaration","scope":74758,"src":"5403:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74751,"name":"uint256","nodeType":"ElementaryTypeName","src":"5403:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74754,"mutability":"mutable","name":"tied","nameLocation":"5424:4:110","nodeType":"VariableDeclaration","scope":74758,"src":"5419:9:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74753,"name":"bool","nodeType":"ElementaryTypeName","src":"5419:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":74756,"mutability":"mutable","name":"overridden","nameLocation":"5435:10:110","nodeType":"VariableDeclaration","scope":74758,"src":"5430:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74755,"name":"bool","nodeType":"ElementaryTypeName","src":"5430:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5402:44:110"},"scope":74765,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74764,"nodeType":"FunctionDefinition","src":"5657:46:110","nodes":[],"documentation":{"id":74759,"nodeType":"StructuredDocumentation","src":"5479:173:110","text":"@dev Authorize the safe to execute a ruling on the source contract.<\n @param _safe that acts as the Tribunal safe that can rule disputes from the source Strategy."},"functionSelector":"88d5b732","implemented":false,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"5666:12:110","parameters":{"id":74762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74761,"mutability":"mutable","name":"_safe","nameLocation":"5687:5:110","nodeType":"VariableDeclaration","scope":74764,"src":"5679:13:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74760,"name":"address","nodeType":"ElementaryTypeName","src":"5679:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5678:15:110"},"returnParameters":{"id":74763,"nodeType":"ParameterList","parameters":[],"src":"5702:0:110"},"scope":74765,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IArbitrator","contractDependencies":[],"contractKind":"interface","documentation":{"id":74666,"nodeType":"StructuredDocumentation","src":"145:616:110","text":"@title Arbitrator\n Arbitrator interface that implements the new arbitration standard.\n Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most.\n When developing arbitrator contracts we need to:\n - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes).\n - Define the functions for cost display (arbitrationCost).\n - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling)."},"fullyImplemented":false,"linearizedBaseContracts":[74765],"name":"IArbitrator","nameLocation":"771:11:110","scope":74766,"usedErrors":[]}],"license":"MIT"},"id":110} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20.sol/IERC20.json b/pkg/contracts/out/IERC20.sol/IERC20.json index 510aaf2ce..f2dc3a741 100644 --- a/pkg/contracts/out/IERC20.sol/IERC20.json +++ b/pkg/contracts/out/IERC20.sol/IERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":37040,"exportedSymbols":{"IERC20":[37039]},"nodeType":"SourceUnit","src":"32:2035:34","nodes":[{"id":36945,"nodeType":"PragmaDirective","src":"32:24:34","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":37039,"nodeType":"ContractDefinition","src":"195:1871:34","nodes":[{"id":36955,"nodeType":"EventDefinition","src":"314:72:34","nodes":[],"anonymous":false,"documentation":{"id":36947,"nodeType":"StructuredDocumentation","src":"218:91:34","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:34","parameters":{"id":36954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36949,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:34","nodeType":"VariableDeclaration","scope":36955,"src":"329:20:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36948,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36951,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:34","nodeType":"VariableDeclaration","scope":36955,"src":"351:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36950,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36953,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:34","nodeType":"VariableDeclaration","scope":36955,"src":"371:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36952,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:34"}},{"id":36964,"nodeType":"EventDefinition","src":"514:78:34","nodes":[],"anonymous":false,"documentation":{"id":36956,"nodeType":"StructuredDocumentation","src":"392:117:34","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:34","parameters":{"id":36963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36958,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:34","nodeType":"VariableDeclaration","scope":36964,"src":"529:21:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36957,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36960,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:34","nodeType":"VariableDeclaration","scope":36964,"src":"552:23:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36959,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36962,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:34","nodeType":"VariableDeclaration","scope":36964,"src":"577:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36961,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:34"}},{"id":36970,"nodeType":"FunctionDefinition","src":"657:55:34","nodes":[],"documentation":{"id":36965,"nodeType":"StructuredDocumentation","src":"598:54:34","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:34","parameters":{"id":36966,"nodeType":"ParameterList","parameters":[],"src":"677:2:34"},"returnParameters":{"id":36969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36970,"src":"703:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36967,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":36978,"nodeType":"FunctionDefinition","src":"783:68:34","nodes":[],"documentation":{"id":36971,"nodeType":"StructuredDocumentation","src":"718:60:34","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:34","parameters":{"id":36974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36973,"mutability":"mutable","name":"account","nameLocation":"810:7:34","nodeType":"VariableDeclaration","scope":36978,"src":"802:15:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36972,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:34"},"returnParameters":{"id":36977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36978,"src":"842:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36975,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":36988,"nodeType":"FunctionDefinition","src":"930:70:34","nodes":[],"documentation":{"id":36979,"nodeType":"StructuredDocumentation","src":"857:68:34","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:34","parameters":{"id":36984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36981,"mutability":"mutable","name":"to","nameLocation":"956:2:34","nodeType":"VariableDeclaration","scope":36988,"src":"948:10:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36980,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36983,"mutability":"mutable","name":"amount","nameLocation":"968:6:34","nodeType":"VariableDeclaration","scope":36988,"src":"960:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36982,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:34"},"returnParameters":{"id":36987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36986,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36988,"src":"994:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36985,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:34"},"scope":37039,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":36998,"nodeType":"FunctionDefinition","src":"1125:83:34","nodes":[],"documentation":{"id":36989,"nodeType":"StructuredDocumentation","src":"1006:114:34","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:34","parameters":{"id":36994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36991,"mutability":"mutable","name":"owner","nameLocation":"1152:5:34","nodeType":"VariableDeclaration","scope":36998,"src":"1144:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36990,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36993,"mutability":"mutable","name":"spender","nameLocation":"1167:7:34","nodeType":"VariableDeclaration","scope":36998,"src":"1159:15:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36992,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:34"},"returnParameters":{"id":36997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36996,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36998,"src":"1199:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36995,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37008,"nodeType":"FunctionDefinition","src":"1412:74:34","nodes":[],"documentation":{"id":36999,"nodeType":"StructuredDocumentation","src":"1214:193:34","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:34","parameters":{"id":37004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37001,"mutability":"mutable","name":"spender","nameLocation":"1437:7:34","nodeType":"VariableDeclaration","scope":37008,"src":"1429:15:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37000,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37003,"mutability":"mutable","name":"amount","nameLocation":"1454:6:34","nodeType":"VariableDeclaration","scope":37008,"src":"1446:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37002,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:34"},"returnParameters":{"id":37007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37008,"src":"1480:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37005,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:34"},"scope":37039,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37020,"nodeType":"FunctionDefinition","src":"1644:88:34","nodes":[],"documentation":{"id":37009,"nodeType":"StructuredDocumentation","src":"1492:147:34","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:34","parameters":{"id":37016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37011,"mutability":"mutable","name":"from","nameLocation":"1674:4:34","nodeType":"VariableDeclaration","scope":37020,"src":"1666:12:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37010,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37013,"mutability":"mutable","name":"to","nameLocation":"1688:2:34","nodeType":"VariableDeclaration","scope":37020,"src":"1680:10:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37012,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37015,"mutability":"mutable","name":"amount","nameLocation":"1700:6:34","nodeType":"VariableDeclaration","scope":37020,"src":"1692:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37014,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:34"},"returnParameters":{"id":37019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37020,"src":"1726:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37017,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:34"},"scope":37039,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37026,"nodeType":"FunctionDefinition","src":"1785:54:34","nodes":[],"documentation":{"id":37021,"nodeType":"StructuredDocumentation","src":"1738:42:34","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:34","parameters":{"id":37022,"nodeType":"ParameterList","parameters":[],"src":"1798:2:34"},"returnParameters":{"id":37025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37026,"src":"1824:13:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37023,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37032,"nodeType":"FunctionDefinition","src":"1894:56:34","nodes":[],"documentation":{"id":37027,"nodeType":"StructuredDocumentation","src":"1845:44:34","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:34","parameters":{"id":37028,"nodeType":"ParameterList","parameters":[],"src":"1909:2:34"},"returnParameters":{"id":37031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37032,"src":"1935:13:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37029,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37038,"nodeType":"FunctionDefinition","src":"2014:50:34","nodes":[],"documentation":{"id":37033,"nodeType":"StructuredDocumentation","src":"1956:53:34","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:34","parameters":{"id":37034,"nodeType":"ParameterList","parameters":[],"src":"2031:2:34"},"returnParameters":{"id":37037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37036,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37038,"src":"2057:5:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37035,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:34","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":36946,"nodeType":"StructuredDocumentation","src":"58:137:34","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[37039],"name":"IERC20","nameLocation":"205:6:34","scope":37040,"usedErrors":[]}],"license":"MIT"},"id":34} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":37040,"exportedSymbols":{"IERC20":[37039]},"nodeType":"SourceUnit","src":"32:2035:34","nodes":[{"id":36945,"nodeType":"PragmaDirective","src":"32:24:34","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":37039,"nodeType":"ContractDefinition","src":"195:1871:34","nodes":[{"id":36955,"nodeType":"EventDefinition","src":"314:72:34","nodes":[],"anonymous":false,"documentation":{"id":36947,"nodeType":"StructuredDocumentation","src":"218:91:34","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:34","parameters":{"id":36954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36949,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:34","nodeType":"VariableDeclaration","scope":36955,"src":"329:20:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36948,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36951,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:34","nodeType":"VariableDeclaration","scope":36955,"src":"351:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36950,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36953,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:34","nodeType":"VariableDeclaration","scope":36955,"src":"371:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36952,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:34"}},{"id":36964,"nodeType":"EventDefinition","src":"514:78:34","nodes":[],"anonymous":false,"documentation":{"id":36956,"nodeType":"StructuredDocumentation","src":"392:117:34","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:34","parameters":{"id":36963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36958,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:34","nodeType":"VariableDeclaration","scope":36964,"src":"529:21:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36957,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36960,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:34","nodeType":"VariableDeclaration","scope":36964,"src":"552:23:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36959,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36962,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:34","nodeType":"VariableDeclaration","scope":36964,"src":"577:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36961,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:34"}},{"id":36970,"nodeType":"FunctionDefinition","src":"657:55:34","nodes":[],"documentation":{"id":36965,"nodeType":"StructuredDocumentation","src":"598:54:34","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:34","parameters":{"id":36966,"nodeType":"ParameterList","parameters":[],"src":"677:2:34"},"returnParameters":{"id":36969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36970,"src":"703:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36967,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":36978,"nodeType":"FunctionDefinition","src":"783:68:34","nodes":[],"documentation":{"id":36971,"nodeType":"StructuredDocumentation","src":"718:60:34","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:34","parameters":{"id":36974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36973,"mutability":"mutable","name":"account","nameLocation":"810:7:34","nodeType":"VariableDeclaration","scope":36978,"src":"802:15:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36972,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:34"},"returnParameters":{"id":36977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36978,"src":"842:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36975,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":36988,"nodeType":"FunctionDefinition","src":"930:70:34","nodes":[],"documentation":{"id":36979,"nodeType":"StructuredDocumentation","src":"857:68:34","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:34","parameters":{"id":36984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36981,"mutability":"mutable","name":"to","nameLocation":"956:2:34","nodeType":"VariableDeclaration","scope":36988,"src":"948:10:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36980,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36983,"mutability":"mutable","name":"amount","nameLocation":"968:6:34","nodeType":"VariableDeclaration","scope":36988,"src":"960:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36982,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:34"},"returnParameters":{"id":36987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36986,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36988,"src":"994:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36985,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:34"},"scope":37039,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":36998,"nodeType":"FunctionDefinition","src":"1125:83:34","nodes":[],"documentation":{"id":36989,"nodeType":"StructuredDocumentation","src":"1006:114:34","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:34","parameters":{"id":36994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36991,"mutability":"mutable","name":"owner","nameLocation":"1152:5:34","nodeType":"VariableDeclaration","scope":36998,"src":"1144:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36990,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36993,"mutability":"mutable","name":"spender","nameLocation":"1167:7:34","nodeType":"VariableDeclaration","scope":36998,"src":"1159:15:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36992,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:34"},"returnParameters":{"id":36997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36996,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36998,"src":"1199:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36995,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37008,"nodeType":"FunctionDefinition","src":"1412:74:34","nodes":[],"documentation":{"id":36999,"nodeType":"StructuredDocumentation","src":"1214:193:34","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:34","parameters":{"id":37004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37001,"mutability":"mutable","name":"spender","nameLocation":"1437:7:34","nodeType":"VariableDeclaration","scope":37008,"src":"1429:15:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37000,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37003,"mutability":"mutable","name":"amount","nameLocation":"1454:6:34","nodeType":"VariableDeclaration","scope":37008,"src":"1446:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37002,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:34"},"returnParameters":{"id":37007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37008,"src":"1480:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37005,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:34"},"scope":37039,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37020,"nodeType":"FunctionDefinition","src":"1644:88:34","nodes":[],"documentation":{"id":37009,"nodeType":"StructuredDocumentation","src":"1492:147:34","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:34","parameters":{"id":37016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37011,"mutability":"mutable","name":"from","nameLocation":"1674:4:34","nodeType":"VariableDeclaration","scope":37020,"src":"1666:12:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37010,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37013,"mutability":"mutable","name":"to","nameLocation":"1688:2:34","nodeType":"VariableDeclaration","scope":37020,"src":"1680:10:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37012,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37015,"mutability":"mutable","name":"amount","nameLocation":"1700:6:34","nodeType":"VariableDeclaration","scope":37020,"src":"1692:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37014,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:34"},"returnParameters":{"id":37019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37020,"src":"1726:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37017,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:34"},"scope":37039,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37026,"nodeType":"FunctionDefinition","src":"1785:54:34","nodes":[],"documentation":{"id":37021,"nodeType":"StructuredDocumentation","src":"1738:42:34","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:34","parameters":{"id":37022,"nodeType":"ParameterList","parameters":[],"src":"1798:2:34"},"returnParameters":{"id":37025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37026,"src":"1824:13:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37023,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37032,"nodeType":"FunctionDefinition","src":"1894:56:34","nodes":[],"documentation":{"id":37027,"nodeType":"StructuredDocumentation","src":"1845:44:34","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:34","parameters":{"id":37028,"nodeType":"ParameterList","parameters":[],"src":"1909:2:34"},"returnParameters":{"id":37031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37032,"src":"1935:13:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37029,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37038,"nodeType":"FunctionDefinition","src":"2014:50:34","nodes":[],"documentation":{"id":37033,"nodeType":"StructuredDocumentation","src":"1956:53:34","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:34","parameters":{"id":37034,"nodeType":"ParameterList","parameters":[],"src":"2031:2:34"},"returnParameters":{"id":37037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37036,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37038,"src":"2057:5:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37035,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:34","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:34"},"scope":37039,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":36946,"nodeType":"StructuredDocumentation","src":"58:137:34","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[37039],"name":"IERC20","nameLocation":"205:6:34","scope":37040,"usedErrors":[]}],"license":"MIT"},"id":34} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json b/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json index 08b022305..edbe7f259 100644 --- a/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +++ b/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":55851,"exportedSymbols":{"IERC20":[55825],"IERC20Metadata":[55850]},"nodeType":"SourceUnit","src":"110:573:68","nodes":[{"id":55827,"nodeType":"PragmaDirective","src":"110:23:68","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55828,"nodeType":"ImportDirective","src":"135:23:68","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":55851,"sourceUnit":55826,"symbolAliases":[],"unitAlias":""},{"id":55850,"nodeType":"ContractDefinition","src":"277:405:68","nodes":[{"id":55837,"nodeType":"FunctionDefinition","src":"377:54:68","nodes":[],"documentation":{"id":55832,"nodeType":"StructuredDocumentation","src":"318:54:68","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:68","parameters":{"id":55833,"nodeType":"ParameterList","parameters":[],"src":"390:2:68"},"returnParameters":{"id":55836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55835,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55837,"src":"416:13:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55834,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:68"},"scope":55850,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55843,"nodeType":"FunctionDefinition","src":"498:56:68","nodes":[],"documentation":{"id":55838,"nodeType":"StructuredDocumentation","src":"437:56:68","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:68","parameters":{"id":55839,"nodeType":"ParameterList","parameters":[],"src":"513:2:68"},"returnParameters":{"id":55842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55843,"src":"539:13:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55840,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:68"},"scope":55850,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55849,"nodeType":"FunctionDefinition","src":"630:50:68","nodes":[],"documentation":{"id":55844,"nodeType":"StructuredDocumentation","src":"560:65:68","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:68","parameters":{"id":55845,"nodeType":"ParameterList","parameters":[],"src":"647:2:68"},"returnParameters":{"id":55848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55849,"src":"673:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55846,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:68"},"scope":55850,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":55830,"name":"IERC20","nameLocations":["305:6:68"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"305:6:68"},"id":55831,"nodeType":"InheritanceSpecifier","src":"305:6:68"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":55829,"nodeType":"StructuredDocumentation","src":"160:116:68","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"linearizedBaseContracts":[55850,55825],"name":"IERC20Metadata","nameLocation":"287:14:68","scope":55851,"usedErrors":[]}],"license":"MIT"},"id":68} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":55851,"exportedSymbols":{"IERC20":[55825],"IERC20Metadata":[55850]},"nodeType":"SourceUnit","src":"110:573:68","nodes":[{"id":55827,"nodeType":"PragmaDirective","src":"110:23:68","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55828,"nodeType":"ImportDirective","src":"135:23:68","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":55851,"sourceUnit":55826,"symbolAliases":[],"unitAlias":""},{"id":55850,"nodeType":"ContractDefinition","src":"277:405:68","nodes":[{"id":55837,"nodeType":"FunctionDefinition","src":"377:54:68","nodes":[],"documentation":{"id":55832,"nodeType":"StructuredDocumentation","src":"318:54:68","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:68","parameters":{"id":55833,"nodeType":"ParameterList","parameters":[],"src":"390:2:68"},"returnParameters":{"id":55836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55835,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55837,"src":"416:13:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55834,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:68"},"scope":55850,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55843,"nodeType":"FunctionDefinition","src":"498:56:68","nodes":[],"documentation":{"id":55838,"nodeType":"StructuredDocumentation","src":"437:56:68","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:68","parameters":{"id":55839,"nodeType":"ParameterList","parameters":[],"src":"513:2:68"},"returnParameters":{"id":55842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55843,"src":"539:13:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55840,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:68"},"scope":55850,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55849,"nodeType":"FunctionDefinition","src":"630:50:68","nodes":[],"documentation":{"id":55844,"nodeType":"StructuredDocumentation","src":"560:65:68","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:68","parameters":{"id":55845,"nodeType":"ParameterList","parameters":[],"src":"647:2:68"},"returnParameters":{"id":55848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55849,"src":"673:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55846,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:68"},"scope":55850,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":55830,"name":"IERC20","nameLocations":["305:6:68"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"305:6:68"},"id":55831,"nodeType":"InheritanceSpecifier","src":"305:6:68"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":55829,"nodeType":"StructuredDocumentation","src":"160:116:68","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"linearizedBaseContracts":[55850,55825],"name":"IERC20Metadata","nameLocation":"287:14:68","scope":55851,"usedErrors":[]}],"license":"MIT"},"id":68} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json b/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json index 9afbafbfd..100bc72ef 100644 --- a/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json +++ b/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":"IERC20Permit"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","id":55887,"exportedSymbols":{"IERC20Permit":[55886]},"nodeType":"SourceUnit","src":"123:2138:69","nodes":[{"id":55852,"nodeType":"PragmaDirective","src":"123:23:69","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55886,"nodeType":"ContractDefinition","src":"629:1631:69","nodes":[{"id":55871,"nodeType":"FunctionDefinition","src":"1455:183:69","nodes":[],"documentation":{"id":55854,"nodeType":"StructuredDocumentation","src":"658:792:69","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]."},"functionSelector":"d505accf","implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1464:6:69","parameters":{"id":55869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55856,"mutability":"mutable","name":"owner","nameLocation":"1488:5:69","nodeType":"VariableDeclaration","scope":55871,"src":"1480:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55855,"name":"address","nodeType":"ElementaryTypeName","src":"1480:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55858,"mutability":"mutable","name":"spender","nameLocation":"1511:7:69","nodeType":"VariableDeclaration","scope":55871,"src":"1503:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55857,"name":"address","nodeType":"ElementaryTypeName","src":"1503:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55860,"mutability":"mutable","name":"value","nameLocation":"1536:5:69","nodeType":"VariableDeclaration","scope":55871,"src":"1528:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55859,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55862,"mutability":"mutable","name":"deadline","nameLocation":"1559:8:69","nodeType":"VariableDeclaration","scope":55871,"src":"1551:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55861,"name":"uint256","nodeType":"ElementaryTypeName","src":"1551:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55864,"mutability":"mutable","name":"v","nameLocation":"1583:1:69","nodeType":"VariableDeclaration","scope":55871,"src":"1577:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55863,"name":"uint8","nodeType":"ElementaryTypeName","src":"1577:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55866,"mutability":"mutable","name":"r","nameLocation":"1602:1:69","nodeType":"VariableDeclaration","scope":55871,"src":"1594:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1594:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55868,"mutability":"mutable","name":"s","nameLocation":"1621:1:69","nodeType":"VariableDeclaration","scope":55871,"src":"1613:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1613:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1470:158:69"},"returnParameters":{"id":55870,"nodeType":"ParameterList","parameters":[],"src":"1637:0:69"},"scope":55886,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":55879,"nodeType":"FunctionDefinition","src":"1943:63:69","nodes":[],"documentation":{"id":55872,"nodeType":"StructuredDocumentation","src":"1644:294:69","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1952:6:69","parameters":{"id":55875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55874,"mutability":"mutable","name":"owner","nameLocation":"1967:5:69","nodeType":"VariableDeclaration","scope":55879,"src":"1959:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55873,"name":"address","nodeType":"ElementaryTypeName","src":"1959:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1958:15:69"},"returnParameters":{"id":55878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55879,"src":"1997:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55876,"name":"uint256","nodeType":"ElementaryTypeName","src":"1997:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:9:69"},"scope":55886,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55885,"nodeType":"FunctionDefinition","src":"2198:60:69","nodes":[],"documentation":{"id":55880,"nodeType":"StructuredDocumentation","src":"2012:128:69","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2207:16:69","parameters":{"id":55881,"nodeType":"ParameterList","parameters":[],"src":"2223:2:69"},"returnParameters":{"id":55884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55883,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55885,"src":"2249:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2249:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2248:9:69"},"scope":55886,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":55853,"nodeType":"StructuredDocumentation","src":"148:480:69","text":" @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."},"fullyImplemented":false,"linearizedBaseContracts":[55886],"name":"IERC20Permit","nameLocation":"639:12:69","scope":55887,"usedErrors":[]}],"license":"MIT"},"id":69} \ No newline at end of file +{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all. ==== Security Considerations There are two important considerations concerning the use of `permit`. The first is that a valid permit signature expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be considered as an intention to spend the allowance in any specific way. The second is that because permits have built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be generally recommended is: ```solidity function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public { try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {} doThing(..., value); } function doThing(..., uint256 value) public { token.safeTransferFrom(msg.sender, address(this), value); ... } ``` Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also {SafeERC20-safeTransferFrom}). Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so contracts should have entry points that don't rely on permit.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":"IERC20Permit"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","id":55887,"exportedSymbols":{"IERC20Permit":[55886]},"nodeType":"SourceUnit","src":"123:3679:69","nodes":[{"id":55852,"nodeType":"PragmaDirective","src":"123:23:69","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55886,"nodeType":"ContractDefinition","src":"2112:1689:69","nodes":[{"id":55871,"nodeType":"FunctionDefinition","src":"2996:183:69","nodes":[],"documentation":{"id":55854,"nodeType":"StructuredDocumentation","src":"2141:850:69","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section].\n CAUTION: See Security Considerations above."},"functionSelector":"d505accf","implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"3005:6:69","parameters":{"id":55869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55856,"mutability":"mutable","name":"owner","nameLocation":"3029:5:69","nodeType":"VariableDeclaration","scope":55871,"src":"3021:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55855,"name":"address","nodeType":"ElementaryTypeName","src":"3021:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55858,"mutability":"mutable","name":"spender","nameLocation":"3052:7:69","nodeType":"VariableDeclaration","scope":55871,"src":"3044:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55857,"name":"address","nodeType":"ElementaryTypeName","src":"3044:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55860,"mutability":"mutable","name":"value","nameLocation":"3077:5:69","nodeType":"VariableDeclaration","scope":55871,"src":"3069:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55859,"name":"uint256","nodeType":"ElementaryTypeName","src":"3069:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55862,"mutability":"mutable","name":"deadline","nameLocation":"3100:8:69","nodeType":"VariableDeclaration","scope":55871,"src":"3092:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55861,"name":"uint256","nodeType":"ElementaryTypeName","src":"3092:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55864,"mutability":"mutable","name":"v","nameLocation":"3124:1:69","nodeType":"VariableDeclaration","scope":55871,"src":"3118:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55863,"name":"uint8","nodeType":"ElementaryTypeName","src":"3118:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55866,"mutability":"mutable","name":"r","nameLocation":"3143:1:69","nodeType":"VariableDeclaration","scope":55871,"src":"3135:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3135:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55868,"mutability":"mutable","name":"s","nameLocation":"3162:1:69","nodeType":"VariableDeclaration","scope":55871,"src":"3154:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3154:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3011:158:69"},"returnParameters":{"id":55870,"nodeType":"ParameterList","parameters":[],"src":"3178:0:69"},"scope":55886,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":55879,"nodeType":"FunctionDefinition","src":"3484:63:69","nodes":[],"documentation":{"id":55872,"nodeType":"StructuredDocumentation","src":"3185:294:69","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"3493:6:69","parameters":{"id":55875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55874,"mutability":"mutable","name":"owner","nameLocation":"3508:5:69","nodeType":"VariableDeclaration","scope":55879,"src":"3500:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55873,"name":"address","nodeType":"ElementaryTypeName","src":"3500:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3499:15:69"},"returnParameters":{"id":55878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55879,"src":"3538:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55876,"name":"uint256","nodeType":"ElementaryTypeName","src":"3538:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3537:9:69"},"scope":55886,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":55885,"nodeType":"FunctionDefinition","src":"3739:60:69","nodes":[],"documentation":{"id":55880,"nodeType":"StructuredDocumentation","src":"3553:128:69","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"3748:16:69","parameters":{"id":55881,"nodeType":"ParameterList","parameters":[],"src":"3764:2:69"},"returnParameters":{"id":55884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55883,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55885,"src":"3790:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3790:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3789:9:69"},"scope":55886,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":55853,"nodeType":"StructuredDocumentation","src":"148:1963:69","text":" @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all.\n ==== Security Considerations\n There are two important considerations concerning the use of `permit`. The first is that a valid permit signature\n expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be\n considered as an intention to spend the allowance in any specific way. The second is that because permits have\n built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should\n take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be\n generally recommended is:\n ```solidity\n function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {\n try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}\n doThing(..., value);\n }\n function doThing(..., uint256 value) public {\n token.safeTransferFrom(msg.sender, address(this), value);\n ...\n }\n ```\n Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of\n `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also\n {SafeERC20-safeTransferFrom}).\n Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so\n contracts should have entry points that don't rely on permit."},"fullyImplemented":false,"linearizedBaseContracts":[55886],"name":"IERC20Permit","nameLocation":"2122:12:69","scope":55887,"usedErrors":[]}],"license":"MIT"},"id":69} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json b/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json index cbad8091e..137cc9644 100644 --- a/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json +++ b/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":\"IERC20Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","id":52613,"exportedSymbols":{"IERC20Upgradeable":[52612]},"nodeType":"SourceUnit","src":"106:2642:46","nodes":[{"id":52536,"nodeType":"PragmaDirective","src":"106:23:46","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":52612,"nodeType":"ContractDefinition","src":"202:2545:46","nodes":[{"id":52546,"nodeType":"EventDefinition","src":"399:72:46","nodes":[],"anonymous":false,"documentation":{"id":52538,"nodeType":"StructuredDocumentation","src":"236:158:46","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"405:8:46","parameters":{"id":52545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52540,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"430:4:46","nodeType":"VariableDeclaration","scope":52546,"src":"414:20:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52539,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52542,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"452:2:46","nodeType":"VariableDeclaration","scope":52546,"src":"436:18:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52541,"name":"address","nodeType":"ElementaryTypeName","src":"436:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52544,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"464:5:46","nodeType":"VariableDeclaration","scope":52546,"src":"456:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52543,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"413:57:46"}},{"id":52555,"nodeType":"EventDefinition","src":"630:78:46","nodes":[],"anonymous":false,"documentation":{"id":52547,"nodeType":"StructuredDocumentation","src":"477:148:46","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"636:8:46","parameters":{"id":52554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52549,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"661:5:46","nodeType":"VariableDeclaration","scope":52555,"src":"645:21:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52548,"name":"address","nodeType":"ElementaryTypeName","src":"645:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52551,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"684:7:46","nodeType":"VariableDeclaration","scope":52555,"src":"668:23:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52550,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52553,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"701:5:46","nodeType":"VariableDeclaration","scope":52555,"src":"693:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52552,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"644:63:46"}},{"id":52561,"nodeType":"FunctionDefinition","src":"785:55:46","nodes":[],"documentation":{"id":52556,"nodeType":"StructuredDocumentation","src":"714:66:46","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"794:11:46","parameters":{"id":52557,"nodeType":"ParameterList","parameters":[],"src":"805:2:46"},"returnParameters":{"id":52560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52561,"src":"831:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52558,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"830:9:46"},"scope":52612,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":52569,"nodeType":"FunctionDefinition","src":"923:68:46","nodes":[],"documentation":{"id":52562,"nodeType":"StructuredDocumentation","src":"846:72:46","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"932:9:46","parameters":{"id":52565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52564,"mutability":"mutable","name":"account","nameLocation":"950:7:46","nodeType":"VariableDeclaration","scope":52569,"src":"942:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52563,"name":"address","nodeType":"ElementaryTypeName","src":"942:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"941:17:46"},"returnParameters":{"id":52568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52569,"src":"982:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52566,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:9:46"},"scope":52612,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":52579,"nodeType":"FunctionDefinition","src":"1204:70:46","nodes":[],"documentation":{"id":52570,"nodeType":"StructuredDocumentation","src":"997:202:46","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1213:8:46","parameters":{"id":52575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52572,"mutability":"mutable","name":"to","nameLocation":"1230:2:46","nodeType":"VariableDeclaration","scope":52579,"src":"1222:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52571,"name":"address","nodeType":"ElementaryTypeName","src":"1222:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52574,"mutability":"mutable","name":"amount","nameLocation":"1242:6:46","nodeType":"VariableDeclaration","scope":52579,"src":"1234:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52573,"name":"uint256","nodeType":"ElementaryTypeName","src":"1234:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1221:28:46"},"returnParameters":{"id":52578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52579,"src":"1268:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52576,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:46"},"scope":52612,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":52589,"nodeType":"FunctionDefinition","src":"1549:83:46","nodes":[],"documentation":{"id":52580,"nodeType":"StructuredDocumentation","src":"1280:264:46","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:46","parameters":{"id":52585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52582,"mutability":"mutable","name":"owner","nameLocation":"1576:5:46","nodeType":"VariableDeclaration","scope":52589,"src":"1568:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52581,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52584,"mutability":"mutable","name":"spender","nameLocation":"1591:7:46","nodeType":"VariableDeclaration","scope":52589,"src":"1583:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52583,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:46"},"returnParameters":{"id":52588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52589,"src":"1623:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52586,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:46"},"scope":52612,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":52599,"nodeType":"FunctionDefinition","src":"2285:74:46","nodes":[],"documentation":{"id":52590,"nodeType":"StructuredDocumentation","src":"1638:642:46","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2294:7:46","parameters":{"id":52595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52592,"mutability":"mutable","name":"spender","nameLocation":"2310:7:46","nodeType":"VariableDeclaration","scope":52599,"src":"2302:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52591,"name":"address","nodeType":"ElementaryTypeName","src":"2302:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52594,"mutability":"mutable","name":"amount","nameLocation":"2327:6:46","nodeType":"VariableDeclaration","scope":52599,"src":"2319:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52593,"name":"uint256","nodeType":"ElementaryTypeName","src":"2319:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:33:46"},"returnParameters":{"id":52598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52599,"src":"2353:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52596,"name":"bool","nodeType":"ElementaryTypeName","src":"2353:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2352:6:46"},"scope":52612,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":52611,"nodeType":"FunctionDefinition","src":"2657:88:46","nodes":[],"documentation":{"id":52600,"nodeType":"StructuredDocumentation","src":"2365:287:46","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2666:12:46","parameters":{"id":52607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52602,"mutability":"mutable","name":"from","nameLocation":"2687:4:46","nodeType":"VariableDeclaration","scope":52611,"src":"2679:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52601,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52604,"mutability":"mutable","name":"to","nameLocation":"2701:2:46","nodeType":"VariableDeclaration","scope":52611,"src":"2693:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52603,"name":"address","nodeType":"ElementaryTypeName","src":"2693:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52606,"mutability":"mutable","name":"amount","nameLocation":"2713:6:46","nodeType":"VariableDeclaration","scope":52611,"src":"2705:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52605,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2678:42:46"},"returnParameters":{"id":52610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52609,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52611,"src":"2739:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52608,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:46"},"scope":52612,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Upgradeable","contractDependencies":[],"contractKind":"interface","documentation":{"id":52537,"nodeType":"StructuredDocumentation","src":"131:70:46","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[52612],"name":"IERC20Upgradeable","nameLocation":"212:17:46","scope":52613,"usedErrors":[]}],"license":"MIT"},"id":46} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":\"IERC20Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","id":52613,"exportedSymbols":{"IERC20Upgradeable":[52612]},"nodeType":"SourceUnit","src":"106:2642:46","nodes":[{"id":52536,"nodeType":"PragmaDirective","src":"106:23:46","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":52612,"nodeType":"ContractDefinition","src":"202:2545:46","nodes":[{"id":52546,"nodeType":"EventDefinition","src":"399:72:46","nodes":[],"anonymous":false,"documentation":{"id":52538,"nodeType":"StructuredDocumentation","src":"236:158:46","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"405:8:46","parameters":{"id":52545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52540,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"430:4:46","nodeType":"VariableDeclaration","scope":52546,"src":"414:20:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52539,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52542,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"452:2:46","nodeType":"VariableDeclaration","scope":52546,"src":"436:18:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52541,"name":"address","nodeType":"ElementaryTypeName","src":"436:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52544,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"464:5:46","nodeType":"VariableDeclaration","scope":52546,"src":"456:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52543,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"413:57:46"}},{"id":52555,"nodeType":"EventDefinition","src":"630:78:46","nodes":[],"anonymous":false,"documentation":{"id":52547,"nodeType":"StructuredDocumentation","src":"477:148:46","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"636:8:46","parameters":{"id":52554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52549,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"661:5:46","nodeType":"VariableDeclaration","scope":52555,"src":"645:21:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52548,"name":"address","nodeType":"ElementaryTypeName","src":"645:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52551,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"684:7:46","nodeType":"VariableDeclaration","scope":52555,"src":"668:23:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52550,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52553,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"701:5:46","nodeType":"VariableDeclaration","scope":52555,"src":"693:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52552,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"644:63:46"}},{"id":52561,"nodeType":"FunctionDefinition","src":"785:55:46","nodes":[],"documentation":{"id":52556,"nodeType":"StructuredDocumentation","src":"714:66:46","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"794:11:46","parameters":{"id":52557,"nodeType":"ParameterList","parameters":[],"src":"805:2:46"},"returnParameters":{"id":52560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52561,"src":"831:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52558,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"830:9:46"},"scope":52612,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":52569,"nodeType":"FunctionDefinition","src":"923:68:46","nodes":[],"documentation":{"id":52562,"nodeType":"StructuredDocumentation","src":"846:72:46","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"932:9:46","parameters":{"id":52565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52564,"mutability":"mutable","name":"account","nameLocation":"950:7:46","nodeType":"VariableDeclaration","scope":52569,"src":"942:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52563,"name":"address","nodeType":"ElementaryTypeName","src":"942:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"941:17:46"},"returnParameters":{"id":52568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52569,"src":"982:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52566,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:9:46"},"scope":52612,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":52579,"nodeType":"FunctionDefinition","src":"1204:70:46","nodes":[],"documentation":{"id":52570,"nodeType":"StructuredDocumentation","src":"997:202:46","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1213:8:46","parameters":{"id":52575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52572,"mutability":"mutable","name":"to","nameLocation":"1230:2:46","nodeType":"VariableDeclaration","scope":52579,"src":"1222:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52571,"name":"address","nodeType":"ElementaryTypeName","src":"1222:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52574,"mutability":"mutable","name":"amount","nameLocation":"1242:6:46","nodeType":"VariableDeclaration","scope":52579,"src":"1234:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52573,"name":"uint256","nodeType":"ElementaryTypeName","src":"1234:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1221:28:46"},"returnParameters":{"id":52578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52579,"src":"1268:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52576,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:46"},"scope":52612,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":52589,"nodeType":"FunctionDefinition","src":"1549:83:46","nodes":[],"documentation":{"id":52580,"nodeType":"StructuredDocumentation","src":"1280:264:46","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:46","parameters":{"id":52585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52582,"mutability":"mutable","name":"owner","nameLocation":"1576:5:46","nodeType":"VariableDeclaration","scope":52589,"src":"1568:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52581,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52584,"mutability":"mutable","name":"spender","nameLocation":"1591:7:46","nodeType":"VariableDeclaration","scope":52589,"src":"1583:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52583,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:46"},"returnParameters":{"id":52588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52589,"src":"1623:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52586,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:46"},"scope":52612,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":52599,"nodeType":"FunctionDefinition","src":"2285:74:46","nodes":[],"documentation":{"id":52590,"nodeType":"StructuredDocumentation","src":"1638:642:46","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2294:7:46","parameters":{"id":52595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52592,"mutability":"mutable","name":"spender","nameLocation":"2310:7:46","nodeType":"VariableDeclaration","scope":52599,"src":"2302:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52591,"name":"address","nodeType":"ElementaryTypeName","src":"2302:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52594,"mutability":"mutable","name":"amount","nameLocation":"2327:6:46","nodeType":"VariableDeclaration","scope":52599,"src":"2319:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52593,"name":"uint256","nodeType":"ElementaryTypeName","src":"2319:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:33:46"},"returnParameters":{"id":52598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52599,"src":"2353:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52596,"name":"bool","nodeType":"ElementaryTypeName","src":"2353:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2352:6:46"},"scope":52612,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":52611,"nodeType":"FunctionDefinition","src":"2657:88:46","nodes":[],"documentation":{"id":52600,"nodeType":"StructuredDocumentation","src":"2365:287:46","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2666:12:46","parameters":{"id":52607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52602,"mutability":"mutable","name":"from","nameLocation":"2687:4:46","nodeType":"VariableDeclaration","scope":52611,"src":"2679:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52601,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52604,"mutability":"mutable","name":"to","nameLocation":"2701:2:46","nodeType":"VariableDeclaration","scope":52611,"src":"2693:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52603,"name":"address","nodeType":"ElementaryTypeName","src":"2693:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52606,"mutability":"mutable","name":"amount","nameLocation":"2713:6:46","nodeType":"VariableDeclaration","scope":52611,"src":"2705:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52605,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2678:42:46"},"returnParameters":{"id":52610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52609,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52611,"src":"2739:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52608,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:46"},"scope":52612,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Upgradeable","contractDependencies":[],"contractKind":"interface","documentation":{"id":52537,"nodeType":"StructuredDocumentation","src":"131:70:46","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[52612],"name":"IERC20Upgradeable","nameLocation":"212:17:46","scope":52613,"usedErrors":[]}],"license":"MIT"},"id":46} \ No newline at end of file diff --git a/pkg/contracts/out/IRegistry.sol/IRegistry.json b/pkg/contracts/out/IRegistry.sol/IRegistry.json index 5b0481e88..e08979d67 100644 --- a/pkg/contracts/out/IRegistry.sol/IRegistry.json +++ b/pkg/contracts/out/IRegistry.sol/IRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"profileId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"isMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOrMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOrMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The Registry Interface is used to interact with the Allo protocol and create profiles that can be used to interact with the Allo protocol. The Registry is the main contract that all other contracts interact with to get the 'Profile' information needed to interact with the Allo protocol. The Registry is also used to create new profiles and update existing profiles. The Registry is also used to add and remove members from a profile. The Registry will not always be used in a strategy and will depend on the strategy being used.\",\"events\":{\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership\",\"params\":{\"_profileId\":\"The 'profileId' to accept the ownership for\"}},\"addMembers(bytes32,address[])\":{\"details\":\"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members\",\"params\":{\"_members\":\"The members to add to the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to add members to\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile\",\"params\":{\"_members\":\"The 'members' to use to generate the 'anchor' address\",\"_metadata\":\"The 'Metadata' to use to generate the 'anchor' address\",\"_name\":\"The name to use to generate the 'anchor' address\",\"_nonce\":\"The nonce to use to generate the 'anchor' address\",\"_owner\":\"The 'owner' to use to generate the 'anchor' address\"},\"returns\":{\"profileId\":\"The 'profileId' of the new profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Returns the 'Profile' for an '_anchor' passed\",\"params\":{\"_anchor\":\"The 'anchor' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_anchor' passed\"}},\"getProfileById(bytes32)\":{\"details\":\"Returns the 'Profile' for a '_profileId' passed\",\"params\":{\"_profileId\":\"The 'profileId' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_profileId' passed\"}},\"isMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member of the '_profileId' passed in\",\"params\":{\"_member\":\"The 'member' to check if they are a member of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member of\"},\"returns\":{\"isMemberOfProfile\":\"A boolean if the '_account' is a member of the '_profileId' passed in\"}},\"isOwnerOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is an owner of the '_profileId' passed in\",\"params\":{\"_owner\":\"The 'owner' to check if they are an owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is an owner of\"},\"returns\":{\"isOwnerOfProfile\":\"A boolean if the '_account' is an owner of the '_profileId' passed in\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\",\"params\":{\"_account\":\"The 'account' to check if they are a member or owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member or owner of\"},\"returns\":{\"isOwnerOrMemberOfProfile\":\"A boolean if the '_account' is a member or owner of the '_profileId' passed in\"}},\"recoverFunds(address,address)\":{\"details\":\"Recovers funds from the contract Requirements: Must be the Allo owner\",\"params\":{\"_recipient\":\"The recipient of the recovered funds\",\"_token\":\"The token you want to use to recover funds\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members\",\"params\":{\"_members\":\"The members to remove from the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to remove members from\"}},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata\",\"params\":{\"_metadata\":\"The new 'Metadata' value\",\"_profileId\":\"The 'profileId' to update the metadata for\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.\",\"params\":{\"_name\":\"The new 'name' value\",\"_profileId\":\"The 'profileId' to update the name for\"},\"returns\":{\"anchor\":\"The new 'anchor' address\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner\",\"params\":{\"_pendingOwner\":\"The new pending 'owner' value\",\"_profileId\":\"The 'profileId' to update the pending owner for\"}}},\"title\":\"IRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Registry contract and exposes all functions needed to use the Registry within the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":\"IRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"isMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOrMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership","params":{"_profileId":"The 'profileId' to accept the ownership for"}},"addMembers(bytes32,address[])":{"details":"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members","params":{"_members":"The members to add to the '_profileId' passed in","_profileId":"The 'profileId' to add members to"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile","params":{"_members":"The 'members' to use to generate the 'anchor' address","_metadata":"The 'Metadata' to use to generate the 'anchor' address","_name":"The name to use to generate the 'anchor' address","_nonce":"The nonce to use to generate the 'anchor' address","_owner":"The 'owner' to use to generate the 'anchor' address"},"returns":{"profileId":"The 'profileId' of the new profile"}},"getProfileByAnchor(address)":{"details":"Returns the 'Profile' for an '_anchor' passed","params":{"_anchor":"The 'anchor' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_anchor' passed"}},"getProfileById(bytes32)":{"details":"Returns the 'Profile' for a '_profileId' passed","params":{"_profileId":"The 'profileId' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_profileId' passed"}},"isMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member of the '_profileId' passed in","params":{"_member":"The 'member' to check if they are a member of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member of"},"returns":{"isMemberOfProfile":"A boolean if the '_account' is a member of the '_profileId' passed in"}},"isOwnerOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is an owner of the '_profileId' passed in","params":{"_owner":"The 'owner' to check if they are an owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is an owner of"},"returns":{"isOwnerOfProfile":"A boolean if the '_account' is an owner of the '_profileId' passed in"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in","params":{"_account":"The 'account' to check if they are a member or owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member or owner of"},"returns":{"isOwnerOrMemberOfProfile":"A boolean if the '_account' is a member or owner of the '_profileId' passed in"}},"recoverFunds(address,address)":{"details":"Recovers funds from the contract Requirements: Must be the Allo owner","params":{"_recipient":"The recipient of the recovered funds","_token":"The token you want to use to recover funds"}},"removeMembers(bytes32,address[])":{"details":"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members","params":{"_members":"The members to remove from the '_profileId' passed in","_profileId":"The 'profileId' to remove members from"}},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata","params":{"_metadata":"The new 'Metadata' value","_profileId":"The 'profileId' to update the metadata for"}},"updateProfileName(bytes32,string)":{"details":"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.","params":{"_name":"The new 'name' value","_profileId":"The 'profileId' to update the name for"},"returns":{"anchor":"The new 'anchor' address"}},"updateProfilePendingOwner(bytes32,address)":{"details":"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner","params":{"_pendingOwner":"The new pending 'owner' value","_profileId":"The 'profileId' to update the pending owner for"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":"IRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","id":2803,"exportedSymbols":{"IRegistry":[2802],"Metadata":[3098]},"nodeType":"SourceUnit","src":"32:12410:4","nodes":[{"id":2612,"nodeType":"PragmaDirective","src":"32:24:4","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2614,"nodeType":"ImportDirective","src":"80:51:4","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2803,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2613,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"88:8:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2802,"nodeType":"ContractDefinition","src":"5055:7386:4","nodes":[{"id":2629,"nodeType":"StructDefinition","src":"5240:160:4","nodes":[],"canonicalName":"IRegistry.Profile","members":[{"constant":false,"id":2617,"mutability":"mutable","name":"id","nameLocation":"5273:2:4","nodeType":"VariableDeclaration","scope":2629,"src":"5265:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2619,"mutability":"mutable","name":"nonce","nameLocation":"5293:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5285:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5285:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2621,"mutability":"mutable","name":"name","nameLocation":"5315:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"5308:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2620,"name":"string","nodeType":"ElementaryTypeName","src":"5308:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2624,"mutability":"mutable","name":"metadata","nameLocation":"5338:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"5329:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2623,"nodeType":"UserDefinedTypeName","pathNode":{"id":2622,"name":"Metadata","nameLocations":["5329:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5329:8:4"},"referencedDeclaration":3098,"src":"5329:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2626,"mutability":"mutable","name":"owner","nameLocation":"5364:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5356:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2625,"name":"address","nodeType":"ElementaryTypeName","src":"5356:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2628,"mutability":"mutable","name":"anchor","nameLocation":"5387:6:4","nodeType":"VariableDeclaration","scope":2629,"src":"5379:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2627,"name":"address","nodeType":"ElementaryTypeName","src":"5379:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Profile","nameLocation":"5247:7:4","scope":2802,"visibility":"public"},{"id":2645,"nodeType":"EventDefinition","src":"5586:140:4","nodes":[],"anonymous":false,"documentation":{"id":2630,"nodeType":"StructuredDocumentation","src":"5500:81:4","text":"@dev Emitted when a profile is created. This will return your anchor address."},"eventSelector":"1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609","name":"ProfileCreated","nameLocation":"5592:14:4","parameters":{"id":2644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2632,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5632:9:4","nodeType":"VariableDeclaration","scope":2645,"src":"5616:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5616:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2634,"indexed":false,"mutability":"mutable","name":"nonce","nameLocation":"5651:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5643:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2633,"name":"uint256","nodeType":"ElementaryTypeName","src":"5643:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2636,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5665:4:4","nodeType":"VariableDeclaration","scope":2645,"src":"5658:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2635,"name":"string","nodeType":"ElementaryTypeName","src":"5658:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2639,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5680:8:4","nodeType":"VariableDeclaration","scope":2645,"src":"5671:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2638,"nodeType":"UserDefinedTypeName","pathNode":{"id":2637,"name":"Metadata","nameLocations":["5671:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5671:8:4"},"referencedDeclaration":3098,"src":"5671:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2641,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"5698:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5690:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2640,"name":"address","nodeType":"ElementaryTypeName","src":"5690:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2643,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5713:6:4","nodeType":"VariableDeclaration","scope":2645,"src":"5705:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2642,"name":"address","nodeType":"ElementaryTypeName","src":"5705:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5606:119:4"}},{"id":2654,"nodeType":"EventDefinition","src":"5853:81:4","nodes":[],"anonymous":false,"documentation":{"id":2646,"nodeType":"StructuredDocumentation","src":"5732:116:4","text":"@dev Emitted when a profile name is updated. This will update the anchor when the name is updated and return it."},"eventSelector":"54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f","name":"ProfileNameUpdated","nameLocation":"5859:18:4","parameters":{"id":2653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2648,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5894:9:4","nodeType":"VariableDeclaration","scope":2654,"src":"5878:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5878:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2650,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5912:4:4","nodeType":"VariableDeclaration","scope":2654,"src":"5905:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2649,"name":"string","nodeType":"ElementaryTypeName","src":"5905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2652,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5926:6:4","nodeType":"VariableDeclaration","scope":2654,"src":"5918:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2651,"name":"address","nodeType":"ElementaryTypeName","src":"5918:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5877:56:4"}},{"id":2662,"nodeType":"EventDefinition","src":"5999:75:4","nodes":[],"anonymous":false,"documentation":{"id":2655,"nodeType":"StructuredDocumentation","src":"5940:54:4","text":"@dev Emitted when a profile's metadata is updated."},"eventSelector":"a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3","name":"ProfileMetadataUpdated","nameLocation":"6005:22:4","parameters":{"id":2661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2657,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6044:9:4","nodeType":"VariableDeclaration","scope":2662,"src":"6028:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6028:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2660,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"6064:8:4","nodeType":"VariableDeclaration","scope":2662,"src":"6055:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2659,"nodeType":"UserDefinedTypeName","pathNode":{"id":2658,"name":"Metadata","nameLocations":["6055:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6055:8:4"},"referencedDeclaration":3098,"src":"6055:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"6027:46:4"}},{"id":2669,"nodeType":"EventDefinition","src":"6134:68:4","nodes":[],"anonymous":false,"documentation":{"id":2663,"nodeType":"StructuredDocumentation","src":"6080:49:4","text":"@dev Emitted when a profile owner is updated."},"eventSelector":"fd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d","name":"ProfileOwnerUpdated","nameLocation":"6140:19:4","parameters":{"id":2668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2665,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6176:9:4","nodeType":"VariableDeclaration","scope":2669,"src":"6160:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6160:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2667,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"6195:5:4","nodeType":"VariableDeclaration","scope":2669,"src":"6187:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2666,"name":"address","nodeType":"ElementaryTypeName","src":"6187:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6159:42:4"}},{"id":2676,"nodeType":"EventDefinition","src":"6270:82:4","nodes":[],"anonymous":false,"documentation":{"id":2670,"nodeType":"StructuredDocumentation","src":"6208:57:4","text":"@dev Emitted when a profile pending owner is updated."},"eventSelector":"21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8","name":"ProfilePendingOwnerUpdated","nameLocation":"6276:26:4","parameters":{"id":2675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2672,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6319:9:4","nodeType":"VariableDeclaration","scope":2676,"src":"6303:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6303:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2674,"indexed":false,"mutability":"mutable","name":"pendingOwner","nameLocation":"6338:12:4","nodeType":"VariableDeclaration","scope":2676,"src":"6330:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2673,"name":"address","nodeType":"ElementaryTypeName","src":"6330:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6302:49:4"}},{"id":2685,"nodeType":"FunctionDefinition","src":"6658:91:4","nodes":[],"documentation":{"id":2677,"nodeType":"StructuredDocumentation","src":"6461:192:4","text":"@dev Returns the 'Profile' for a '_profileId' passed\n @param _profileId The 'profileId' to return the 'Profile' for\n @return profile The 'Profile' for the '_profileId' passed"},"functionSelector":"0114cf0a","implemented":false,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"6667:14:4","parameters":{"id":2680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2679,"mutability":"mutable","name":"_profileId","nameLocation":"6690:10:4","nodeType":"VariableDeclaration","scope":2685,"src":"6682:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6682:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6681:20:4"},"returnParameters":{"id":2684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2683,"mutability":"mutable","name":"profile","nameLocation":"6740:7:4","nodeType":"VariableDeclaration","scope":2685,"src":"6725:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2682,"nodeType":"UserDefinedTypeName","pathNode":{"id":2681,"name":"Profile","nameLocations":["6725:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"6725:7:4"},"referencedDeclaration":2629,"src":"6725:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"6724:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2694,"nodeType":"FunctionDefinition","src":"6941:92:4","nodes":[],"documentation":{"id":2686,"nodeType":"StructuredDocumentation","src":"6755:181:4","text":"@dev Returns the 'Profile' for an '_anchor' passed\n @param _anchor The 'anchor' to return the 'Profile' for\n @return profile The 'Profile' for the '_anchor' passed"},"functionSelector":"dd93da43","implemented":false,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"6950:18:4","parameters":{"id":2689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2688,"mutability":"mutable","name":"_anchor","nameLocation":"6977:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"6969:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2687,"name":"address","nodeType":"ElementaryTypeName","src":"6969:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6968:17:4"},"returnParameters":{"id":2693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2692,"mutability":"mutable","name":"profile","nameLocation":"7024:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"7009:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2691,"nodeType":"UserDefinedTypeName","pathNode":{"id":2690,"name":"Profile","nameLocations":["7009:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7009:7:4"},"referencedDeclaration":2629,"src":"7009:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7008:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2704,"nodeType":"FunctionDefinition","src":"7459:150:4","nodes":[],"documentation":{"id":2695,"nodeType":"StructuredDocumentation","src":"7039:415:4","text":"@dev Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member or owner of\n @param _account The 'account' to check if they are a member or owner of the '_profileId' passed in\n @return isOwnerOrMemberOfProfile A boolean if the '_account' is a member or owner of the '_profileId' passed in"},"functionSelector":"5e8a7915","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"7468:24:4","parameters":{"id":2700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"_profileId","nameLocation":"7501:10:4","nodeType":"VariableDeclaration","scope":2704,"src":"7493:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7493:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"_account","nameLocation":"7521:8:4","nodeType":"VariableDeclaration","scope":2704,"src":"7513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2698,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7492:38:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2702,"mutability":"mutable","name":"isOwnerOrMemberOfProfile","nameLocation":"7583:24:4","nodeType":"VariableDeclaration","scope":2704,"src":"7578:29:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2701,"name":"bool","nodeType":"ElementaryTypeName","src":"7578:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7577:31:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2714,"nodeType":"FunctionDefinition","src":"7987:108:4","nodes":[],"documentation":{"id":2705,"nodeType":"StructuredDocumentation","src":"7615:367:4","text":"@dev Returns a boolean if the '_account' is an owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is an owner of\n @param _owner The 'owner' to check if they are an owner of the '_profileId' passed in\n @return isOwnerOfProfile A boolean if the '_account' is an owner of the '_profileId' passed in"},"functionSelector":"39b86b8c","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"7996:16:4","parameters":{"id":2710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2707,"mutability":"mutable","name":"_profileId","nameLocation":"8021:10:4","nodeType":"VariableDeclaration","scope":2714,"src":"8013:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8013:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2709,"mutability":"mutable","name":"_owner","nameLocation":"8041:6:4","nodeType":"VariableDeclaration","scope":2714,"src":"8033:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"8033:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8012:36:4"},"returnParameters":{"id":2713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"isOwnerOfProfile","nameLocation":"8077:16:4","nodeType":"VariableDeclaration","scope":2714,"src":"8072:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2711,"name":"bool","nodeType":"ElementaryTypeName","src":"8072:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8071:23:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2724,"nodeType":"FunctionDefinition","src":"8476:111:4","nodes":[],"documentation":{"id":2715,"nodeType":"StructuredDocumentation","src":"8101:370:4","text":"@dev Returns a boolean if the '_account' is a member of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member of\n @param _member The 'member' to check if they are a member of the '_profileId' passed in\n @return isMemberOfProfile A boolean if the '_account' is a member of the '_profileId' passed in"},"functionSelector":"0ec1fbac","implemented":false,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"8485:17:4","parameters":{"id":2720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2717,"mutability":"mutable","name":"_profileId","nameLocation":"8511:10:4","nodeType":"VariableDeclaration","scope":2724,"src":"8503:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8503:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"_member","nameLocation":"8531:7:4","nodeType":"VariableDeclaration","scope":2724,"src":"8523:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2718,"name":"address","nodeType":"ElementaryTypeName","src":"8523:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8502:37:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2722,"mutability":"mutable","name":"isMemberOfProfile","nameLocation":"8568:17:4","nodeType":"VariableDeclaration","scope":2724,"src":"8563:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2721,"name":"bool","nodeType":"ElementaryTypeName","src":"8563:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8562:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2742,"nodeType":"FunctionDefinition","src":"9411:213:4","nodes":[],"documentation":{"id":2725,"nodeType":"StructuredDocumentation","src":"8729:677:4","text":"@dev Creates a new 'Profile' and returns the 'profileId' of the new profile\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address\n Requirements: None, anyone can create a new profile\n @param _nonce The nonce to use to generate the 'anchor' address\n @param _name The name to use to generate the 'anchor' address\n @param _metadata The 'Metadata' to use to generate the 'anchor' address\n @param _owner The 'owner' to use to generate the 'anchor' address\n @param _members The 'members' to use to generate the 'anchor' address\n @return profileId The 'profileId' of the new profile"},"functionSelector":"3a92f65f","implemented":false,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"9420:13:4","parameters":{"id":2738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2727,"mutability":"mutable","name":"_nonce","nameLocation":"9451:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9443:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2726,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2729,"mutability":"mutable","name":"_name","nameLocation":"9481:5:4","nodeType":"VariableDeclaration","scope":2742,"src":"9467:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2728,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2732,"mutability":"mutable","name":"_metadata","nameLocation":"9512:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9496:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2731,"nodeType":"UserDefinedTypeName","pathNode":{"id":2730,"name":"Metadata","nameLocations":["9496:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9496:8:4"},"referencedDeclaration":3098,"src":"9496:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"_owner","nameLocation":"9539:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9531:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2733,"name":"address","nodeType":"ElementaryTypeName","src":"9531:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2737,"mutability":"mutable","name":"_members","nameLocation":"9572:8:4","nodeType":"VariableDeclaration","scope":2742,"src":"9555:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2735,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2736,"nodeType":"ArrayTypeName","src":"9555:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9433:153:4"},"returnParameters":{"id":2741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2740,"mutability":"mutable","name":"profileId","nameLocation":"9613:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9605:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9605:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9604:19:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2752,"nodeType":"FunctionDefinition","src":"10260:102:4","nodes":[],"documentation":{"id":2743,"nodeType":"StructuredDocumentation","src":"9630:625:4","text":"@dev Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address\n Requirements: Only the 'Profile' owner can update the name\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor'\n so please use caution. You can always recreate your 'anchor' address by updating the name back\n to the original name used to create the profile.\n @param _profileId The 'profileId' to update the name for\n @param _name The new 'name' value\n @return anchor The new 'anchor' address"},"functionSelector":"cf189ff2","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileName","nameLocation":"10269:17:4","parameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2745,"mutability":"mutable","name":"_profileId","nameLocation":"10295:10:4","nodeType":"VariableDeclaration","scope":2752,"src":"10287:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10287:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2747,"mutability":"mutable","name":"_name","nameLocation":"10321:5:4","nodeType":"VariableDeclaration","scope":2752,"src":"10307:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"10307:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10286:41:4"},"returnParameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2750,"mutability":"mutable","name":"anchor","nameLocation":"10354:6:4","nodeType":"VariableDeclaration","scope":2752,"src":"10346:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2749,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10345:16:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2761,"nodeType":"FunctionDefinition","src":"10640:87:4","nodes":[],"documentation":{"id":2753,"nodeType":"StructuredDocumentation","src":"10368:267:4","text":"@dev Updates the 'Metadata' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the metadata\n @param _profileId The 'profileId' to update the metadata for\n @param _metadata The new 'Metadata' value"},"functionSelector":"ac402839","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileMetadata","nameLocation":"10649:21:4","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2755,"mutability":"mutable","name":"_profileId","nameLocation":"10679:10:4","nodeType":"VariableDeclaration","scope":2761,"src":"10671:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10671:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2758,"mutability":"mutable","name":"_metadata","nameLocation":"10707:9:4","nodeType":"VariableDeclaration","scope":2761,"src":"10691:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2757,"nodeType":"UserDefinedTypeName","pathNode":{"id":2756,"name":"Metadata","nameLocations":["10691:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10691:8:4"},"referencedDeclaration":3098,"src":"10691:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10670:47:4"},"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"10726:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2769,"nodeType":"FunctionDefinition","src":"11029:87:4","nodes":[],"documentation":{"id":2762,"nodeType":"StructuredDocumentation","src":"10733:291:4","text":"@dev Updates the pending 'owner' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the pending owner\n @param _profileId The 'profileId' to update the pending owner for\n @param _pendingOwner The new pending 'owner' value"},"functionSelector":"3b66dacd","implemented":false,"kind":"function","modifiers":[],"name":"updateProfilePendingOwner","nameLocation":"11038:25:4","parameters":{"id":2767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2764,"mutability":"mutable","name":"_profileId","nameLocation":"11072:10:4","nodeType":"VariableDeclaration","scope":2769,"src":"11064:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11064:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2766,"mutability":"mutable","name":"_pendingOwner","nameLocation":"11092:13:4","nodeType":"VariableDeclaration","scope":2769,"src":"11084:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2765,"name":"address","nodeType":"ElementaryTypeName","src":"11084:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11063:43:4"},"returnParameters":{"id":2768,"nodeType":"ParameterList","parameters":[],"src":"11115:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2775,"nodeType":"FunctionDefinition","src":"11349:61:4","nodes":[],"documentation":{"id":2770,"nodeType":"StructuredDocumentation","src":"11122:222:4","text":"@dev Accepts the pending 'owner' of the '_profileId' passed in\n Requirements: Only the pending owner can accept the ownership\n @param _profileId The 'profileId' to accept the ownership for"},"functionSelector":"2497f3c6","implemented":false,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"11358:22:4","parameters":{"id":2773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2772,"mutability":"mutable","name":"_profileId","nameLocation":"11389:10:4","nodeType":"VariableDeclaration","scope":2775,"src":"11381:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11381:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11380:20:4"},"returnParameters":{"id":2774,"nodeType":"ParameterList","parameters":[],"src":"11409:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2784,"nodeType":"FunctionDefinition","src":"11684:76:4","nodes":[],"documentation":{"id":2776,"nodeType":"StructuredDocumentation","src":"11416:263:4","text":"@dev Adds members to the '_profileId' passed in\n Requirements: Only the 'Profile' owner can add members\n @param _profileId The 'profileId' to add members to\n @param _members The members to add to the '_profileId' passed in"},"functionSelector":"5063f361","implemented":false,"kind":"function","modifiers":[],"name":"addMembers","nameLocation":"11693:10:4","parameters":{"id":2782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2778,"mutability":"mutable","name":"_profileId","nameLocation":"11712:10:4","nodeType":"VariableDeclaration","scope":2784,"src":"11704:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11704:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2781,"mutability":"mutable","name":"_members","nameLocation":"11741:8:4","nodeType":"VariableDeclaration","scope":2784,"src":"11724:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2779,"name":"address","nodeType":"ElementaryTypeName","src":"11724:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2780,"nodeType":"ArrayTypeName","src":"11724:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11703:47:4"},"returnParameters":{"id":2783,"nodeType":"ParameterList","parameters":[],"src":"11759:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2793,"nodeType":"FunctionDefinition","src":"12052:79:4","nodes":[],"documentation":{"id":2785,"nodeType":"StructuredDocumentation","src":"11766:281:4","text":"@dev Removes members from the '_profileId' passed in\n Requirements: Only the 'Profile' owner can remove members\n @param _profileId The 'profileId' to remove members from\n @param _members The members to remove from the '_profileId' passed in"},"functionSelector":"e0cf1e4c","implemented":false,"kind":"function","modifiers":[],"name":"removeMembers","nameLocation":"12061:13:4","parameters":{"id":2791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2787,"mutability":"mutable","name":"_profileId","nameLocation":"12083:10:4","nodeType":"VariableDeclaration","scope":2793,"src":"12075:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12075:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2790,"mutability":"mutable","name":"_members","nameLocation":"12112:8:4","nodeType":"VariableDeclaration","scope":2793,"src":"12095:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2788,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2789,"nodeType":"ArrayTypeName","src":"12095:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12074:47:4"},"returnParameters":{"id":2792,"nodeType":"ParameterList","parameters":[],"src":"12130:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2801,"nodeType":"FunctionDefinition","src":"12372:67:4","nodes":[],"documentation":{"id":2794,"nodeType":"StructuredDocumentation","src":"12137:230:4","text":"@dev Recovers funds from the contract\n Requirements: Must be the Allo owner\n @param _token The token you want to use to recover funds\n @param _recipient The recipient of the recovered funds"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"12381:12:4","parameters":{"id":2799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2796,"mutability":"mutable","name":"_token","nameLocation":"12402:6:4","nodeType":"VariableDeclaration","scope":2801,"src":"12394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2795,"name":"address","nodeType":"ElementaryTypeName","src":"12394:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2798,"mutability":"mutable","name":"_recipient","nameLocation":"12418:10:4","nodeType":"VariableDeclaration","scope":2801,"src":"12410:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2797,"name":"address","nodeType":"ElementaryTypeName","src":"12410:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12393:36:4"},"returnParameters":{"id":2800,"nodeType":"ParameterList","parameters":[],"src":"12438:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistry","contractDependencies":[],"contractKind":"interface","documentation":{"id":2615,"nodeType":"StructuredDocumentation","src":"4124:931:4","text":"@title IRegistry Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Registry contract and exposes all functions needed to use the Registry\n within the Allo protocol.\n @dev The Registry Interface is used to interact with the Allo protocol and create profiles\n that can be used to interact with the Allo protocol. The Registry is the main contract\n that all other contracts interact with to get the 'Profile' information needed to\n interact with the Allo protocol. The Registry is also used to create new profiles\n and update existing profiles. The Registry is also used to add and remove members\n from a profile. The Registry will not always be used in a strategy and will depend on\n the strategy being used."},"fullyImplemented":false,"linearizedBaseContracts":[2802],"name":"IRegistry","nameLocation":"5065:9:4","scope":2803,"usedErrors":[]}],"license":"MIT"},"id":4} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"profileId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"isMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOrMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOrMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The Registry Interface is used to interact with the Allo protocol and create profiles that can be used to interact with the Allo protocol. The Registry is the main contract that all other contracts interact with to get the 'Profile' information needed to interact with the Allo protocol. The Registry is also used to create new profiles and update existing profiles. The Registry is also used to add and remove members from a profile. The Registry will not always be used in a strategy and will depend on the strategy being used.\",\"events\":{\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership\",\"params\":{\"_profileId\":\"The 'profileId' to accept the ownership for\"}},\"addMembers(bytes32,address[])\":{\"details\":\"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members\",\"params\":{\"_members\":\"The members to add to the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to add members to\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile\",\"params\":{\"_members\":\"The 'members' to use to generate the 'anchor' address\",\"_metadata\":\"The 'Metadata' to use to generate the 'anchor' address\",\"_name\":\"The name to use to generate the 'anchor' address\",\"_nonce\":\"The nonce to use to generate the 'anchor' address\",\"_owner\":\"The 'owner' to use to generate the 'anchor' address\"},\"returns\":{\"profileId\":\"The 'profileId' of the new profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Returns the 'Profile' for an '_anchor' passed\",\"params\":{\"_anchor\":\"The 'anchor' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_anchor' passed\"}},\"getProfileById(bytes32)\":{\"details\":\"Returns the 'Profile' for a '_profileId' passed\",\"params\":{\"_profileId\":\"The 'profileId' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_profileId' passed\"}},\"isMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member of the '_profileId' passed in\",\"params\":{\"_member\":\"The 'member' to check if they are a member of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member of\"},\"returns\":{\"isMemberOfProfile\":\"A boolean if the '_account' is a member of the '_profileId' passed in\"}},\"isOwnerOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is an owner of the '_profileId' passed in\",\"params\":{\"_owner\":\"The 'owner' to check if they are an owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is an owner of\"},\"returns\":{\"isOwnerOfProfile\":\"A boolean if the '_account' is an owner of the '_profileId' passed in\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\",\"params\":{\"_account\":\"The 'account' to check if they are a member or owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member or owner of\"},\"returns\":{\"isOwnerOrMemberOfProfile\":\"A boolean if the '_account' is a member or owner of the '_profileId' passed in\"}},\"recoverFunds(address,address)\":{\"details\":\"Recovers funds from the contract Requirements: Must be the Allo owner\",\"params\":{\"_recipient\":\"The recipient of the recovered funds\",\"_token\":\"The token you want to use to recover funds\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members\",\"params\":{\"_members\":\"The members to remove from the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to remove members from\"}},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata\",\"params\":{\"_metadata\":\"The new 'Metadata' value\",\"_profileId\":\"The 'profileId' to update the metadata for\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.\",\"params\":{\"_name\":\"The new 'name' value\",\"_profileId\":\"The 'profileId' to update the name for\"},\"returns\":{\"anchor\":\"The new 'anchor' address\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner\",\"params\":{\"_pendingOwner\":\"The new pending 'owner' value\",\"_profileId\":\"The 'profileId' to update the pending owner for\"}}},\"title\":\"IRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Registry contract and exposes all functions needed to use the Registry within the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":\"IRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"isMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOrMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership","params":{"_profileId":"The 'profileId' to accept the ownership for"}},"addMembers(bytes32,address[])":{"details":"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members","params":{"_members":"The members to add to the '_profileId' passed in","_profileId":"The 'profileId' to add members to"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile","params":{"_members":"The 'members' to use to generate the 'anchor' address","_metadata":"The 'Metadata' to use to generate the 'anchor' address","_name":"The name to use to generate the 'anchor' address","_nonce":"The nonce to use to generate the 'anchor' address","_owner":"The 'owner' to use to generate the 'anchor' address"},"returns":{"profileId":"The 'profileId' of the new profile"}},"getProfileByAnchor(address)":{"details":"Returns the 'Profile' for an '_anchor' passed","params":{"_anchor":"The 'anchor' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_anchor' passed"}},"getProfileById(bytes32)":{"details":"Returns the 'Profile' for a '_profileId' passed","params":{"_profileId":"The 'profileId' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_profileId' passed"}},"isMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member of the '_profileId' passed in","params":{"_member":"The 'member' to check if they are a member of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member of"},"returns":{"isMemberOfProfile":"A boolean if the '_account' is a member of the '_profileId' passed in"}},"isOwnerOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is an owner of the '_profileId' passed in","params":{"_owner":"The 'owner' to check if they are an owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is an owner of"},"returns":{"isOwnerOfProfile":"A boolean if the '_account' is an owner of the '_profileId' passed in"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in","params":{"_account":"The 'account' to check if they are a member or owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member or owner of"},"returns":{"isOwnerOrMemberOfProfile":"A boolean if the '_account' is a member or owner of the '_profileId' passed in"}},"recoverFunds(address,address)":{"details":"Recovers funds from the contract Requirements: Must be the Allo owner","params":{"_recipient":"The recipient of the recovered funds","_token":"The token you want to use to recover funds"}},"removeMembers(bytes32,address[])":{"details":"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members","params":{"_members":"The members to remove from the '_profileId' passed in","_profileId":"The 'profileId' to remove members from"}},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata","params":{"_metadata":"The new 'Metadata' value","_profileId":"The 'profileId' to update the metadata for"}},"updateProfileName(bytes32,string)":{"details":"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.","params":{"_name":"The new 'name' value","_profileId":"The 'profileId' to update the name for"},"returns":{"anchor":"The new 'anchor' address"}},"updateProfilePendingOwner(bytes32,address)":{"details":"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner","params":{"_pendingOwner":"The new pending 'owner' value","_profileId":"The 'profileId' to update the pending owner for"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":"IRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","id":2803,"exportedSymbols":{"IRegistry":[2802],"Metadata":[3098]},"nodeType":"SourceUnit","src":"32:12410:4","nodes":[{"id":2612,"nodeType":"PragmaDirective","src":"32:24:4","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2614,"nodeType":"ImportDirective","src":"80:51:4","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2803,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2613,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"88:8:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2802,"nodeType":"ContractDefinition","src":"5055:7386:4","nodes":[{"id":2629,"nodeType":"StructDefinition","src":"5240:160:4","nodes":[],"canonicalName":"IRegistry.Profile","members":[{"constant":false,"id":2617,"mutability":"mutable","name":"id","nameLocation":"5273:2:4","nodeType":"VariableDeclaration","scope":2629,"src":"5265:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2619,"mutability":"mutable","name":"nonce","nameLocation":"5293:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5285:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5285:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2621,"mutability":"mutable","name":"name","nameLocation":"5315:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"5308:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2620,"name":"string","nodeType":"ElementaryTypeName","src":"5308:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2624,"mutability":"mutable","name":"metadata","nameLocation":"5338:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"5329:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2623,"nodeType":"UserDefinedTypeName","pathNode":{"id":2622,"name":"Metadata","nameLocations":["5329:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5329:8:4"},"referencedDeclaration":3098,"src":"5329:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2626,"mutability":"mutable","name":"owner","nameLocation":"5364:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5356:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2625,"name":"address","nodeType":"ElementaryTypeName","src":"5356:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2628,"mutability":"mutable","name":"anchor","nameLocation":"5387:6:4","nodeType":"VariableDeclaration","scope":2629,"src":"5379:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2627,"name":"address","nodeType":"ElementaryTypeName","src":"5379:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Profile","nameLocation":"5247:7:4","scope":2802,"visibility":"public"},{"id":2645,"nodeType":"EventDefinition","src":"5586:140:4","nodes":[],"anonymous":false,"documentation":{"id":2630,"nodeType":"StructuredDocumentation","src":"5500:81:4","text":"@dev Emitted when a profile is created. This will return your anchor address."},"eventSelector":"1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609","name":"ProfileCreated","nameLocation":"5592:14:4","parameters":{"id":2644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2632,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5632:9:4","nodeType":"VariableDeclaration","scope":2645,"src":"5616:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5616:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2634,"indexed":false,"mutability":"mutable","name":"nonce","nameLocation":"5651:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5643:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2633,"name":"uint256","nodeType":"ElementaryTypeName","src":"5643:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2636,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5665:4:4","nodeType":"VariableDeclaration","scope":2645,"src":"5658:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2635,"name":"string","nodeType":"ElementaryTypeName","src":"5658:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2639,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5680:8:4","nodeType":"VariableDeclaration","scope":2645,"src":"5671:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2638,"nodeType":"UserDefinedTypeName","pathNode":{"id":2637,"name":"Metadata","nameLocations":["5671:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5671:8:4"},"referencedDeclaration":3098,"src":"5671:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2641,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"5698:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5690:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2640,"name":"address","nodeType":"ElementaryTypeName","src":"5690:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2643,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5713:6:4","nodeType":"VariableDeclaration","scope":2645,"src":"5705:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2642,"name":"address","nodeType":"ElementaryTypeName","src":"5705:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5606:119:4"}},{"id":2654,"nodeType":"EventDefinition","src":"5853:81:4","nodes":[],"anonymous":false,"documentation":{"id":2646,"nodeType":"StructuredDocumentation","src":"5732:116:4","text":"@dev Emitted when a profile name is updated. This will update the anchor when the name is updated and return it."},"eventSelector":"54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f","name":"ProfileNameUpdated","nameLocation":"5859:18:4","parameters":{"id":2653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2648,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5894:9:4","nodeType":"VariableDeclaration","scope":2654,"src":"5878:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5878:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2650,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5912:4:4","nodeType":"VariableDeclaration","scope":2654,"src":"5905:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2649,"name":"string","nodeType":"ElementaryTypeName","src":"5905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2652,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5926:6:4","nodeType":"VariableDeclaration","scope":2654,"src":"5918:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2651,"name":"address","nodeType":"ElementaryTypeName","src":"5918:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5877:56:4"}},{"id":2662,"nodeType":"EventDefinition","src":"5999:75:4","nodes":[],"anonymous":false,"documentation":{"id":2655,"nodeType":"StructuredDocumentation","src":"5940:54:4","text":"@dev Emitted when a profile's metadata is updated."},"eventSelector":"a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3","name":"ProfileMetadataUpdated","nameLocation":"6005:22:4","parameters":{"id":2661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2657,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6044:9:4","nodeType":"VariableDeclaration","scope":2662,"src":"6028:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6028:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2660,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"6064:8:4","nodeType":"VariableDeclaration","scope":2662,"src":"6055:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2659,"nodeType":"UserDefinedTypeName","pathNode":{"id":2658,"name":"Metadata","nameLocations":["6055:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6055:8:4"},"referencedDeclaration":3098,"src":"6055:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"6027:46:4"}},{"id":2669,"nodeType":"EventDefinition","src":"6134:68:4","nodes":[],"anonymous":false,"documentation":{"id":2663,"nodeType":"StructuredDocumentation","src":"6080:49:4","text":"@dev Emitted when a profile owner is updated."},"eventSelector":"fd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d","name":"ProfileOwnerUpdated","nameLocation":"6140:19:4","parameters":{"id":2668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2665,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6176:9:4","nodeType":"VariableDeclaration","scope":2669,"src":"6160:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6160:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2667,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"6195:5:4","nodeType":"VariableDeclaration","scope":2669,"src":"6187:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2666,"name":"address","nodeType":"ElementaryTypeName","src":"6187:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6159:42:4"}},{"id":2676,"nodeType":"EventDefinition","src":"6270:82:4","nodes":[],"anonymous":false,"documentation":{"id":2670,"nodeType":"StructuredDocumentation","src":"6208:57:4","text":"@dev Emitted when a profile pending owner is updated."},"eventSelector":"21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8","name":"ProfilePendingOwnerUpdated","nameLocation":"6276:26:4","parameters":{"id":2675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2672,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6319:9:4","nodeType":"VariableDeclaration","scope":2676,"src":"6303:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6303:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2674,"indexed":false,"mutability":"mutable","name":"pendingOwner","nameLocation":"6338:12:4","nodeType":"VariableDeclaration","scope":2676,"src":"6330:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2673,"name":"address","nodeType":"ElementaryTypeName","src":"6330:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6302:49:4"}},{"id":2685,"nodeType":"FunctionDefinition","src":"6658:91:4","nodes":[],"documentation":{"id":2677,"nodeType":"StructuredDocumentation","src":"6461:192:4","text":"@dev Returns the 'Profile' for a '_profileId' passed\n @param _profileId The 'profileId' to return the 'Profile' for\n @return profile The 'Profile' for the '_profileId' passed"},"functionSelector":"0114cf0a","implemented":false,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"6667:14:4","parameters":{"id":2680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2679,"mutability":"mutable","name":"_profileId","nameLocation":"6690:10:4","nodeType":"VariableDeclaration","scope":2685,"src":"6682:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6682:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6681:20:4"},"returnParameters":{"id":2684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2683,"mutability":"mutable","name":"profile","nameLocation":"6740:7:4","nodeType":"VariableDeclaration","scope":2685,"src":"6725:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2682,"nodeType":"UserDefinedTypeName","pathNode":{"id":2681,"name":"Profile","nameLocations":["6725:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"6725:7:4"},"referencedDeclaration":2629,"src":"6725:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"6724:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2694,"nodeType":"FunctionDefinition","src":"6941:92:4","nodes":[],"documentation":{"id":2686,"nodeType":"StructuredDocumentation","src":"6755:181:4","text":"@dev Returns the 'Profile' for an '_anchor' passed\n @param _anchor The 'anchor' to return the 'Profile' for\n @return profile The 'Profile' for the '_anchor' passed"},"functionSelector":"dd93da43","implemented":false,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"6950:18:4","parameters":{"id":2689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2688,"mutability":"mutable","name":"_anchor","nameLocation":"6977:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"6969:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2687,"name":"address","nodeType":"ElementaryTypeName","src":"6969:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6968:17:4"},"returnParameters":{"id":2693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2692,"mutability":"mutable","name":"profile","nameLocation":"7024:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"7009:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2691,"nodeType":"UserDefinedTypeName","pathNode":{"id":2690,"name":"Profile","nameLocations":["7009:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7009:7:4"},"referencedDeclaration":2629,"src":"7009:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7008:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2704,"nodeType":"FunctionDefinition","src":"7459:150:4","nodes":[],"documentation":{"id":2695,"nodeType":"StructuredDocumentation","src":"7039:415:4","text":"@dev Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member or owner of\n @param _account The 'account' to check if they are a member or owner of the '_profileId' passed in\n @return isOwnerOrMemberOfProfile A boolean if the '_account' is a member or owner of the '_profileId' passed in"},"functionSelector":"5e8a7915","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"7468:24:4","parameters":{"id":2700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"_profileId","nameLocation":"7501:10:4","nodeType":"VariableDeclaration","scope":2704,"src":"7493:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7493:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"_account","nameLocation":"7521:8:4","nodeType":"VariableDeclaration","scope":2704,"src":"7513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2698,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7492:38:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2702,"mutability":"mutable","name":"isOwnerOrMemberOfProfile","nameLocation":"7583:24:4","nodeType":"VariableDeclaration","scope":2704,"src":"7578:29:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2701,"name":"bool","nodeType":"ElementaryTypeName","src":"7578:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7577:31:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2714,"nodeType":"FunctionDefinition","src":"7987:108:4","nodes":[],"documentation":{"id":2705,"nodeType":"StructuredDocumentation","src":"7615:367:4","text":"@dev Returns a boolean if the '_account' is an owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is an owner of\n @param _owner The 'owner' to check if they are an owner of the '_profileId' passed in\n @return isOwnerOfProfile A boolean if the '_account' is an owner of the '_profileId' passed in"},"functionSelector":"39b86b8c","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"7996:16:4","parameters":{"id":2710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2707,"mutability":"mutable","name":"_profileId","nameLocation":"8021:10:4","nodeType":"VariableDeclaration","scope":2714,"src":"8013:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8013:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2709,"mutability":"mutable","name":"_owner","nameLocation":"8041:6:4","nodeType":"VariableDeclaration","scope":2714,"src":"8033:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"8033:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8012:36:4"},"returnParameters":{"id":2713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"isOwnerOfProfile","nameLocation":"8077:16:4","nodeType":"VariableDeclaration","scope":2714,"src":"8072:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2711,"name":"bool","nodeType":"ElementaryTypeName","src":"8072:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8071:23:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2724,"nodeType":"FunctionDefinition","src":"8476:111:4","nodes":[],"documentation":{"id":2715,"nodeType":"StructuredDocumentation","src":"8101:370:4","text":"@dev Returns a boolean if the '_account' is a member of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member of\n @param _member The 'member' to check if they are a member of the '_profileId' passed in\n @return isMemberOfProfile A boolean if the '_account' is a member of the '_profileId' passed in"},"functionSelector":"0ec1fbac","implemented":false,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"8485:17:4","parameters":{"id":2720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2717,"mutability":"mutable","name":"_profileId","nameLocation":"8511:10:4","nodeType":"VariableDeclaration","scope":2724,"src":"8503:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8503:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"_member","nameLocation":"8531:7:4","nodeType":"VariableDeclaration","scope":2724,"src":"8523:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2718,"name":"address","nodeType":"ElementaryTypeName","src":"8523:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8502:37:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2722,"mutability":"mutable","name":"isMemberOfProfile","nameLocation":"8568:17:4","nodeType":"VariableDeclaration","scope":2724,"src":"8563:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2721,"name":"bool","nodeType":"ElementaryTypeName","src":"8563:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8562:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2742,"nodeType":"FunctionDefinition","src":"9411:213:4","nodes":[],"documentation":{"id":2725,"nodeType":"StructuredDocumentation","src":"8729:677:4","text":"@dev Creates a new 'Profile' and returns the 'profileId' of the new profile\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address\n Requirements: None, anyone can create a new profile\n @param _nonce The nonce to use to generate the 'anchor' address\n @param _name The name to use to generate the 'anchor' address\n @param _metadata The 'Metadata' to use to generate the 'anchor' address\n @param _owner The 'owner' to use to generate the 'anchor' address\n @param _members The 'members' to use to generate the 'anchor' address\n @return profileId The 'profileId' of the new profile"},"functionSelector":"3a92f65f","implemented":false,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"9420:13:4","parameters":{"id":2738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2727,"mutability":"mutable","name":"_nonce","nameLocation":"9451:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9443:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2726,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2729,"mutability":"mutable","name":"_name","nameLocation":"9481:5:4","nodeType":"VariableDeclaration","scope":2742,"src":"9467:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2728,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2732,"mutability":"mutable","name":"_metadata","nameLocation":"9512:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9496:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2731,"nodeType":"UserDefinedTypeName","pathNode":{"id":2730,"name":"Metadata","nameLocations":["9496:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9496:8:4"},"referencedDeclaration":3098,"src":"9496:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"_owner","nameLocation":"9539:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9531:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2733,"name":"address","nodeType":"ElementaryTypeName","src":"9531:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2737,"mutability":"mutable","name":"_members","nameLocation":"9572:8:4","nodeType":"VariableDeclaration","scope":2742,"src":"9555:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2735,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2736,"nodeType":"ArrayTypeName","src":"9555:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9433:153:4"},"returnParameters":{"id":2741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2740,"mutability":"mutable","name":"profileId","nameLocation":"9613:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9605:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9605:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9604:19:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2752,"nodeType":"FunctionDefinition","src":"10260:102:4","nodes":[],"documentation":{"id":2743,"nodeType":"StructuredDocumentation","src":"9630:625:4","text":"@dev Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address\n Requirements: Only the 'Profile' owner can update the name\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor'\n so please use caution. You can always recreate your 'anchor' address by updating the name back\n to the original name used to create the profile.\n @param _profileId The 'profileId' to update the name for\n @param _name The new 'name' value\n @return anchor The new 'anchor' address"},"functionSelector":"cf189ff2","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileName","nameLocation":"10269:17:4","parameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2745,"mutability":"mutable","name":"_profileId","nameLocation":"10295:10:4","nodeType":"VariableDeclaration","scope":2752,"src":"10287:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10287:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2747,"mutability":"mutable","name":"_name","nameLocation":"10321:5:4","nodeType":"VariableDeclaration","scope":2752,"src":"10307:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"10307:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10286:41:4"},"returnParameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2750,"mutability":"mutable","name":"anchor","nameLocation":"10354:6:4","nodeType":"VariableDeclaration","scope":2752,"src":"10346:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2749,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10345:16:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2761,"nodeType":"FunctionDefinition","src":"10640:87:4","nodes":[],"documentation":{"id":2753,"nodeType":"StructuredDocumentation","src":"10368:267:4","text":"@dev Updates the 'Metadata' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the metadata\n @param _profileId The 'profileId' to update the metadata for\n @param _metadata The new 'Metadata' value"},"functionSelector":"ac402839","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileMetadata","nameLocation":"10649:21:4","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2755,"mutability":"mutable","name":"_profileId","nameLocation":"10679:10:4","nodeType":"VariableDeclaration","scope":2761,"src":"10671:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10671:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2758,"mutability":"mutable","name":"_metadata","nameLocation":"10707:9:4","nodeType":"VariableDeclaration","scope":2761,"src":"10691:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2757,"nodeType":"UserDefinedTypeName","pathNode":{"id":2756,"name":"Metadata","nameLocations":["10691:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10691:8:4"},"referencedDeclaration":3098,"src":"10691:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10670:47:4"},"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"10726:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2769,"nodeType":"FunctionDefinition","src":"11029:87:4","nodes":[],"documentation":{"id":2762,"nodeType":"StructuredDocumentation","src":"10733:291:4","text":"@dev Updates the pending 'owner' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the pending owner\n @param _profileId The 'profileId' to update the pending owner for\n @param _pendingOwner The new pending 'owner' value"},"functionSelector":"3b66dacd","implemented":false,"kind":"function","modifiers":[],"name":"updateProfilePendingOwner","nameLocation":"11038:25:4","parameters":{"id":2767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2764,"mutability":"mutable","name":"_profileId","nameLocation":"11072:10:4","nodeType":"VariableDeclaration","scope":2769,"src":"11064:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11064:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2766,"mutability":"mutable","name":"_pendingOwner","nameLocation":"11092:13:4","nodeType":"VariableDeclaration","scope":2769,"src":"11084:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2765,"name":"address","nodeType":"ElementaryTypeName","src":"11084:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11063:43:4"},"returnParameters":{"id":2768,"nodeType":"ParameterList","parameters":[],"src":"11115:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2775,"nodeType":"FunctionDefinition","src":"11349:61:4","nodes":[],"documentation":{"id":2770,"nodeType":"StructuredDocumentation","src":"11122:222:4","text":"@dev Accepts the pending 'owner' of the '_profileId' passed in\n Requirements: Only the pending owner can accept the ownership\n @param _profileId The 'profileId' to accept the ownership for"},"functionSelector":"2497f3c6","implemented":false,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"11358:22:4","parameters":{"id":2773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2772,"mutability":"mutable","name":"_profileId","nameLocation":"11389:10:4","nodeType":"VariableDeclaration","scope":2775,"src":"11381:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11381:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11380:20:4"},"returnParameters":{"id":2774,"nodeType":"ParameterList","parameters":[],"src":"11409:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2784,"nodeType":"FunctionDefinition","src":"11684:76:4","nodes":[],"documentation":{"id":2776,"nodeType":"StructuredDocumentation","src":"11416:263:4","text":"@dev Adds members to the '_profileId' passed in\n Requirements: Only the 'Profile' owner can add members\n @param _profileId The 'profileId' to add members to\n @param _members The members to add to the '_profileId' passed in"},"functionSelector":"5063f361","implemented":false,"kind":"function","modifiers":[],"name":"addMembers","nameLocation":"11693:10:4","parameters":{"id":2782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2778,"mutability":"mutable","name":"_profileId","nameLocation":"11712:10:4","nodeType":"VariableDeclaration","scope":2784,"src":"11704:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11704:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2781,"mutability":"mutable","name":"_members","nameLocation":"11741:8:4","nodeType":"VariableDeclaration","scope":2784,"src":"11724:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2779,"name":"address","nodeType":"ElementaryTypeName","src":"11724:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2780,"nodeType":"ArrayTypeName","src":"11724:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11703:47:4"},"returnParameters":{"id":2783,"nodeType":"ParameterList","parameters":[],"src":"11759:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2793,"nodeType":"FunctionDefinition","src":"12052:79:4","nodes":[],"documentation":{"id":2785,"nodeType":"StructuredDocumentation","src":"11766:281:4","text":"@dev Removes members from the '_profileId' passed in\n Requirements: Only the 'Profile' owner can remove members\n @param _profileId The 'profileId' to remove members from\n @param _members The members to remove from the '_profileId' passed in"},"functionSelector":"e0cf1e4c","implemented":false,"kind":"function","modifiers":[],"name":"removeMembers","nameLocation":"12061:13:4","parameters":{"id":2791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2787,"mutability":"mutable","name":"_profileId","nameLocation":"12083:10:4","nodeType":"VariableDeclaration","scope":2793,"src":"12075:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12075:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2790,"mutability":"mutable","name":"_members","nameLocation":"12112:8:4","nodeType":"VariableDeclaration","scope":2793,"src":"12095:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2788,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2789,"nodeType":"ArrayTypeName","src":"12095:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12074:47:4"},"returnParameters":{"id":2792,"nodeType":"ParameterList","parameters":[],"src":"12130:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2801,"nodeType":"FunctionDefinition","src":"12372:67:4","nodes":[],"documentation":{"id":2794,"nodeType":"StructuredDocumentation","src":"12137:230:4","text":"@dev Recovers funds from the contract\n Requirements: Must be the Allo owner\n @param _token The token you want to use to recover funds\n @param _recipient The recipient of the recovered funds"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"12381:12:4","parameters":{"id":2799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2796,"mutability":"mutable","name":"_token","nameLocation":"12402:6:4","nodeType":"VariableDeclaration","scope":2801,"src":"12394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2795,"name":"address","nodeType":"ElementaryTypeName","src":"12394:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2798,"mutability":"mutable","name":"_recipient","nameLocation":"12418:10:4","nodeType":"VariableDeclaration","scope":2801,"src":"12410:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2797,"name":"address","nodeType":"ElementaryTypeName","src":"12410:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12393:36:4"},"returnParameters":{"id":2800,"nodeType":"ParameterList","parameters":[],"src":"12438:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistry","contractDependencies":[],"contractKind":"interface","documentation":{"id":2615,"nodeType":"StructuredDocumentation","src":"4124:931:4","text":"@title IRegistry Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Registry contract and exposes all functions needed to use the Registry\n within the Allo protocol.\n @dev The Registry Interface is used to interact with the Allo protocol and create profiles\n that can be used to interact with the Allo protocol. The Registry is the main contract\n that all other contracts interact with to get the 'Profile' information needed to\n interact with the Allo protocol. The Registry is also used to create new profiles\n and update existing profiles. The Registry is also used to add and remove members\n from a profile. The Registry will not always be used in a strategy and will depend on\n the strategy being used."},"fullyImplemented":false,"linearizedBaseContracts":[2802],"name":"IRegistry","nameLocation":"5065:9:4","scope":2803,"usedErrors":[]}],"license":"MIT"},"id":4} \ No newline at end of file diff --git a/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json b/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json index 7adc3de31..6fa1e8dbe 100644 --- a/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json +++ b/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/IRegistryFactory.sol\":\"IRegistryFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/IRegistryFactory.sol":"IRegistryFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","id":69329,"exportedSymbols":{"IRegistryFactory":[69328]},"nodeType":"SourceUnit","src":"33:209:99","nodes":[{"id":69315,"nodeType":"PragmaDirective","src":"33:24:99","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":69328,"nodeType":"ContractDefinition","src":"59:182:99","nodes":[{"id":69320,"nodeType":"FunctionDefinition","src":"92:65:99","nodes":[],"functionSelector":"987435be","implemented":false,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"101:21:99","parameters":{"id":69316,"nodeType":"ParameterList","parameters":[],"src":"122:2:99"},"returnParameters":{"id":69319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69318,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69320,"src":"148:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69317,"name":"address","nodeType":"ElementaryTypeName","src":"148:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"147:9:99"},"scope":69328,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":69327,"nodeType":"FunctionDefinition","src":"163:76:99","nodes":[],"functionSelector":"0a992e0c","implemented":false,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"172:14:99","parameters":{"id":69323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69322,"mutability":"mutable","name":"_community","nameLocation":"195:10:99","nodeType":"VariableDeclaration","scope":69327,"src":"187:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69321,"name":"address","nodeType":"ElementaryTypeName","src":"187:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"186:20:99"},"returnParameters":{"id":69326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69325,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69327,"src":"230:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69324,"name":"uint256","nodeType":"ElementaryTypeName","src":"230:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"229:9:99"},"scope":69328,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistryFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[69328],"name":"IRegistryFactory","nameLocation":"69:16:99","scope":69329,"usedErrors":[]}],"license":"MIT"},"id":99} \ No newline at end of file +{"abi":[{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/IRegistryFactory.sol\":\"IRegistryFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/IRegistryFactory.sol":"IRegistryFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","id":70432,"exportedSymbols":{"IRegistryFactory":[70431]},"nodeType":"SourceUnit","src":"33:209:97","nodes":[{"id":70418,"nodeType":"PragmaDirective","src":"33:24:97","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70431,"nodeType":"ContractDefinition","src":"59:182:97","nodes":[{"id":70423,"nodeType":"FunctionDefinition","src":"92:65:97","nodes":[],"functionSelector":"987435be","implemented":false,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"101:21:97","parameters":{"id":70419,"nodeType":"ParameterList","parameters":[],"src":"122:2:97"},"returnParameters":{"id":70422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70423,"src":"148:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70420,"name":"address","nodeType":"ElementaryTypeName","src":"148:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"147:9:97"},"scope":70431,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70430,"nodeType":"FunctionDefinition","src":"163:76:97","nodes":[],"functionSelector":"0a992e0c","implemented":false,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"172:14:97","parameters":{"id":70426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70425,"mutability":"mutable","name":"_community","nameLocation":"195:10:97","nodeType":"VariableDeclaration","scope":70430,"src":"187:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70424,"name":"address","nodeType":"ElementaryTypeName","src":"187:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"186:20:97"},"returnParameters":{"id":70429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70428,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70430,"src":"230:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70427,"name":"uint256","nodeType":"ElementaryTypeName","src":"230:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"229:9:97"},"scope":70431,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistryFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[70431],"name":"IRegistryFactory","nameLocation":"69:16:97","scope":70432,"usedErrors":[]}],"license":"MIT"},"id":97} \ No newline at end of file diff --git a/pkg/contracts/out/ISafe.sol/Enum.json b/pkg/contracts/out/ISafe.sol/Enum.json index 6d8cbc23f..3e908a29e 100644 --- a/pkg/contracts/out/ISafe.sol/Enum.json +++ b/pkg/contracts/out/ISafe.sol/Enum.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"Enum\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"Enum"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":73104,"exportedSymbols":{"Enum":[73103],"ISafe":[73087],"SafeProxyFactory":[73099]},"nodeType":"SourceUnit","src":"42:1491:113","nodes":[{"id":72996,"nodeType":"PragmaDirective","src":"42:24:113","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73087,"nodeType":"ContractDefinition","src":"68:1193:113","nodes":[{"id":73002,"nodeType":"FunctionDefinition","src":"90:62:113","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:113","parameters":{"id":72997,"nodeType":"ParameterList","parameters":[],"src":"108:2:113"},"returnParameters":{"id":73001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73000,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73002,"src":"134:16:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72998,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72999,"nodeType":"ArrayTypeName","src":"134:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:113"},"scope":73087,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73007,"nodeType":"FunctionDefinition","src":"157:49:113","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:113","parameters":{"id":73003,"nodeType":"ParameterList","parameters":[],"src":"171:2:113"},"returnParameters":{"id":73006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73007,"src":"197:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73004,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:113"},"scope":73087,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73027,"nodeType":"FunctionDefinition","src":"211:272:113","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:113","parameters":{"id":73025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73010,"mutability":"mutable","name":"_owners","nameLocation":"254:7:113","nodeType":"VariableDeclaration","scope":73027,"src":"235:26:113","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73008,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73009,"nodeType":"ArrayTypeName","src":"235:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":73012,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:113","nodeType":"VariableDeclaration","scope":73027,"src":"271:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73011,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73014,"mutability":"mutable","name":"to","nameLocation":"307:2:113","nodeType":"VariableDeclaration","scope":73027,"src":"299:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73013,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73016,"mutability":"mutable","name":"data","nameLocation":"334:4:113","nodeType":"VariableDeclaration","scope":73027,"src":"319:19:113","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73015,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73018,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:113","nodeType":"VariableDeclaration","scope":73027,"src":"348:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73017,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73020,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:113","nodeType":"VariableDeclaration","scope":73027,"src":"381:20:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73019,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73022,"mutability":"mutable","name":"payment","nameLocation":"419:7:113","nodeType":"VariableDeclaration","scope":73027,"src":"411:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73021,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73024,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:113","nodeType":"VariableDeclaration","scope":73027,"src":"436:31:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":73023,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:113","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:113"},"returnParameters":{"id":73026,"nodeType":"ParameterList","parameters":[],"src":"482:0:113"},"scope":73087,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73053,"nodeType":"FunctionDefinition","src":"488:332:113","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:113","parameters":{"id":73049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73029,"mutability":"mutable","name":"to","nameLocation":"533:2:113","nodeType":"VariableDeclaration","scope":73053,"src":"525:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73028,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73031,"mutability":"mutable","name":"value","nameLocation":"553:5:113","nodeType":"VariableDeclaration","scope":73053,"src":"545:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73030,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73033,"mutability":"mutable","name":"data","nameLocation":"583:4:113","nodeType":"VariableDeclaration","scope":73053,"src":"568:19:113","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73032,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73036,"mutability":"mutable","name":"operation","nameLocation":"612:9:113","nodeType":"VariableDeclaration","scope":73053,"src":"597:24:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$73102","typeString":"enum Enum.Operation"},"typeName":{"id":73035,"nodeType":"UserDefinedTypeName","pathNode":{"id":73034,"name":"Enum.Operation","nameLocations":["597:4:113","602:9:113"],"nodeType":"IdentifierPath","referencedDeclaration":73102,"src":"597:14:113"},"referencedDeclaration":73102,"src":"597:14:113","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$73102","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":73038,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:113","nodeType":"VariableDeclaration","scope":73053,"src":"631:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73037,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73040,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:113","nodeType":"VariableDeclaration","scope":73053,"src":"658:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73039,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73042,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:113","nodeType":"VariableDeclaration","scope":73053,"src":"683:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73041,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73044,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:113","nodeType":"VariableDeclaration","scope":73053,"src":"709:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73043,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73046,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:113","nodeType":"VariableDeclaration","scope":73053,"src":"735:22:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73045,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73048,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:113","nodeType":"VariableDeclaration","scope":73053,"src":"767:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73047,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:113"},"returnParameters":{"id":73052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73053,"src":"811:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:113"},"scope":73087,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73079,"nodeType":"FunctionDefinition","src":"825:354:113","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:113","parameters":{"id":73075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73055,"mutability":"mutable","name":"to","nameLocation":"867:2:113","nodeType":"VariableDeclaration","scope":73079,"src":"859:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73054,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73057,"mutability":"mutable","name":"value","nameLocation":"887:5:113","nodeType":"VariableDeclaration","scope":73079,"src":"879:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73056,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73059,"mutability":"mutable","name":"data","nameLocation":"917:4:113","nodeType":"VariableDeclaration","scope":73079,"src":"902:19:113","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73058,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73062,"mutability":"mutable","name":"operation","nameLocation":"946:9:113","nodeType":"VariableDeclaration","scope":73079,"src":"931:24:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$73102","typeString":"enum Enum.Operation"},"typeName":{"id":73061,"nodeType":"UserDefinedTypeName","pathNode":{"id":73060,"name":"Enum.Operation","nameLocations":["931:4:113","936:9:113"],"nodeType":"IdentifierPath","referencedDeclaration":73102,"src":"931:14:113"},"referencedDeclaration":73102,"src":"931:14:113","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$73102","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":73064,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:113","nodeType":"VariableDeclaration","scope":73079,"src":"965:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73063,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73066,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:113","nodeType":"VariableDeclaration","scope":73079,"src":"992:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73065,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73068,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:113","nodeType":"VariableDeclaration","scope":73079,"src":"1017:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73067,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73070,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:113","nodeType":"VariableDeclaration","scope":73079,"src":"1043:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73069,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73072,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:113","nodeType":"VariableDeclaration","scope":73079,"src":"1069:30:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":73071,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:113","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":73074,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:113","nodeType":"VariableDeclaration","scope":73079,"src":"1109:23:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73073,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:113"},"returnParameters":{"id":73078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73077,"mutability":"mutable","name":"success","nameLocation":"1170:7:113","nodeType":"VariableDeclaration","scope":73079,"src":"1165:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73076,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:113"},"scope":73087,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":73086,"nodeType":"FunctionDefinition","src":"1184:75:113","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:113","parameters":{"id":73084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73081,"mutability":"mutable","name":"owner","nameLocation":"1223:5:113","nodeType":"VariableDeclaration","scope":73086,"src":"1215:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73080,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73083,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:113","nodeType":"VariableDeclaration","scope":73086,"src":"1230:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73082,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:113"},"returnParameters":{"id":73085,"nodeType":"ParameterList","parameters":[],"src":"1258:0:113"},"scope":73087,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[73087],"name":"ISafe","nameLocation":"78:5:113","scope":73104,"usedErrors":[]},{"id":73099,"nodeType":"ContractDefinition","src":"1263:179:113","nodes":[{"id":73098,"nodeType":"FunctionDefinition","src":"1296:144:113","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:113","parameters":{"id":73094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73089,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:113","nodeType":"VariableDeclaration","scope":73098,"src":"1326:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73088,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73091,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:113","nodeType":"VariableDeclaration","scope":73098,"src":"1346:24:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73090,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73093,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:113","nodeType":"VariableDeclaration","scope":73098,"src":"1372:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73092,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:113"},"returnParameters":{"id":73097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73096,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:113","nodeType":"VariableDeclaration","scope":73098,"src":"1425:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73095,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:113"},"scope":73099,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[73099],"name":"SafeProxyFactory","nameLocation":"1273:16:113","scope":73104,"usedErrors":[]},{"id":73103,"nodeType":"ContractDefinition","src":"1444:88:113","nodes":[{"id":73102,"nodeType":"EnumDefinition","src":"1473:57:113","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":73100,"name":"Call","nameLocation":"1498:4:113","nodeType":"EnumValue","src":"1498:4:113"},{"id":73101,"name":"DelegateCall","nameLocation":"1512:12:113","nodeType":"EnumValue","src":"1512:12:113"}],"name":"Operation","nameLocation":"1478:9:113"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[73103],"name":"Enum","nameLocation":"1462:4:113","scope":73104,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":113} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"Enum\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"Enum"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":74908,"exportedSymbols":{"Enum":[74907],"ISafe":[74891],"SafeProxyFactory":[74903]},"nodeType":"SourceUnit","src":"42:1491:112","nodes":[{"id":74800,"nodeType":"PragmaDirective","src":"42:24:112","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74891,"nodeType":"ContractDefinition","src":"68:1193:112","nodes":[{"id":74806,"nodeType":"FunctionDefinition","src":"90:62:112","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:112","parameters":{"id":74801,"nodeType":"ParameterList","parameters":[],"src":"108:2:112"},"returnParameters":{"id":74805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74804,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74806,"src":"134:16:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74802,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74803,"nodeType":"ArrayTypeName","src":"134:9:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:112"},"scope":74891,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74811,"nodeType":"FunctionDefinition","src":"157:49:112","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:112","parameters":{"id":74807,"nodeType":"ParameterList","parameters":[],"src":"171:2:112"},"returnParameters":{"id":74810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74811,"src":"197:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74808,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:112"},"scope":74891,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74831,"nodeType":"FunctionDefinition","src":"211:272:112","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:112","parameters":{"id":74829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74814,"mutability":"mutable","name":"_owners","nameLocation":"254:7:112","nodeType":"VariableDeclaration","scope":74831,"src":"235:26:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74812,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74813,"nodeType":"ArrayTypeName","src":"235:9:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74816,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:112","nodeType":"VariableDeclaration","scope":74831,"src":"271:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74815,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74818,"mutability":"mutable","name":"to","nameLocation":"307:2:112","nodeType":"VariableDeclaration","scope":74831,"src":"299:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74817,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74820,"mutability":"mutable","name":"data","nameLocation":"334:4:112","nodeType":"VariableDeclaration","scope":74831,"src":"319:19:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74819,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74822,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:112","nodeType":"VariableDeclaration","scope":74831,"src":"348:23:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74821,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74824,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:112","nodeType":"VariableDeclaration","scope":74831,"src":"381:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74823,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74826,"mutability":"mutable","name":"payment","nameLocation":"419:7:112","nodeType":"VariableDeclaration","scope":74831,"src":"411:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74825,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74828,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:112","nodeType":"VariableDeclaration","scope":74831,"src":"436:31:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":74827,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:112","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:112"},"returnParameters":{"id":74830,"nodeType":"ParameterList","parameters":[],"src":"482:0:112"},"scope":74891,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74857,"nodeType":"FunctionDefinition","src":"488:332:112","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:112","parameters":{"id":74853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74833,"mutability":"mutable","name":"to","nameLocation":"533:2:112","nodeType":"VariableDeclaration","scope":74857,"src":"525:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74832,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74835,"mutability":"mutable","name":"value","nameLocation":"553:5:112","nodeType":"VariableDeclaration","scope":74857,"src":"545:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74834,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74837,"mutability":"mutable","name":"data","nameLocation":"583:4:112","nodeType":"VariableDeclaration","scope":74857,"src":"568:19:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74836,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74840,"mutability":"mutable","name":"operation","nameLocation":"612:9:112","nodeType":"VariableDeclaration","scope":74857,"src":"597:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74906","typeString":"enum Enum.Operation"},"typeName":{"id":74839,"nodeType":"UserDefinedTypeName","pathNode":{"id":74838,"name":"Enum.Operation","nameLocations":["597:4:112","602:9:112"],"nodeType":"IdentifierPath","referencedDeclaration":74906,"src":"597:14:112"},"referencedDeclaration":74906,"src":"597:14:112","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74906","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":74842,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:112","nodeType":"VariableDeclaration","scope":74857,"src":"631:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74841,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74844,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:112","nodeType":"VariableDeclaration","scope":74857,"src":"658:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74843,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74846,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:112","nodeType":"VariableDeclaration","scope":74857,"src":"683:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74845,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74848,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:112","nodeType":"VariableDeclaration","scope":74857,"src":"709:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74847,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74850,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:112","nodeType":"VariableDeclaration","scope":74857,"src":"735:22:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74849,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74852,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:112","nodeType":"VariableDeclaration","scope":74857,"src":"767:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74851,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:112"},"returnParameters":{"id":74856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74855,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74857,"src":"811:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:112"},"scope":74891,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74883,"nodeType":"FunctionDefinition","src":"825:354:112","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:112","parameters":{"id":74879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74859,"mutability":"mutable","name":"to","nameLocation":"867:2:112","nodeType":"VariableDeclaration","scope":74883,"src":"859:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74858,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74861,"mutability":"mutable","name":"value","nameLocation":"887:5:112","nodeType":"VariableDeclaration","scope":74883,"src":"879:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74860,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74863,"mutability":"mutable","name":"data","nameLocation":"917:4:112","nodeType":"VariableDeclaration","scope":74883,"src":"902:19:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74862,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74866,"mutability":"mutable","name":"operation","nameLocation":"946:9:112","nodeType":"VariableDeclaration","scope":74883,"src":"931:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74906","typeString":"enum Enum.Operation"},"typeName":{"id":74865,"nodeType":"UserDefinedTypeName","pathNode":{"id":74864,"name":"Enum.Operation","nameLocations":["931:4:112","936:9:112"],"nodeType":"IdentifierPath","referencedDeclaration":74906,"src":"931:14:112"},"referencedDeclaration":74906,"src":"931:14:112","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74906","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":74868,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:112","nodeType":"VariableDeclaration","scope":74883,"src":"965:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74867,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74870,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:112","nodeType":"VariableDeclaration","scope":74883,"src":"992:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74869,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74872,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:112","nodeType":"VariableDeclaration","scope":74883,"src":"1017:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74871,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74874,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:112","nodeType":"VariableDeclaration","scope":74883,"src":"1043:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74873,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74876,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:112","nodeType":"VariableDeclaration","scope":74883,"src":"1069:30:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":74875,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:112","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":74878,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:112","nodeType":"VariableDeclaration","scope":74883,"src":"1109:23:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74877,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:112"},"returnParameters":{"id":74882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74881,"mutability":"mutable","name":"success","nameLocation":"1170:7:112","nodeType":"VariableDeclaration","scope":74883,"src":"1165:12:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74880,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:112"},"scope":74891,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":74890,"nodeType":"FunctionDefinition","src":"1184:75:112","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:112","parameters":{"id":74888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74885,"mutability":"mutable","name":"owner","nameLocation":"1223:5:112","nodeType":"VariableDeclaration","scope":74890,"src":"1215:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74884,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74887,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:112","nodeType":"VariableDeclaration","scope":74890,"src":"1230:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74886,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:112"},"returnParameters":{"id":74889,"nodeType":"ParameterList","parameters":[],"src":"1258:0:112"},"scope":74891,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74891],"name":"ISafe","nameLocation":"78:5:112","scope":74908,"usedErrors":[]},{"id":74903,"nodeType":"ContractDefinition","src":"1263:179:112","nodes":[{"id":74902,"nodeType":"FunctionDefinition","src":"1296:144:112","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:112","parameters":{"id":74898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74893,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:112","nodeType":"VariableDeclaration","scope":74902,"src":"1326:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74892,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74895,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:112","nodeType":"VariableDeclaration","scope":74902,"src":"1346:24:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74894,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74897,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:112","nodeType":"VariableDeclaration","scope":74902,"src":"1372:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74896,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:112"},"returnParameters":{"id":74901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74900,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:112","nodeType":"VariableDeclaration","scope":74902,"src":"1425:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74899,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:112"},"scope":74903,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74903],"name":"SafeProxyFactory","nameLocation":"1273:16:112","scope":74908,"usedErrors":[]},{"id":74907,"nodeType":"ContractDefinition","src":"1444:88:112","nodes":[{"id":74906,"nodeType":"EnumDefinition","src":"1473:57:112","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":74904,"name":"Call","nameLocation":"1498:4:112","nodeType":"EnumValue","src":"1498:4:112"},{"id":74905,"name":"DelegateCall","nameLocation":"1512:12:112","nodeType":"EnumValue","src":"1512:12:112"}],"name":"Operation","nameLocation":"1478:9:112"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74907],"name":"Enum","nameLocation":"1462:4:112","scope":74908,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":112} \ No newline at end of file diff --git a/pkg/contracts/out/ISafe.sol/ISafe.json b/pkg/contracts/out/ISafe.sol/ISafe.json index 852f692de..7ef561645 100644 --- a/pkg/contracts/out/ISafe.sol/ISafe.json +++ b/pkg/contracts/out/ISafe.sol/ISafe.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"isOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getOwners()":"a0e67e2b","isOwner(address)":"2f54bf6e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f\",\"dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/ISafe.sol":{"keccak256":"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c","urls":["bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f","dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/ISafe.sol","id":69345,"exportedSymbols":{"ISafe":[69344]},"nodeType":"SourceUnit","src":"42:179:100","nodes":[{"id":69330,"nodeType":"PragmaDirective","src":"42:24:100","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":69344,"nodeType":"ContractDefinition","src":"68:152:100","nodes":[{"id":69336,"nodeType":"FunctionDefinition","src":"90:62:100","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:100","parameters":{"id":69331,"nodeType":"ParameterList","parameters":[],"src":"108:2:100"},"returnParameters":{"id":69335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69336,"src":"134:16:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69332,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69333,"nodeType":"ArrayTypeName","src":"134:9:100","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:100"},"scope":69344,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":69343,"nodeType":"FunctionDefinition","src":"157:61:100","nodes":[],"functionSelector":"2f54bf6e","implemented":false,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"166:7:100","parameters":{"id":69339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69338,"mutability":"mutable","name":"owner","nameLocation":"182:5:100","nodeType":"VariableDeclaration","scope":69343,"src":"174:13:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69337,"name":"address","nodeType":"ElementaryTypeName","src":"174:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"173:15:100"},"returnParameters":{"id":69342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69341,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69343,"src":"212:4:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69340,"name":"bool","nodeType":"ElementaryTypeName","src":"212:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"211:6:100"},"scope":69344,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[69344],"name":"ISafe","nameLocation":"78:5:100","scope":69345,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":100} \ No newline at end of file +{"abi":[{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"isOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getOwners()":"a0e67e2b","isOwner(address)":"2f54bf6e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f\",\"dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/ISafe.sol":{"keccak256":"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c","urls":["bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f","dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/ISafe.sol","id":70448,"exportedSymbols":{"ISafe":[70447]},"nodeType":"SourceUnit","src":"42:179:98","nodes":[{"id":70433,"nodeType":"PragmaDirective","src":"42:24:98","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70447,"nodeType":"ContractDefinition","src":"68:152:98","nodes":[{"id":70439,"nodeType":"FunctionDefinition","src":"90:62:98","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:98","parameters":{"id":70434,"nodeType":"ParameterList","parameters":[],"src":"108:2:98"},"returnParameters":{"id":70438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70439,"src":"134:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70435,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70436,"nodeType":"ArrayTypeName","src":"134:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:98"},"scope":70447,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70446,"nodeType":"FunctionDefinition","src":"157:61:98","nodes":[],"functionSelector":"2f54bf6e","implemented":false,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"166:7:98","parameters":{"id":70442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70441,"mutability":"mutable","name":"owner","nameLocation":"182:5:98","nodeType":"VariableDeclaration","scope":70446,"src":"174:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70440,"name":"address","nodeType":"ElementaryTypeName","src":"174:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"173:15:98"},"returnParameters":{"id":70445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70444,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70446,"src":"212:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70443,"name":"bool","nodeType":"ElementaryTypeName","src":"212:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"211:6:98"},"scope":70447,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[70447],"name":"ISafe","nameLocation":"78:5:98","scope":70448,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":98} \ No newline at end of file diff --git a/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json b/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json index 9e8c59161..7ac583143 100644 --- a/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json +++ b/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"createProxyWithNonce","inputs":[{"name":"_singleton","type":"address","internalType":"address"},{"name":"initializer","type":"bytes","internalType":"bytes"},{"name":"saltNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proxy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createProxyWithNonce(address,bytes,uint256)":"1688f0b9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"SafeProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createProxyWithNonce","outputs":[{"internalType":"address","name":"proxy","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"SafeProxyFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":73104,"exportedSymbols":{"Enum":[73103],"ISafe":[73087],"SafeProxyFactory":[73099]},"nodeType":"SourceUnit","src":"42:1491:113","nodes":[{"id":72996,"nodeType":"PragmaDirective","src":"42:24:113","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73087,"nodeType":"ContractDefinition","src":"68:1193:113","nodes":[{"id":73002,"nodeType":"FunctionDefinition","src":"90:62:113","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:113","parameters":{"id":72997,"nodeType":"ParameterList","parameters":[],"src":"108:2:113"},"returnParameters":{"id":73001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73000,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73002,"src":"134:16:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72998,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72999,"nodeType":"ArrayTypeName","src":"134:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:113"},"scope":73087,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73007,"nodeType":"FunctionDefinition","src":"157:49:113","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:113","parameters":{"id":73003,"nodeType":"ParameterList","parameters":[],"src":"171:2:113"},"returnParameters":{"id":73006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73007,"src":"197:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73004,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:113"},"scope":73087,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73027,"nodeType":"FunctionDefinition","src":"211:272:113","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:113","parameters":{"id":73025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73010,"mutability":"mutable","name":"_owners","nameLocation":"254:7:113","nodeType":"VariableDeclaration","scope":73027,"src":"235:26:113","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73008,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73009,"nodeType":"ArrayTypeName","src":"235:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":73012,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:113","nodeType":"VariableDeclaration","scope":73027,"src":"271:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73011,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73014,"mutability":"mutable","name":"to","nameLocation":"307:2:113","nodeType":"VariableDeclaration","scope":73027,"src":"299:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73013,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73016,"mutability":"mutable","name":"data","nameLocation":"334:4:113","nodeType":"VariableDeclaration","scope":73027,"src":"319:19:113","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73015,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73018,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:113","nodeType":"VariableDeclaration","scope":73027,"src":"348:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73017,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73020,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:113","nodeType":"VariableDeclaration","scope":73027,"src":"381:20:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73019,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73022,"mutability":"mutable","name":"payment","nameLocation":"419:7:113","nodeType":"VariableDeclaration","scope":73027,"src":"411:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73021,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73024,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:113","nodeType":"VariableDeclaration","scope":73027,"src":"436:31:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":73023,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:113","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:113"},"returnParameters":{"id":73026,"nodeType":"ParameterList","parameters":[],"src":"482:0:113"},"scope":73087,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73053,"nodeType":"FunctionDefinition","src":"488:332:113","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:113","parameters":{"id":73049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73029,"mutability":"mutable","name":"to","nameLocation":"533:2:113","nodeType":"VariableDeclaration","scope":73053,"src":"525:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73028,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73031,"mutability":"mutable","name":"value","nameLocation":"553:5:113","nodeType":"VariableDeclaration","scope":73053,"src":"545:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73030,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73033,"mutability":"mutable","name":"data","nameLocation":"583:4:113","nodeType":"VariableDeclaration","scope":73053,"src":"568:19:113","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73032,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73036,"mutability":"mutable","name":"operation","nameLocation":"612:9:113","nodeType":"VariableDeclaration","scope":73053,"src":"597:24:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$73102","typeString":"enum Enum.Operation"},"typeName":{"id":73035,"nodeType":"UserDefinedTypeName","pathNode":{"id":73034,"name":"Enum.Operation","nameLocations":["597:4:113","602:9:113"],"nodeType":"IdentifierPath","referencedDeclaration":73102,"src":"597:14:113"},"referencedDeclaration":73102,"src":"597:14:113","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$73102","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":73038,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:113","nodeType":"VariableDeclaration","scope":73053,"src":"631:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73037,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73040,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:113","nodeType":"VariableDeclaration","scope":73053,"src":"658:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73039,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73042,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:113","nodeType":"VariableDeclaration","scope":73053,"src":"683:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73041,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73044,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:113","nodeType":"VariableDeclaration","scope":73053,"src":"709:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73043,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73046,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:113","nodeType":"VariableDeclaration","scope":73053,"src":"735:22:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73045,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73048,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:113","nodeType":"VariableDeclaration","scope":73053,"src":"767:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73047,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:113"},"returnParameters":{"id":73052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73053,"src":"811:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:113"},"scope":73087,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73079,"nodeType":"FunctionDefinition","src":"825:354:113","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:113","parameters":{"id":73075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73055,"mutability":"mutable","name":"to","nameLocation":"867:2:113","nodeType":"VariableDeclaration","scope":73079,"src":"859:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73054,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73057,"mutability":"mutable","name":"value","nameLocation":"887:5:113","nodeType":"VariableDeclaration","scope":73079,"src":"879:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73056,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73059,"mutability":"mutable","name":"data","nameLocation":"917:4:113","nodeType":"VariableDeclaration","scope":73079,"src":"902:19:113","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73058,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73062,"mutability":"mutable","name":"operation","nameLocation":"946:9:113","nodeType":"VariableDeclaration","scope":73079,"src":"931:24:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$73102","typeString":"enum Enum.Operation"},"typeName":{"id":73061,"nodeType":"UserDefinedTypeName","pathNode":{"id":73060,"name":"Enum.Operation","nameLocations":["931:4:113","936:9:113"],"nodeType":"IdentifierPath","referencedDeclaration":73102,"src":"931:14:113"},"referencedDeclaration":73102,"src":"931:14:113","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$73102","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":73064,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:113","nodeType":"VariableDeclaration","scope":73079,"src":"965:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73063,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73066,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:113","nodeType":"VariableDeclaration","scope":73079,"src":"992:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73065,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73068,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:113","nodeType":"VariableDeclaration","scope":73079,"src":"1017:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73067,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73070,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:113","nodeType":"VariableDeclaration","scope":73079,"src":"1043:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73069,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73072,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:113","nodeType":"VariableDeclaration","scope":73079,"src":"1069:30:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":73071,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:113","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":73074,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:113","nodeType":"VariableDeclaration","scope":73079,"src":"1109:23:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73073,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:113"},"returnParameters":{"id":73078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73077,"mutability":"mutable","name":"success","nameLocation":"1170:7:113","nodeType":"VariableDeclaration","scope":73079,"src":"1165:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73076,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:113"},"scope":73087,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":73086,"nodeType":"FunctionDefinition","src":"1184:75:113","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:113","parameters":{"id":73084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73081,"mutability":"mutable","name":"owner","nameLocation":"1223:5:113","nodeType":"VariableDeclaration","scope":73086,"src":"1215:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73080,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73083,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:113","nodeType":"VariableDeclaration","scope":73086,"src":"1230:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73082,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:113"},"returnParameters":{"id":73085,"nodeType":"ParameterList","parameters":[],"src":"1258:0:113"},"scope":73087,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[73087],"name":"ISafe","nameLocation":"78:5:113","scope":73104,"usedErrors":[]},{"id":73099,"nodeType":"ContractDefinition","src":"1263:179:113","nodes":[{"id":73098,"nodeType":"FunctionDefinition","src":"1296:144:113","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:113","parameters":{"id":73094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73089,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:113","nodeType":"VariableDeclaration","scope":73098,"src":"1326:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73088,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73091,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:113","nodeType":"VariableDeclaration","scope":73098,"src":"1346:24:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73090,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73093,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:113","nodeType":"VariableDeclaration","scope":73098,"src":"1372:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73092,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:113"},"returnParameters":{"id":73097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73096,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:113","nodeType":"VariableDeclaration","scope":73098,"src":"1425:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73095,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:113"},"scope":73099,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[73099],"name":"SafeProxyFactory","nameLocation":"1273:16:113","scope":73104,"usedErrors":[]},{"id":73103,"nodeType":"ContractDefinition","src":"1444:88:113","nodes":[{"id":73102,"nodeType":"EnumDefinition","src":"1473:57:113","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":73100,"name":"Call","nameLocation":"1498:4:113","nodeType":"EnumValue","src":"1498:4:113"},{"id":73101,"name":"DelegateCall","nameLocation":"1512:12:113","nodeType":"EnumValue","src":"1512:12:113"}],"name":"Operation","nameLocation":"1478:9:113"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[73103],"name":"Enum","nameLocation":"1462:4:113","scope":73104,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":113} \ No newline at end of file +{"abi":[{"type":"function","name":"createProxyWithNonce","inputs":[{"name":"_singleton","type":"address","internalType":"address"},{"name":"initializer","type":"bytes","internalType":"bytes"},{"name":"saltNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proxy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createProxyWithNonce(address,bytes,uint256)":"1688f0b9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"SafeProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createProxyWithNonce","outputs":[{"internalType":"address","name":"proxy","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"SafeProxyFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":74908,"exportedSymbols":{"Enum":[74907],"ISafe":[74891],"SafeProxyFactory":[74903]},"nodeType":"SourceUnit","src":"42:1491:112","nodes":[{"id":74800,"nodeType":"PragmaDirective","src":"42:24:112","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74891,"nodeType":"ContractDefinition","src":"68:1193:112","nodes":[{"id":74806,"nodeType":"FunctionDefinition","src":"90:62:112","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:112","parameters":{"id":74801,"nodeType":"ParameterList","parameters":[],"src":"108:2:112"},"returnParameters":{"id":74805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74804,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74806,"src":"134:16:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74802,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74803,"nodeType":"ArrayTypeName","src":"134:9:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:112"},"scope":74891,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74811,"nodeType":"FunctionDefinition","src":"157:49:112","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:112","parameters":{"id":74807,"nodeType":"ParameterList","parameters":[],"src":"171:2:112"},"returnParameters":{"id":74810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74811,"src":"197:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74808,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:112"},"scope":74891,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74831,"nodeType":"FunctionDefinition","src":"211:272:112","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:112","parameters":{"id":74829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74814,"mutability":"mutable","name":"_owners","nameLocation":"254:7:112","nodeType":"VariableDeclaration","scope":74831,"src":"235:26:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74812,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74813,"nodeType":"ArrayTypeName","src":"235:9:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74816,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:112","nodeType":"VariableDeclaration","scope":74831,"src":"271:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74815,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74818,"mutability":"mutable","name":"to","nameLocation":"307:2:112","nodeType":"VariableDeclaration","scope":74831,"src":"299:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74817,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74820,"mutability":"mutable","name":"data","nameLocation":"334:4:112","nodeType":"VariableDeclaration","scope":74831,"src":"319:19:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74819,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74822,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:112","nodeType":"VariableDeclaration","scope":74831,"src":"348:23:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74821,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74824,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:112","nodeType":"VariableDeclaration","scope":74831,"src":"381:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74823,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74826,"mutability":"mutable","name":"payment","nameLocation":"419:7:112","nodeType":"VariableDeclaration","scope":74831,"src":"411:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74825,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74828,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:112","nodeType":"VariableDeclaration","scope":74831,"src":"436:31:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":74827,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:112","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:112"},"returnParameters":{"id":74830,"nodeType":"ParameterList","parameters":[],"src":"482:0:112"},"scope":74891,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74857,"nodeType":"FunctionDefinition","src":"488:332:112","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:112","parameters":{"id":74853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74833,"mutability":"mutable","name":"to","nameLocation":"533:2:112","nodeType":"VariableDeclaration","scope":74857,"src":"525:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74832,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74835,"mutability":"mutable","name":"value","nameLocation":"553:5:112","nodeType":"VariableDeclaration","scope":74857,"src":"545:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74834,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74837,"mutability":"mutable","name":"data","nameLocation":"583:4:112","nodeType":"VariableDeclaration","scope":74857,"src":"568:19:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74836,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74840,"mutability":"mutable","name":"operation","nameLocation":"612:9:112","nodeType":"VariableDeclaration","scope":74857,"src":"597:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74906","typeString":"enum Enum.Operation"},"typeName":{"id":74839,"nodeType":"UserDefinedTypeName","pathNode":{"id":74838,"name":"Enum.Operation","nameLocations":["597:4:112","602:9:112"],"nodeType":"IdentifierPath","referencedDeclaration":74906,"src":"597:14:112"},"referencedDeclaration":74906,"src":"597:14:112","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74906","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":74842,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:112","nodeType":"VariableDeclaration","scope":74857,"src":"631:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74841,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74844,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:112","nodeType":"VariableDeclaration","scope":74857,"src":"658:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74843,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74846,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:112","nodeType":"VariableDeclaration","scope":74857,"src":"683:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74845,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74848,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:112","nodeType":"VariableDeclaration","scope":74857,"src":"709:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74847,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74850,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:112","nodeType":"VariableDeclaration","scope":74857,"src":"735:22:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74849,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74852,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:112","nodeType":"VariableDeclaration","scope":74857,"src":"767:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74851,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:112"},"returnParameters":{"id":74856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74855,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74857,"src":"811:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:112"},"scope":74891,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74883,"nodeType":"FunctionDefinition","src":"825:354:112","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:112","parameters":{"id":74879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74859,"mutability":"mutable","name":"to","nameLocation":"867:2:112","nodeType":"VariableDeclaration","scope":74883,"src":"859:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74858,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74861,"mutability":"mutable","name":"value","nameLocation":"887:5:112","nodeType":"VariableDeclaration","scope":74883,"src":"879:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74860,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74863,"mutability":"mutable","name":"data","nameLocation":"917:4:112","nodeType":"VariableDeclaration","scope":74883,"src":"902:19:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74862,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74866,"mutability":"mutable","name":"operation","nameLocation":"946:9:112","nodeType":"VariableDeclaration","scope":74883,"src":"931:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74906","typeString":"enum Enum.Operation"},"typeName":{"id":74865,"nodeType":"UserDefinedTypeName","pathNode":{"id":74864,"name":"Enum.Operation","nameLocations":["931:4:112","936:9:112"],"nodeType":"IdentifierPath","referencedDeclaration":74906,"src":"931:14:112"},"referencedDeclaration":74906,"src":"931:14:112","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74906","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":74868,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:112","nodeType":"VariableDeclaration","scope":74883,"src":"965:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74867,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74870,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:112","nodeType":"VariableDeclaration","scope":74883,"src":"992:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74869,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74872,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:112","nodeType":"VariableDeclaration","scope":74883,"src":"1017:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74871,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74874,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:112","nodeType":"VariableDeclaration","scope":74883,"src":"1043:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74873,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74876,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:112","nodeType":"VariableDeclaration","scope":74883,"src":"1069:30:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":74875,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:112","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":74878,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:112","nodeType":"VariableDeclaration","scope":74883,"src":"1109:23:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74877,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:112"},"returnParameters":{"id":74882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74881,"mutability":"mutable","name":"success","nameLocation":"1170:7:112","nodeType":"VariableDeclaration","scope":74883,"src":"1165:12:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74880,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:112"},"scope":74891,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":74890,"nodeType":"FunctionDefinition","src":"1184:75:112","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:112","parameters":{"id":74888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74885,"mutability":"mutable","name":"owner","nameLocation":"1223:5:112","nodeType":"VariableDeclaration","scope":74890,"src":"1215:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74884,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74887,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:112","nodeType":"VariableDeclaration","scope":74890,"src":"1230:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74886,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:112"},"returnParameters":{"id":74889,"nodeType":"ParameterList","parameters":[],"src":"1258:0:112"},"scope":74891,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74891],"name":"ISafe","nameLocation":"78:5:112","scope":74908,"usedErrors":[]},{"id":74903,"nodeType":"ContractDefinition","src":"1263:179:112","nodes":[{"id":74902,"nodeType":"FunctionDefinition","src":"1296:144:112","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:112","parameters":{"id":74898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74893,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:112","nodeType":"VariableDeclaration","scope":74902,"src":"1326:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74892,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74895,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:112","nodeType":"VariableDeclaration","scope":74902,"src":"1346:24:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74894,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74897,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:112","nodeType":"VariableDeclaration","scope":74902,"src":"1372:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74896,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:112"},"returnParameters":{"id":74901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74900,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:112","nodeType":"VariableDeclaration","scope":74902,"src":"1425:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74899,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:112"},"scope":74903,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74903],"name":"SafeProxyFactory","nameLocation":"1273:16:112","scope":74908,"usedErrors":[]},{"id":74907,"nodeType":"ContractDefinition","src":"1444:88:112","nodes":[{"id":74906,"nodeType":"EnumDefinition","src":"1473:57:112","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":74904,"name":"Call","nameLocation":"1498:4:112","nodeType":"EnumValue","src":"1498:4:112"},{"id":74905,"name":"DelegateCall","nameLocation":"1512:12:112","nodeType":"EnumValue","src":"1512:12:112"}],"name":"Operation","nameLocation":"1478:9:112"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74907],"name":"Enum","nameLocation":"1462:4:112","scope":74908,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":112} \ No newline at end of file diff --git a/pkg/contracts/out/MockERC20.sol/MockERC20.json b/pkg/contracts/out/MockERC20.sol/MockERC20.json index afad76b78..ce35dc06d 100644 --- a/pkg/contracts/out/MockERC20.sol/MockERC20.json +++ b/pkg/contracts/out/MockERC20.sol/MockERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657610d89908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461098457508163095ea7b3146109255781631624f6c61461062a57816318160ddd1461060b57816323b872dd1461053a578163313ce567146105185781633644e515146104f457816370a08231146104be5781637ecebe001461048657816395d89b41146103c8578163a9059cbb14610347578163d505accf146100ff575063dd62ed3e146100b457600080fd5b346100fb57806003193601126100fb57806020926100d06109f9565b6100d8610a14565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b9050346103435760e03660031901126103435761011a6109f9565b610122610a14565b9260443590606435936084359360ff851680950361033f5742861061030257610149610b95565b9660018060a01b0380921696878a5260209660088852858b20998a549a6000198c146102ef5760018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830160018060401b0394848210868311176102dc578189528451902061010085019261190160f01b845261010286015261012285015260428152610160840194818610908611176102c957848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156102bf5787511690811515806102b6575b156102825750865260058352808620858752835280862082905551908152600080516020610d348339815191529190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5085821461024f565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b634e487b7160e01b8d526011875260248dfd5b506020606492519162461bcd60e51b8352820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152fd5b8780fd5b8280fd5b905034610343578160031936011261034357916020926103656109f9565b90836024359233855282875261037e8483872054610cbb565b3386528388528286205560018060a01b0316938481526103a18483832054610c51565b92858252875220558251908152600080516020610d14833981519152843392a35160018152f35b5050346100fb57816003193601126100fb578051908260018054906103ec82610ab9565b8086529181811690811561045e5750600114610423575b5050506104158261041f940383610a2a565b51918291826109b0565b0390f35b80955082526020948583205b82841061044b575050508261041f946104159282010194610403565b805486850188015292860192810161042f565b61041f97506104159450602092508693915060ff191682840152151560051b82010194610403565b5050346100fb5760203660031901126100fb5760209181906001600160a01b036104ae6109f9565b1681526008845220549051908152f35b9050346103435760203660031901126103435760209282916001600160a01b036104e66109f9565b168252845220549051908152f35b5050346100fb57816003193601126100fb57602090610511610b95565b9051908152f35b5050346100fb57816003193601126100fb5760209060ff600254169051908152f35b828434610608576060366003190112610608576105556109f9565b92600080516020610d1483398151915261056d610a14565b60443560018060a01b038097169384865286602098899460058652828920338a528652828920548560001982036105e5575b50508789528386526105b485848b2054610cbb565b888a52848752838a205516968781526105d08483832054610c51565b92888252855220558551908152a35160018152f35b6105ee91610cbb565b888a5260058752838a20338b528752838a20558b8561059f565b80fd5b5050346100fb57816003193601126100fb576020906003549051908152f35b839150346100fb5760603660031901126100fb576001600160401b039281358481116109215761065d9036908401610a63565b9360243581811161091d576106759036908501610a63565b926044359260ff84168094036109195760ff600954166108e0575085518281116108cd57806106a48754610ab9565b97601f9889811161087f575b5060209089831160011461081c578892610811575b50508160011b916000199060031b1c19161785555b83519182116107fe57506001926106f18454610ab9565b8681116107b9575b50602095821160011461075957948495829394959261074e575b5050600019600383901b1c191690831b1782555b60ff199081600254161760025546600655610740610baf565b600755600954161760095580f35b015190508580610713565b601f1982169584865280862091865b8881106107a35750838697989695961061078a575b505050811b018255610727565b015160001960f88460031b161c1916905585808061077d565b8183015184559286019260209283019201610768565b848652602086208780850160051c820192602086106107f5575b0160051c019085905b8281106107ea5750506106f9565b8781550185906107dc565b925081926107d3565b634e487b7160e01b855260419052602484fd5b0151905088806106c5565b8880528189209250601f198416895b818110610867575090846001959493921061084e575b505050811b0185556106da565b015160001960f88460031b161c19169055888080610841565b9293602060018192878601518155019501930161082b565b909150878052602088208980850160051c820192602086106108c4575b9085949392910160051c01905b8181106108b657506106b0565b8981558493506001016108a9565b9250819261089c565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b835282015260136024820152721053149150511657d253925512505312569151606a1b6044820152fd5b8580fd5b8480fd5b8380fd5b5050346100fb57806003193601126100fb57602091816109436109f9565b91602435918291338152600587528181209460018060a01b031694858252875220558251908152600080516020610d34833981519152843392a35160018152f35b8490843461034357826003193601126103435761041f9250610415826109a981610af3565b0383610a2a565b6020808252825181830181905290939260005b8281106109e557505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016109c3565b600435906001600160a01b0382168203610a0f57565b600080fd5b602435906001600160a01b0382168203610a0f57565b601f909101601f19168101906001600160401b03821190821017610a4d57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610a0f578035906001600160401b038211610a4d5760405192610a97601f8401601f191660200185610a2a565b82845260208383010111610a0f57816000926020809301838601378301015290565b90600182811c92168015610ae9575b6020831014610ad357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ac8565b9060009160005490610b0482610ab9565b908181526001928381169081600014610b7a5750600114610b2457505050565b600080805293945060209392909190847f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838610610b665750505050010190565b805485870183015294019385908201610b56565b91935050602093945060ff191683830152151560051b010190565b6006544603610ba45760075490565b610bac610baf565b90565b604051610bc681610bbf81610af3565b0382610a2a565b6020815191012060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610a4d5760405251902090565b90810190818111610ca5578110610c655790565b60405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90808210610ccf578103908111610ca55790565b60405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b6044820152606490fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066735822122073c4f39bc318a601a2d90f13751c983119ccb9fc855945c0a9b2570b341504f764736f6c63430008130033","sourceMap":"369:7950:37:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461098457508163095ea7b3146109255781631624f6c61461062a57816318160ddd1461060b57816323b872dd1461053a578163313ce567146105185781633644e515146104f457816370a08231146104be5781637ecebe001461048657816395d89b41146103c8578163a9059cbb14610347578163d505accf146100ff575063dd62ed3e146100b457600080fd5b346100fb57806003193601126100fb57806020926100d06109f9565b6100d8610a14565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b9050346103435760e03660031901126103435761011a6109f9565b610122610a14565b9260443590606435936084359360ff851680950361033f5742861061030257610149610b95565b9660018060a01b0380921696878a5260209660088852858b20998a549a6000198c146102ef5760018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830160018060401b0394848210868311176102dc578189528451902061010085019261190160f01b845261010286015261012285015260428152610160840194818610908611176102c957848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156102bf5787511690811515806102b6575b156102825750865260058352808620858752835280862082905551908152600080516020610d348339815191529190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5085821461024f565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b634e487b7160e01b8d526011875260248dfd5b506020606492519162461bcd60e51b8352820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152fd5b8780fd5b8280fd5b905034610343578160031936011261034357916020926103656109f9565b90836024359233855282875261037e8483872054610cbb565b3386528388528286205560018060a01b0316938481526103a18483832054610c51565b92858252875220558251908152600080516020610d14833981519152843392a35160018152f35b5050346100fb57816003193601126100fb578051908260018054906103ec82610ab9565b8086529181811690811561045e5750600114610423575b5050506104158261041f940383610a2a565b51918291826109b0565b0390f35b80955082526020948583205b82841061044b575050508261041f946104159282010194610403565b805486850188015292860192810161042f565b61041f97506104159450602092508693915060ff191682840152151560051b82010194610403565b5050346100fb5760203660031901126100fb5760209181906001600160a01b036104ae6109f9565b1681526008845220549051908152f35b9050346103435760203660031901126103435760209282916001600160a01b036104e66109f9565b168252845220549051908152f35b5050346100fb57816003193601126100fb57602090610511610b95565b9051908152f35b5050346100fb57816003193601126100fb5760209060ff600254169051908152f35b828434610608576060366003190112610608576105556109f9565b92600080516020610d1483398151915261056d610a14565b60443560018060a01b038097169384865286602098899460058652828920338a528652828920548560001982036105e5575b50508789528386526105b485848b2054610cbb565b888a52848752838a205516968781526105d08483832054610c51565b92888252855220558551908152a35160018152f35b6105ee91610cbb565b888a5260058752838a20338b528752838a20558b8561059f565b80fd5b5050346100fb57816003193601126100fb576020906003549051908152f35b839150346100fb5760603660031901126100fb576001600160401b039281358481116109215761065d9036908401610a63565b9360243581811161091d576106759036908501610a63565b926044359260ff84168094036109195760ff600954166108e0575085518281116108cd57806106a48754610ab9565b97601f9889811161087f575b5060209089831160011461081c578892610811575b50508160011b916000199060031b1c19161785555b83519182116107fe57506001926106f18454610ab9565b8681116107b9575b50602095821160011461075957948495829394959261074e575b5050600019600383901b1c191690831b1782555b60ff199081600254161760025546600655610740610baf565b600755600954161760095580f35b015190508580610713565b601f1982169584865280862091865b8881106107a35750838697989695961061078a575b505050811b018255610727565b015160001960f88460031b161c1916905585808061077d565b8183015184559286019260209283019201610768565b848652602086208780850160051c820192602086106107f5575b0160051c019085905b8281106107ea5750506106f9565b8781550185906107dc565b925081926107d3565b634e487b7160e01b855260419052602484fd5b0151905088806106c5565b8880528189209250601f198416895b818110610867575090846001959493921061084e575b505050811b0185556106da565b015160001960f88460031b161c19169055888080610841565b9293602060018192878601518155019501930161082b565b909150878052602088208980850160051c820192602086106108c4575b9085949392910160051c01905b8181106108b657506106b0565b8981558493506001016108a9565b9250819261089c565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b835282015260136024820152721053149150511657d253925512505312569151606a1b6044820152fd5b8580fd5b8480fd5b8380fd5b5050346100fb57806003193601126100fb57602091816109436109f9565b91602435918291338152600587528181209460018060a01b031694858252875220558251908152600080516020610d34833981519152843392a35160018152f35b8490843461034357826003193601126103435761041f9250610415826109a981610af3565b0383610a2a565b6020808252825181830181905290939260005b8281106109e557505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016109c3565b600435906001600160a01b0382168203610a0f57565b600080fd5b602435906001600160a01b0382168203610a0f57565b601f909101601f19168101906001600160401b03821190821017610a4d57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610a0f578035906001600160401b038211610a4d5760405192610a97601f8401601f191660200185610a2a565b82845260208383010111610a0f57816000926020809301838601378301015290565b90600182811c92168015610ae9575b6020831014610ad357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ac8565b9060009160005490610b0482610ab9565b908181526001928381169081600014610b7a5750600114610b2457505050565b600080805293945060209392909190847f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838610610b665750505050010190565b805485870183015294019385908201610b56565b91935050602093945060ff191683830152151560051b010190565b6006544603610ba45760075490565b610bac610baf565b90565b604051610bc681610bbf81610af3565b0382610a2a565b6020815191012060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610a4d5760405251902090565b90810190818111610ca5578110610c655790565b60405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90808210610ccf578103908111610ca55790565b60405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b6044820152606490fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066735822122073c4f39bc318a601a2d90f13751c983119ccb9fc855945c0a9b2570b341504f764736f6c63430008130033","sourceMap":"369:7950:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;369:7950:37;;;;;1659:10;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4416:15;4404:27;;369:7950;;4617:18;;:::i;:::-;369:7950;;;;;;;;;;;;;;;5026:6;369:7950;;;;;;;;;;;;;;;;;;;;;;4692:413;;;;;369:7950;4732:157;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:413;;369:7950;;;;;;;;;;;;;;;;;;;;;;;4657:470;;4547:598;;;369:7950;;;;;;;;;;;;;;;4547:598;;369:7950;;;;;;;;;;;;;;;;;4520:639;;369:7950;;;;;;;;;;;;;;;;;;;4497:717;;;369:7950;;;;;;;4497:717;;;;;;;369:7950;5233:30;;;;:59;;;369:7950;;;;-1:-1:-1;369:7950:37;;5322:10;369:7950;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5383:31:37;369:7950;5383:31;369:7950;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;5233:59;5267:25;;;;5233:59;;4497:717;369:7950;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3420:10;;369:7950;;;;;3404:36;369:7950;;;;;3404:36;:::i;:::-;3420:10;369:7950;;;;;;;;;;;;;;;;;;;3467:28;369:7950;;;;;3467:28;:::i;:::-;369:7950;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3420:10:37;;3511:32;;369:7950;;;;;;;;;;;;;;;;;;;;;;;857:7;369:7950;;;;;;:::i;:::-;;;;;;;;;857:7;;;;369:7950;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;;;;-1:-1:-1;;;;;369:7950:37;;:::i;:::-;;;;1970:41;369:7950;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;;;;-1:-1:-1;;;;;369:7950:37;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;953:9;369:7950;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;;:::i;:::-;;-1:-1:-1;;;;;;;;;;;369:7950:37;;:::i;:::-;;;;;;;;;;;;;;;;;;;;3709:10;369:7950;;;;;3726:10;369:7950;;;;;;;;;;;3788:22;;3784:80;;369:7950;;;;;;;;;3894:30;369:7950;;;;;3894:30;:::i;:::-;369:7950;;;;;;;;;;;;;;;3951:28;369:7950;;;;;3951:28;:::i;:::-;369:7950;;;;;;;;;;;;;3995:26;369:7950;;;;;3784:80;3843:21;;;:::i;:::-;369:7950;;;3709:10;369:7950;;;;;3726:10;369:7950;;;;;;;;3784:80;;;;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;-1:-1:-1;;;;;369:7950:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;2611:11;369:7950;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;369:7950:37;;;;;;;;;;;;;;;;;;2707:21;369:7950;;;2707:21;369:7950;7884:53;2739:33;369:7950;2809:24;;:::i;:::-;2782:51;369:7950;2611:11;369:7950;;;2611:11;369:7950;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3167:10;;;;369:7950;;3156:10;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3167:10:37;;3212:37;;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;369:7950:37;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;369:7950:37;;;;;;:::o;:::-;;;;;-1:-1:-1;;369:7950:37;;;;-1:-1:-1;;;;;369:7950:37;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;369:7950:37;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5427:178::-;5528:16;369:7950;7884:53;5510:34;:88;;5547:24;369:7950;5427:178;:::o;5510:88::-;5574:24;;:::i;:::-;5427:178;:::o;5611:404::-;369:7950;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;5866:23;369:7950;;;5725:273;;369:7950;5753:95;369:7950;;;;;;5907:14;369:7950;;;;7884:53;369:7950;;;;5979:4;369:7950;;;;;5725:273;;369:7950;;;;;;;;;;;;;;;;;;;5702:306;;5611:404;:::o;6859:173::-;;369:7950;;;;;;;;6972:6;;369:7950;;6859:173;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;-1:-1:-1;369:7950:37;7038:154;;7124:6;;;369:7950;;;;;;;;;7038:154;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":37395,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":37397,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":37399,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"},{"astId":37428,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_totalSupply","offset":0,"slot":"3","type":"t_uint256"},{"astId":37432,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_balanceOf","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":37438,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_allowance","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":37479,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_CHAIN_ID","offset":0,"slot":"6","type":"t_uint256"},{"astId":37481,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_DOMAIN_SEPARATOR","offset":0,"slot":"7","type":"t_bytes32"},{"astId":37485,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"nonces","offset":0,"slot":"8","type":"t_mapping(t_address,t_uint256)"},{"astId":37488,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"initialized","offset":0,"slot":"9","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC20.sol","id":37964,"exportedSymbols":{"IERC20":[37039],"MockERC20":[37963]},"nodeType":"SourceUnit","src":"32:8288:37","nodes":[{"id":37388,"nodeType":"PragmaDirective","src":"32:31:37","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":37390,"nodeType":"ImportDirective","src":"65:48:37","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","nameLocation":"-1:-1:-1","scope":37964,"sourceUnit":37040,"symbolAliases":[{"foreign":{"id":37389,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37039,"src":"73:6:37","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":37963,"nodeType":"ContractDefinition","src":"369:7950:37","nodes":[{"id":37395,"nodeType":"VariableDeclaration","src":"588:21:37","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"604:5:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":37394,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":37397,"nodeType":"VariableDeclaration","src":"616:23:37","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"632:7:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":37396,"name":"string","nodeType":"ElementaryTypeName","src":"616:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":37399,"nodeType":"VariableDeclaration","src":"646:24:37","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"661:9:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37398,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":37408,"nodeType":"FunctionDefinition","src":"677:92:37","nodes":[],"body":{"id":37407,"nodeType":"Block","src":"740:29:37","nodes":[],"statements":[{"expression":{"id":37405,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37395,"src":"757:5:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":37404,"id":37406,"nodeType":"Return","src":"750:12:37"}]},"baseFunctions":[37026],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"686:4:37","overrides":{"id":37401,"nodeType":"OverrideSpecifier","overrides":[],"src":"707:8:37"},"parameters":{"id":37400,"nodeType":"ParameterList","parameters":[],"src":"690:2:37"},"returnParameters":{"id":37404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37403,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37408,"src":"725:13:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37402,"name":"string","nodeType":"ElementaryTypeName","src":"725:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"724:15:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37417,"nodeType":"FunctionDefinition","src":"775:96:37","nodes":[],"body":{"id":37416,"nodeType":"Block","src":"840:31:37","nodes":[],"statements":[{"expression":{"id":37414,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37397,"src":"857:7:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":37413,"id":37415,"nodeType":"Return","src":"850:14:37"}]},"baseFunctions":[37032],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"784:6:37","overrides":{"id":37410,"nodeType":"OverrideSpecifier","overrides":[],"src":"807:8:37"},"parameters":{"id":37409,"nodeType":"ParameterList","parameters":[],"src":"790:2:37"},"returnParameters":{"id":37413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37417,"src":"825:13:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37411,"name":"string","nodeType":"ElementaryTypeName","src":"825:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"824:15:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37426,"nodeType":"FunctionDefinition","src":"877:92:37","nodes":[],"body":{"id":37425,"nodeType":"Block","src":"936:33:37","nodes":[],"statements":[{"expression":{"id":37423,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37399,"src":"953:9:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":37422,"id":37424,"nodeType":"Return","src":"946:16:37"}]},"baseFunctions":[37038],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"886:8:37","overrides":{"id":37419,"nodeType":"OverrideSpecifier","overrides":[],"src":"911:8:37"},"parameters":{"id":37418,"nodeType":"ParameterList","parameters":[],"src":"894:2:37"},"returnParameters":{"id":37422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37426,"src":"929:5:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37420,"name":"uint8","nodeType":"ElementaryTypeName","src":"929:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"928:7:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37428,"nodeType":"VariableDeclaration","src":"1158:29:37","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1175:12:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37427,"name":"uint256","nodeType":"ElementaryTypeName","src":"1158:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":37432,"nodeType":"VariableDeclaration","src":"1194:47:37","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1231:10:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":37431,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":37429,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1194:27:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":37430,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":37438,"nodeType":"VariableDeclaration","src":"1248:67:37","nodes":[],"constant":false,"mutability":"mutable","name":"_allowance","nameLocation":"1305:10:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":37437,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":37433,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1248:47:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":37436,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":37434,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1267:27:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":37435,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":37447,"nodeType":"FunctionDefinition","src":"1322:100:37","nodes":[],"body":{"id":37446,"nodeType":"Block","src":"1386:36:37","nodes":[],"statements":[{"expression":{"id":37444,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"1403:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37443,"id":37445,"nodeType":"Return","src":"1396:19:37"}]},"baseFunctions":[36970],"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1331:11:37","overrides":{"id":37440,"nodeType":"OverrideSpecifier","overrides":[],"src":"1359:8:37"},"parameters":{"id":37439,"nodeType":"ParameterList","parameters":[],"src":"1342:2:37"},"returnParameters":{"id":37443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37442,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37447,"src":"1377:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37441,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1376:9:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37460,"nodeType":"FunctionDefinition","src":"1428:116:37","nodes":[],"body":{"id":37459,"nodeType":"Block","src":"1503:41:37","nodes":[],"statements":[{"expression":{"baseExpression":{"id":37455,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"1520:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37457,"indexExpression":{"id":37456,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37449,"src":"1531:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:17:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37454,"id":37458,"nodeType":"Return","src":"1513:24:37"}]},"baseFunctions":[36978],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1437:9:37","overrides":{"id":37451,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:37"},"parameters":{"id":37450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37449,"mutability":"mutable","name":"owner","nameLocation":"1455:5:37","nodeType":"VariableDeclaration","scope":37460,"src":"1447:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37448,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:15:37"},"returnParameters":{"id":37454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37460,"src":"1494:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37452,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37477,"nodeType":"FunctionDefinition","src":"1550:142:37","nodes":[],"body":{"id":37476,"nodeType":"Block","src":"1642:50:37","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":37470,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"1659:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37472,"indexExpression":{"id":37471,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37462,"src":"1670:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:17:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37474,"indexExpression":{"id":37473,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37464,"src":"1677:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:26:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37469,"id":37475,"nodeType":"Return","src":"1652:33:37"}]},"baseFunctions":[36998],"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1559:9:37","overrides":{"id":37466,"nodeType":"OverrideSpecifier","overrides":[],"src":"1615:8:37"},"parameters":{"id":37465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37462,"mutability":"mutable","name":"owner","nameLocation":"1577:5:37","nodeType":"VariableDeclaration","scope":37477,"src":"1569:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37461,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37464,"mutability":"mutable","name":"spender","nameLocation":"1592:7:37","nodeType":"VariableDeclaration","scope":37477,"src":"1584:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37463,"name":"address","nodeType":"ElementaryTypeName","src":"1584:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1568:32:37"},"returnParameters":{"id":37469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37477,"src":"1633:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37467,"name":"uint256","nodeType":"ElementaryTypeName","src":"1633:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1632:9:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37479,"nodeType":"VariableDeclaration","src":"1882:33:37","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_CHAIN_ID","nameLocation":"1899:16:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37478,"name":"uint256","nodeType":"ElementaryTypeName","src":"1882:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":37481,"nodeType":"VariableDeclaration","src":"1922:41:37","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1939:24:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1922:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":37485,"nodeType":"VariableDeclaration","src":"1970:41:37","nodes":[],"constant":false,"functionSelector":"7ecebe00","mutability":"mutable","name":"nonces","nameLocation":"2005:6:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":37484,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":37482,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":37483,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":37488,"nodeType":"VariableDeclaration","src":"2271:24:37","nodes":[],"constant":false,"documentation":{"id":37486,"nodeType":"StructuredDocumentation","src":"2199:67:37","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2284:11:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37487,"name":"bool","nodeType":"ElementaryTypeName","src":"2271:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":37531,"nodeType":"FunctionDefinition","src":"2504:365:37","nodes":[],"body":{"id":37530,"nodeType":"Block","src":"2592:277:37","nodes":[],"statements":[{"expression":{"arguments":[{"id":37500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2610:12:37","subExpression":{"id":37499,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37488,"src":"2611:11:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":37501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2624:21:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":37498,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2602:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37503,"nodeType":"ExpressionStatement","src":"2602:44:37"},{"expression":{"id":37506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37504,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37395,"src":"2657:5:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37505,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37491,"src":"2665:5:37","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2657:13:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":37507,"nodeType":"ExpressionStatement","src":"2657:13:37"},{"expression":{"id":37510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37508,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37397,"src":"2680:7:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37509,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37493,"src":"2690:7:37","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2680:17:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":37511,"nodeType":"ExpressionStatement","src":"2680:17:37"},{"expression":{"id":37514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37512,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37399,"src":"2707:9:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37513,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37495,"src":"2719:9:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2707:21:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":37515,"nodeType":"ExpressionStatement","src":"2707:21:37"},{"expression":{"id":37519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37516,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37479,"src":"2739:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":37517,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37962,"src":"2758:12:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":37518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2758:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2739:33:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37520,"nodeType":"ExpressionStatement","src":"2739:33:37"},{"expression":{"id":37524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37521,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37481,"src":"2782:24:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":37522,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37807,"src":"2809:22:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":37523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:24:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2782:51:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":37525,"nodeType":"ExpressionStatement","src":"2782:51:37"},{"expression":{"id":37528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37526,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37488,"src":"2844:11:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":37527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2858:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2844:18:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37529,"nodeType":"ExpressionStatement","src":"2844:18:37"}]},"documentation":{"id":37489,"nodeType":"StructuredDocumentation","src":"2302:197:37","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"1624f6c6","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2513:10:37","parameters":{"id":37496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37491,"mutability":"mutable","name":"name_","nameLocation":"2538:5:37","nodeType":"VariableDeclaration","scope":37531,"src":"2524:19:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37490,"name":"string","nodeType":"ElementaryTypeName","src":"2524:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":37493,"mutability":"mutable","name":"symbol_","nameLocation":"2559:7:37","nodeType":"VariableDeclaration","scope":37531,"src":"2545:21:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37492,"name":"string","nodeType":"ElementaryTypeName","src":"2545:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":37495,"mutability":"mutable","name":"decimals_","nameLocation":"2574:9:37","nodeType":"VariableDeclaration","scope":37531,"src":"2568:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37494,"name":"uint8","nodeType":"ElementaryTypeName","src":"2568:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2523:61:37"},"returnParameters":{"id":37497,"nodeType":"ParameterList","parameters":[],"src":"2592:0:37"},"scope":37963,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":37560,"nodeType":"FunctionDefinition","src":"3057:221:37","nodes":[],"body":{"id":37559,"nodeType":"Block","src":"3146:132:37","nodes":[],"statements":[{"expression":{"id":37548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":37541,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"3156:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37545,"indexExpression":{"expression":{"id":37542,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3167:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3167:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3156:22:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37546,"indexExpression":{"id":37544,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37533,"src":"3179:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3156:31:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37547,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37535,"src":"3190:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3156:40:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37549,"nodeType":"ExpressionStatement","src":"3156:40:37"},{"eventCall":{"arguments":[{"expression":{"id":37551,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3221:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3225:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3221:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37553,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37533,"src":"3233:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37554,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37535,"src":"3242:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37550,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36964,"src":"3212:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:37:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37556,"nodeType":"EmitStatement","src":"3207:42:37"},{"expression":{"hexValue":"74727565","id":37557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3267:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":37540,"id":37558,"nodeType":"Return","src":"3260:11:37"}]},"baseFunctions":[37008],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3066:7:37","overrides":{"id":37537,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:37"},"parameters":{"id":37536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37533,"mutability":"mutable","name":"spender","nameLocation":"3082:7:37","nodeType":"VariableDeclaration","scope":37560,"src":"3074:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37532,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37535,"mutability":"mutable","name":"amount","nameLocation":"3099:6:37","nodeType":"VariableDeclaration","scope":37560,"src":"3091:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37534,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3073:33:37"},"returnParameters":{"id":37540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37560,"src":"3140:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37538,"name":"bool","nodeType":"ElementaryTypeName","src":"3140:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3139:6:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":37604,"nodeType":"FunctionDefinition","src":"3284:288:37","nodes":[],"body":{"id":37603,"nodeType":"Block","src":"3369:203:37","nodes":[],"statements":[{"expression":{"id":37581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37570,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3379:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37573,"indexExpression":{"expression":{"id":37571,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3390:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3390:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3379:22:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37575,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3409:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37578,"indexExpression":{"expression":{"id":37576,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3420:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3420:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3409:22:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37579,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37564,"src":"3433:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37574,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"3404:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:36:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:61:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37582,"nodeType":"ExpressionStatement","src":"3379:61:37"},{"expression":{"id":37592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37583,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3450:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37585,"indexExpression":{"id":37584,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37562,"src":"3461:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3450:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37587,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3472:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37589,"indexExpression":{"id":37588,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37562,"src":"3483:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3472:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37590,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37564,"src":"3488:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37586,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37902,"src":"3467:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3467:28:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3450:45:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37593,"nodeType":"ExpressionStatement","src":"3450:45:37"},{"eventCall":{"arguments":[{"expression":{"id":37595,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3520:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3524:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3520:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37597,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37562,"src":"3532:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37598,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37564,"src":"3536:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37594,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36955,"src":"3511:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:32:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37600,"nodeType":"EmitStatement","src":"3506:37:37"},{"expression":{"hexValue":"74727565","id":37601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3561:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":37569,"id":37602,"nodeType":"Return","src":"3554:11:37"}]},"baseFunctions":[36988],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3293:8:37","overrides":{"id":37566,"nodeType":"OverrideSpecifier","overrides":[],"src":"3345:8:37"},"parameters":{"id":37565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37562,"mutability":"mutable","name":"to","nameLocation":"3310:2:37","nodeType":"VariableDeclaration","scope":37604,"src":"3302:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37561,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37564,"mutability":"mutable","name":"amount","nameLocation":"3322:6:37","nodeType":"VariableDeclaration","scope":37604,"src":"3314:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37563,"name":"uint256","nodeType":"ElementaryTypeName","src":"3314:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3301:28:37"},"returnParameters":{"id":37569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37568,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37604,"src":"3363:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37567,"name":"bool","nodeType":"ElementaryTypeName","src":"3363:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3362:6:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":37676,"nodeType":"FunctionDefinition","src":"3578:472:37","nodes":[],"body":{"id":37675,"nodeType":"Block","src":"3681:369:37","nodes":[],"statements":[{"assignments":[37617],"declarations":[{"constant":false,"id":37617,"mutability":"mutable","name":"allowed","nameLocation":"3699:7:37","nodeType":"VariableDeclaration","scope":37675,"src":"3691:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37616,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37624,"initialValue":{"baseExpression":{"baseExpression":{"id":37618,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"3709:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37620,"indexExpression":{"id":37619,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"3720:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:16:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37623,"indexExpression":{"expression":{"id":37621,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3726:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3730:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3726:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:28:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3691:46:37"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37625,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37617,"src":"3788:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":37630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3799:11:37","subExpression":{"arguments":[{"hexValue":"30","id":37628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:37","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":37627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3800:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":37626,"name":"uint256","nodeType":"ElementaryTypeName","src":"3800:7:37","typeDescriptions":{}}},"id":37629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:10:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3788:22:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37644,"nodeType":"IfStatement","src":"3784:80:37","trueBody":{"expression":{"id":37642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":37632,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"3812:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37636,"indexExpression":{"id":37633,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"3823:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3812:16:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37637,"indexExpression":{"expression":{"id":37634,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3829:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3829:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3812:28:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":37639,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37617,"src":"3848:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37640,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37610,"src":"3857:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37638,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"3843:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:21:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3812:52:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37643,"nodeType":"ExpressionStatement","src":"3812:52:37"}},{"expression":{"id":37654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37645,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3875:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37647,"indexExpression":{"id":37646,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"3886:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3875:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37649,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3899:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37651,"indexExpression":{"id":37650,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"3910:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3899:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37652,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37610,"src":"3917:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37648,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"3894:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:30:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3875:49:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37655,"nodeType":"ExpressionStatement","src":"3875:49:37"},{"expression":{"id":37665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37656,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3934:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37658,"indexExpression":{"id":37657,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37608,"src":"3945:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3934:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37660,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3956:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37662,"indexExpression":{"id":37661,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37608,"src":"3967:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3956:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37663,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37610,"src":"3972:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37659,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37902,"src":"3951:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:28:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:45:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37666,"nodeType":"ExpressionStatement","src":"3934:45:37"},{"eventCall":{"arguments":[{"id":37668,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"4004:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37669,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37608,"src":"4010:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37670,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37610,"src":"4014:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37667,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36955,"src":"3995:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:26:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37672,"nodeType":"EmitStatement","src":"3990:31:37"},{"expression":{"hexValue":"74727565","id":37673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4039:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":37615,"id":37674,"nodeType":"Return","src":"4032:11:37"}]},"baseFunctions":[37020],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3587:12:37","overrides":{"id":37612,"nodeType":"OverrideSpecifier","overrides":[],"src":"3657:8:37"},"parameters":{"id":37611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37606,"mutability":"mutable","name":"from","nameLocation":"3608:4:37","nodeType":"VariableDeclaration","scope":37676,"src":"3600:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37605,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37608,"mutability":"mutable","name":"to","nameLocation":"3622:2:37","nodeType":"VariableDeclaration","scope":37676,"src":"3614:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37607,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37610,"mutability":"mutable","name":"amount","nameLocation":"3634:6:37","nodeType":"VariableDeclaration","scope":37676,"src":"3626:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37609,"name":"uint256","nodeType":"ElementaryTypeName","src":"3626:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:42:37"},"returnParameters":{"id":37615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37676,"src":"3675:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37613,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3674:6:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":37762,"nodeType":"FunctionDefinition","src":"4239:1182:37","nodes":[],"body":{"id":37761,"nodeType":"Block","src":"4386:1035:37","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37694,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37684,"src":"4404:8:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":37695,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4416:5:37","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":37696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:9:37","memberName":"timestamp","nodeType":"MemberAccess","src":"4416:15:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4404:27:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":37698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4433:25:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":37693,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4396:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:63:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37700,"nodeType":"ExpressionStatement","src":"4396:63:37"},{"assignments":[37702],"declarations":[{"constant":false,"id":37702,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4478:16:37","nodeType":"VariableDeclaration","scope":37761,"src":"4470:24:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37701,"name":"address","nodeType":"ElementaryTypeName","src":"4470:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":37732,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":37707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4585:10:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":37708,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37777,"src":"4617:16:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":37709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:18:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":37714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:84:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":37713,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4732:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:157:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":37716,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37678,"src":"4919:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37717,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37680,"src":"4954:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37718,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37682,"src":"4991:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5026:15:37","subExpression":{"baseExpression":{"id":37719,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37485,"src":"5026:6:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37721,"indexExpression":{"id":37720,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37678,"src":"5033:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5026:13:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37723,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37684,"src":"5071:8:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":37711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4692:3:37","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":37712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4696:6:37","memberName":"encode","nodeType":"MemberAccess","src":"4692:10:37","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":37724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4692:413:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":37710,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4657:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:470:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":37705,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4547:3:37","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":37706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:12:37","memberName":"encodePacked","nodeType":"MemberAccess","src":"4547:16:37","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":37726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:598:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":37704,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4520:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:639:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":37728,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37686,"src":"5173:1:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":37729,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37688,"src":"5188:1:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":37730,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37690,"src":"5203:1:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":37703,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4497:9:37","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":37731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:717:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4470:744:37"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":37743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37734,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37702,"src":"5233:16:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":37737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:37","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":37736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5253:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37735,"name":"address","nodeType":"ElementaryTypeName","src":"5253:7:37","typeDescriptions":{}}},"id":37738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:10:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5233:30:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37740,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37702,"src":"5267:16:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":37741,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37678,"src":"5287:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5267:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5233:59:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":37744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:16:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":37733,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5225:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:86:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37746,"nodeType":"ExpressionStatement","src":"5225:86:37"},{"expression":{"id":37753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":37747,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"5322:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37750,"indexExpression":{"id":37748,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37702,"src":"5333:16:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5322:28:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37751,"indexExpression":{"id":37749,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37680,"src":"5351:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5322:37:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37752,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37682,"src":"5362:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:45:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37754,"nodeType":"ExpressionStatement","src":"5322:45:37"},{"eventCall":{"arguments":[{"id":37756,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37678,"src":"5392:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37757,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37680,"src":"5399:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37758,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37682,"src":"5408:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37755,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36964,"src":"5383:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:31:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37760,"nodeType":"EmitStatement","src":"5378:36:37"}]},"functionSelector":"d505accf","implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4248:6:37","parameters":{"id":37691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37678,"mutability":"mutable","name":"owner","nameLocation":"4263:5:37","nodeType":"VariableDeclaration","scope":37762,"src":"4255:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37677,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37680,"mutability":"mutable","name":"spender","nameLocation":"4278:7:37","nodeType":"VariableDeclaration","scope":37762,"src":"4270:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37679,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37682,"mutability":"mutable","name":"value","nameLocation":"4295:5:37","nodeType":"VariableDeclaration","scope":37762,"src":"4287:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37681,"name":"uint256","nodeType":"ElementaryTypeName","src":"4287:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37684,"mutability":"mutable","name":"deadline","nameLocation":"4310:8:37","nodeType":"VariableDeclaration","scope":37762,"src":"4302:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37683,"name":"uint256","nodeType":"ElementaryTypeName","src":"4302:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37686,"mutability":"mutable","name":"v","nameLocation":"4326:1:37","nodeType":"VariableDeclaration","scope":37762,"src":"4320:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37685,"name":"uint8","nodeType":"ElementaryTypeName","src":"4320:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":37688,"mutability":"mutable","name":"r","nameLocation":"4337:1:37","nodeType":"VariableDeclaration","scope":37762,"src":"4329:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4329:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37690,"mutability":"mutable","name":"s","nameLocation":"4348:1:37","nodeType":"VariableDeclaration","scope":37762,"src":"4340:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4340:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4254:96:37"},"returnParameters":{"id":37692,"nodeType":"ParameterList","parameters":[],"src":"4386:0:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":37777,"nodeType":"FunctionDefinition","src":"5427:178:37","nodes":[],"body":{"id":37776,"nodeType":"Block","src":"5493:112:37","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":37767,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37962,"src":"5510:12:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":37768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":37769,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37479,"src":"5528:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5510:34:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":37772,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37807,"src":"5574:22:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":37773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:24:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":37774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5510:88:37","trueExpression":{"id":37771,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37481,"src":"5547:24:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":37766,"id":37775,"nodeType":"Return","src":"5503:95:37"}]},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5436:16:37","parameters":{"id":37763,"nodeType":"ParameterList","parameters":[],"src":"5452:2:37"},"returnParameters":{"id":37766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37765,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37777,"src":"5484:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5483:9:37"},"scope":37963,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":37807,"nodeType":"FunctionDefinition","src":"5611:404:37","nodes":[],"body":{"id":37806,"nodeType":"Block","src":"5685:330:37","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":37786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:84:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":37785,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5753:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:95:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":37791,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37395,"src":"5882:5:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":37790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5876:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":37789,"name":"bytes","nodeType":"ElementaryTypeName","src":"5876:5:37","typeDescriptions":{}}},"id":37792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":37788,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5866:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:23:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":37795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5917:3:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":37794,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5907:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":37797,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37962,"src":"5939:12:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":37798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":37801,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5979:4:37","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$37963","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$37963","typeString":"contract MockERC20"}],"id":37800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5971:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37799,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:37","typeDescriptions":{}}},"id":37802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5971:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":37783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5725:3:37","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":37784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5729:6:37","memberName":"encode","nodeType":"MemberAccess","src":"5725:10:37","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":37803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:273:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":37782,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5702:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:306:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":37781,"id":37805,"nodeType":"Return","src":"5695:313:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5620:22:37","parameters":{"id":37778,"nodeType":"ParameterList","parameters":[],"src":"5642:2:37"},"returnParameters":{"id":37781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37807,"src":"5676:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5676:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5675:9:37"},"scope":37963,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":37842,"nodeType":"FunctionDefinition","src":"6209:221:37","nodes":[],"body":{"id":37841,"nodeType":"Block","src":"6269:161:37","nodes":[],"statements":[{"expression":{"id":37819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37814,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"6279:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":37816,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"6299:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37817,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37811,"src":"6313:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37815,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37902,"src":"6294:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6294:26:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6279:41:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37820,"nodeType":"ExpressionStatement","src":"6279:41:37"},{"expression":{"id":37830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37821,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"6330:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37823,"indexExpression":{"id":37822,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37809,"src":"6341:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37825,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"6352:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37827,"indexExpression":{"id":37826,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37809,"src":"6363:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6352:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37828,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37811,"src":"6368:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37824,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37902,"src":"6347:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:28:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:45:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37831,"nodeType":"ExpressionStatement","src":"6330:45:37"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":37835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6408:1:37","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":37834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6400:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37833,"name":"address","nodeType":"ElementaryTypeName","src":"6400:7:37","typeDescriptions":{}}},"id":37836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:10:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37837,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37809,"src":"6412:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37838,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37811,"src":"6416:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37832,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36955,"src":"6391:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6391:32:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37840,"nodeType":"EmitStatement","src":"6386:37:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6218:5:37","parameters":{"id":37812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37809,"mutability":"mutable","name":"to","nameLocation":"6232:2:37","nodeType":"VariableDeclaration","scope":37842,"src":"6224:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37808,"name":"address","nodeType":"ElementaryTypeName","src":"6224:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37811,"mutability":"mutable","name":"amount","nameLocation":"6244:6:37","nodeType":"VariableDeclaration","scope":37842,"src":"6236:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37810,"name":"uint256","nodeType":"ElementaryTypeName","src":"6236:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:28:37"},"returnParameters":{"id":37813,"nodeType":"ParameterList","parameters":[],"src":"6269:0:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":37877,"nodeType":"FunctionDefinition","src":"6436:229:37","nodes":[],"body":{"id":37876,"nodeType":"Block","src":"6498:167:37","nodes":[],"statements":[{"expression":{"id":37858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37849,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"6508:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37851,"indexExpression":{"id":37850,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37844,"src":"6519:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6508:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37853,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"6532:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37855,"indexExpression":{"id":37854,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37844,"src":"6543:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6532:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37856,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37846,"src":"6550:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37852,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"6527:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:30:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6508:49:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37859,"nodeType":"ExpressionStatement","src":"6508:49:37"},{"expression":{"id":37865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37860,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"6567:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":37862,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"6587:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37863,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37846,"src":"6601:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37861,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"6582:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:26:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6567:41:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37866,"nodeType":"ExpressionStatement","src":"6567:41:37"},{"eventCall":{"arguments":[{"id":37868,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37844,"src":"6633:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":37871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6647:1:37","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":37870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37869,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:37","typeDescriptions":{}}},"id":37872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:10:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37873,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37846,"src":"6651:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37867,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36955,"src":"6624:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:34:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37875,"nodeType":"EmitStatement","src":"6619:39:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6445:5:37","parameters":{"id":37847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37844,"mutability":"mutable","name":"from","nameLocation":"6459:4:37","nodeType":"VariableDeclaration","scope":37877,"src":"6451:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37843,"name":"address","nodeType":"ElementaryTypeName","src":"6451:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37846,"mutability":"mutable","name":"amount","nameLocation":"6473:6:37","nodeType":"VariableDeclaration","scope":37877,"src":"6465:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37845,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6450:30:37"},"returnParameters":{"id":37848,"nodeType":"ParameterList","parameters":[],"src":"6498:0:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":37902,"nodeType":"FunctionDefinition","src":"6859:173:37","nodes":[],"body":{"id":37901,"nodeType":"Block","src":"6927:105:37","nodes":[],"statements":[{"assignments":[37887],"declarations":[{"constant":false,"id":37887,"mutability":"mutable","name":"c","nameLocation":"6945:1:37","nodeType":"VariableDeclaration","scope":37901,"src":"6937:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37886,"name":"uint256","nodeType":"ElementaryTypeName","src":"6937:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37891,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37888,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37879,"src":"6949:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":37889,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37881,"src":"6953:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6949:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6937:17:37"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37893,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37887,"src":"6972:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":37894,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37879,"src":"6977:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6972:6:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206164646974696f6e206f766572666c6f77","id":37896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6980:26:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""},"value":"ERC20: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""}],"id":37892,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6964:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:43:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37898,"nodeType":"ExpressionStatement","src":"6964:43:37"},{"expression":{"id":37899,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37887,"src":"7024:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37885,"id":37900,"nodeType":"Return","src":"7017:8:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6868:4:37","parameters":{"id":37882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37879,"mutability":"mutable","name":"a","nameLocation":"6881:1:37","nodeType":"VariableDeclaration","scope":37902,"src":"6873:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37878,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37881,"mutability":"mutable","name":"b","nameLocation":"6892:1:37","nodeType":"VariableDeclaration","scope":37902,"src":"6884:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37880,"name":"uint256","nodeType":"ElementaryTypeName","src":"6884:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6872:22:37"},"returnParameters":{"id":37885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37902,"src":"6918:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37883,"name":"uint256","nodeType":"ElementaryTypeName","src":"6918:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6917:9:37"},"scope":37963,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37923,"nodeType":"FunctionDefinition","src":"7038:154:37","nodes":[],"body":{"id":37922,"nodeType":"Block","src":"7106:86:37","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37912,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37904,"src":"7124:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":37913,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37906,"src":"7129:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7124:6:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207375627472616374696f6e20756e646572666c6f77","id":37915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:30:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""},"value":"ERC20: subtraction underflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""}],"id":37911,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7116:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:47:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37917,"nodeType":"ExpressionStatement","src":"7116:47:37"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37918,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37904,"src":"7180:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":37919,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37906,"src":"7184:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7180:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37910,"id":37921,"nodeType":"Return","src":"7173:12:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sub","nameLocation":"7047:4:37","parameters":{"id":37907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37904,"mutability":"mutable","name":"a","nameLocation":"7060:1:37","nodeType":"VariableDeclaration","scope":37923,"src":"7052:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37903,"name":"uint256","nodeType":"ElementaryTypeName","src":"7052:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37906,"mutability":"mutable","name":"b","nameLocation":"7071:1:37","nodeType":"VariableDeclaration","scope":37923,"src":"7063:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37905,"name":"uint256","nodeType":"ElementaryTypeName","src":"7063:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7051:22:37"},"returnParameters":{"id":37910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37923,"src":"7097:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37908,"name":"uint256","nodeType":"ElementaryTypeName","src":"7097:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7096:9:37"},"scope":37963,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37935,"nodeType":"FunctionDefinition","src":"7735:276:37","nodes":[],"body":{"id":37934,"nodeType":"Block","src":"7798:213:37","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"7893:44:37","statements":[{"nodeType":"YulAssignment","src":"7907:20:37","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"7918:7:37"},"nodeType":"YulFunctionCall","src":"7918:9:37"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"7907:7:37"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":37926,"isOffset":false,"isSlot":false,"src":"7907:7:37","valueSize":1}],"id":37928,"nodeType":"InlineAssembly","src":"7884:53:37"},{"expression":{"arguments":[{"id":37931,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7955:4:37","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$37963","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$37963","typeString":"contract MockERC20"}],"id":37930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7947:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37929,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:37","typeDescriptions":{}}},"id":37932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":37933,"nodeType":"ExpressionStatement","src":"7947:13:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"7744:12:37","parameters":{"id":37924,"nodeType":"ParameterList","parameters":[],"src":"7756:2:37"},"returnParameters":{"id":37927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37926,"mutability":"mutable","name":"chainId","nameLocation":"7789:7:37","nodeType":"VariableDeclaration","scope":37935,"src":"7781:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37925,"name":"uint256","nodeType":"ElementaryTypeName","src":"7781:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7780:17:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":37962,"nodeType":"FunctionDefinition","src":"8017:300:37","nodes":[],"body":{"id":37961,"nodeType":"Block","src":"8080:237:37","nodes":[],"statements":[{"assignments":[37945],"declarations":[{"constant":false,"id":37945,"mutability":"mutable","name":"fnIn","nameLocation":"8133:4:37","nodeType":"VariableDeclaration","scope":37961,"src":"8090:47:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":37944,"nodeType":"FunctionTypeName","parameterTypes":{"id":37940,"nodeType":"ParameterList","parameters":[],"src":"8098:2:37"},"returnParameterTypes":{"id":37943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37942,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37944,"src":"8124:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37941,"name":"uint256","nodeType":"ElementaryTypeName","src":"8124:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:9:37"},"src":"8090:47:37","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":37947,"initialValue":{"id":37946,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37935,"src":"8140:12:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8090:62:37"},{"assignments":[37953],"declarations":[{"constant":false,"id":37953,"mutability":"mutable","name":"pureChainId","nameLocation":"8205:11:37","nodeType":"VariableDeclaration","scope":37961,"src":"8162:54:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":37952,"nodeType":"FunctionTypeName","parameterTypes":{"id":37948,"nodeType":"ParameterList","parameters":[],"src":"8170:2:37"},"returnParameterTypes":{"id":37951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37950,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37952,"src":"8196:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37949,"name":"uint256","nodeType":"ElementaryTypeName","src":"8196:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8195:9:37"},"src":"8162:54:37","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":37954,"nodeType":"VariableDeclarationStatement","src":"8162:54:37"},{"AST":{"nodeType":"YulBlock","src":"8235:43:37","statements":[{"nodeType":"YulAssignment","src":"8249:19:37","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"8264:4:37"},"variableNames":[{"name":"pureChainId","nodeType":"YulIdentifier","src":"8249:11:37"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":37945,"isOffset":false,"isSlot":false,"src":"8264:4:37","valueSize":1},{"declaration":37953,"isOffset":false,"isSlot":false,"src":"8249:11:37","valueSize":1}],"id":37955,"nodeType":"InlineAssembly","src":"8226:52:37"},{"expression":{"id":37959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37956,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37938,"src":"8287:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":37957,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37953,"src":"8297:11:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":37958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8297:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8287:23:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37960,"nodeType":"ExpressionStatement","src":"8287:23:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"8026:12:37","parameters":{"id":37936,"nodeType":"ParameterList","parameters":[],"src":"8038:2:37"},"returnParameters":{"id":37939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37938,"mutability":"mutable","name":"chainId","nameLocation":"8071:7:37","nodeType":"VariableDeclaration","scope":37962,"src":"8063:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37937,"name":"uint256","nodeType":"ElementaryTypeName","src":"8063:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8062:17:37"},"scope":37963,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":37392,"name":"IERC20","nameLocations":["391:6:37"],"nodeType":"IdentifierPath","referencedDeclaration":37039,"src":"391:6:37"},"id":37393,"nodeType":"InheritanceSpecifier","src":"391:6:37"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":37391,"nodeType":"StructuredDocumentation","src":"115:254:37","text":"@notice This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol"},"fullyImplemented":true,"linearizedBaseContracts":[37963,37039],"name":"MockERC20","nameLocation":"378:9:37","scope":37964,"usedErrors":[]}],"license":"MIT"},"id":37} \ No newline at end of file +{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657610d89908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461098457508163095ea7b3146109255781631624f6c61461062a57816318160ddd1461060b57816323b872dd1461053a578163313ce567146105185781633644e515146104f457816370a08231146104be5781637ecebe001461048657816395d89b41146103c8578163a9059cbb14610347578163d505accf146100ff575063dd62ed3e146100b457600080fd5b346100fb57806003193601126100fb57806020926100d06109f9565b6100d8610a14565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b9050346103435760e03660031901126103435761011a6109f9565b610122610a14565b9260443590606435936084359360ff851680950361033f5742861061030257610149610b95565b9660018060a01b0380921696878a5260209660088852858b20998a549a6000198c146102ef5760018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830160018060401b0394848210868311176102dc578189528451902061010085019261190160f01b845261010286015261012285015260428152610160840194818610908611176102c957848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156102bf5787511690811515806102b6575b156102825750865260058352808620858752835280862082905551908152600080516020610d348339815191529190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5085821461024f565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b634e487b7160e01b8d526011875260248dfd5b506020606492519162461bcd60e51b8352820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152fd5b8780fd5b8280fd5b905034610343578160031936011261034357916020926103656109f9565b90836024359233855282875261037e8483872054610cbb565b3386528388528286205560018060a01b0316938481526103a18483832054610c51565b92858252875220558251908152600080516020610d14833981519152843392a35160018152f35b5050346100fb57816003193601126100fb578051908260018054906103ec82610ab9565b8086529181811690811561045e5750600114610423575b5050506104158261041f940383610a2a565b51918291826109b0565b0390f35b80955082526020948583205b82841061044b575050508261041f946104159282010194610403565b805486850188015292860192810161042f565b61041f97506104159450602092508693915060ff191682840152151560051b82010194610403565b5050346100fb5760203660031901126100fb5760209181906001600160a01b036104ae6109f9565b1681526008845220549051908152f35b9050346103435760203660031901126103435760209282916001600160a01b036104e66109f9565b168252845220549051908152f35b5050346100fb57816003193601126100fb57602090610511610b95565b9051908152f35b5050346100fb57816003193601126100fb5760209060ff600254169051908152f35b828434610608576060366003190112610608576105556109f9565b92600080516020610d1483398151915261056d610a14565b60443560018060a01b038097169384865286602098899460058652828920338a528652828920548560001982036105e5575b50508789528386526105b485848b2054610cbb565b888a52848752838a205516968781526105d08483832054610c51565b92888252855220558551908152a35160018152f35b6105ee91610cbb565b888a5260058752838a20338b528752838a20558b8561059f565b80fd5b5050346100fb57816003193601126100fb576020906003549051908152f35b839150346100fb5760603660031901126100fb576001600160401b039281358481116109215761065d9036908401610a63565b9360243581811161091d576106759036908501610a63565b926044359260ff84168094036109195760ff600954166108e0575085518281116108cd57806106a48754610ab9565b97601f9889811161087f575b5060209089831160011461081c578892610811575b50508160011b916000199060031b1c19161785555b83519182116107fe57506001926106f18454610ab9565b8681116107b9575b50602095821160011461075957948495829394959261074e575b5050600019600383901b1c191690831b1782555b60ff199081600254161760025546600655610740610baf565b600755600954161760095580f35b015190508580610713565b601f1982169584865280862091865b8881106107a35750838697989695961061078a575b505050811b018255610727565b015160001960f88460031b161c1916905585808061077d565b8183015184559286019260209283019201610768565b848652602086208780850160051c820192602086106107f5575b0160051c019085905b8281106107ea5750506106f9565b8781550185906107dc565b925081926107d3565b634e487b7160e01b855260419052602484fd5b0151905088806106c5565b8880528189209250601f198416895b818110610867575090846001959493921061084e575b505050811b0185556106da565b015160001960f88460031b161c19169055888080610841565b9293602060018192878601518155019501930161082b565b909150878052602088208980850160051c820192602086106108c4575b9085949392910160051c01905b8181106108b657506106b0565b8981558493506001016108a9565b9250819261089c565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b835282015260136024820152721053149150511657d253925512505312569151606a1b6044820152fd5b8580fd5b8480fd5b8380fd5b5050346100fb57806003193601126100fb57602091816109436109f9565b91602435918291338152600587528181209460018060a01b031694858252875220558251908152600080516020610d34833981519152843392a35160018152f35b8490843461034357826003193601126103435761041f9250610415826109a981610af3565b0383610a2a565b6020808252825181830181905290939260005b8281106109e557505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016109c3565b600435906001600160a01b0382168203610a0f57565b600080fd5b602435906001600160a01b0382168203610a0f57565b601f909101601f19168101906001600160401b03821190821017610a4d57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610a0f578035906001600160401b038211610a4d5760405192610a97601f8401601f191660200185610a2a565b82845260208383010111610a0f57816000926020809301838601378301015290565b90600182811c92168015610ae9575b6020831014610ad357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ac8565b9060009160005490610b0482610ab9565b908181526001928381169081600014610b7a5750600114610b2457505050565b600080805293945060209392909190847f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838610610b665750505050010190565b805485870183015294019385908201610b56565b91935050602093945060ff191683830152151560051b010190565b6006544603610ba45760075490565b610bac610baf565b90565b604051610bc681610bbf81610af3565b0382610a2a565b6020815191012060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610a4d5760405251902090565b90810190818111610ca5578110610c655790565b60405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90808210610ccf578103908111610ca55790565b60405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b6044820152606490fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212205d2836f21cf27d3262caad52c9ed8d9e358ff61b6b1dfa7aa7d0b3fcfccc0ee964736f6c63430008130033","sourceMap":"369:7950:37:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461098457508163095ea7b3146109255781631624f6c61461062a57816318160ddd1461060b57816323b872dd1461053a578163313ce567146105185781633644e515146104f457816370a08231146104be5781637ecebe001461048657816395d89b41146103c8578163a9059cbb14610347578163d505accf146100ff575063dd62ed3e146100b457600080fd5b346100fb57806003193601126100fb57806020926100d06109f9565b6100d8610a14565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b9050346103435760e03660031901126103435761011a6109f9565b610122610a14565b9260443590606435936084359360ff851680950361033f5742861061030257610149610b95565b9660018060a01b0380921696878a5260209660088852858b20998a549a6000198c146102ef5760018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830160018060401b0394848210868311176102dc578189528451902061010085019261190160f01b845261010286015261012285015260428152610160840194818610908611176102c957848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156102bf5787511690811515806102b6575b156102825750865260058352808620858752835280862082905551908152600080516020610d348339815191529190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5085821461024f565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b634e487b7160e01b8d526011875260248dfd5b506020606492519162461bcd60e51b8352820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152fd5b8780fd5b8280fd5b905034610343578160031936011261034357916020926103656109f9565b90836024359233855282875261037e8483872054610cbb565b3386528388528286205560018060a01b0316938481526103a18483832054610c51565b92858252875220558251908152600080516020610d14833981519152843392a35160018152f35b5050346100fb57816003193601126100fb578051908260018054906103ec82610ab9565b8086529181811690811561045e5750600114610423575b5050506104158261041f940383610a2a565b51918291826109b0565b0390f35b80955082526020948583205b82841061044b575050508261041f946104159282010194610403565b805486850188015292860192810161042f565b61041f97506104159450602092508693915060ff191682840152151560051b82010194610403565b5050346100fb5760203660031901126100fb5760209181906001600160a01b036104ae6109f9565b1681526008845220549051908152f35b9050346103435760203660031901126103435760209282916001600160a01b036104e66109f9565b168252845220549051908152f35b5050346100fb57816003193601126100fb57602090610511610b95565b9051908152f35b5050346100fb57816003193601126100fb5760209060ff600254169051908152f35b828434610608576060366003190112610608576105556109f9565b92600080516020610d1483398151915261056d610a14565b60443560018060a01b038097169384865286602098899460058652828920338a528652828920548560001982036105e5575b50508789528386526105b485848b2054610cbb565b888a52848752838a205516968781526105d08483832054610c51565b92888252855220558551908152a35160018152f35b6105ee91610cbb565b888a5260058752838a20338b528752838a20558b8561059f565b80fd5b5050346100fb57816003193601126100fb576020906003549051908152f35b839150346100fb5760603660031901126100fb576001600160401b039281358481116109215761065d9036908401610a63565b9360243581811161091d576106759036908501610a63565b926044359260ff84168094036109195760ff600954166108e0575085518281116108cd57806106a48754610ab9565b97601f9889811161087f575b5060209089831160011461081c578892610811575b50508160011b916000199060031b1c19161785555b83519182116107fe57506001926106f18454610ab9565b8681116107b9575b50602095821160011461075957948495829394959261074e575b5050600019600383901b1c191690831b1782555b60ff199081600254161760025546600655610740610baf565b600755600954161760095580f35b015190508580610713565b601f1982169584865280862091865b8881106107a35750838697989695961061078a575b505050811b018255610727565b015160001960f88460031b161c1916905585808061077d565b8183015184559286019260209283019201610768565b848652602086208780850160051c820192602086106107f5575b0160051c019085905b8281106107ea5750506106f9565b8781550185906107dc565b925081926107d3565b634e487b7160e01b855260419052602484fd5b0151905088806106c5565b8880528189209250601f198416895b818110610867575090846001959493921061084e575b505050811b0185556106da565b015160001960f88460031b161c19169055888080610841565b9293602060018192878601518155019501930161082b565b909150878052602088208980850160051c820192602086106108c4575b9085949392910160051c01905b8181106108b657506106b0565b8981558493506001016108a9565b9250819261089c565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b835282015260136024820152721053149150511657d253925512505312569151606a1b6044820152fd5b8580fd5b8480fd5b8380fd5b5050346100fb57806003193601126100fb57602091816109436109f9565b91602435918291338152600587528181209460018060a01b031694858252875220558251908152600080516020610d34833981519152843392a35160018152f35b8490843461034357826003193601126103435761041f9250610415826109a981610af3565b0383610a2a565b6020808252825181830181905290939260005b8281106109e557505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016109c3565b600435906001600160a01b0382168203610a0f57565b600080fd5b602435906001600160a01b0382168203610a0f57565b601f909101601f19168101906001600160401b03821190821017610a4d57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610a0f578035906001600160401b038211610a4d5760405192610a97601f8401601f191660200185610a2a565b82845260208383010111610a0f57816000926020809301838601378301015290565b90600182811c92168015610ae9575b6020831014610ad357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ac8565b9060009160005490610b0482610ab9565b908181526001928381169081600014610b7a5750600114610b2457505050565b600080805293945060209392909190847f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838610610b665750505050010190565b805485870183015294019385908201610b56565b91935050602093945060ff191683830152151560051b010190565b6006544603610ba45760075490565b610bac610baf565b90565b604051610bc681610bbf81610af3565b0382610a2a565b6020815191012060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610a4d5760405251902090565b90810190818111610ca5578110610c655790565b60405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90808210610ccf578103908111610ca55790565b60405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b6044820152606490fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212205d2836f21cf27d3262caad52c9ed8d9e358ff61b6b1dfa7aa7d0b3fcfccc0ee964736f6c63430008130033","sourceMap":"369:7950:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;369:7950:37;;;;;1659:10;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4416:15;4404:27;;369:7950;;4617:18;;:::i;:::-;369:7950;;;;;;;;;;;;;;;5026:6;369:7950;;;;;;;;;;;;;;;;;;;;;;4692:413;;;;;369:7950;4732:157;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:413;;369:7950;;;;;;;;;;;;;;;;;;;;;;;4657:470;;4547:598;;;369:7950;;;;;;;;;;;;;;;4547:598;;369:7950;;;;;;;;;;;;;;;;;4520:639;;369:7950;;;;;;;;;;;;;;;;;;;4497:717;;;369:7950;;;;;;;4497:717;;;;;;;369:7950;5233:30;;;;:59;;;369:7950;;;;-1:-1:-1;369:7950:37;;5322:10;369:7950;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5383:31:37;369:7950;5383:31;369:7950;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;5233:59;5267:25;;;;5233:59;;4497:717;369:7950;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3420:10;;369:7950;;;;;3404:36;369:7950;;;;;3404:36;:::i;:::-;3420:10;369:7950;;;;;;;;;;;;;;;;;;;3467:28;369:7950;;;;;3467:28;:::i;:::-;369:7950;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3420:10:37;;3511:32;;369:7950;;;;;;;;;;;;;;;;;;;;;;;857:7;369:7950;;;;;;:::i;:::-;;;;;;;;;857:7;;;;369:7950;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;;;;-1:-1:-1;;;;;369:7950:37;;:::i;:::-;;;;1970:41;369:7950;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;;;;-1:-1:-1;;;;;369:7950:37;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;953:9;369:7950;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;;:::i;:::-;;-1:-1:-1;;;;;;;;;;;369:7950:37;;:::i;:::-;;;;;;;;;;;;;;;;;;;;3709:10;369:7950;;;;;3726:10;369:7950;;;;;;;;;;;3788:22;;3784:80;;369:7950;;;;;;;;;3894:30;369:7950;;;;;3894:30;:::i;:::-;369:7950;;;;;;;;;;;;;;;3951:28;369:7950;;;;;3951:28;:::i;:::-;369:7950;;;;;;;;;;;;;3995:26;369:7950;;;;;3784:80;3843:21;;;:::i;:::-;369:7950;;;3709:10;369:7950;;;;;3726:10;369:7950;;;;;;;;3784:80;;;;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;-1:-1:-1;;;;;369:7950:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;2611:11;369:7950;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;369:7950:37;;;;;;;;;;;;;;;;;;2707:21;369:7950;;;2707:21;369:7950;7884:53;2739:33;369:7950;2809:24;;:::i;:::-;2782:51;369:7950;2611:11;369:7950;;;2611:11;369:7950;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3167:10;;;;369:7950;;3156:10;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3167:10:37;;3212:37;;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;369:7950:37;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;369:7950:37;;;;;;:::o;:::-;;;;;-1:-1:-1;;369:7950:37;;;;-1:-1:-1;;;;;369:7950:37;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;369:7950:37;;;;;;;;;;;-1:-1:-1;;369:7950:37;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;369:7950:37;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5427:178::-;5528:16;369:7950;7884:53;5510:34;:88;;5547:24;369:7950;5427:178;:::o;5510:88::-;5574:24;;:::i;:::-;5427:178;:::o;5611:404::-;369:7950;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;5866:23;369:7950;;;5725:273;;369:7950;5753:95;369:7950;;;;;;5907:14;369:7950;;;;7884:53;369:7950;;;;5979:4;369:7950;;;;;5725:273;;369:7950;;;;;;;;;;;;;;;;;;;5702:306;;5611:404;:::o;6859:173::-;;369:7950;;;;;;;;6972:6;;369:7950;;6859:173;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;-1:-1:-1;369:7950:37;;;;;-1:-1:-1;369:7950:37;7038:154;;7124:6;;;369:7950;;;;;;;;;7038:154;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:37;;;;;;;;;;;;-1:-1:-1;;;369:7950:37;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":37395,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":37397,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":37399,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"},{"astId":37428,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_totalSupply","offset":0,"slot":"3","type":"t_uint256"},{"astId":37432,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_balanceOf","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":37438,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_allowance","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":37479,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_CHAIN_ID","offset":0,"slot":"6","type":"t_uint256"},{"astId":37481,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_DOMAIN_SEPARATOR","offset":0,"slot":"7","type":"t_bytes32"},{"astId":37485,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"nonces","offset":0,"slot":"8","type":"t_mapping(t_address,t_uint256)"},{"astId":37488,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"initialized","offset":0,"slot":"9","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC20.sol","id":37964,"exportedSymbols":{"IERC20":[37039],"MockERC20":[37963]},"nodeType":"SourceUnit","src":"32:8288:37","nodes":[{"id":37388,"nodeType":"PragmaDirective","src":"32:31:37","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":37390,"nodeType":"ImportDirective","src":"65:48:37","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","nameLocation":"-1:-1:-1","scope":37964,"sourceUnit":37040,"symbolAliases":[{"foreign":{"id":37389,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37039,"src":"73:6:37","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":37963,"nodeType":"ContractDefinition","src":"369:7950:37","nodes":[{"id":37395,"nodeType":"VariableDeclaration","src":"588:21:37","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"604:5:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":37394,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":37397,"nodeType":"VariableDeclaration","src":"616:23:37","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"632:7:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":37396,"name":"string","nodeType":"ElementaryTypeName","src":"616:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":37399,"nodeType":"VariableDeclaration","src":"646:24:37","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"661:9:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37398,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":37408,"nodeType":"FunctionDefinition","src":"677:92:37","nodes":[],"body":{"id":37407,"nodeType":"Block","src":"740:29:37","nodes":[],"statements":[{"expression":{"id":37405,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37395,"src":"757:5:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":37404,"id":37406,"nodeType":"Return","src":"750:12:37"}]},"baseFunctions":[37026],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"686:4:37","overrides":{"id":37401,"nodeType":"OverrideSpecifier","overrides":[],"src":"707:8:37"},"parameters":{"id":37400,"nodeType":"ParameterList","parameters":[],"src":"690:2:37"},"returnParameters":{"id":37404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37403,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37408,"src":"725:13:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37402,"name":"string","nodeType":"ElementaryTypeName","src":"725:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"724:15:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37417,"nodeType":"FunctionDefinition","src":"775:96:37","nodes":[],"body":{"id":37416,"nodeType":"Block","src":"840:31:37","nodes":[],"statements":[{"expression":{"id":37414,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37397,"src":"857:7:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":37413,"id":37415,"nodeType":"Return","src":"850:14:37"}]},"baseFunctions":[37032],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"784:6:37","overrides":{"id":37410,"nodeType":"OverrideSpecifier","overrides":[],"src":"807:8:37"},"parameters":{"id":37409,"nodeType":"ParameterList","parameters":[],"src":"790:2:37"},"returnParameters":{"id":37413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37417,"src":"825:13:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37411,"name":"string","nodeType":"ElementaryTypeName","src":"825:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"824:15:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37426,"nodeType":"FunctionDefinition","src":"877:92:37","nodes":[],"body":{"id":37425,"nodeType":"Block","src":"936:33:37","nodes":[],"statements":[{"expression":{"id":37423,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37399,"src":"953:9:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":37422,"id":37424,"nodeType":"Return","src":"946:16:37"}]},"baseFunctions":[37038],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"886:8:37","overrides":{"id":37419,"nodeType":"OverrideSpecifier","overrides":[],"src":"911:8:37"},"parameters":{"id":37418,"nodeType":"ParameterList","parameters":[],"src":"894:2:37"},"returnParameters":{"id":37422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37426,"src":"929:5:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37420,"name":"uint8","nodeType":"ElementaryTypeName","src":"929:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"928:7:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37428,"nodeType":"VariableDeclaration","src":"1158:29:37","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1175:12:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37427,"name":"uint256","nodeType":"ElementaryTypeName","src":"1158:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":37432,"nodeType":"VariableDeclaration","src":"1194:47:37","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1231:10:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":37431,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":37429,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1194:27:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":37430,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":37438,"nodeType":"VariableDeclaration","src":"1248:67:37","nodes":[],"constant":false,"mutability":"mutable","name":"_allowance","nameLocation":"1305:10:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":37437,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":37433,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1248:47:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":37436,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":37434,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1267:27:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":37435,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":37447,"nodeType":"FunctionDefinition","src":"1322:100:37","nodes":[],"body":{"id":37446,"nodeType":"Block","src":"1386:36:37","nodes":[],"statements":[{"expression":{"id":37444,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"1403:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37443,"id":37445,"nodeType":"Return","src":"1396:19:37"}]},"baseFunctions":[36970],"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1331:11:37","overrides":{"id":37440,"nodeType":"OverrideSpecifier","overrides":[],"src":"1359:8:37"},"parameters":{"id":37439,"nodeType":"ParameterList","parameters":[],"src":"1342:2:37"},"returnParameters":{"id":37443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37442,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37447,"src":"1377:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37441,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1376:9:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37460,"nodeType":"FunctionDefinition","src":"1428:116:37","nodes":[],"body":{"id":37459,"nodeType":"Block","src":"1503:41:37","nodes":[],"statements":[{"expression":{"baseExpression":{"id":37455,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"1520:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37457,"indexExpression":{"id":37456,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37449,"src":"1531:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:17:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37454,"id":37458,"nodeType":"Return","src":"1513:24:37"}]},"baseFunctions":[36978],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1437:9:37","overrides":{"id":37451,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:37"},"parameters":{"id":37450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37449,"mutability":"mutable","name":"owner","nameLocation":"1455:5:37","nodeType":"VariableDeclaration","scope":37460,"src":"1447:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37448,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:15:37"},"returnParameters":{"id":37454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37460,"src":"1494:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37452,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37477,"nodeType":"FunctionDefinition","src":"1550:142:37","nodes":[],"body":{"id":37476,"nodeType":"Block","src":"1642:50:37","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":37470,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"1659:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37472,"indexExpression":{"id":37471,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37462,"src":"1670:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:17:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37474,"indexExpression":{"id":37473,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37464,"src":"1677:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:26:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37469,"id":37475,"nodeType":"Return","src":"1652:33:37"}]},"baseFunctions":[36998],"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1559:9:37","overrides":{"id":37466,"nodeType":"OverrideSpecifier","overrides":[],"src":"1615:8:37"},"parameters":{"id":37465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37462,"mutability":"mutable","name":"owner","nameLocation":"1577:5:37","nodeType":"VariableDeclaration","scope":37477,"src":"1569:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37461,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37464,"mutability":"mutable","name":"spender","nameLocation":"1592:7:37","nodeType":"VariableDeclaration","scope":37477,"src":"1584:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37463,"name":"address","nodeType":"ElementaryTypeName","src":"1584:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1568:32:37"},"returnParameters":{"id":37469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37477,"src":"1633:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37467,"name":"uint256","nodeType":"ElementaryTypeName","src":"1633:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1632:9:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37479,"nodeType":"VariableDeclaration","src":"1882:33:37","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_CHAIN_ID","nameLocation":"1899:16:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37478,"name":"uint256","nodeType":"ElementaryTypeName","src":"1882:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":37481,"nodeType":"VariableDeclaration","src":"1922:41:37","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1939:24:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1922:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":37485,"nodeType":"VariableDeclaration","src":"1970:41:37","nodes":[],"constant":false,"functionSelector":"7ecebe00","mutability":"mutable","name":"nonces","nameLocation":"2005:6:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":37484,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":37482,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":37483,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":37488,"nodeType":"VariableDeclaration","src":"2271:24:37","nodes":[],"constant":false,"documentation":{"id":37486,"nodeType":"StructuredDocumentation","src":"2199:67:37","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2284:11:37","scope":37963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37487,"name":"bool","nodeType":"ElementaryTypeName","src":"2271:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":37531,"nodeType":"FunctionDefinition","src":"2504:365:37","nodes":[],"body":{"id":37530,"nodeType":"Block","src":"2592:277:37","nodes":[],"statements":[{"expression":{"arguments":[{"id":37500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2610:12:37","subExpression":{"id":37499,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37488,"src":"2611:11:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":37501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2624:21:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":37498,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2602:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37503,"nodeType":"ExpressionStatement","src":"2602:44:37"},{"expression":{"id":37506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37504,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37395,"src":"2657:5:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37505,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37491,"src":"2665:5:37","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2657:13:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":37507,"nodeType":"ExpressionStatement","src":"2657:13:37"},{"expression":{"id":37510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37508,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37397,"src":"2680:7:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37509,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37493,"src":"2690:7:37","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2680:17:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":37511,"nodeType":"ExpressionStatement","src":"2680:17:37"},{"expression":{"id":37514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37512,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37399,"src":"2707:9:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37513,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37495,"src":"2719:9:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2707:21:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":37515,"nodeType":"ExpressionStatement","src":"2707:21:37"},{"expression":{"id":37519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37516,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37479,"src":"2739:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":37517,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37962,"src":"2758:12:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":37518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2758:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2739:33:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37520,"nodeType":"ExpressionStatement","src":"2739:33:37"},{"expression":{"id":37524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37521,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37481,"src":"2782:24:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":37522,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37807,"src":"2809:22:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":37523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:24:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2782:51:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":37525,"nodeType":"ExpressionStatement","src":"2782:51:37"},{"expression":{"id":37528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37526,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37488,"src":"2844:11:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":37527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2858:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2844:18:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37529,"nodeType":"ExpressionStatement","src":"2844:18:37"}]},"documentation":{"id":37489,"nodeType":"StructuredDocumentation","src":"2302:197:37","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"1624f6c6","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2513:10:37","parameters":{"id":37496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37491,"mutability":"mutable","name":"name_","nameLocation":"2538:5:37","nodeType":"VariableDeclaration","scope":37531,"src":"2524:19:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37490,"name":"string","nodeType":"ElementaryTypeName","src":"2524:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":37493,"mutability":"mutable","name":"symbol_","nameLocation":"2559:7:37","nodeType":"VariableDeclaration","scope":37531,"src":"2545:21:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37492,"name":"string","nodeType":"ElementaryTypeName","src":"2545:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":37495,"mutability":"mutable","name":"decimals_","nameLocation":"2574:9:37","nodeType":"VariableDeclaration","scope":37531,"src":"2568:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37494,"name":"uint8","nodeType":"ElementaryTypeName","src":"2568:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2523:61:37"},"returnParameters":{"id":37497,"nodeType":"ParameterList","parameters":[],"src":"2592:0:37"},"scope":37963,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":37560,"nodeType":"FunctionDefinition","src":"3057:221:37","nodes":[],"body":{"id":37559,"nodeType":"Block","src":"3146:132:37","nodes":[],"statements":[{"expression":{"id":37548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":37541,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"3156:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37545,"indexExpression":{"expression":{"id":37542,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3167:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3167:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3156:22:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37546,"indexExpression":{"id":37544,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37533,"src":"3179:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3156:31:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37547,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37535,"src":"3190:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3156:40:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37549,"nodeType":"ExpressionStatement","src":"3156:40:37"},{"eventCall":{"arguments":[{"expression":{"id":37551,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3221:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3225:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3221:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37553,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37533,"src":"3233:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37554,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37535,"src":"3242:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37550,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36964,"src":"3212:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:37:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37556,"nodeType":"EmitStatement","src":"3207:42:37"},{"expression":{"hexValue":"74727565","id":37557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3267:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":37540,"id":37558,"nodeType":"Return","src":"3260:11:37"}]},"baseFunctions":[37008],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3066:7:37","overrides":{"id":37537,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:37"},"parameters":{"id":37536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37533,"mutability":"mutable","name":"spender","nameLocation":"3082:7:37","nodeType":"VariableDeclaration","scope":37560,"src":"3074:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37532,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37535,"mutability":"mutable","name":"amount","nameLocation":"3099:6:37","nodeType":"VariableDeclaration","scope":37560,"src":"3091:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37534,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3073:33:37"},"returnParameters":{"id":37540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37560,"src":"3140:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37538,"name":"bool","nodeType":"ElementaryTypeName","src":"3140:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3139:6:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":37604,"nodeType":"FunctionDefinition","src":"3284:288:37","nodes":[],"body":{"id":37603,"nodeType":"Block","src":"3369:203:37","nodes":[],"statements":[{"expression":{"id":37581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37570,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3379:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37573,"indexExpression":{"expression":{"id":37571,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3390:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3390:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3379:22:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37575,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3409:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37578,"indexExpression":{"expression":{"id":37576,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3420:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3420:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3409:22:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37579,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37564,"src":"3433:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37574,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"3404:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:36:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:61:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37582,"nodeType":"ExpressionStatement","src":"3379:61:37"},{"expression":{"id":37592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37583,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3450:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37585,"indexExpression":{"id":37584,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37562,"src":"3461:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3450:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37587,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3472:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37589,"indexExpression":{"id":37588,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37562,"src":"3483:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3472:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37590,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37564,"src":"3488:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37586,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37902,"src":"3467:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3467:28:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3450:45:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37593,"nodeType":"ExpressionStatement","src":"3450:45:37"},{"eventCall":{"arguments":[{"expression":{"id":37595,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3520:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3524:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3520:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37597,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37562,"src":"3532:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37598,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37564,"src":"3536:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37594,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36955,"src":"3511:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:32:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37600,"nodeType":"EmitStatement","src":"3506:37:37"},{"expression":{"hexValue":"74727565","id":37601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3561:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":37569,"id":37602,"nodeType":"Return","src":"3554:11:37"}]},"baseFunctions":[36988],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3293:8:37","overrides":{"id":37566,"nodeType":"OverrideSpecifier","overrides":[],"src":"3345:8:37"},"parameters":{"id":37565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37562,"mutability":"mutable","name":"to","nameLocation":"3310:2:37","nodeType":"VariableDeclaration","scope":37604,"src":"3302:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37561,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37564,"mutability":"mutable","name":"amount","nameLocation":"3322:6:37","nodeType":"VariableDeclaration","scope":37604,"src":"3314:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37563,"name":"uint256","nodeType":"ElementaryTypeName","src":"3314:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3301:28:37"},"returnParameters":{"id":37569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37568,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37604,"src":"3363:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37567,"name":"bool","nodeType":"ElementaryTypeName","src":"3363:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3362:6:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":37676,"nodeType":"FunctionDefinition","src":"3578:472:37","nodes":[],"body":{"id":37675,"nodeType":"Block","src":"3681:369:37","nodes":[],"statements":[{"assignments":[37617],"declarations":[{"constant":false,"id":37617,"mutability":"mutable","name":"allowed","nameLocation":"3699:7:37","nodeType":"VariableDeclaration","scope":37675,"src":"3691:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37616,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37624,"initialValue":{"baseExpression":{"baseExpression":{"id":37618,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"3709:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37620,"indexExpression":{"id":37619,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"3720:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:16:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37623,"indexExpression":{"expression":{"id":37621,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3726:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3730:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3726:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:28:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3691:46:37"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37625,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37617,"src":"3788:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":37630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3799:11:37","subExpression":{"arguments":[{"hexValue":"30","id":37628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:37","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":37627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3800:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":37626,"name":"uint256","nodeType":"ElementaryTypeName","src":"3800:7:37","typeDescriptions":{}}},"id":37629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:10:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3788:22:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37644,"nodeType":"IfStatement","src":"3784:80:37","trueBody":{"expression":{"id":37642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":37632,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"3812:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37636,"indexExpression":{"id":37633,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"3823:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3812:16:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37637,"indexExpression":{"expression":{"id":37634,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3829:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:6:37","memberName":"sender","nodeType":"MemberAccess","src":"3829:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3812:28:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":37639,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37617,"src":"3848:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37640,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37610,"src":"3857:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37638,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"3843:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:21:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3812:52:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37643,"nodeType":"ExpressionStatement","src":"3812:52:37"}},{"expression":{"id":37654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37645,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3875:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37647,"indexExpression":{"id":37646,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"3886:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3875:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37649,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3899:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37651,"indexExpression":{"id":37650,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"3910:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3899:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37652,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37610,"src":"3917:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37648,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"3894:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:30:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3875:49:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37655,"nodeType":"ExpressionStatement","src":"3875:49:37"},{"expression":{"id":37665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37656,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3934:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37658,"indexExpression":{"id":37657,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37608,"src":"3945:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3934:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37660,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"3956:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37662,"indexExpression":{"id":37661,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37608,"src":"3967:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3956:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37663,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37610,"src":"3972:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37659,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37902,"src":"3951:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:28:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:45:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37666,"nodeType":"ExpressionStatement","src":"3934:45:37"},{"eventCall":{"arguments":[{"id":37668,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37606,"src":"4004:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37669,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37608,"src":"4010:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37670,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37610,"src":"4014:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37667,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36955,"src":"3995:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:26:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37672,"nodeType":"EmitStatement","src":"3990:31:37"},{"expression":{"hexValue":"74727565","id":37673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4039:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":37615,"id":37674,"nodeType":"Return","src":"4032:11:37"}]},"baseFunctions":[37020],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3587:12:37","overrides":{"id":37612,"nodeType":"OverrideSpecifier","overrides":[],"src":"3657:8:37"},"parameters":{"id":37611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37606,"mutability":"mutable","name":"from","nameLocation":"3608:4:37","nodeType":"VariableDeclaration","scope":37676,"src":"3600:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37605,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37608,"mutability":"mutable","name":"to","nameLocation":"3622:2:37","nodeType":"VariableDeclaration","scope":37676,"src":"3614:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37607,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37610,"mutability":"mutable","name":"amount","nameLocation":"3634:6:37","nodeType":"VariableDeclaration","scope":37676,"src":"3626:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37609,"name":"uint256","nodeType":"ElementaryTypeName","src":"3626:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:42:37"},"returnParameters":{"id":37615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37676,"src":"3675:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37613,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3674:6:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":37762,"nodeType":"FunctionDefinition","src":"4239:1182:37","nodes":[],"body":{"id":37761,"nodeType":"Block","src":"4386:1035:37","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37694,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37684,"src":"4404:8:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":37695,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4416:5:37","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":37696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:9:37","memberName":"timestamp","nodeType":"MemberAccess","src":"4416:15:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4404:27:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":37698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4433:25:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":37693,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4396:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:63:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37700,"nodeType":"ExpressionStatement","src":"4396:63:37"},{"assignments":[37702],"declarations":[{"constant":false,"id":37702,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4478:16:37","nodeType":"VariableDeclaration","scope":37761,"src":"4470:24:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37701,"name":"address","nodeType":"ElementaryTypeName","src":"4470:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":37732,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":37707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4585:10:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":37708,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37777,"src":"4617:16:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":37709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:18:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":37714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:84:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":37713,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4732:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:157:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":37716,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37678,"src":"4919:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37717,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37680,"src":"4954:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37718,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37682,"src":"4991:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5026:15:37","subExpression":{"baseExpression":{"id":37719,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37485,"src":"5026:6:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37721,"indexExpression":{"id":37720,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37678,"src":"5033:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5026:13:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37723,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37684,"src":"5071:8:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":37711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4692:3:37","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":37712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4696:6:37","memberName":"encode","nodeType":"MemberAccess","src":"4692:10:37","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":37724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4692:413:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":37710,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4657:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:470:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":37705,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4547:3:37","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":37706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:12:37","memberName":"encodePacked","nodeType":"MemberAccess","src":"4547:16:37","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":37726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:598:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":37704,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4520:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:639:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":37728,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37686,"src":"5173:1:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":37729,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37688,"src":"5188:1:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":37730,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37690,"src":"5203:1:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":37703,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4497:9:37","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":37731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:717:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4470:744:37"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":37743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37734,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37702,"src":"5233:16:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":37737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:37","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":37736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5253:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37735,"name":"address","nodeType":"ElementaryTypeName","src":"5253:7:37","typeDescriptions":{}}},"id":37738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:10:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5233:30:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37740,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37702,"src":"5267:16:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":37741,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37678,"src":"5287:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5267:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5233:59:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":37744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:16:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":37733,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5225:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:86:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37746,"nodeType":"ExpressionStatement","src":"5225:86:37"},{"expression":{"id":37753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":37747,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37438,"src":"5322:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":37750,"indexExpression":{"id":37748,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37702,"src":"5333:16:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5322:28:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37751,"indexExpression":{"id":37749,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37680,"src":"5351:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5322:37:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37752,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37682,"src":"5362:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:45:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37754,"nodeType":"ExpressionStatement","src":"5322:45:37"},{"eventCall":{"arguments":[{"id":37756,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37678,"src":"5392:5:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37757,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37680,"src":"5399:7:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37758,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37682,"src":"5408:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37755,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36964,"src":"5383:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:31:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37760,"nodeType":"EmitStatement","src":"5378:36:37"}]},"functionSelector":"d505accf","implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4248:6:37","parameters":{"id":37691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37678,"mutability":"mutable","name":"owner","nameLocation":"4263:5:37","nodeType":"VariableDeclaration","scope":37762,"src":"4255:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37677,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37680,"mutability":"mutable","name":"spender","nameLocation":"4278:7:37","nodeType":"VariableDeclaration","scope":37762,"src":"4270:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37679,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37682,"mutability":"mutable","name":"value","nameLocation":"4295:5:37","nodeType":"VariableDeclaration","scope":37762,"src":"4287:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37681,"name":"uint256","nodeType":"ElementaryTypeName","src":"4287:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37684,"mutability":"mutable","name":"deadline","nameLocation":"4310:8:37","nodeType":"VariableDeclaration","scope":37762,"src":"4302:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37683,"name":"uint256","nodeType":"ElementaryTypeName","src":"4302:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37686,"mutability":"mutable","name":"v","nameLocation":"4326:1:37","nodeType":"VariableDeclaration","scope":37762,"src":"4320:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37685,"name":"uint8","nodeType":"ElementaryTypeName","src":"4320:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":37688,"mutability":"mutable","name":"r","nameLocation":"4337:1:37","nodeType":"VariableDeclaration","scope":37762,"src":"4329:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4329:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37690,"mutability":"mutable","name":"s","nameLocation":"4348:1:37","nodeType":"VariableDeclaration","scope":37762,"src":"4340:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4340:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4254:96:37"},"returnParameters":{"id":37692,"nodeType":"ParameterList","parameters":[],"src":"4386:0:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":37777,"nodeType":"FunctionDefinition","src":"5427:178:37","nodes":[],"body":{"id":37776,"nodeType":"Block","src":"5493:112:37","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":37767,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37962,"src":"5510:12:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":37768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":37769,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37479,"src":"5528:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5510:34:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":37772,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37807,"src":"5574:22:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":37773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:24:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":37774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5510:88:37","trueExpression":{"id":37771,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37481,"src":"5547:24:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":37766,"id":37775,"nodeType":"Return","src":"5503:95:37"}]},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5436:16:37","parameters":{"id":37763,"nodeType":"ParameterList","parameters":[],"src":"5452:2:37"},"returnParameters":{"id":37766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37765,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37777,"src":"5484:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5483:9:37"},"scope":37963,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":37807,"nodeType":"FunctionDefinition","src":"5611:404:37","nodes":[],"body":{"id":37806,"nodeType":"Block","src":"5685:330:37","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":37786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:84:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":37785,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5753:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:95:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":37791,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37395,"src":"5882:5:37","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":37790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5876:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":37789,"name":"bytes","nodeType":"ElementaryTypeName","src":"5876:5:37","typeDescriptions":{}}},"id":37792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":37788,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5866:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:23:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":37795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5917:3:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":37794,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5907:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":37797,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37962,"src":"5939:12:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":37798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":37801,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5979:4:37","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$37963","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$37963","typeString":"contract MockERC20"}],"id":37800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5971:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37799,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:37","typeDescriptions":{}}},"id":37802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5971:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":37783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5725:3:37","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":37784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5729:6:37","memberName":"encode","nodeType":"MemberAccess","src":"5725:10:37","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":37803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:273:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":37782,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5702:9:37","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":37804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:306:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":37781,"id":37805,"nodeType":"Return","src":"5695:313:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5620:22:37","parameters":{"id":37778,"nodeType":"ParameterList","parameters":[],"src":"5642:2:37"},"returnParameters":{"id":37781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37807,"src":"5676:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5676:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5675:9:37"},"scope":37963,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":37842,"nodeType":"FunctionDefinition","src":"6209:221:37","nodes":[],"body":{"id":37841,"nodeType":"Block","src":"6269:161:37","nodes":[],"statements":[{"expression":{"id":37819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37814,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"6279:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":37816,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"6299:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37817,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37811,"src":"6313:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37815,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37902,"src":"6294:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6294:26:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6279:41:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37820,"nodeType":"ExpressionStatement","src":"6279:41:37"},{"expression":{"id":37830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37821,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"6330:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37823,"indexExpression":{"id":37822,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37809,"src":"6341:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37825,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"6352:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37827,"indexExpression":{"id":37826,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37809,"src":"6363:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6352:14:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37828,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37811,"src":"6368:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37824,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37902,"src":"6347:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:28:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:45:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37831,"nodeType":"ExpressionStatement","src":"6330:45:37"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":37835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6408:1:37","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":37834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6400:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37833,"name":"address","nodeType":"ElementaryTypeName","src":"6400:7:37","typeDescriptions":{}}},"id":37836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:10:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37837,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37809,"src":"6412:2:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37838,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37811,"src":"6416:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37832,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36955,"src":"6391:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6391:32:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37840,"nodeType":"EmitStatement","src":"6386:37:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6218:5:37","parameters":{"id":37812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37809,"mutability":"mutable","name":"to","nameLocation":"6232:2:37","nodeType":"VariableDeclaration","scope":37842,"src":"6224:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37808,"name":"address","nodeType":"ElementaryTypeName","src":"6224:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37811,"mutability":"mutable","name":"amount","nameLocation":"6244:6:37","nodeType":"VariableDeclaration","scope":37842,"src":"6236:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37810,"name":"uint256","nodeType":"ElementaryTypeName","src":"6236:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:28:37"},"returnParameters":{"id":37813,"nodeType":"ParameterList","parameters":[],"src":"6269:0:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":37877,"nodeType":"FunctionDefinition","src":"6436:229:37","nodes":[],"body":{"id":37876,"nodeType":"Block","src":"6498:167:37","nodes":[],"statements":[{"expression":{"id":37858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":37849,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"6508:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37851,"indexExpression":{"id":37850,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37844,"src":"6519:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6508:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":37853,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37432,"src":"6532:10:37","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":37855,"indexExpression":{"id":37854,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37844,"src":"6543:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6532:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37856,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37846,"src":"6550:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37852,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"6527:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:30:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6508:49:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37859,"nodeType":"ExpressionStatement","src":"6508:49:37"},{"expression":{"id":37865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37860,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"6567:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":37862,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37428,"src":"6587:12:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37863,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37846,"src":"6601:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37861,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37923,"src":"6582:4:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":37864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:26:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6567:41:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37866,"nodeType":"ExpressionStatement","src":"6567:41:37"},{"eventCall":{"arguments":[{"id":37868,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37844,"src":"6633:4:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":37871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6647:1:37","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":37870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37869,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:37","typeDescriptions":{}}},"id":37872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:10:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37873,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37846,"src":"6651:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37867,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36955,"src":"6624:8:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":37874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:34:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37875,"nodeType":"EmitStatement","src":"6619:39:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6445:5:37","parameters":{"id":37847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37844,"mutability":"mutable","name":"from","nameLocation":"6459:4:37","nodeType":"VariableDeclaration","scope":37877,"src":"6451:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37843,"name":"address","nodeType":"ElementaryTypeName","src":"6451:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37846,"mutability":"mutable","name":"amount","nameLocation":"6473:6:37","nodeType":"VariableDeclaration","scope":37877,"src":"6465:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37845,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6450:30:37"},"returnParameters":{"id":37848,"nodeType":"ParameterList","parameters":[],"src":"6498:0:37"},"scope":37963,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":37902,"nodeType":"FunctionDefinition","src":"6859:173:37","nodes":[],"body":{"id":37901,"nodeType":"Block","src":"6927:105:37","nodes":[],"statements":[{"assignments":[37887],"declarations":[{"constant":false,"id":37887,"mutability":"mutable","name":"c","nameLocation":"6945:1:37","nodeType":"VariableDeclaration","scope":37901,"src":"6937:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37886,"name":"uint256","nodeType":"ElementaryTypeName","src":"6937:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37891,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37888,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37879,"src":"6949:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":37889,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37881,"src":"6953:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6949:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6937:17:37"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37893,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37887,"src":"6972:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":37894,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37879,"src":"6977:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6972:6:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206164646974696f6e206f766572666c6f77","id":37896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6980:26:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""},"value":"ERC20: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""}],"id":37892,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6964:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:43:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37898,"nodeType":"ExpressionStatement","src":"6964:43:37"},{"expression":{"id":37899,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37887,"src":"7024:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37885,"id":37900,"nodeType":"Return","src":"7017:8:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6868:4:37","parameters":{"id":37882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37879,"mutability":"mutable","name":"a","nameLocation":"6881:1:37","nodeType":"VariableDeclaration","scope":37902,"src":"6873:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37878,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37881,"mutability":"mutable","name":"b","nameLocation":"6892:1:37","nodeType":"VariableDeclaration","scope":37902,"src":"6884:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37880,"name":"uint256","nodeType":"ElementaryTypeName","src":"6884:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6872:22:37"},"returnParameters":{"id":37885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37902,"src":"6918:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37883,"name":"uint256","nodeType":"ElementaryTypeName","src":"6918:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6917:9:37"},"scope":37963,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37923,"nodeType":"FunctionDefinition","src":"7038:154:37","nodes":[],"body":{"id":37922,"nodeType":"Block","src":"7106:86:37","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37912,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37904,"src":"7124:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":37913,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37906,"src":"7129:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7124:6:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207375627472616374696f6e20756e646572666c6f77","id":37915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:30:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""},"value":"ERC20: subtraction underflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""}],"id":37911,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7116:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:47:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37917,"nodeType":"ExpressionStatement","src":"7116:47:37"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37918,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37904,"src":"7180:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":37919,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37906,"src":"7184:1:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7180:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37910,"id":37921,"nodeType":"Return","src":"7173:12:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sub","nameLocation":"7047:4:37","parameters":{"id":37907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37904,"mutability":"mutable","name":"a","nameLocation":"7060:1:37","nodeType":"VariableDeclaration","scope":37923,"src":"7052:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37903,"name":"uint256","nodeType":"ElementaryTypeName","src":"7052:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37906,"mutability":"mutable","name":"b","nameLocation":"7071:1:37","nodeType":"VariableDeclaration","scope":37923,"src":"7063:9:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37905,"name":"uint256","nodeType":"ElementaryTypeName","src":"7063:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7051:22:37"},"returnParameters":{"id":37910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37923,"src":"7097:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37908,"name":"uint256","nodeType":"ElementaryTypeName","src":"7097:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7096:9:37"},"scope":37963,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37935,"nodeType":"FunctionDefinition","src":"7735:276:37","nodes":[],"body":{"id":37934,"nodeType":"Block","src":"7798:213:37","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"7893:44:37","statements":[{"nodeType":"YulAssignment","src":"7907:20:37","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"7918:7:37"},"nodeType":"YulFunctionCall","src":"7918:9:37"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"7907:7:37"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":37926,"isOffset":false,"isSlot":false,"src":"7907:7:37","valueSize":1}],"id":37928,"nodeType":"InlineAssembly","src":"7884:53:37"},{"expression":{"arguments":[{"id":37931,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7955:4:37","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$37963","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$37963","typeString":"contract MockERC20"}],"id":37930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7947:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37929,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:37","typeDescriptions":{}}},"id":37932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":37933,"nodeType":"ExpressionStatement","src":"7947:13:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"7744:12:37","parameters":{"id":37924,"nodeType":"ParameterList","parameters":[],"src":"7756:2:37"},"returnParameters":{"id":37927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37926,"mutability":"mutable","name":"chainId","nameLocation":"7789:7:37","nodeType":"VariableDeclaration","scope":37935,"src":"7781:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37925,"name":"uint256","nodeType":"ElementaryTypeName","src":"7781:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7780:17:37"},"scope":37963,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":37962,"nodeType":"FunctionDefinition","src":"8017:300:37","nodes":[],"body":{"id":37961,"nodeType":"Block","src":"8080:237:37","nodes":[],"statements":[{"assignments":[37945],"declarations":[{"constant":false,"id":37945,"mutability":"mutable","name":"fnIn","nameLocation":"8133:4:37","nodeType":"VariableDeclaration","scope":37961,"src":"8090:47:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":37944,"nodeType":"FunctionTypeName","parameterTypes":{"id":37940,"nodeType":"ParameterList","parameters":[],"src":"8098:2:37"},"returnParameterTypes":{"id":37943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37942,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37944,"src":"8124:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37941,"name":"uint256","nodeType":"ElementaryTypeName","src":"8124:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:9:37"},"src":"8090:47:37","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":37947,"initialValue":{"id":37946,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37935,"src":"8140:12:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8090:62:37"},{"assignments":[37953],"declarations":[{"constant":false,"id":37953,"mutability":"mutable","name":"pureChainId","nameLocation":"8205:11:37","nodeType":"VariableDeclaration","scope":37961,"src":"8162:54:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":37952,"nodeType":"FunctionTypeName","parameterTypes":{"id":37948,"nodeType":"ParameterList","parameters":[],"src":"8170:2:37"},"returnParameterTypes":{"id":37951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37950,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37952,"src":"8196:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37949,"name":"uint256","nodeType":"ElementaryTypeName","src":"8196:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8195:9:37"},"src":"8162:54:37","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":37954,"nodeType":"VariableDeclarationStatement","src":"8162:54:37"},{"AST":{"nodeType":"YulBlock","src":"8235:43:37","statements":[{"nodeType":"YulAssignment","src":"8249:19:37","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"8264:4:37"},"variableNames":[{"name":"pureChainId","nodeType":"YulIdentifier","src":"8249:11:37"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":37945,"isOffset":false,"isSlot":false,"src":"8264:4:37","valueSize":1},{"declaration":37953,"isOffset":false,"isSlot":false,"src":"8249:11:37","valueSize":1}],"id":37955,"nodeType":"InlineAssembly","src":"8226:52:37"},{"expression":{"id":37959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37956,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37938,"src":"8287:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":37957,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37953,"src":"8297:11:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":37958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8297:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8287:23:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37960,"nodeType":"ExpressionStatement","src":"8287:23:37"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"8026:12:37","parameters":{"id":37936,"nodeType":"ParameterList","parameters":[],"src":"8038:2:37"},"returnParameters":{"id":37939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37938,"mutability":"mutable","name":"chainId","nameLocation":"8071:7:37","nodeType":"VariableDeclaration","scope":37962,"src":"8063:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37937,"name":"uint256","nodeType":"ElementaryTypeName","src":"8063:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8062:17:37"},"scope":37963,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":37392,"name":"IERC20","nameLocations":["391:6:37"],"nodeType":"IdentifierPath","referencedDeclaration":37039,"src":"391:6:37"},"id":37393,"nodeType":"InheritanceSpecifier","src":"391:6:37"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":37391,"nodeType":"StructuredDocumentation","src":"115:254:37","text":"@notice This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol"},"fullyImplemented":true,"linearizedBaseContracts":[37963,37039],"name":"MockERC20","nameLocation":"378:9:37","scope":37964,"usedErrors":[]}],"license":"MIT"},"id":37} \ No newline at end of file diff --git a/pkg/contracts/out/PassportScorer.sol/PassportScorer.json b/pkg/contracts/out/PassportScorer.sol/PassportScorer.json index 7b7c9d287..36160fbf3 100644 --- a/pkg/contracts/out/PassportScorer.sol/PassportScorer.json +++ b/pkg/contracts/out/PassportScorer.sol/PassportScorer.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"activateStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"_councilSafe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_passportData","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"canExecuteAction","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"changeListManager","inputs":[{"name":"_newManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Strategy","components":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_listManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"modifyThreshold","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_newThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategies","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"userScores","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListManagerChanged","inputs":[{"name":"oldManager","type":"address","indexed":true,"internalType":"address"},{"name":"newManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyActivated","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"threshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"active","type":"bool","indexed":false,"internalType":"bool"},{"name":"councilSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ThresholdModified","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"newThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserRemoved","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserScoreAdded","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"score","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastUpdated","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"OnlyAuthorized","inputs":[]},{"type":"error","name":"OnlyCouncil","inputs":[]},{"type":"error","name":"OnlyCouncilOrAuthorized","inputs":[]},{"type":"error","name":"StrategyAlreadyExists","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60a080604052346100315730608052611534908161003782396080518181816108c6015281816109e60152610d6b0152f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220fc5b99a07f12d7af75d94d4972be64bcfd595b2425afc33fa578a5eeabe922c964736f6c63430008130033","sourceMap":"452:5909:102:-:0;;;;;;;1088:4:61;1080:13;;452:5909:102;;;;;;1080:13:61;452:5909:102;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220fc5b99a07f12d7af75d94d4972be64bcfd595b2425afc33fa578a5eeabe922c964736f6c63430008130033","sourceMap":"452:5909:102:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;:::i;:::-;-1:-1:-1;;;;;452:5909:102;;;;;;;;;;;;;;;;;;;;1534:6:42;452:5909:102;;1388:10;:21;:50;;;;452:5909;1384:136;;;3730:9;3769:12;3730:9;;;;;:::i;:::-;3769:12;:::i;:::-;452:5909;;;;;3796:10;452:5909;;;;;;;;3796:36;;;;:87;;;1384:136;3792:148;;;;452:5909;;;;;4063:57;452:5909;;;;;:::i;:::-;;;;;3973:75;;452:5909;;;;;3973:75;;;452:5909;;;;;;;3796:10;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4063:57;452:5909;;3792:148;452:5909;;-1:-1:-1;;;3906:23:102;;;3796:87;452:5909;3836:33;452:5909;;;;3836:47;;;-1:-1:-1;3796:87:102;;;;1384:136;452:5909;;-1:-1:-1;;;1493:16:102;;452:5909;;1493:16;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6227:10;452:5909;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;:::i;:::-;1324:62:42;;;:::i;:::-;-1:-1:-1;;;;;452:5909:102;;2423:22:42;452:5909:102;;2517:8:42;;;;:::i;:::-;452:5909:102;;;;;;;;689:66:57;;;;452:5909:102;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:102;;;;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;:::i;:::-;-1:-1:-1;;;;;452:5909:102;;;;;;1870:10;452:5909;;;;;;1870:33;452:5909;;;;1856:10;452:5909;;;;;;1856:47;452:5909;;4727:9;;;452:5909;4727:9;;:::i;:::-;452:5909;;;1870:10;452:5909;;;;4747:28;452:5909;;-1:-1:-1;;452:5909:102;;;;;4797:28;452:5909;;4797:28;452:5909;;1852:130;452:5909;;-1:-1:-1;;;1958:13:102;;;452:5909;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;:::i;:::-;;;;;;;;3301:14:44;3347:34;;;;;;452:5909:102;3346:108:44;;;;452:5909:102;;;;-1:-1:-1;;;452:5909:102;;3551:1:44;452:5909:102;;;;3562:65:44;;452:5909:102;;5366:69:44;452:5909:102;;;;;;5366:69:44;;;:::i;:::-;;:::i;:::-;1216:12:42;965:10:48;1216:12:42;:::i;:::-;2264::102;;;:::i;:::-;2287:26;452:5909;;-1:-1:-1;;;;;;452:5909:102;-1:-1:-1;;;;;452:5909:102;;;;;;;;;;3647:99:44;;452:5909:102;;;3647:99:44;452:5909:102;3721:14:44;452:5909:102;;;;;;;;;3551:1:44;452:5909:102;;3721:14:44;452:5909:102;;3562:65:44;-1:-1:-1;;452:5909:102;;;;;3562:65:44;;;452:5909:102;;;;;;689:66:57;;;;452:5909:102;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:102;;;;;3346:108:44;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;452:5909:102;3452:1:44;452:5909:102;;;3436:17:44;3346:108;;3347:34;452:5909:102;3380:1:44;452:5909:102;;;3365:16:44;3347:34;;452:5909:102;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;452:5909:102;;;6004:10;452:5909;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;:::i;:::-;1534:6:42;452:5909:102;-1:-1:-1;;;;;452:5909:102;;;;1388:10;:21;:50;;;;452:5909;1384:136;;;2975:5;;;;;452:5909;2975:5;;:::i;:::-;452:5909;;;;;2998:10;452:5909;;;;;;;;;3030:18;;;;452:5909;;1384:136;452:5909;;-1:-1:-1;;;1493:16:102;;;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;550:26;452:5909;;;-1:-1:-1;;;;;452:5909:102;;;;;;;;;;;;;;;;;;;;;;1534:6:42;452:5909:102;;;-1:-1:-1;;;;;452:5909:102;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;1534:6:42;452:5909:102;;1388:10;:21;:50;;;;452:5909;1384:136;;;2637:5;2701:69;2637:5;;;;;452:5909;2637:5;;:::i;:::-;452:5909;;;;;2653:10;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;2701:69;452:5909;;1384:136;452:5909;;-1:-1:-1;;;1493:16:102;;;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;;;;1324:62:42;;:::i;:::-;2779:6;452:5909:102;;-1:-1:-1;;;;;;452:5909:102;;;;;;;-1:-1:-1;;;;;452:5909:102;-1:-1:-1;;;;;;;;;;;452:5909:102;;2827:40:42;452:5909:102;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1534:6:42;452:5909:102;;;;-1:-1:-1;;;;;452:5909:102;;;;1598:10;:21;:50;;;;452:5909;1598:101;;;;452:5909;1594:196;;;5168:9;;452:5909;5168:9;;;5250:43;5168:9;;:::i;:::-;452:5909;;;;;5188:10;452:5909;;;;;;;;;;;5250:43;452:5909;;1594:196;452:5909;;-1:-1:-1;;;1754:25:102;;;1598:101;452:5909;;;;;;1666:10;452:5909;;;;;;;1666:33;452:5909;;;;1598:10;1652:47;1598:101;;:50;452:5909;;1637:11;452:5909;;1598:10;1623:25;1598:50;;452:5909;;;;;;;;;;;;;;-1:-1:-1;2089:6:61;-1:-1:-1;;;;;452:5909:102;2080:4:61;2072:23;452:5909:102;;;;;-1:-1:-1;;;;;;;;;;;452:5909:102;;;;;;;;689:66:57;;;;452:5909:102;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:102;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;452:5909:102;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1654:6:61;452:5909:102;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;452:5909:102;;;;;1727:30:61;1719:87;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;;;;;;;452:5909:102;;;;;;2993:17:57;;;;;;;;;;:::i;2906:504::-;452:5909:102;;;;;;;;;;689:66:57;;;3046:52;;;;;;;;;;;;;;2906:504;-1:-1:-1;3042:291:57;;452:5909:102;;-1:-1:-1;;;3262:56:57;;;;;689:66;;;;452:5909:102;689:66:57;;452:5909:102;-1:-1:-1;;;;;;;;;;;452:5909:102;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;;;;;;689:66;;3042:291;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:57;;;452:5909:102;;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;;;452:5909:102;;2204:112:57;452:5909:102;7307:69:73;452:5909:102;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;452:5909:102;;;;7265:25:73;;;;;;452:5909:102;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;7307:69:73;:::i;:::-;;2204:112:57;;;;;;;;452:5909:102;-1:-1:-1;452:5909:102;;-1:-1:-1;7307:69:73;:::i;2208:28:57:-;;452:5909:102;2208:28:57;;689:66;452:5909:102;;-1:-1:-1;;;689:66:57;;;;;;;;;452:5909:102;689:66:57;;452:5909:102;689:66:57;452:5909:102;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;452:5909:102;;;3046:52:57;;;;;452:5909:102;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;452:5909:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;3273:11:102;;;:::i;:::-;3316;452:5909;;-1:-1:-1;;;;;452:5909:102;;;-1:-1:-1;;;;;;452:5909:102;;;;;;;;;;3377:43;;;;452:5909;;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;-1:-1:-1;;;;;452:5909:102;;;;;;;:::i;:::-;;;;639:46;452:5909;;;;;;;639:46;;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1654:6:61;452:5909:102;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;452:5909:102;;;;;1727:30:61;1719:87;:::i;:::-;1324:62:42;;:::i;:::-;452:5909:102;;;;;;;;;-1:-1:-1;;;;;452:5909:102;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:102;;;;;;2993:17:57;;;;;;;;;;:::i;2906:504::-;452:5909:102;;;;;;;;;;689:66:57;;;3046:52;;;;;;;;;;;;;;2906:504;-1:-1:-1;3042:291:57;;452:5909:102;;-1:-1:-1;;;3262:56:57;;;;;689:66;;;;;;;452:5909:102;-1:-1:-1;;;;;;;;;;;452:5909:102;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;;;;;;689:66;;3042:291;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:57;;;452:5909:102;;;2208:15:57;;;:28;;;2204:112;;2906:504;;;;;;452:5909:102;;2208:28:57;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;452:5909:102;-1:-1:-1;;;452:5909:102;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;:::i;:::-;1534:6:42;452:5909:102;-1:-1:-1;;;;;452:5909:102;;;;1598:10;:21;:50;;;;452:5909;1598:101;;;;452:5909;1594:196;;;4369:9;;;;;;;:::i;:::-;452:5909;;;;4389:10;452:5909;;;;;;4389:28;;452:5909;;-1:-1:-1;;452:5909:102;;;;4485:26;;;;452:5909;;1594:196;452:5909;;-1:-1:-1;;;1754:25:102;;;1598:101;452:5909;;;;;;1666:10;452:5909;;;;;;;1666:33;452:5909;;;;1598:10;1652:47;1598:101;;:50;452:5909;;1637:11;452:5909;;1598:10;1623:25;1598:50;;452:5909;;;;;;;;;-1:-1:-1;;452:5909:102;;;;;;-1:-1:-1;;;;;452:5909:102;;:::i;:::-;;;;583:50;452:5909;;;;;;583:50;;452:5909;;;;;;;;;;;;;-1:-1:-1;;;;;452:5909:102;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;452:5909:102;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;452:5909:102;;;;;;;:::o;:::-;;;;;-1:-1:-1;;452:5909:102;;;;-1:-1:-1;;;;;452:5909:102;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;452:5909:102;;;;;;-1:-1:-1;;452:5909:102;;;;:::o;1620:130:42:-;1534:6;452:5909:102;-1:-1:-1;;;;;452:5909:102;965:10:48;1683:23:42;452:5909:102;;1620:130:42:o;452:5909:102:-;;;;689:66:57;;;452:5909:102;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;452:5909:102;;-1:-1:-1;;;;;452:5909:102;;;-1:-1:-1;;;;;;452:5909:102;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;452:5909:102:-;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:102;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:102;;;;-1:-1:-1;;;452:5909:102;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:102;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:102;;;;-1:-1:-1;;;452:5909:102;;;;;;;1406:259:57;1702:19:73;;:23;452:5909:102;;-1:-1:-1;;;;;;;;;;;452:5909:102;;-1:-1:-1;;;;;;452:5909:102;-1:-1:-1;;;;;452:5909:102;;;;;;;;;1406:259:57:o;452:5909:102:-;;;-1:-1:-1;;;452:5909:102;;;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:102;;;;;;;7671:628:73;;;;7875:418;;;452:5909:102;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;452:5909:102;;8201:17:73;:::o;452:5909:102:-;;;-1:-1:-1;;;452:5909:102;;;;;;;;;;;;;;;;;;;;7875:418:73;452:5909:102;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;452:5909:102;;689:66:57;;;;9324:20:73;;452:5909:102;;9324:20:73;;;;452:5909:102;;;;;;;;;9000:1:73;452:5909:102;;;;;;;;;;;;9000:1:73;452:5909:102;;;;;;;;;;;;;;9324:20:73;;;;452:5909:102;;;;;;;;;;;;;;;;;;;-1:-1:-1;452:5909:102;;;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:102;;;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:102;;;;;;;1994:148;-1:-1:-1;;;;;452:5909:102;2067:22;2063:73;;1994:148::o;2063:73::-;452:5909;;-1:-1:-1;;;2112:13:102;;;;;5465:345;;452:5909;;;;;;;;-1:-1:-1;452:5909:102;5605:10;452:5909;;;;-1:-1:-1;452:5909:102;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;452:5909:102;5659:10;452:5909;;;-1:-1:-1;452:5909:102;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:58;;452:5909;5766:37;;5465:345;:::o;5691:58::-;5727:11;;452:5909;5727:11;:::o","linkReferences":{},"immutableReferences":{"54869":[{"start":2246,"length":32},{"start":2534,"length":32},{"start":3435,"length":32}]}},"methodIdentifiers":{"activateStrategy(address)":"d80ea5a0","addStrategy(address,uint256,address)":"fc2ebdd1","addUserScore(address,(uint256,uint256))":"7814d568","canExecuteAction(address,address)":"42a987a0","changeListManager(address)":"3d476830","getStrategy(address)":"f8806a13","getUserScore(address)":"b34e0c47","initialize(address)":"c4d66de8","listManager()":"8df8b2fe","modifyThreshold(address,uint256)":"642ce76b","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","removeStrategy(address)":"175188e8","removeUser(address)":"98575188","renounceOwnership()":"715018a6","strategies(address)":"39ebf823","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","userScores(address)":"1413d4c0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilOrAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ListManagerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"ThresholdModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"name\":\"UserScoreAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_councilSafe\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"_passportData\",\"type\":\"tuple\"}],\"name\":\"addUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"canExecuteAction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getStrategy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"internalType\":\"struct Strategy\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserScore\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_listManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"modifyThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"removeUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"strategies\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userScores\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"activateStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to activate\"}},\"addStrategy(address,uint256,address)\":{\"params\":{\"_councilSafe\":\"address of the council safe\",\"_threshold\":\"is expressed on a scale of 10**4\"}},\"addUserScore(address,(uint256,uint256))\":{\"params\":{\"_passportData\":\"PassportData struct with the user score and lastUpdated\",\"_user\":\"address of the user to add\"}},\"canExecuteAction(address,address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\",\"_user\":\"address of the user to check\"}},\"changeListManager(address)\":{\"params\":{\"_newManager\":\"address of the new list manager\"}},\"getStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\"}},\"getUserScore(address)\":{\"params\":{\"_user\":\"address of the user to check\"}},\"modifyThreshold(address,uint256)\":{\"params\":{\"_newThreshold\":\"new threshold to set expressed on a scale of 10**4\",\"_strategy\":\"address of the strategy to modify\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to remove\"}},\"removeUser(address)\":{\"params\":{\"_user\":\"address of the user to remove\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateStrategy(address)\":{\"notice\":\"Activate a strategy\"},\"addStrategy(address,uint256,address)\":{\"notice\":\"Add a strategy to the contract\"},\"addUserScore(address,(uint256,uint256))\":{\"notice\":\"Add a userScore to the list\"},\"canExecuteAction(address,address)\":{\"notice\":\"Check if an action can be executed\"},\"changeListManager(address)\":{\"notice\":\"Change the list manager address\"},\"getStrategy(address)\":{\"notice\":\"Get the strategy data\"},\"getUserScore(address)\":{\"notice\":\"Get the score of a user\"},\"modifyThreshold(address,uint256)\":{\"notice\":\"Modify the threshold of a strategy\"},\"removeStrategy(address)\":{\"notice\":\"Remove a strategy from the contract\"},\"removeUser(address)\":{\"notice\":\"Remove a user from the list\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/PassportScorer.sol\":\"PassportScorer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf\",\"dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"OnlyAuthorized"},{"inputs":[],"type":"error","name":"OnlyCouncil"},{"inputs":[],"type":"error","name":"OnlyCouncilOrAuthorized"},{"inputs":[],"type":"error","name":"StrategyAlreadyExists"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"oldManager","type":"address","indexed":true},{"internalType":"address","name":"newManager","type":"address","indexed":true}],"type":"event","name":"ListManagerChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"threshold","type":"uint256","indexed":false},{"internalType":"bool","name":"active","type":"bool","indexed":false},{"internalType":"address","name":"councilSafe","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"newThreshold","type":"uint256","indexed":false}],"type":"event","name":"ThresholdModified","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"UserRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"score","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastUpdated","type":"uint256","indexed":false}],"type":"event","name":"UserScoreAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateStrategy"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"_councilSafe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"struct PassportData","name":"_passportData","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"addUserScore"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"canExecuteAction","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeListManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"struct Strategy","name":"","type":"tuple","components":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserScore","outputs":[{"internalType":"struct PassportData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_listManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"modifyThreshold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"strategies","outputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"userScores","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activateStrategy(address)":{"params":{"_strategy":"address of the strategy to activate"}},"addStrategy(address,uint256,address)":{"params":{"_councilSafe":"address of the council safe","_threshold":"is expressed on a scale of 10**4"}},"addUserScore(address,(uint256,uint256))":{"params":{"_passportData":"PassportData struct with the user score and lastUpdated","_user":"address of the user to add"}},"canExecuteAction(address,address)":{"params":{"_strategy":"address of the strategy to check","_user":"address of the user to check"}},"changeListManager(address)":{"params":{"_newManager":"address of the new list manager"}},"getStrategy(address)":{"params":{"_strategy":"address of the strategy to check"}},"getUserScore(address)":{"params":{"_user":"address of the user to check"}},"modifyThreshold(address,uint256)":{"params":{"_newThreshold":"new threshold to set expressed on a scale of 10**4","_strategy":"address of the strategy to modify"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"removeStrategy(address)":{"params":{"_strategy":"address of the strategy to remove"}},"removeUser(address)":{"params":{"_user":"address of the user to remove"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"activateStrategy(address)":{"notice":"Activate a strategy"},"addStrategy(address,uint256,address)":{"notice":"Add a strategy to the contract"},"addUserScore(address,(uint256,uint256))":{"notice":"Add a userScore to the list"},"canExecuteAction(address,address)":{"notice":"Check if an action can be executed"},"changeListManager(address)":{"notice":"Change the list manager address"},"getStrategy(address)":{"notice":"Get the strategy data"},"getUserScore(address)":{"notice":"Get the score of a user"},"modifyThreshold(address,uint256)":{"notice":"Modify the threshold of a strategy"},"removeStrategy(address)":{"notice":"Remove a strategy from the contract"},"removeUser(address)":{"notice":"Remove a user from the list"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/PassportScorer.sol":"PassportScorer"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b","urls":["bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf","dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":69455,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"listManager","offset":0,"slot":"101","type":"t_address"},{"astId":69460,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"userScores","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(PassportData)69351_storage)"},{"astId":69465,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"strategies","offset":0,"slot":"103","type":"t_mapping(t_address,t_struct(Strategy)69358_storage)"},{"astId":69928,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(PassportData)69351_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct PassportData)","numberOfBytes":"32","value":"t_struct(PassportData)69351_storage"},"t_mapping(t_address,t_struct(Strategy)69358_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Strategy)","numberOfBytes":"32","value":"t_struct(Strategy)69358_storage"},"t_struct(PassportData)69351_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":69348,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":69350,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(Strategy)69358_storage":{"encoding":"inplace","label":"struct Strategy","numberOfBytes":"64","members":[{"astId":69353,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"threshold","offset":0,"slot":"0","type":"t_uint256"},{"astId":69355,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"active","offset":0,"slot":"1","type":"t_bool"},{"astId":69357,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"councilSafe","offset":1,"slot":"1","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/PassportScorer.sol","id":69930,"exportedSymbols":{"ISybilScorer":[69433],"Initializable":[52449],"OwnableUpgradeable":[52200],"PassportData":[69351],"PassportScorer":[69929],"Strategy":[69358],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"46:6316:102","nodes":[{"id":69435,"nodeType":"PragmaDirective","src":"46:24:102","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":69439,"nodeType":"ImportDirective","src":"72:72:102","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69930,"sourceUnit":69434,"symbolAliases":[{"foreign":{"id":69436,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69433,"src":"80:12:102","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69437,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69351,"src":"94:12:102","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69438,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69358,"src":"108:8:102","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69441,"nodeType":"ImportDirective","src":"145:88:102","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69930,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":69440,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"153:15:102","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69443,"nodeType":"ImportDirective","src":"234:110:102","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69930,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":69442,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"242:18:102","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69445,"nodeType":"ImportDirective","src":"345:105:102","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":69930,"sourceUnit":52450,"symbolAliases":[{"foreign":{"id":69444,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52449,"src":"353:13:102","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69929,"nodeType":"ContractDefinition","src":"452:5909:102","nodes":[{"id":69455,"nodeType":"VariableDeclaration","src":"550:26:102","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"565:11:102","scope":69929,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69454,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":69460,"nodeType":"VariableDeclaration","src":"583:50:102","nodes":[],"constant":false,"functionSelector":"1413d4c0","mutability":"mutable","name":"userScores","nameLocation":"623:10:102","scope":69929,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$69351_storage_$","typeString":"mapping(address => struct PassportData)"},"typeName":{"id":69459,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":69456,"name":"address","nodeType":"ElementaryTypeName","src":"591:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"583:32:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$69351_storage_$","typeString":"mapping(address => struct PassportData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":69458,"nodeType":"UserDefinedTypeName","pathNode":{"id":69457,"name":"PassportData","nameLocations":["602:12:102"],"nodeType":"IdentifierPath","referencedDeclaration":69351,"src":"602:12:102"},"referencedDeclaration":69351,"src":"602:12:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_storage_ptr","typeString":"struct PassportData"}}},"visibility":"public"},{"id":69465,"nodeType":"VariableDeclaration","src":"639:46:102","nodes":[],"constant":false,"functionSelector":"39ebf823","mutability":"mutable","name":"strategies","nameLocation":"675:10:102","scope":69929,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy)"},"typeName":{"id":69464,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":69461,"name":"address","nodeType":"ElementaryTypeName","src":"647:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"639:28:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":69463,"nodeType":"UserDefinedTypeName","pathNode":{"id":69462,"name":"Strategy","nameLocations":["658:8:102"],"nodeType":"IdentifierPath","referencedDeclaration":69358,"src":"658:8:102"},"referencedDeclaration":69358,"src":"658:8:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage_ptr","typeString":"struct Strategy"}}},"visibility":"public"},{"id":69473,"nodeType":"EventDefinition","src":"692:79:102","nodes":[],"anonymous":false,"eventSelector":"1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d","name":"UserScoreAdded","nameLocation":"698:14:102","parameters":{"id":69472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69467,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"729:4:102","nodeType":"VariableDeclaration","scope":69473,"src":"713:20:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69466,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69469,"indexed":false,"mutability":"mutable","name":"score","nameLocation":"743:5:102","nodeType":"VariableDeclaration","scope":69473,"src":"735:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69468,"name":"uint256","nodeType":"ElementaryTypeName","src":"735:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69471,"indexed":false,"mutability":"mutable","name":"lastUpdated","nameLocation":"758:11:102","nodeType":"VariableDeclaration","scope":69473,"src":"750:19:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69470,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"712:58:102"}},{"id":69477,"nodeType":"EventDefinition","src":"776:40:102","nodes":[],"anonymous":false,"eventSelector":"e9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d","name":"UserRemoved","nameLocation":"782:11:102","parameters":{"id":69476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69475,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"810:4:102","nodeType":"VariableDeclaration","scope":69477,"src":"794:20:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69474,"name":"address","nodeType":"ElementaryTypeName","src":"794:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"793:22:102"}},{"id":69483,"nodeType":"EventDefinition","src":"821:81:102","nodes":[],"anonymous":false,"eventSelector":"5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc86","name":"ListManagerChanged","nameLocation":"827:18:102","parameters":{"id":69482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69479,"indexed":true,"mutability":"mutable","name":"oldManager","nameLocation":"862:10:102","nodeType":"VariableDeclaration","scope":69483,"src":"846:26:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69478,"name":"address","nodeType":"ElementaryTypeName","src":"846:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69481,"indexed":true,"mutability":"mutable","name":"newManager","nameLocation":"890:10:102","nodeType":"VariableDeclaration","scope":69483,"src":"874:26:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69480,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"845:56:102"}},{"id":69493,"nodeType":"EventDefinition","src":"907:99:102","nodes":[],"anonymous":false,"eventSelector":"9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb","name":"StrategyAdded","nameLocation":"913:13:102","parameters":{"id":69492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69485,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"943:8:102","nodeType":"VariableDeclaration","scope":69493,"src":"927:24:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69484,"name":"address","nodeType":"ElementaryTypeName","src":"927:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69487,"indexed":false,"mutability":"mutable","name":"threshold","nameLocation":"961:9:102","nodeType":"VariableDeclaration","scope":69493,"src":"953:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69486,"name":"uint256","nodeType":"ElementaryTypeName","src":"953:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69489,"indexed":false,"mutability":"mutable","name":"active","nameLocation":"977:6:102","nodeType":"VariableDeclaration","scope":69493,"src":"972:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69488,"name":"bool","nodeType":"ElementaryTypeName","src":"972:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":69491,"indexed":false,"mutability":"mutable","name":"councilSafe","nameLocation":"993:11:102","nodeType":"VariableDeclaration","scope":69493,"src":"985:19:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69490,"name":"address","nodeType":"ElementaryTypeName","src":"985:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"926:79:102"}},{"id":69497,"nodeType":"EventDefinition","src":"1011:48:102","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"1017:15:102","parameters":{"id":69496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69495,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1049:8:102","nodeType":"VariableDeclaration","scope":69497,"src":"1033:24:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69494,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1032:26:102"}},{"id":69501,"nodeType":"EventDefinition","src":"1064:50:102","nodes":[],"anonymous":false,"eventSelector":"652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb","name":"StrategyActivated","nameLocation":"1070:17:102","parameters":{"id":69500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69499,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1104:8:102","nodeType":"VariableDeclaration","scope":69501,"src":"1088:24:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69498,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1087:26:102"}},{"id":69507,"nodeType":"EventDefinition","src":"1119:72:102","nodes":[],"anonymous":false,"eventSelector":"40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09","name":"ThresholdModified","nameLocation":"1125:17:102","parameters":{"id":69506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69503,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1159:8:102","nodeType":"VariableDeclaration","scope":69507,"src":"1143:24:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69502,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69505,"indexed":false,"mutability":"mutable","name":"newThreshold","nameLocation":"1177:12:102","nodeType":"VariableDeclaration","scope":69507,"src":"1169:20:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69504,"name":"uint256","nodeType":"ElementaryTypeName","src":"1169:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1142:48:102"}},{"id":69509,"nodeType":"ErrorDefinition","src":"1197:23:102","nodes":[],"errorSelector":"7d7b71b5","name":"OnlyAuthorized","nameLocation":"1203:14:102","parameters":{"id":69508,"nodeType":"ParameterList","parameters":[],"src":"1217:2:102"}},{"id":69511,"nodeType":"ErrorDefinition","src":"1225:32:102","nodes":[],"errorSelector":"e3b6914b","name":"OnlyCouncilOrAuthorized","nameLocation":"1231:23:102","parameters":{"id":69510,"nodeType":"ParameterList","parameters":[],"src":"1254:2:102"}},{"id":69513,"nodeType":"ErrorDefinition","src":"1262:20:102","nodes":[],"errorSelector":"97ffbac9","name":"OnlyCouncil","nameLocation":"1268:11:102","parameters":{"id":69512,"nodeType":"ParameterList","parameters":[],"src":"1279:2:102"}},{"id":69515,"nodeType":"ErrorDefinition","src":"1287:20:102","nodes":[],"errorSelector":"d92e233d","name":"ZeroAddress","nameLocation":"1293:11:102","parameters":{"id":69514,"nodeType":"ParameterList","parameters":[],"src":"1304:2:102"}},{"id":69517,"nodeType":"ErrorDefinition","src":"1312:30:102","nodes":[],"errorSelector":"c45546f7","name":"StrategyAlreadyExists","nameLocation":"1318:21:102","parameters":{"id":69516,"nodeType":"ParameterList","parameters":[],"src":"1339:2:102"}},{"id":69537,"nodeType":"ModifierDefinition","src":"1348:178:102","nodes":[],"body":{"id":69536,"nodeType":"Block","src":"1374:152:102","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69519,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1388:3:102","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1392:6:102","memberName":"sender","nodeType":"MemberAccess","src":"1388:10:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":69521,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52123,"src":"1402:5:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":69522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1402:7:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1388:21:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69524,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1413:3:102","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1417:6:102","memberName":"sender","nodeType":"MemberAccess","src":"1413:10:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":69526,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69455,"src":"1427:11:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1413:25:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1388:50:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69534,"nodeType":"Block","src":"1472:48:102","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69531,"name":"OnlyAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69509,"src":"1493:14:102","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1493:16:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69533,"nodeType":"RevertStatement","src":"1486:23:102"}]},"id":69535,"nodeType":"IfStatement","src":"1384:136:102","trueBody":{"id":69530,"nodeType":"Block","src":"1440:26:102","statements":[{"id":69529,"nodeType":"PlaceholderStatement","src":"1454:1:102"}]}}]},"name":"onlyAuthorized","nameLocation":"1357:14:102","parameters":{"id":69518,"nodeType":"ParameterList","parameters":[],"src":"1371:2:102"},"virtual":false,"visibility":"internal"},{"id":69567,"nodeType":"ModifierDefinition","src":"1532:264:102","nodes":[],"body":{"id":69566,"nodeType":"Block","src":"1584:212:102","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69541,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1598:3:102","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1602:6:102","memberName":"sender","nodeType":"MemberAccess","src":"1598:10:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":69543,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52123,"src":"1612:5:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":69544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:7:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1598:21:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69546,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1623:3:102","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1627:6:102","memberName":"sender","nodeType":"MemberAccess","src":"1623:10:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":69548,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69455,"src":"1637:11:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1623:25:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:50:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69551,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1652:3:102","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1656:6:102","memberName":"sender","nodeType":"MemberAccess","src":"1652:10:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":69553,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"1666:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69555,"indexExpression":{"id":69554,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69539,"src":"1677:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1666:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"id":69556,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1688:11:102","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":69357,"src":"1666:33:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1652:47:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:101:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69564,"nodeType":"Block","src":"1733:57:102","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69561,"name":"OnlyCouncilOrAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69511,"src":"1754:23:102","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69563,"nodeType":"RevertStatement","src":"1747:32:102"}]},"id":69565,"nodeType":"IfStatement","src":"1594:196:102","trueBody":{"id":69560,"nodeType":"Block","src":"1701:26:102","statements":[{"id":69559,"nodeType":"PlaceholderStatement","src":"1715:1:102"}]}}]},"name":"onlyCouncilOrAuthorized","nameLocation":"1541:23:102","parameters":{"id":69540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69539,"mutability":"mutable","name":"_strategy","nameLocation":"1573:9:102","nodeType":"VariableDeclaration","scope":69567,"src":"1565:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69538,"name":"address","nodeType":"ElementaryTypeName","src":"1565:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1564:19:102"},"virtual":false,"visibility":"internal"},{"id":69586,"nodeType":"ModifierDefinition","src":"1802:186:102","nodes":[],"body":{"id":69585,"nodeType":"Block","src":"1842:146:102","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69571,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1856:3:102","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1860:6:102","memberName":"sender","nodeType":"MemberAccess","src":"1856:10:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":69573,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"1870:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69575,"indexExpression":{"id":69574,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69569,"src":"1881:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1870:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"id":69576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1892:11:102","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":69357,"src":"1870:33:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1856:47:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69583,"nodeType":"Block","src":"1937:45:102","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69580,"name":"OnlyCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69513,"src":"1958:11:102","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1958:13:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69582,"nodeType":"RevertStatement","src":"1951:20:102"}]},"id":69584,"nodeType":"IfStatement","src":"1852:130:102","trueBody":{"id":69579,"nodeType":"Block","src":"1905:26:102","statements":[{"id":69578,"nodeType":"PlaceholderStatement","src":"1919:1:102"}]}}]},"name":"onlyCouncil","nameLocation":"1811:11:102","parameters":{"id":69570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69569,"mutability":"mutable","name":"_strategy","nameLocation":"1831:9:102","nodeType":"VariableDeclaration","scope":69586,"src":"1823:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69568,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1822:19:102"},"virtual":false,"visibility":"internal"},{"id":69603,"nodeType":"FunctionDefinition","src":"1994:148:102","nodes":[],"body":{"id":69602,"nodeType":"Block","src":"2053:89:102","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69591,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69588,"src":"2067:8:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2087:1:102","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":69593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2079:7:102","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69592,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:102","typeDescriptions":{}}},"id":69595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2079:10:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2067:22:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69601,"nodeType":"IfStatement","src":"2063:73:102","trueBody":{"id":69600,"nodeType":"Block","src":"2091:45:102","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69597,"name":"ZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69515,"src":"2112:11:102","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2112:13:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69599,"nodeType":"RevertStatement","src":"2105:20:102"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"2003:18:102","parameters":{"id":69589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69588,"mutability":"mutable","name":"_address","nameLocation":"2030:8:102","nodeType":"VariableDeclaration","scope":69603,"src":"2022:16:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69587,"name":"address","nodeType":"ElementaryTypeName","src":"2022:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2021:18:102"},"returnParameters":{"id":69590,"nodeType":"ParameterList","parameters":[],"src":"2053:0:102"},"scope":69929,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":69622,"nodeType":"FunctionDefinition","src":"2148:172:102","nodes":[],"body":{"id":69621,"nodeType":"Block","src":"2209:111:102","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69610,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52095,"src":"2219:14:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":69611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2219:16:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69612,"nodeType":"ExpressionStatement","src":"2219:16:102"},{"expression":{"arguments":[{"id":69614,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69605,"src":"2264:12:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69613,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69603,"src":"2245:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2245:32:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69616,"nodeType":"ExpressionStatement","src":"2245:32:102"},{"expression":{"id":69619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69617,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69455,"src":"2287:11:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69618,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69605,"src":"2301:12:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2287:26:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69620,"nodeType":"ExpressionStatement","src":"2287:26:102"}]},"baseFunctions":[69363],"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":69608,"kind":"modifierInvocation","modifierName":{"id":69607,"name":"initializer","nameLocations":["2197:11:102"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"2197:11:102"},"nodeType":"ModifierInvocation","src":"2197:11:102"}],"name":"initialize","nameLocation":"2157:10:102","parameters":{"id":69606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69605,"mutability":"mutable","name":"_listManager","nameLocation":"2176:12:102","nodeType":"VariableDeclaration","scope":69622,"src":"2168:20:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69604,"name":"address","nodeType":"ElementaryTypeName","src":"2168:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2167:22:102"},"returnParameters":{"id":69609,"nodeType":"ParameterList","parameters":[],"src":"2209:0:102"},"scope":69929,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":69653,"nodeType":"FunctionDefinition","src":"2503:274:102","nodes":[],"body":{"id":69652,"nodeType":"Block","src":"2608:169:102","nodes":[],"statements":[{"expression":{"arguments":[{"id":69635,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69625,"src":"2637:5:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69634,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69603,"src":"2618:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69637,"nodeType":"ExpressionStatement","src":"2618:25:102"},{"expression":{"id":69642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":69638,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69460,"src":"2653:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$69351_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":69640,"indexExpression":{"id":69639,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69625,"src":"2664:5:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2653:17:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69641,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69628,"src":"2673:13:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_memory_ptr","typeString":"struct PassportData memory"}},"src":"2653:33:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_storage","typeString":"struct PassportData storage ref"}},"id":69643,"nodeType":"ExpressionStatement","src":"2653:33:102"},{"eventCall":{"arguments":[{"id":69645,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69625,"src":"2716:5:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69646,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69628,"src":"2723:13:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_memory_ptr","typeString":"struct PassportData memory"}},"id":69647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2737:5:102","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":69348,"src":"2723:19:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69648,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69628,"src":"2744:13:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_memory_ptr","typeString":"struct PassportData memory"}},"id":69649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2758:11:102","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":69350,"src":"2744:25:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69644,"name":"UserScoreAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69473,"src":"2701:14:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":69650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:69:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69651,"nodeType":"EmitStatement","src":"2696:74:102"}]},"baseFunctions":[69371],"documentation":{"id":69623,"nodeType":"StructuredDocumentation","src":"2326:172:102","text":"@notice Add a userScore to the list\n @param _user address of the user to add\n @param _passportData PassportData struct with the user score and lastUpdated"},"functionSelector":"7814d568","implemented":true,"kind":"function","modifiers":[{"id":69632,"kind":"modifierInvocation","modifierName":{"id":69631,"name":"onlyAuthorized","nameLocations":["2593:14:102"],"nodeType":"IdentifierPath","referencedDeclaration":69537,"src":"2593:14:102"},"nodeType":"ModifierInvocation","src":"2593:14:102"}],"name":"addUserScore","nameLocation":"2512:12:102","overrides":{"id":69630,"nodeType":"OverrideSpecifier","overrides":[],"src":"2584:8:102"},"parameters":{"id":69629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69625,"mutability":"mutable","name":"_user","nameLocation":"2533:5:102","nodeType":"VariableDeclaration","scope":69653,"src":"2525:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69624,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69628,"mutability":"mutable","name":"_passportData","nameLocation":"2560:13:102","nodeType":"VariableDeclaration","scope":69653,"src":"2540:33:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":69627,"nodeType":"UserDefinedTypeName","pathNode":{"id":69626,"name":"PassportData","nameLocations":["2540:12:102"],"nodeType":"IdentifierPath","referencedDeclaration":69351,"src":"2540:12:102"},"referencedDeclaration":69351,"src":"2540:12:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"2524:50:102"},"returnParameters":{"id":69633,"nodeType":"ParameterList","parameters":[],"src":"2608:0:102"},"scope":69929,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69676,"nodeType":"FunctionDefinition","src":"2878:177:102","nodes":[],"body":{"id":69675,"nodeType":"Block","src":"2946:109:102","nodes":[],"statements":[{"expression":{"arguments":[{"id":69663,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69656,"src":"2975:5:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69662,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69603,"src":"2956:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2956:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69665,"nodeType":"ExpressionStatement","src":"2956:25:102"},{"expression":{"id":69669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2991:24:102","subExpression":{"baseExpression":{"id":69666,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69460,"src":"2998:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$69351_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":69668,"indexExpression":{"id":69667,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69656,"src":"3009:5:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2998:17:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_storage","typeString":"struct PassportData storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69670,"nodeType":"ExpressionStatement","src":"2991:24:102"},{"eventCall":{"arguments":[{"id":69672,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69656,"src":"3042:5:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69671,"name":"UserRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69477,"src":"3030:11:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":69673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3030:18:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69674,"nodeType":"EmitStatement","src":"3025:23:102"}]},"baseFunctions":[69376],"documentation":{"id":69654,"nodeType":"StructuredDocumentation","src":"2783:90:102","text":"@notice Remove a user from the list\n @param _user address of the user to remove"},"functionSelector":"98575188","implemented":true,"kind":"function","modifiers":[{"id":69660,"kind":"modifierInvocation","modifierName":{"id":69659,"name":"onlyAuthorized","nameLocations":["2931:14:102"],"nodeType":"IdentifierPath","referencedDeclaration":69537,"src":"2931:14:102"},"nodeType":"ModifierInvocation","src":"2931:14:102"}],"name":"removeUser","nameLocation":"2887:10:102","overrides":{"id":69658,"nodeType":"OverrideSpecifier","overrides":[],"src":"2922:8:102"},"parameters":{"id":69657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69656,"mutability":"mutable","name":"_user","nameLocation":"2906:5:102","nodeType":"VariableDeclaration","scope":69676,"src":"2898:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69655,"name":"address","nodeType":"ElementaryTypeName","src":"2898:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2897:15:102"},"returnParameters":{"id":69661,"nodeType":"ParameterList","parameters":[],"src":"2946:0:102"},"scope":69929,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69703,"nodeType":"FunctionDefinition","src":"3168:259:102","nodes":[],"body":{"id":69702,"nodeType":"Block","src":"3244:183:102","nodes":[],"statements":[{"expression":{"arguments":[{"id":69686,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69679,"src":"3273:11:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69685,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69603,"src":"3254:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3254:31:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69688,"nodeType":"ExpressionStatement","src":"3254:31:102"},{"assignments":[69690],"declarations":[{"constant":false,"id":69690,"mutability":"mutable","name":"oldManager","nameLocation":"3303:10:102","nodeType":"VariableDeclaration","scope":69702,"src":"3295:18:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69689,"name":"address","nodeType":"ElementaryTypeName","src":"3295:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":69692,"initialValue":{"id":69691,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69455,"src":"3316:11:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3295:32:102"},{"expression":{"id":69695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69693,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69455,"src":"3337:11:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69694,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69679,"src":"3351:11:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3337:25:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69696,"nodeType":"ExpressionStatement","src":"3337:25:102"},{"eventCall":{"arguments":[{"id":69698,"name":"oldManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69690,"src":"3396:10:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69699,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69679,"src":"3408:11:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69697,"name":"ListManagerChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69483,"src":"3377:18:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":69700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:43:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69701,"nodeType":"EmitStatement","src":"3372:48:102"}]},"baseFunctions":[69381],"documentation":{"id":69677,"nodeType":"StructuredDocumentation","src":"3061:102:102","text":"@notice Change the list manager address\n @param _newManager address of the new list manager"},"functionSelector":"3d476830","implemented":true,"kind":"function","modifiers":[{"id":69683,"kind":"modifierInvocation","modifierName":{"id":69682,"name":"onlyOwner","nameLocations":["3234:9:102"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"3234:9:102"},"nodeType":"ModifierInvocation","src":"3234:9:102"}],"name":"changeListManager","nameLocation":"3177:17:102","overrides":{"id":69681,"nodeType":"OverrideSpecifier","overrides":[],"src":"3225:8:102"},"parameters":{"id":69680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69679,"mutability":"mutable","name":"_newManager","nameLocation":"3203:11:102","nodeType":"VariableDeclaration","scope":69703,"src":"3195:19:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69678,"name":"address","nodeType":"ElementaryTypeName","src":"3195:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3194:21:102"},"returnParameters":{"id":69684,"nodeType":"ParameterList","parameters":[],"src":"3244:0:102"},"scope":69929,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69762,"nodeType":"FunctionDefinition","src":"3595:532:102","nodes":[],"body":{"id":69761,"nodeType":"Block","src":"3701:426:102","nodes":[],"statements":[{"expression":{"arguments":[{"id":69716,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69706,"src":"3730:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69715,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69603,"src":"3711:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3711:29:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69718,"nodeType":"ExpressionStatement","src":"3711:29:102"},{"expression":{"arguments":[{"id":69720,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69710,"src":"3769:12:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69719,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69603,"src":"3750:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:32:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69722,"nodeType":"ExpressionStatement","src":"3750:32:102"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69723,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"3796:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69725,"indexExpression":{"id":69724,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69706,"src":"3807:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3796:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"id":69726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3818:9:102","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":69353,"src":"3796:31:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":69727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3831:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3796:36:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69729,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"3836:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69731,"indexExpression":{"id":69730,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69706,"src":"3847:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3836:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"id":69732,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3858:11:102","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":69357,"src":"3836:33:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":69735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3881:1:102","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":69734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3873:7:102","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69733,"name":"address","nodeType":"ElementaryTypeName","src":"3873:7:102","typeDescriptions":{}}},"id":69736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:10:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3836:47:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3796:87:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69743,"nodeType":"IfStatement","src":"3792:148:102","trueBody":{"id":69742,"nodeType":"Block","src":"3885:55:102","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69739,"name":"StrategyAlreadyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"3906:21:102","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3906:23:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69741,"nodeType":"RevertStatement","src":"3899:30:102"}]}},{"expression":{"id":69752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":69744,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"3949:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69746,"indexExpression":{"id":69745,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69706,"src":"3960:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3949:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69748,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69708,"src":"3994:10:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":69749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4014:5:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":69750,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69710,"src":"4034:12:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69747,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69358,"src":"3973:8:102","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Strategy_$69358_storage_ptr_$","typeString":"type(struct Strategy storage pointer)"}},"id":69751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3983:9:102","4006:6:102","4021:11:102"],"names":["threshold","active","councilSafe"],"nodeType":"FunctionCall","src":"3973:75:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_memory_ptr","typeString":"struct Strategy memory"}},"src":"3949:99:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"id":69753,"nodeType":"ExpressionStatement","src":"3949:99:102"},{"eventCall":{"arguments":[{"id":69755,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69706,"src":"4077:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69756,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69708,"src":"4088:10:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":69757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4100:5:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":69758,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69710,"src":"4107:12:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69754,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69493,"src":"4063:13:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,uint256,bool,address)"}},"id":69759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4063:57:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69760,"nodeType":"EmitStatement","src":"4058:62:102"}]},"baseFunctions":[69406],"documentation":{"id":69704,"nodeType":"StructuredDocumentation","src":"3433:157:102","text":"@notice Add a strategy to the contract\n @param _threshold is expressed on a scale of 10**4\n @param _councilSafe address of the council safe"},"functionSelector":"fc2ebdd1","implemented":true,"kind":"function","modifiers":[{"id":69713,"kind":"modifierInvocation","modifierName":{"id":69712,"name":"onlyAuthorized","nameLocations":["3686:14:102"],"nodeType":"IdentifierPath","referencedDeclaration":69537,"src":"3686:14:102"},"nodeType":"ModifierInvocation","src":"3686:14:102"}],"name":"addStrategy","nameLocation":"3604:11:102","parameters":{"id":69711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69706,"mutability":"mutable","name":"_strategy","nameLocation":"3624:9:102","nodeType":"VariableDeclaration","scope":69762,"src":"3616:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69705,"name":"address","nodeType":"ElementaryTypeName","src":"3616:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69708,"mutability":"mutable","name":"_threshold","nameLocation":"3643:10:102","nodeType":"VariableDeclaration","scope":69762,"src":"3635:18:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69707,"name":"uint256","nodeType":"ElementaryTypeName","src":"3635:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69710,"mutability":"mutable","name":"_councilSafe","nameLocation":"3663:12:102","nodeType":"VariableDeclaration","scope":69762,"src":"3655:20:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69709,"name":"address","nodeType":"ElementaryTypeName","src":"3655:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3615:61:102"},"returnParameters":{"id":69714,"nodeType":"ParameterList","parameters":[],"src":"3701:0:102"},"scope":69929,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69795,"nodeType":"FunctionDefinition","src":"4244:274:102","nodes":[],"body":{"id":69794,"nodeType":"Block","src":"4340:178:102","nodes":[],"statements":[{"expression":{"arguments":[{"id":69773,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69765,"src":"4369:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69772,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69603,"src":"4350:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4350:29:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69775,"nodeType":"ExpressionStatement","src":"4350:29:102"},{"expression":{"id":69781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69776,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"4389:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69778,"indexExpression":{"id":69777,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69765,"src":"4400:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4389:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"id":69779,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4411:6:102","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":69355,"src":"4389:28:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":69780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4420:5:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4389:36:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69782,"nodeType":"ExpressionStatement","src":"4389:36:102"},{"expression":{"id":69788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69783,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"4435:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69785,"indexExpression":{"id":69784,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69765,"src":"4446:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4435:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"id":69786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4457:9:102","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":69353,"src":"4435:31:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":69787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4469:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4435:35:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69789,"nodeType":"ExpressionStatement","src":"4435:35:102"},{"eventCall":{"arguments":[{"id":69791,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69765,"src":"4501:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69790,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69497,"src":"4485:15:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":69792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4485:26:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69793,"nodeType":"EmitStatement","src":"4480:31:102"}]},"baseFunctions":[69411],"documentation":{"id":69763,"nodeType":"StructuredDocumentation","src":"4133:106:102","text":"@notice Remove a strategy from the contract\n @param _strategy address of the strategy to remove"},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":69769,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69765,"src":"4329:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":69770,"kind":"modifierInvocation","modifierName":{"id":69768,"name":"onlyCouncilOrAuthorized","nameLocations":["4305:23:102"],"nodeType":"IdentifierPath","referencedDeclaration":69567,"src":"4305:23:102"},"nodeType":"ModifierInvocation","src":"4305:34:102"}],"name":"removeStrategy","nameLocation":"4253:14:102","overrides":{"id":69767,"nodeType":"OverrideSpecifier","overrides":[],"src":"4296:8:102"},"parameters":{"id":69766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69765,"mutability":"mutable","name":"_strategy","nameLocation":"4276:9:102","nodeType":"VariableDeclaration","scope":69795,"src":"4268:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69764,"name":"address","nodeType":"ElementaryTypeName","src":"4268:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4267:19:102"},"returnParameters":{"id":69771,"nodeType":"ParameterList","parameters":[],"src":"4340:0:102"},"scope":69929,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69820,"nodeType":"FunctionDefinition","src":"4621:211:102","nodes":[],"body":{"id":69819,"nodeType":"Block","src":"4698:134:102","nodes":[],"statements":[{"expression":{"arguments":[{"id":69805,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69798,"src":"4727:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69804,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69603,"src":"4708:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:29:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69807,"nodeType":"ExpressionStatement","src":"4708:29:102"},{"expression":{"id":69813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69808,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"4747:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69810,"indexExpression":{"id":69809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69798,"src":"4758:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4747:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"id":69811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4769:6:102","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":69355,"src":"4747:28:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":69812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4778:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4747:35:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69814,"nodeType":"ExpressionStatement","src":"4747:35:102"},{"eventCall":{"arguments":[{"id":69816,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69798,"src":"4815:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69815,"name":"StrategyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69501,"src":"4797:17:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":69817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4797:28:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69818,"nodeType":"EmitStatement","src":"4792:33:102"}]},"baseFunctions":[69416],"documentation":{"id":69796,"nodeType":"StructuredDocumentation","src":"4524:92:102","text":"@notice Activate a strategy\n @param _strategy address of the strategy to activate"},"functionSelector":"d80ea5a0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":69801,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69798,"src":"4687:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":69802,"kind":"modifierInvocation","modifierName":{"id":69800,"name":"onlyCouncil","nameLocations":["4675:11:102"],"nodeType":"IdentifierPath","referencedDeclaration":69586,"src":"4675:11:102"},"nodeType":"ModifierInvocation","src":"4675:22:102"}],"name":"activateStrategy","nameLocation":"4630:16:102","parameters":{"id":69799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69798,"mutability":"mutable","name":"_strategy","nameLocation":"4655:9:102","nodeType":"VariableDeclaration","scope":69820,"src":"4647:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69797,"name":"address","nodeType":"ElementaryTypeName","src":"4647:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4646:19:102"},"returnParameters":{"id":69803,"nodeType":"ParameterList","parameters":[],"src":"4698:0:102"},"scope":69929,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69848,"nodeType":"FunctionDefinition","src":"5028:272:102","nodes":[],"body":{"id":69847,"nodeType":"Block","src":"5139:161:102","nodes":[],"statements":[{"expression":{"arguments":[{"id":69832,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69823,"src":"5168:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69831,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69603,"src":"5149:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":69833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5149:29:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69834,"nodeType":"ExpressionStatement","src":"5149:29:102"},{"expression":{"id":69840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69835,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"5188:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69837,"indexExpression":{"id":69836,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69823,"src":"5199:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5188:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"id":69838,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5210:9:102","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":69353,"src":"5188:31:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":69839,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69825,"src":"5222:13:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5188:47:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69841,"nodeType":"ExpressionStatement","src":"5188:47:102"},{"eventCall":{"arguments":[{"id":69843,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69823,"src":"5268:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69844,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69825,"src":"5279:13:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69842,"name":"ThresholdModified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69507,"src":"5250:17:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":69845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5250:43:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69846,"nodeType":"EmitStatement","src":"5245:48:102"}]},"baseFunctions":[69397],"documentation":{"id":69821,"nodeType":"StructuredDocumentation","src":"4838:185:102","text":"@notice Modify the threshold of a strategy\n @param _strategy address of the strategy to modify\n @param _newThreshold new threshold to set expressed on a scale of 10**4"},"functionSelector":"642ce76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":69828,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69823,"src":"5128:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":69829,"kind":"modifierInvocation","modifierName":{"id":69827,"name":"onlyCouncilOrAuthorized","nameLocations":["5104:23:102"],"nodeType":"IdentifierPath","referencedDeclaration":69567,"src":"5104:23:102"},"nodeType":"ModifierInvocation","src":"5104:34:102"}],"name":"modifyThreshold","nameLocation":"5037:15:102","parameters":{"id":69826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69823,"mutability":"mutable","name":"_strategy","nameLocation":"5061:9:102","nodeType":"VariableDeclaration","scope":69848,"src":"5053:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69822,"name":"address","nodeType":"ElementaryTypeName","src":"5053:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69825,"mutability":"mutable","name":"_newThreshold","nameLocation":"5080:13:102","nodeType":"VariableDeclaration","scope":69848,"src":"5072:21:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69824,"name":"uint256","nodeType":"ElementaryTypeName","src":"5072:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5052:42:102"},"returnParameters":{"id":69830,"nodeType":"ParameterList","parameters":[],"src":"5139:0:102"},"scope":69929,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69887,"nodeType":"FunctionDefinition","src":"5465:345:102","nodes":[],"body":{"id":69886,"nodeType":"Block","src":"5563:247:102","nodes":[],"statements":[{"assignments":[69861],"declarations":[{"constant":false,"id":69861,"mutability":"mutable","name":"userScore","nameLocation":"5593:9:102","nodeType":"VariableDeclaration","scope":69886,"src":"5573:29:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":69860,"nodeType":"UserDefinedTypeName","pathNode":{"id":69859,"name":"PassportData","nameLocations":["5573:12:102"],"nodeType":"IdentifierPath","referencedDeclaration":69351,"src":"5573:12:102"},"referencedDeclaration":69351,"src":"5573:12:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":69865,"initialValue":{"baseExpression":{"id":69862,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69460,"src":"5605:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$69351_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":69864,"indexExpression":{"id":69863,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69851,"src":"5616:5:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5605:17:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_storage","typeString":"struct PassportData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5573:49:102"},{"assignments":[69868],"declarations":[{"constant":false,"id":69868,"mutability":"mutable","name":"strategy","nameLocation":"5648:8:102","nodeType":"VariableDeclaration","scope":69886,"src":"5632:24:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":69867,"nodeType":"UserDefinedTypeName","pathNode":{"id":69866,"name":"Strategy","nameLocations":["5632:8:102"],"nodeType":"IdentifierPath","referencedDeclaration":69358,"src":"5632:8:102"},"referencedDeclaration":69358,"src":"5632:8:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"id":69872,"initialValue":{"baseExpression":{"id":69869,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"5659:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69871,"indexExpression":{"id":69870,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69853,"src":"5670:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5659:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5632:48:102"},{"condition":{"id":69875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5695:16:102","subExpression":{"expression":{"id":69873,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69868,"src":"5696:8:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_memory_ptr","typeString":"struct Strategy memory"}},"id":69874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5705:6:102","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":69355,"src":"5696:15:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69879,"nodeType":"IfStatement","src":"5691:58:102","trueBody":{"id":69878,"nodeType":"Block","src":"5713:36:102","statements":[{"expression":{"hexValue":"74727565","id":69876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5734:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":69858,"id":69877,"nodeType":"Return","src":"5727:11:102"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69880,"name":"userScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69861,"src":"5766:9:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_memory_ptr","typeString":"struct PassportData memory"}},"id":69881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5776:5:102","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":69348,"src":"5766:15:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":69882,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69868,"src":"5785:8:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_memory_ptr","typeString":"struct Strategy memory"}},"id":69883,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5794:9:102","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":69353,"src":"5785:18:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5766:37:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":69858,"id":69885,"nodeType":"Return","src":"5759:44:102"}]},"baseFunctions":[69390],"documentation":{"id":69849,"nodeType":"StructuredDocumentation","src":"5306:154:102","text":"@notice Check if an action can be executed\n @param _user address of the user to check\n @param _strategy address of the strategy to check"},"functionSelector":"42a987a0","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteAction","nameLocation":"5474:16:102","overrides":{"id":69855,"nodeType":"OverrideSpecifier","overrides":[],"src":"5539:8:102"},"parameters":{"id":69854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69851,"mutability":"mutable","name":"_user","nameLocation":"5499:5:102","nodeType":"VariableDeclaration","scope":69887,"src":"5491:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69850,"name":"address","nodeType":"ElementaryTypeName","src":"5491:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69853,"mutability":"mutable","name":"_strategy","nameLocation":"5514:9:102","nodeType":"VariableDeclaration","scope":69887,"src":"5506:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69852,"name":"address","nodeType":"ElementaryTypeName","src":"5506:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5490:34:102"},"returnParameters":{"id":69858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69887,"src":"5557:4:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69856,"name":"bool","nodeType":"ElementaryTypeName","src":"5557:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5556:6:102"},"scope":69929,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":69901,"nodeType":"FunctionDefinition","src":"5906:122:102","nodes":[],"body":{"id":69900,"nodeType":"Block","src":"5987:41:102","nodes":[],"statements":[{"expression":{"baseExpression":{"id":69896,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69460,"src":"6004:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$69351_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":69898,"indexExpression":{"id":69897,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69890,"src":"6015:5:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6004:17:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_storage","typeString":"struct PassportData storage ref"}},"functionReturnParameters":69895,"id":69899,"nodeType":"Return","src":"5997:24:102"}]},"baseFunctions":[69424],"documentation":{"id":69888,"nodeType":"StructuredDocumentation","src":"5816:85:102","text":"@notice Get the score of a user\n @param _user address of the user to check"},"functionSelector":"b34e0c47","implemented":true,"kind":"function","modifiers":[],"name":"getUserScore","nameLocation":"5915:12:102","parameters":{"id":69891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69890,"mutability":"mutable","name":"_user","nameLocation":"5936:5:102","nodeType":"VariableDeclaration","scope":69901,"src":"5928:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69889,"name":"address","nodeType":"ElementaryTypeName","src":"5928:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5927:15:102"},"returnParameters":{"id":69895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69901,"src":"5966:19:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":69893,"nodeType":"UserDefinedTypeName","pathNode":{"id":69892,"name":"PassportData","nameLocations":["5966:12:102"],"nodeType":"IdentifierPath","referencedDeclaration":69351,"src":"5966:12:102"},"referencedDeclaration":69351,"src":"5966:12:102","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$69351_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"5965:21:102"},"scope":69929,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":69915,"nodeType":"FunctionDefinition","src":"6130:125:102","nodes":[],"body":{"id":69914,"nodeType":"Block","src":"6210:45:102","nodes":[],"statements":[{"expression":{"baseExpression":{"id":69910,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"6227:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$69358_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":69912,"indexExpression":{"id":69911,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69904,"src":"6238:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6227:21:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage","typeString":"struct Strategy storage ref"}},"functionReturnParameters":69909,"id":69913,"nodeType":"Return","src":"6220:28:102"}]},"baseFunctions":[69432],"documentation":{"id":69902,"nodeType":"StructuredDocumentation","src":"6034:91:102","text":"@notice Get the strategy data\n @param _strategy address of the strategy to check"},"functionSelector":"f8806a13","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"6139:11:102","parameters":{"id":69905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69904,"mutability":"mutable","name":"_strategy","nameLocation":"6159:9:102","nodeType":"VariableDeclaration","scope":69915,"src":"6151:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69903,"name":"address","nodeType":"ElementaryTypeName","src":"6151:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6150:19:102"},"returnParameters":{"id":69909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69908,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69915,"src":"6193:15:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":69907,"nodeType":"UserDefinedTypeName","pathNode":{"id":69906,"name":"Strategy","nameLocations":["6193:8:102"],"nodeType":"IdentifierPath","referencedDeclaration":69358,"src":"6193:8:102"},"referencedDeclaration":69358,"src":"6193:8:102","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$69358_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"src":"6192:17:102"},"scope":69929,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":69924,"nodeType":"FunctionDefinition","src":"6261:66:102","nodes":[],"body":{"id":69923,"nodeType":"Block","src":"6325:2:102","nodes":[],"statements":[]},"baseFunctions":[54968],"implemented":true,"kind":"function","modifiers":[{"id":69921,"kind":"modifierInvocation","modifierName":{"id":69920,"name":"onlyOwner","nameLocations":["6315:9:102"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"6315:9:102"},"nodeType":"ModifierInvocation","src":"6315:9:102"}],"name":"_authorizeUpgrade","nameLocation":"6270:17:102","overrides":{"id":69919,"nodeType":"OverrideSpecifier","overrides":[],"src":"6306:8:102"},"parameters":{"id":69918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69924,"src":"6288:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69916,"name":"address","nodeType":"ElementaryTypeName","src":"6288:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6287:9:102"},"returnParameters":{"id":69922,"nodeType":"ParameterList","parameters":[],"src":"6325:0:102"},"scope":69929,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":69928,"nodeType":"VariableDeclaration","src":"6333:25:102","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"6353:5:102","scope":69929,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":69925,"name":"uint256","nodeType":"ElementaryTypeName","src":"6333:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69927,"length":{"hexValue":"3530","id":69926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6341:2:102","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"6333:11:102","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":69446,"name":"Initializable","nameLocations":["479:13:102"],"nodeType":"IdentifierPath","referencedDeclaration":52449,"src":"479:13:102"},"id":69447,"nodeType":"InheritanceSpecifier","src":"479:13:102"},{"baseName":{"id":69448,"name":"UUPSUpgradeable","nameLocations":["494:15:102"],"nodeType":"IdentifierPath","referencedDeclaration":54969,"src":"494:15:102"},"id":69449,"nodeType":"InheritanceSpecifier","src":"494:15:102"},{"baseName":{"id":69450,"name":"OwnableUpgradeable","nameLocations":["511:18:102"],"nodeType":"IdentifierPath","referencedDeclaration":52200,"src":"511:18:102"},"id":69451,"nodeType":"InheritanceSpecifier","src":"511:18:102"},{"baseName":{"id":69452,"name":"ISybilScorer","nameLocations":["531:12:102"],"nodeType":"IdentifierPath","referencedDeclaration":69433,"src":"531:12:102"},"id":69453,"nodeType":"InheritanceSpecifier","src":"531:12:102"}],"canonicalName":"PassportScorer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[69929,69433,52200,52993,54969,52449,54622,54271,54281],"name":"PassportScorer","nameLocation":"461:14:102","scope":69930,"usedErrors":[69509,69511,69513,69515,69517]}],"license":"AGPL-3.0-or-later"},"id":102} \ No newline at end of file +{"abi":[{"type":"function","name":"activateStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"_councilSafe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_passportData","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"canExecuteAction","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"changeListManager","inputs":[{"name":"_newManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Strategy","components":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_listManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"modifyThreshold","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_newThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategies","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"userScores","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListManagerChanged","inputs":[{"name":"oldManager","type":"address","indexed":true,"internalType":"address"},{"name":"newManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyActivated","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"threshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"active","type":"bool","indexed":false,"internalType":"bool"},{"name":"councilSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ThresholdModified","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"newThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserRemoved","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserScoreAdded","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"score","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastUpdated","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"OnlyAuthorized","inputs":[]},{"type":"error","name":"OnlyCouncil","inputs":[]},{"type":"error","name":"OnlyCouncilOrAuthorized","inputs":[]},{"type":"error","name":"StrategyAlreadyExists","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60a080604052346100315730608052611534908161003782396080518181816108c6015281816109e60152610d6b0152f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220845e69c4efc4e687e9f5f0da0ffe0d92e1ebe2530eece0cf1f5abdf10f9e8bd664736f6c63430008130033","sourceMap":"452:5909:100:-:0;;;;;;;1088:4:61;1080:13;;452:5909:100;;;;;;1080:13:61;452:5909:100;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c9081631413d4c014610fc557508063175188e814610f005780633659cfe614610d4557806339ebf82314610cef5780633d47683014610c7b57806342a987a014610c375780634f1ef2861461096e57806352d1902d146108b1578063642ce76b146107f0578063715018a6146107a25780637814d568146106d05780638da5cb5b146106a75780638df8b2fe1461067e57806398575188146105e4578063b34e0c471461057a578063c4d66de814610416578063d80ea5a01461037a578063f2fde38b146102e8578063f8806a13146102565763fc2ebdd11461010057600080fd5b3461025257606036600319011261025257610119611005565b6001600160a01b039260243592604435858116939192919084810361024e57866033541633148015610241575b15610231579061015f879261015a8361139b565b61139b565b16948587526067602052828720908154159182159261021e575b5050610210575091606091837f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb94516101b181611051565b8381526020810190888252600183820191858352898b526067602052848b209051815501915115159060ff835491610100600160a81b03905160081b1692169060018060a81b031916171790558051928352866020840152820152a280f35b905163c45546f760e01b8152fd5b6001015460081c16151590503880610179565b8351637d7b71b560e01b81528390fd5b5086606554163314610146565b8780fd5b8280fd5b8382346102e45760203660031901126102e4579081606092610276611005565b928082805161028481611051565b828152826020820152015260018060a01b0380941681526067602052209181516102ad81611051565b60018454948583520154908284602083019260ff851615158452019260081c16825283519485525115156020850152511690820152f35b5080fd5b50903461025257602036600319011261025257610303611005565b9161030c6110aa565b6001600160a01b03831615610328578361032584611102565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b503461025257602036600319011261025257610394611005565b6001600160a01b038181168086526067602052838620600101549094913360089290921c16036104085750906103cb60019261139b565b8284526067602052832001805460ff191660011790557f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb8280a280f35b82516397ffbac960e01b8152fd5b50903461025257602036600319011261025257610431611005565b835460ff8160081c16159283809461056d575b8015610556575b156104fc575060ff1981166001178555826104eb575b5061047b60ff855460081c166104768161133b565b61133b565b61048433611102565b61048d8161139b565b606580546001600160a01b0319166001600160a01b03929092169190911790556104b5575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610461565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561044b5750600160ff83161461044b565b50600160ff831610610444565b8382346102e45760203660031901126102e4578091610597611005565b81602084516105a581611020565b82815201526001600160a01b0316815260666020522081516105c681611020565b60206001835493848452015491019081528251918252516020820152f35b509034610252576020366003190112610252576105ff611005565b6033546001600160a01b039290831633148015610671575b15610663575083918161062b60019361139b565b16928383526066602052822082815501557fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d8280a280f35b8351637d7b71b560e01b8152fd5b5082606554163314610617565b8382346102e457816003193601126102e45760655490516001600160a01b039091168152602090f35b8382346102e457816003193601126102e45760335490516001600160a01b039091168152602090f35b5034610252576060366003190112610252576106ea611005565b8160231936011261079e5781519261070184611020565b60243584526020840191604435835260018060a01b0391826033541633148015610791575b1561078357507f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d9392918161075c60019361139b565b1694858752606660205283872090519283825551918291015582519182526020820152a280f35b8451637d7b71b560e01b8152fd5b5082606554163314610726565b8380fd5b83346107ed57806003193601126107ed576107bb6110aa565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061149f8339815191528280a380f35b80fd5b50903461025257816003193601126102525761080a611005565b603354602435926001600160a01b0392918316331480156108a4575b8015610886575b15610878575091602091836108627f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099561139b565b169384865260678352818187205551908152a280f35b845163e3b6914b60e01b8152fd5b5082821686526067602052826001868820015460081c16331461082d565b5082606554163314610826565b5091346107ed57806003193601126107ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361090b576020825160008051602061147f8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152fd5b508060031936011261025257610982611005565b90602435906001600160401b038211610c335736602383011215610c3357818401356109ad8161108f565b6109b98351918261106c565b81815286602094858301933660248284010111610252578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a1430831415611139565b610a3160008051602061147f833981519152928284541614611188565b610a396110aa565b60008051602061143f8339815191525460ff1615610a615750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610c00575b50610ad157865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610ae8826111d7565b6000805160206114bf8339815191528780a285845115801590610ba3575b610b14575b50505050505080f35b80610b8d96845196610b2588611051565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15610b99573d610b7f610b768261108f565b9251928361106c565b81528681943d92013e611267565b50388080808085610b0b565b5060609250611267565b506001610b06565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610c2c575b610c18818361106c565b81010312610c2857519038610a84565b8a80fd5b503d610c0e565b8480fd5b8382346102e457806003193601126102e457610c51611005565b602435926001600160a01b03841684036107ed5750602092610c72916113bd565b90519015158152f35b83346107ed5760203660031901126107ed57610c95611005565b610c9d6110aa565b610ca68161139b565b606580546001600160a01b039283166001600160a01b0319821681179092559091167f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc868380a380f35b8382346102e45760203660031901126102e4576060916001600160a01b039190819083610d1a611005565b1681526067602052209160018354930154825193845260ff81161515602085015260081c1690820152f35b50346102525760208060031936011261079e57610d60611005565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610d9830821415611139565b610db560008051602061147f833981519152918383541614611188565b610dbd6110aa565b8251848101929091906001600160401b03841183851017610eed5783855288835260008051602061143f8339815191525460ff1615610e065750505050505061032591506111d7565b869293949596169085516352d1902d60e01b815287818a81865afa8a9181610ebe575b50610e7657865162461bcd60e51b8152808a01899052602e60248201526000805160206114df83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703610bab5750610e8d826111d7565b6000805160206114bf8339815191528780a285845115801590610eb757610b145750505050505080f35b5080610b06565b9091508881813d8311610ee6575b610ed6818361106c565b81010312610c2857519038610e29565b503d610ecc565b634e487b7160e01b895260418852602489fd5b50903461025257602036600319011261025257610f1b611005565b6033546001600160a01b039290831633148015610fb8575b8015610f9a575b15610f8c57509081610f4c859361139b565b16808252606760205291812060018101805460ff19169055557f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea48280a280f35b835163e3b6914b60e01b8152fd5b5082821685526067602052826001858720015460081c163314610f3a565b5082606554163314610f33565b905083346107ed5760203660031901126107ed5782906001600160a01b03610feb611005565b168152606660205220600181549101549082526020820152f35b600435906001600160a01b038216820361101b57565b600080fd5b604081019081106001600160401b0382111761103b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761103b57604052565b601f909101601f19168101906001600160401b0382119082101761103b57604052565b6001600160401b03811161103b57601f01601f191660200190565b6033546001600160a01b031633036110be57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061149f833981519152600080a3565b1561114057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561118f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061145f83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561120c5760008051602061147f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156112c9575081511561127b575090565b3b156112845790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156112dc5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611322575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506112ff565b1561134257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316156113ab57565b60405163d92e233d60e01b8152600490fd5b9060018060a01b038092166000526066602052816040600020916001604051936113e685611020565b805485520154602084015216600052606760205260406000209160405161140c81611051565b6040600185549586845201549260ff841615938415602085015260081c169101526114375751101590565b505060019056fe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220845e69c4efc4e687e9f5f0da0ffe0d92e1ebe2530eece0cf1f5abdf10f9e8bd664736f6c63430008130033","sourceMap":"452:5909:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;:::i;:::-;-1:-1:-1;;;;;452:5909:100;;;;;;;;;;;;;;;;;;;;1534:6:42;452:5909:100;;1388:10;:21;:50;;;;452:5909;1384:136;;;3730:9;3769:12;3730:9;;;;;:::i;:::-;3769:12;:::i;:::-;452:5909;;;;;3796:10;452:5909;;;;;;;;3796:36;;;;:87;;;1384:136;3792:148;;;;452:5909;;;;;4063:57;452:5909;;;;;:::i;:::-;;;;;3973:75;;452:5909;;;;;3973:75;;;452:5909;;;;;;;3796:10;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4063:57;452:5909;;3792:148;452:5909;;-1:-1:-1;;;3906:23:100;;;3796:87;452:5909;3836:33;452:5909;;;;3836:47;;;-1:-1:-1;3796:87:100;;;;1384:136;452:5909;;-1:-1:-1;;;1493:16:100;;452:5909;;1493:16;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6227:10;452:5909;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;:::i;:::-;1324:62:42;;;:::i;:::-;-1:-1:-1;;;;;452:5909:100;;2423:22:42;452:5909:100;;2517:8:42;;;;:::i;:::-;452:5909:100;;;;;;;;689:66:57;;;;452:5909:100;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:100;;;;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;:::i;:::-;-1:-1:-1;;;;;452:5909:100;;;;;;1870:10;452:5909;;;;;;1870:33;452:5909;;;;1856:10;452:5909;;;;;;1856:47;452:5909;;4727:9;;;452:5909;4727:9;;:::i;:::-;452:5909;;;1870:10;452:5909;;;;4747:28;452:5909;;-1:-1:-1;;452:5909:100;;;;;4797:28;452:5909;;4797:28;452:5909;;1852:130;452:5909;;-1:-1:-1;;;1958:13:100;;;452:5909;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;:::i;:::-;;;;;;;;3301:14:44;3347:34;;;;;;452:5909:100;3346:108:44;;;;452:5909:100;;;;-1:-1:-1;;;452:5909:100;;3551:1:44;452:5909:100;;;;3562:65:44;;452:5909:100;;5366:69:44;452:5909:100;;;;;;5366:69:44;;;:::i;:::-;;:::i;:::-;1216:12:42;965:10:48;1216:12:42;:::i;:::-;2264::100;;;:::i;:::-;2287:26;452:5909;;-1:-1:-1;;;;;;452:5909:100;-1:-1:-1;;;;;452:5909:100;;;;;;;;;;3647:99:44;;452:5909:100;;;3647:99:44;452:5909:100;3721:14:44;452:5909:100;;;;;;;;;3551:1:44;452:5909:100;;3721:14:44;452:5909:100;;3562:65:44;-1:-1:-1;;452:5909:100;;;;;3562:65:44;;;452:5909:100;;;;;;689:66:57;;;;452:5909:100;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:100;;;;;3346:108:44;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;452:5909:100;3452:1:44;452:5909:100;;;3436:17:44;3346:108;;3347:34;452:5909:100;3380:1:44;452:5909:100;;;3365:16:44;3347:34;;452:5909:100;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;452:5909:100;;;6004:10;452:5909;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;:::i;:::-;1534:6:42;452:5909:100;-1:-1:-1;;;;;452:5909:100;;;;1388:10;:21;:50;;;;452:5909;1384:136;;;2975:5;;;;;452:5909;2975:5;;:::i;:::-;452:5909;;;;;2998:10;452:5909;;;;;;;;;3030:18;;;;452:5909;;1384:136;452:5909;;-1:-1:-1;;;1493:16:100;;;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;550:26;452:5909;;;-1:-1:-1;;;;;452:5909:100;;;;;;;;;;;;;;;;;;;;;;1534:6:42;452:5909:100;;;-1:-1:-1;;;;;452:5909:100;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;1534:6:42;452:5909:100;;1388:10;:21;:50;;;;452:5909;1384:136;;;2637:5;2701:69;2637:5;;;;;452:5909;2637:5;;:::i;:::-;452:5909;;;;;2653:10;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;2701:69;452:5909;;1384:136;452:5909;;-1:-1:-1;;;1493:16:100;;;1388:50;452:5909;;1427:11;452:5909;;1388:10;1413:25;1388:50;;452:5909;;;;;;;;;;;;;;;;;1324:62:42;;:::i;:::-;2779:6;452:5909:100;;-1:-1:-1;;;;;;452:5909:100;;;;;;;-1:-1:-1;;;;;452:5909:100;-1:-1:-1;;;;;;;;;;;452:5909:100;;2827:40:42;452:5909:100;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1534:6:42;452:5909:100;;;;-1:-1:-1;;;;;452:5909:100;;;;1598:10;:21;:50;;;;452:5909;1598:101;;;;452:5909;1594:196;;;5168:9;;452:5909;5168:9;;;5250:43;5168:9;;:::i;:::-;452:5909;;;;;5188:10;452:5909;;;;;;;;;;;5250:43;452:5909;;1594:196;452:5909;;-1:-1:-1;;;1754:25:100;;;1598:101;452:5909;;;;;;1666:10;452:5909;;;;;;;1666:33;452:5909;;;;1598:10;1652:47;1598:101;;:50;452:5909;;1637:11;452:5909;;1598:10;1623:25;1598:50;;452:5909;;;;;;;;;;;;;;-1:-1:-1;2089:6:61;-1:-1:-1;;;;;452:5909:100;2080:4:61;2072:23;452:5909:100;;;;;-1:-1:-1;;;;;;;;;;;452:5909:100;;;;;;;;689:66:57;;;;452:5909:100;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:100;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;452:5909:100;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1654:6:61;452:5909:100;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;452:5909:100;;;;;1727:30:61;1719:87;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;;;;;;;452:5909:100;;;;;;2993:17:57;;;;;;;;;;:::i;2906:504::-;452:5909:100;;;;;;;;;;689:66:57;;;3046:52;;;;;;;;;;;;;;2906:504;-1:-1:-1;3042:291:57;;452:5909:100;;-1:-1:-1;;;3262:56:57;;;;;689:66;;;;452:5909:100;689:66:57;;452:5909:100;-1:-1:-1;;;;;;;;;;;452:5909:100;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;;;;;;689:66;;3042:291;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:57;;;452:5909:100;;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;;;452:5909:100;;2204:112:57;452:5909:100;7307:69:73;452:5909:100;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;452:5909:100;;;;7265:25:73;;;;;;452:5909:100;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;7307:69:73;:::i;:::-;;2204:112:57;;;;;;;;452:5909:100;-1:-1:-1;452:5909:100;;-1:-1:-1;7307:69:73;:::i;2208:28:57:-;;452:5909:100;2208:28:57;;689:66;452:5909:100;;-1:-1:-1;;;689:66:57;;;;;;;;;452:5909:100;689:66:57;;452:5909:100;689:66:57;452:5909:100;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;452:5909:100;;;3046:52:57;;;;;452:5909:100;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;452:5909:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;3273:11:100;;;:::i;:::-;3316;452:5909;;-1:-1:-1;;;;;452:5909:100;;;-1:-1:-1;;;;;;452:5909:100;;;;;;;;;;3377:43;;;;452:5909;;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;-1:-1:-1;;;;;452:5909:100;;;;;;;:::i;:::-;;;;639:46;452:5909;;;;;;;639:46;;452:5909;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1654:6:61;452:5909:100;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;452:5909:100;;;;;1727:30:61;1719:87;:::i;:::-;1324:62:42;;:::i;:::-;452:5909:100;;;;;;;;;-1:-1:-1;;;;;452:5909:100;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:100;;;;;;2993:17:57;;;;;;;;;;:::i;2906:504::-;452:5909:100;;;;;;;;;;689:66:57;;;3046:52;;;;;;;;;;;;;;2906:504;-1:-1:-1;3042:291:57;;452:5909:100;;-1:-1:-1;;;3262:56:57;;;;;689:66;;;;;;;452:5909:100;-1:-1:-1;;;;;;;;;;;452:5909:100;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;;;;;;689:66;;3042:291;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:57;;;452:5909:100;;;2208:15:57;;;:28;;;2204:112;;2906:504;;;;;;452:5909:100;;2208:28:57;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;452:5909:100;-1:-1:-1;;;452:5909:100;;;;;;;;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;:::i;:::-;1534:6:42;452:5909:100;-1:-1:-1;;;;;452:5909:100;;;;1598:10;:21;:50;;;;452:5909;1598:101;;;;452:5909;1594:196;;;4369:9;;;;;;;:::i;:::-;452:5909;;;;4389:10;452:5909;;;;;;4389:28;;452:5909;;-1:-1:-1;;452:5909:100;;;;4485:26;;;;452:5909;;1594:196;452:5909;;-1:-1:-1;;;1754:25:100;;;1598:101;452:5909;;;;;;1666:10;452:5909;;;;;;;1666:33;452:5909;;;;1598:10;1652:47;1598:101;;:50;452:5909;;1637:11;452:5909;;1598:10;1623:25;1598:50;;452:5909;;;;;;;;;-1:-1:-1;;452:5909:100;;;;;;-1:-1:-1;;;;;452:5909:100;;:::i;:::-;;;;583:50;452:5909;;;;;;583:50;;452:5909;;;;;;;;;;;;;-1:-1:-1;;;;;452:5909:100;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;452:5909:100;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;452:5909:100;;;;;;;:::o;:::-;;;;;-1:-1:-1;;452:5909:100;;;;-1:-1:-1;;;;;452:5909:100;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;452:5909:100;;;;;;-1:-1:-1;;452:5909:100;;;;:::o;1620:130:42:-;1534:6;452:5909:100;-1:-1:-1;;;;;452:5909:100;965:10:48;1683:23:42;452:5909:100;;1620:130:42:o;452:5909:100:-;;;;689:66:57;;;452:5909:100;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;452:5909:100;;-1:-1:-1;;;;;452:5909:100;;;-1:-1:-1;;;;;;452:5909:100;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;452:5909:100:-;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:100;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:100;;;;-1:-1:-1;;;452:5909:100;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:100;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;452:5909:100;;;;-1:-1:-1;;;452:5909:100;;;;;;;1406:259:57;1702:19:73;;:23;452:5909:100;;-1:-1:-1;;;;;;;;;;;452:5909:100;;-1:-1:-1;;;;;;452:5909:100;-1:-1:-1;;;;;452:5909:100;;;;;;;;;1406:259:57:o;452:5909:100:-;;;-1:-1:-1;;;452:5909:100;;;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:100;;;;;;;7671:628:73;;;;7875:418;;;452:5909:100;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;452:5909:100;;8201:17:73;:::o;452:5909:100:-;;;-1:-1:-1;;;452:5909:100;;;;;;;;;;;;;;;;;;;;7875:418:73;452:5909:100;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;452:5909:100;;689:66:57;;;;9324:20:73;;452:5909:100;;9324:20:73;;;;452:5909:100;;;;;;;;;9000:1:73;452:5909:100;;;;;;;;;;;;9000:1:73;452:5909:100;;;;;;;;;;;;;;9324:20:73;;;;452:5909:100;;;;;;;;;;;;;;;;;;;-1:-1:-1;452:5909:100;;;;;;:::o;:::-;;;-1:-1:-1;;;452:5909:100;;;;;;;;;;;;;;;;;-1:-1:-1;;;452:5909:100;;;;;;;1994:148;-1:-1:-1;;;;;452:5909:100;2067:22;2063:73;;1994:148::o;2063:73::-;452:5909;;-1:-1:-1;;;2112:13:100;;;;;5465:345;;452:5909;;;;;;;;-1:-1:-1;452:5909:100;5605:10;452:5909;;;;-1:-1:-1;452:5909:100;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;452:5909:100;5659:10;452:5909;;;-1:-1:-1;452:5909:100;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:58;;452:5909;5766:37;;5465:345;:::o;5691:58::-;5727:11;;452:5909;5727:11;:::o","linkReferences":{},"immutableReferences":{"54869":[{"start":2246,"length":32},{"start":2534,"length":32},{"start":3435,"length":32}]}},"methodIdentifiers":{"activateStrategy(address)":"d80ea5a0","addStrategy(address,uint256,address)":"fc2ebdd1","addUserScore(address,(uint256,uint256))":"7814d568","canExecuteAction(address,address)":"42a987a0","changeListManager(address)":"3d476830","getStrategy(address)":"f8806a13","getUserScore(address)":"b34e0c47","initialize(address)":"c4d66de8","listManager()":"8df8b2fe","modifyThreshold(address,uint256)":"642ce76b","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","removeStrategy(address)":"175188e8","removeUser(address)":"98575188","renounceOwnership()":"715018a6","strategies(address)":"39ebf823","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","userScores(address)":"1413d4c0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilOrAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ListManagerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"ThresholdModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"name\":\"UserScoreAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_councilSafe\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"_passportData\",\"type\":\"tuple\"}],\"name\":\"addUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"canExecuteAction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getStrategy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"internalType\":\"struct Strategy\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserScore\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_listManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"modifyThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"removeUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"strategies\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userScores\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"activateStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to activate\"}},\"addStrategy(address,uint256,address)\":{\"params\":{\"_councilSafe\":\"address of the council safe\",\"_threshold\":\"is expressed on a scale of 10**4\"}},\"addUserScore(address,(uint256,uint256))\":{\"params\":{\"_passportData\":\"PassportData struct with the user score and lastUpdated\",\"_user\":\"address of the user to add\"}},\"canExecuteAction(address,address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\",\"_user\":\"address of the user to check\"}},\"changeListManager(address)\":{\"params\":{\"_newManager\":\"address of the new list manager\"}},\"getStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\"}},\"getUserScore(address)\":{\"params\":{\"_user\":\"address of the user to check\"}},\"modifyThreshold(address,uint256)\":{\"params\":{\"_newThreshold\":\"new threshold to set expressed on a scale of 10**4\",\"_strategy\":\"address of the strategy to modify\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to remove\"}},\"removeUser(address)\":{\"params\":{\"_user\":\"address of the user to remove\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateStrategy(address)\":{\"notice\":\"Activate a strategy\"},\"addStrategy(address,uint256,address)\":{\"notice\":\"Add a strategy to the contract\"},\"addUserScore(address,(uint256,uint256))\":{\"notice\":\"Add a userScore to the list\"},\"canExecuteAction(address,address)\":{\"notice\":\"Check if an action can be executed\"},\"changeListManager(address)\":{\"notice\":\"Change the list manager address\"},\"getStrategy(address)\":{\"notice\":\"Get the strategy data\"},\"getUserScore(address)\":{\"notice\":\"Get the score of a user\"},\"modifyThreshold(address,uint256)\":{\"notice\":\"Modify the threshold of a strategy\"},\"removeStrategy(address)\":{\"notice\":\"Remove a strategy from the contract\"},\"removeUser(address)\":{\"notice\":\"Remove a user from the list\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/PassportScorer.sol\":\"PassportScorer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf\",\"dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"OnlyAuthorized"},{"inputs":[],"type":"error","name":"OnlyCouncil"},{"inputs":[],"type":"error","name":"OnlyCouncilOrAuthorized"},{"inputs":[],"type":"error","name":"StrategyAlreadyExists"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"oldManager","type":"address","indexed":true},{"internalType":"address","name":"newManager","type":"address","indexed":true}],"type":"event","name":"ListManagerChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"threshold","type":"uint256","indexed":false},{"internalType":"bool","name":"active","type":"bool","indexed":false},{"internalType":"address","name":"councilSafe","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"newThreshold","type":"uint256","indexed":false}],"type":"event","name":"ThresholdModified","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"UserRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"score","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastUpdated","type":"uint256","indexed":false}],"type":"event","name":"UserScoreAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateStrategy"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"_councilSafe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"struct PassportData","name":"_passportData","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"addUserScore"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"canExecuteAction","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeListManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"struct Strategy","name":"","type":"tuple","components":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserScore","outputs":[{"internalType":"struct PassportData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_listManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"modifyThreshold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"strategies","outputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"userScores","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activateStrategy(address)":{"params":{"_strategy":"address of the strategy to activate"}},"addStrategy(address,uint256,address)":{"params":{"_councilSafe":"address of the council safe","_threshold":"is expressed on a scale of 10**4"}},"addUserScore(address,(uint256,uint256))":{"params":{"_passportData":"PassportData struct with the user score and lastUpdated","_user":"address of the user to add"}},"canExecuteAction(address,address)":{"params":{"_strategy":"address of the strategy to check","_user":"address of the user to check"}},"changeListManager(address)":{"params":{"_newManager":"address of the new list manager"}},"getStrategy(address)":{"params":{"_strategy":"address of the strategy to check"}},"getUserScore(address)":{"params":{"_user":"address of the user to check"}},"modifyThreshold(address,uint256)":{"params":{"_newThreshold":"new threshold to set expressed on a scale of 10**4","_strategy":"address of the strategy to modify"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"removeStrategy(address)":{"params":{"_strategy":"address of the strategy to remove"}},"removeUser(address)":{"params":{"_user":"address of the user to remove"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"activateStrategy(address)":{"notice":"Activate a strategy"},"addStrategy(address,uint256,address)":{"notice":"Add a strategy to the contract"},"addUserScore(address,(uint256,uint256))":{"notice":"Add a userScore to the list"},"canExecuteAction(address,address)":{"notice":"Check if an action can be executed"},"changeListManager(address)":{"notice":"Change the list manager address"},"getStrategy(address)":{"notice":"Get the strategy data"},"getUserScore(address)":{"notice":"Get the score of a user"},"modifyThreshold(address,uint256)":{"notice":"Modify the threshold of a strategy"},"removeStrategy(address)":{"notice":"Remove a strategy from the contract"},"removeUser(address)":{"notice":"Remove a user from the list"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/PassportScorer.sol":"PassportScorer"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b","urls":["bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf","dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":70558,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"listManager","offset":0,"slot":"101","type":"t_address"},{"astId":70563,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"userScores","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(PassportData)70454_storage)"},{"astId":70568,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"strategies","offset":0,"slot":"103","type":"t_mapping(t_address,t_struct(Strategy)70461_storage)"},{"astId":71031,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(PassportData)70454_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct PassportData)","numberOfBytes":"32","value":"t_struct(PassportData)70454_storage"},"t_mapping(t_address,t_struct(Strategy)70461_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Strategy)","numberOfBytes":"32","value":"t_struct(Strategy)70461_storage"},"t_struct(PassportData)70454_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":70451,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":70453,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(Strategy)70461_storage":{"encoding":"inplace","label":"struct Strategy","numberOfBytes":"64","members":[{"astId":70456,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"threshold","offset":0,"slot":"0","type":"t_uint256"},{"astId":70458,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"active","offset":0,"slot":"1","type":"t_bool"},{"astId":70460,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"councilSafe","offset":1,"slot":"1","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/PassportScorer.sol","id":71033,"exportedSymbols":{"ISybilScorer":[70536],"Initializable":[52449],"OwnableUpgradeable":[52200],"PassportData":[70454],"PassportScorer":[71032],"Strategy":[70461],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"46:6316:100","nodes":[{"id":70538,"nodeType":"PragmaDirective","src":"46:24:100","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70542,"nodeType":"ImportDirective","src":"72:72:100","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":71033,"sourceUnit":70537,"symbolAliases":[{"foreign":{"id":70539,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70536,"src":"80:12:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70540,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70454,"src":"94:12:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70541,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70461,"src":"108:8:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70544,"nodeType":"ImportDirective","src":"145:88:100","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":71033,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":70543,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"153:15:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70546,"nodeType":"ImportDirective","src":"234:110:100","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":71033,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":70545,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"242:18:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70548,"nodeType":"ImportDirective","src":"345:105:100","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":71033,"sourceUnit":52450,"symbolAliases":[{"foreign":{"id":70547,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52449,"src":"353:13:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71032,"nodeType":"ContractDefinition","src":"452:5909:100","nodes":[{"id":70558,"nodeType":"VariableDeclaration","src":"550:26:100","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"565:11:100","scope":71032,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70557,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":70563,"nodeType":"VariableDeclaration","src":"583:50:100","nodes":[],"constant":false,"functionSelector":"1413d4c0","mutability":"mutable","name":"userScores","nameLocation":"623:10:100","scope":71032,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70454_storage_$","typeString":"mapping(address => struct PassportData)"},"typeName":{"id":70562,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":70559,"name":"address","nodeType":"ElementaryTypeName","src":"591:7:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"583:32:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70454_storage_$","typeString":"mapping(address => struct PassportData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":70561,"nodeType":"UserDefinedTypeName","pathNode":{"id":70560,"name":"PassportData","nameLocations":["602:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":70454,"src":"602:12:100"},"referencedDeclaration":70454,"src":"602:12:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_storage_ptr","typeString":"struct PassportData"}}},"visibility":"public"},{"id":70568,"nodeType":"VariableDeclaration","src":"639:46:100","nodes":[],"constant":false,"functionSelector":"39ebf823","mutability":"mutable","name":"strategies","nameLocation":"675:10:100","scope":71032,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy)"},"typeName":{"id":70567,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":70564,"name":"address","nodeType":"ElementaryTypeName","src":"647:7:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"639:28:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":70566,"nodeType":"UserDefinedTypeName","pathNode":{"id":70565,"name":"Strategy","nameLocations":["658:8:100"],"nodeType":"IdentifierPath","referencedDeclaration":70461,"src":"658:8:100"},"referencedDeclaration":70461,"src":"658:8:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage_ptr","typeString":"struct Strategy"}}},"visibility":"public"},{"id":70576,"nodeType":"EventDefinition","src":"692:79:100","nodes":[],"anonymous":false,"eventSelector":"1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d","name":"UserScoreAdded","nameLocation":"698:14:100","parameters":{"id":70575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70570,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"729:4:100","nodeType":"VariableDeclaration","scope":70576,"src":"713:20:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70569,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70572,"indexed":false,"mutability":"mutable","name":"score","nameLocation":"743:5:100","nodeType":"VariableDeclaration","scope":70576,"src":"735:13:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70571,"name":"uint256","nodeType":"ElementaryTypeName","src":"735:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70574,"indexed":false,"mutability":"mutable","name":"lastUpdated","nameLocation":"758:11:100","nodeType":"VariableDeclaration","scope":70576,"src":"750:19:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70573,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"712:58:100"}},{"id":70580,"nodeType":"EventDefinition","src":"776:40:100","nodes":[],"anonymous":false,"eventSelector":"e9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d","name":"UserRemoved","nameLocation":"782:11:100","parameters":{"id":70579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70578,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"810:4:100","nodeType":"VariableDeclaration","scope":70580,"src":"794:20:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70577,"name":"address","nodeType":"ElementaryTypeName","src":"794:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"793:22:100"}},{"id":70586,"nodeType":"EventDefinition","src":"821:81:100","nodes":[],"anonymous":false,"eventSelector":"5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc86","name":"ListManagerChanged","nameLocation":"827:18:100","parameters":{"id":70585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70582,"indexed":true,"mutability":"mutable","name":"oldManager","nameLocation":"862:10:100","nodeType":"VariableDeclaration","scope":70586,"src":"846:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70581,"name":"address","nodeType":"ElementaryTypeName","src":"846:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70584,"indexed":true,"mutability":"mutable","name":"newManager","nameLocation":"890:10:100","nodeType":"VariableDeclaration","scope":70586,"src":"874:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70583,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"845:56:100"}},{"id":70596,"nodeType":"EventDefinition","src":"907:99:100","nodes":[],"anonymous":false,"eventSelector":"9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb","name":"StrategyAdded","nameLocation":"913:13:100","parameters":{"id":70595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70588,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"943:8:100","nodeType":"VariableDeclaration","scope":70596,"src":"927:24:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70587,"name":"address","nodeType":"ElementaryTypeName","src":"927:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70590,"indexed":false,"mutability":"mutable","name":"threshold","nameLocation":"961:9:100","nodeType":"VariableDeclaration","scope":70596,"src":"953:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70589,"name":"uint256","nodeType":"ElementaryTypeName","src":"953:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70592,"indexed":false,"mutability":"mutable","name":"active","nameLocation":"977:6:100","nodeType":"VariableDeclaration","scope":70596,"src":"972:11:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70591,"name":"bool","nodeType":"ElementaryTypeName","src":"972:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":70594,"indexed":false,"mutability":"mutable","name":"councilSafe","nameLocation":"993:11:100","nodeType":"VariableDeclaration","scope":70596,"src":"985:19:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70593,"name":"address","nodeType":"ElementaryTypeName","src":"985:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"926:79:100"}},{"id":70600,"nodeType":"EventDefinition","src":"1011:48:100","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"1017:15:100","parameters":{"id":70599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70598,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1049:8:100","nodeType":"VariableDeclaration","scope":70600,"src":"1033:24:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70597,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1032:26:100"}},{"id":70604,"nodeType":"EventDefinition","src":"1064:50:100","nodes":[],"anonymous":false,"eventSelector":"652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb","name":"StrategyActivated","nameLocation":"1070:17:100","parameters":{"id":70603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70602,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1104:8:100","nodeType":"VariableDeclaration","scope":70604,"src":"1088:24:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70601,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1087:26:100"}},{"id":70610,"nodeType":"EventDefinition","src":"1119:72:100","nodes":[],"anonymous":false,"eventSelector":"40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09","name":"ThresholdModified","nameLocation":"1125:17:100","parameters":{"id":70609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70606,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1159:8:100","nodeType":"VariableDeclaration","scope":70610,"src":"1143:24:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70605,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70608,"indexed":false,"mutability":"mutable","name":"newThreshold","nameLocation":"1177:12:100","nodeType":"VariableDeclaration","scope":70610,"src":"1169:20:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70607,"name":"uint256","nodeType":"ElementaryTypeName","src":"1169:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1142:48:100"}},{"id":70612,"nodeType":"ErrorDefinition","src":"1197:23:100","nodes":[],"errorSelector":"7d7b71b5","name":"OnlyAuthorized","nameLocation":"1203:14:100","parameters":{"id":70611,"nodeType":"ParameterList","parameters":[],"src":"1217:2:100"}},{"id":70614,"nodeType":"ErrorDefinition","src":"1225:32:100","nodes":[],"errorSelector":"e3b6914b","name":"OnlyCouncilOrAuthorized","nameLocation":"1231:23:100","parameters":{"id":70613,"nodeType":"ParameterList","parameters":[],"src":"1254:2:100"}},{"id":70616,"nodeType":"ErrorDefinition","src":"1262:20:100","nodes":[],"errorSelector":"97ffbac9","name":"OnlyCouncil","nameLocation":"1268:11:100","parameters":{"id":70615,"nodeType":"ParameterList","parameters":[],"src":"1279:2:100"}},{"id":70618,"nodeType":"ErrorDefinition","src":"1287:20:100","nodes":[],"errorSelector":"d92e233d","name":"ZeroAddress","nameLocation":"1293:11:100","parameters":{"id":70617,"nodeType":"ParameterList","parameters":[],"src":"1304:2:100"}},{"id":70620,"nodeType":"ErrorDefinition","src":"1312:30:100","nodes":[],"errorSelector":"c45546f7","name":"StrategyAlreadyExists","nameLocation":"1318:21:100","parameters":{"id":70619,"nodeType":"ParameterList","parameters":[],"src":"1339:2:100"}},{"id":70640,"nodeType":"ModifierDefinition","src":"1348:178:100","nodes":[],"body":{"id":70639,"nodeType":"Block","src":"1374:152:100","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70622,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1388:3:100","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1392:6:100","memberName":"sender","nodeType":"MemberAccess","src":"1388:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":70624,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52123,"src":"1402:5:100","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":70625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1402:7:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1388:21:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70627,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1413:3:100","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1417:6:100","memberName":"sender","nodeType":"MemberAccess","src":"1413:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":70629,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70558,"src":"1427:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1413:25:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1388:50:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70637,"nodeType":"Block","src":"1472:48:100","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70634,"name":"OnlyAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"1493:14:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1493:16:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70636,"nodeType":"RevertStatement","src":"1486:23:100"}]},"id":70638,"nodeType":"IfStatement","src":"1384:136:100","trueBody":{"id":70633,"nodeType":"Block","src":"1440:26:100","statements":[{"id":70632,"nodeType":"PlaceholderStatement","src":"1454:1:100"}]}}]},"name":"onlyAuthorized","nameLocation":"1357:14:100","parameters":{"id":70621,"nodeType":"ParameterList","parameters":[],"src":"1371:2:100"},"virtual":false,"visibility":"internal"},{"id":70670,"nodeType":"ModifierDefinition","src":"1532:264:100","nodes":[],"body":{"id":70669,"nodeType":"Block","src":"1584:212:100","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70644,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1598:3:100","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1602:6:100","memberName":"sender","nodeType":"MemberAccess","src":"1598:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":70646,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52123,"src":"1612:5:100","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":70647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:7:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1598:21:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70649,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1623:3:100","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1627:6:100","memberName":"sender","nodeType":"MemberAccess","src":"1623:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":70651,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70558,"src":"1637:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1623:25:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:50:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70654,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1652:3:100","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1656:6:100","memberName":"sender","nodeType":"MemberAccess","src":"1652:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":70656,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"1666:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70658,"indexExpression":{"id":70657,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70642,"src":"1677:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1666:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"id":70659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1688:11:100","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70460,"src":"1666:33:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1652:47:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:101:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70667,"nodeType":"Block","src":"1733:57:100","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70664,"name":"OnlyCouncilOrAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70614,"src":"1754:23:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70666,"nodeType":"RevertStatement","src":"1747:32:100"}]},"id":70668,"nodeType":"IfStatement","src":"1594:196:100","trueBody":{"id":70663,"nodeType":"Block","src":"1701:26:100","statements":[{"id":70662,"nodeType":"PlaceholderStatement","src":"1715:1:100"}]}}]},"name":"onlyCouncilOrAuthorized","nameLocation":"1541:23:100","parameters":{"id":70643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70642,"mutability":"mutable","name":"_strategy","nameLocation":"1573:9:100","nodeType":"VariableDeclaration","scope":70670,"src":"1565:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70641,"name":"address","nodeType":"ElementaryTypeName","src":"1565:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1564:19:100"},"virtual":false,"visibility":"internal"},{"id":70689,"nodeType":"ModifierDefinition","src":"1802:186:100","nodes":[],"body":{"id":70688,"nodeType":"Block","src":"1842:146:100","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70674,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1856:3:100","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1860:6:100","memberName":"sender","nodeType":"MemberAccess","src":"1856:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":70676,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"1870:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70678,"indexExpression":{"id":70677,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70672,"src":"1881:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1870:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"id":70679,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1892:11:100","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70460,"src":"1870:33:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1856:47:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70686,"nodeType":"Block","src":"1937:45:100","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70683,"name":"OnlyCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70616,"src":"1958:11:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1958:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70685,"nodeType":"RevertStatement","src":"1951:20:100"}]},"id":70687,"nodeType":"IfStatement","src":"1852:130:100","trueBody":{"id":70682,"nodeType":"Block","src":"1905:26:100","statements":[{"id":70681,"nodeType":"PlaceholderStatement","src":"1919:1:100"}]}}]},"name":"onlyCouncil","nameLocation":"1811:11:100","parameters":{"id":70673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70672,"mutability":"mutable","name":"_strategy","nameLocation":"1831:9:100","nodeType":"VariableDeclaration","scope":70689,"src":"1823:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70671,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1822:19:100"},"virtual":false,"visibility":"internal"},{"id":70706,"nodeType":"FunctionDefinition","src":"1994:148:100","nodes":[],"body":{"id":70705,"nodeType":"Block","src":"2053:89:100","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70694,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70691,"src":"2067:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":70697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2087:1:100","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":70696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2079:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70695,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:100","typeDescriptions":{}}},"id":70698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2079:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2067:22:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70704,"nodeType":"IfStatement","src":"2063:73:100","trueBody":{"id":70703,"nodeType":"Block","src":"2091:45:100","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70700,"name":"ZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70618,"src":"2112:11:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2112:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70702,"nodeType":"RevertStatement","src":"2105:20:100"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"2003:18:100","parameters":{"id":70692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70691,"mutability":"mutable","name":"_address","nameLocation":"2030:8:100","nodeType":"VariableDeclaration","scope":70706,"src":"2022:16:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70690,"name":"address","nodeType":"ElementaryTypeName","src":"2022:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2021:18:100"},"returnParameters":{"id":70693,"nodeType":"ParameterList","parameters":[],"src":"2053:0:100"},"scope":71032,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":70725,"nodeType":"FunctionDefinition","src":"2148:172:100","nodes":[],"body":{"id":70724,"nodeType":"Block","src":"2209:111:100","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":70713,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52095,"src":"2219:14:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":70714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2219:16:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70715,"nodeType":"ExpressionStatement","src":"2219:16:100"},{"expression":{"arguments":[{"id":70717,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70708,"src":"2264:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70716,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70706,"src":"2245:18:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2245:32:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70719,"nodeType":"ExpressionStatement","src":"2245:32:100"},{"expression":{"id":70722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70720,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70558,"src":"2287:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70721,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70708,"src":"2301:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2287:26:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70723,"nodeType":"ExpressionStatement","src":"2287:26:100"}]},"baseFunctions":[70466],"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":70711,"kind":"modifierInvocation","modifierName":{"id":70710,"name":"initializer","nameLocations":["2197:11:100"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"2197:11:100"},"nodeType":"ModifierInvocation","src":"2197:11:100"}],"name":"initialize","nameLocation":"2157:10:100","parameters":{"id":70709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70708,"mutability":"mutable","name":"_listManager","nameLocation":"2176:12:100","nodeType":"VariableDeclaration","scope":70725,"src":"2168:20:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70707,"name":"address","nodeType":"ElementaryTypeName","src":"2168:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2167:22:100"},"returnParameters":{"id":70712,"nodeType":"ParameterList","parameters":[],"src":"2209:0:100"},"scope":71032,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":70756,"nodeType":"FunctionDefinition","src":"2503:274:100","nodes":[],"body":{"id":70755,"nodeType":"Block","src":"2608:169:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":70738,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70728,"src":"2637:5:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70737,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70706,"src":"2618:18:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70740,"nodeType":"ExpressionStatement","src":"2618:25:100"},{"expression":{"id":70745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70741,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70563,"src":"2653:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70454_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70743,"indexExpression":{"id":70742,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70728,"src":"2664:5:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2653:17:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70744,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70731,"src":"2673:13:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_memory_ptr","typeString":"struct PassportData memory"}},"src":"2653:33:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_storage","typeString":"struct PassportData storage ref"}},"id":70746,"nodeType":"ExpressionStatement","src":"2653:33:100"},{"eventCall":{"arguments":[{"id":70748,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70728,"src":"2716:5:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70749,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70731,"src":"2723:13:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_memory_ptr","typeString":"struct PassportData memory"}},"id":70750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2737:5:100","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70451,"src":"2723:19:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":70751,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70731,"src":"2744:13:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_memory_ptr","typeString":"struct PassportData memory"}},"id":70752,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2758:11:100","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"2744:25:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70747,"name":"UserScoreAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70576,"src":"2701:14:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":70753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:69:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70754,"nodeType":"EmitStatement","src":"2696:74:100"}]},"baseFunctions":[70474],"documentation":{"id":70726,"nodeType":"StructuredDocumentation","src":"2326:172:100","text":"@notice Add a userScore to the list\n @param _user address of the user to add\n @param _passportData PassportData struct with the user score and lastUpdated"},"functionSelector":"7814d568","implemented":true,"kind":"function","modifiers":[{"id":70735,"kind":"modifierInvocation","modifierName":{"id":70734,"name":"onlyAuthorized","nameLocations":["2593:14:100"],"nodeType":"IdentifierPath","referencedDeclaration":70640,"src":"2593:14:100"},"nodeType":"ModifierInvocation","src":"2593:14:100"}],"name":"addUserScore","nameLocation":"2512:12:100","overrides":{"id":70733,"nodeType":"OverrideSpecifier","overrides":[],"src":"2584:8:100"},"parameters":{"id":70732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70728,"mutability":"mutable","name":"_user","nameLocation":"2533:5:100","nodeType":"VariableDeclaration","scope":70756,"src":"2525:13:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70727,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70731,"mutability":"mutable","name":"_passportData","nameLocation":"2560:13:100","nodeType":"VariableDeclaration","scope":70756,"src":"2540:33:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":70730,"nodeType":"UserDefinedTypeName","pathNode":{"id":70729,"name":"PassportData","nameLocations":["2540:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":70454,"src":"2540:12:100"},"referencedDeclaration":70454,"src":"2540:12:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"2524:50:100"},"returnParameters":{"id":70736,"nodeType":"ParameterList","parameters":[],"src":"2608:0:100"},"scope":71032,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70779,"nodeType":"FunctionDefinition","src":"2878:177:100","nodes":[],"body":{"id":70778,"nodeType":"Block","src":"2946:109:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":70766,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70759,"src":"2975:5:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70765,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70706,"src":"2956:18:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2956:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70768,"nodeType":"ExpressionStatement","src":"2956:25:100"},{"expression":{"id":70772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2991:24:100","subExpression":{"baseExpression":{"id":70769,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70563,"src":"2998:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70454_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70771,"indexExpression":{"id":70770,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70759,"src":"3009:5:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2998:17:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_storage","typeString":"struct PassportData storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70773,"nodeType":"ExpressionStatement","src":"2991:24:100"},{"eventCall":{"arguments":[{"id":70775,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70759,"src":"3042:5:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70774,"name":"UserRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70580,"src":"3030:11:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3030:18:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70777,"nodeType":"EmitStatement","src":"3025:23:100"}]},"baseFunctions":[70479],"documentation":{"id":70757,"nodeType":"StructuredDocumentation","src":"2783:90:100","text":"@notice Remove a user from the list\n @param _user address of the user to remove"},"functionSelector":"98575188","implemented":true,"kind":"function","modifiers":[{"id":70763,"kind":"modifierInvocation","modifierName":{"id":70762,"name":"onlyAuthorized","nameLocations":["2931:14:100"],"nodeType":"IdentifierPath","referencedDeclaration":70640,"src":"2931:14:100"},"nodeType":"ModifierInvocation","src":"2931:14:100"}],"name":"removeUser","nameLocation":"2887:10:100","overrides":{"id":70761,"nodeType":"OverrideSpecifier","overrides":[],"src":"2922:8:100"},"parameters":{"id":70760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70759,"mutability":"mutable","name":"_user","nameLocation":"2906:5:100","nodeType":"VariableDeclaration","scope":70779,"src":"2898:13:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70758,"name":"address","nodeType":"ElementaryTypeName","src":"2898:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2897:15:100"},"returnParameters":{"id":70764,"nodeType":"ParameterList","parameters":[],"src":"2946:0:100"},"scope":71032,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70806,"nodeType":"FunctionDefinition","src":"3168:259:100","nodes":[],"body":{"id":70805,"nodeType":"Block","src":"3244:183:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":70789,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70782,"src":"3273:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70788,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70706,"src":"3254:18:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3254:31:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70791,"nodeType":"ExpressionStatement","src":"3254:31:100"},{"assignments":[70793],"declarations":[{"constant":false,"id":70793,"mutability":"mutable","name":"oldManager","nameLocation":"3303:10:100","nodeType":"VariableDeclaration","scope":70805,"src":"3295:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70792,"name":"address","nodeType":"ElementaryTypeName","src":"3295:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":70795,"initialValue":{"id":70794,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70558,"src":"3316:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3295:32:100"},{"expression":{"id":70798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70796,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70558,"src":"3337:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70797,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70782,"src":"3351:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3337:25:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70799,"nodeType":"ExpressionStatement","src":"3337:25:100"},{"eventCall":{"arguments":[{"id":70801,"name":"oldManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70793,"src":"3396:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70802,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70782,"src":"3408:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70800,"name":"ListManagerChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70586,"src":"3377:18:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":70803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70804,"nodeType":"EmitStatement","src":"3372:48:100"}]},"baseFunctions":[70484],"documentation":{"id":70780,"nodeType":"StructuredDocumentation","src":"3061:102:100","text":"@notice Change the list manager address\n @param _newManager address of the new list manager"},"functionSelector":"3d476830","implemented":true,"kind":"function","modifiers":[{"id":70786,"kind":"modifierInvocation","modifierName":{"id":70785,"name":"onlyOwner","nameLocations":["3234:9:100"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"3234:9:100"},"nodeType":"ModifierInvocation","src":"3234:9:100"}],"name":"changeListManager","nameLocation":"3177:17:100","overrides":{"id":70784,"nodeType":"OverrideSpecifier","overrides":[],"src":"3225:8:100"},"parameters":{"id":70783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70782,"mutability":"mutable","name":"_newManager","nameLocation":"3203:11:100","nodeType":"VariableDeclaration","scope":70806,"src":"3195:19:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70781,"name":"address","nodeType":"ElementaryTypeName","src":"3195:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3194:21:100"},"returnParameters":{"id":70787,"nodeType":"ParameterList","parameters":[],"src":"3244:0:100"},"scope":71032,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70865,"nodeType":"FunctionDefinition","src":"3595:532:100","nodes":[],"body":{"id":70864,"nodeType":"Block","src":"3701:426:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":70819,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70809,"src":"3730:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70818,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70706,"src":"3711:18:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3711:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70821,"nodeType":"ExpressionStatement","src":"3711:29:100"},{"expression":{"arguments":[{"id":70823,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70813,"src":"3769:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70822,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70706,"src":"3750:18:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:32:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70825,"nodeType":"ExpressionStatement","src":"3750:32:100"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70826,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"3796:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70828,"indexExpression":{"id":70827,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70809,"src":"3807:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3796:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"id":70829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3818:9:100","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70456,"src":"3796:31:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":70830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3831:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3796:36:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70832,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"3836:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70834,"indexExpression":{"id":70833,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70809,"src":"3847:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3836:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"id":70835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3858:11:100","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70460,"src":"3836:33:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":70838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3881:1:100","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":70837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3873:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70836,"name":"address","nodeType":"ElementaryTypeName","src":"3873:7:100","typeDescriptions":{}}},"id":70839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3836:47:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3796:87:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70846,"nodeType":"IfStatement","src":"3792:148:100","trueBody":{"id":70845,"nodeType":"Block","src":"3885:55:100","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70842,"name":"StrategyAlreadyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70620,"src":"3906:21:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3906:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70844,"nodeType":"RevertStatement","src":"3899:30:100"}]}},{"expression":{"id":70855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70847,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"3949:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70849,"indexExpression":{"id":70848,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70809,"src":"3960:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3949:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":70851,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70811,"src":"3994:10:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":70852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4014:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":70853,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70813,"src":"4034:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70850,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70461,"src":"3973:8:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Strategy_$70461_storage_ptr_$","typeString":"type(struct Strategy storage pointer)"}},"id":70854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3983:9:100","4006:6:100","4021:11:100"],"names":["threshold","active","councilSafe"],"nodeType":"FunctionCall","src":"3973:75:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_memory_ptr","typeString":"struct Strategy memory"}},"src":"3949:99:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"id":70856,"nodeType":"ExpressionStatement","src":"3949:99:100"},{"eventCall":{"arguments":[{"id":70858,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70809,"src":"4077:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70859,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70811,"src":"4088:10:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":70860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4100:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":70861,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70813,"src":"4107:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70857,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70596,"src":"4063:13:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,uint256,bool,address)"}},"id":70862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4063:57:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70863,"nodeType":"EmitStatement","src":"4058:62:100"}]},"baseFunctions":[70509],"documentation":{"id":70807,"nodeType":"StructuredDocumentation","src":"3433:157:100","text":"@notice Add a strategy to the contract\n @param _threshold is expressed on a scale of 10**4\n @param _councilSafe address of the council safe"},"functionSelector":"fc2ebdd1","implemented":true,"kind":"function","modifiers":[{"id":70816,"kind":"modifierInvocation","modifierName":{"id":70815,"name":"onlyAuthorized","nameLocations":["3686:14:100"],"nodeType":"IdentifierPath","referencedDeclaration":70640,"src":"3686:14:100"},"nodeType":"ModifierInvocation","src":"3686:14:100"}],"name":"addStrategy","nameLocation":"3604:11:100","parameters":{"id":70814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70809,"mutability":"mutable","name":"_strategy","nameLocation":"3624:9:100","nodeType":"VariableDeclaration","scope":70865,"src":"3616:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70808,"name":"address","nodeType":"ElementaryTypeName","src":"3616:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70811,"mutability":"mutable","name":"_threshold","nameLocation":"3643:10:100","nodeType":"VariableDeclaration","scope":70865,"src":"3635:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70810,"name":"uint256","nodeType":"ElementaryTypeName","src":"3635:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70813,"mutability":"mutable","name":"_councilSafe","nameLocation":"3663:12:100","nodeType":"VariableDeclaration","scope":70865,"src":"3655:20:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70812,"name":"address","nodeType":"ElementaryTypeName","src":"3655:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3615:61:100"},"returnParameters":{"id":70817,"nodeType":"ParameterList","parameters":[],"src":"3701:0:100"},"scope":71032,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70898,"nodeType":"FunctionDefinition","src":"4244:274:100","nodes":[],"body":{"id":70897,"nodeType":"Block","src":"4340:178:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":70876,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"4369:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70875,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70706,"src":"4350:18:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4350:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70878,"nodeType":"ExpressionStatement","src":"4350:29:100"},{"expression":{"id":70884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70879,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"4389:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70881,"indexExpression":{"id":70880,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"4400:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4389:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"id":70882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4411:6:100","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":70458,"src":"4389:28:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":70883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4420:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4389:36:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70885,"nodeType":"ExpressionStatement","src":"4389:36:100"},{"expression":{"id":70891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70886,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"4435:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70888,"indexExpression":{"id":70887,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"4446:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4435:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"id":70889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4457:9:100","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70456,"src":"4435:31:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":70890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4469:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4435:35:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70892,"nodeType":"ExpressionStatement","src":"4435:35:100"},{"eventCall":{"arguments":[{"id":70894,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"4501:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70893,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70600,"src":"4485:15:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4485:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70896,"nodeType":"EmitStatement","src":"4480:31:100"}]},"baseFunctions":[70514],"documentation":{"id":70866,"nodeType":"StructuredDocumentation","src":"4133:106:100","text":"@notice Remove a strategy from the contract\n @param _strategy address of the strategy to remove"},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":70872,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"4329:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":70873,"kind":"modifierInvocation","modifierName":{"id":70871,"name":"onlyCouncilOrAuthorized","nameLocations":["4305:23:100"],"nodeType":"IdentifierPath","referencedDeclaration":70670,"src":"4305:23:100"},"nodeType":"ModifierInvocation","src":"4305:34:100"}],"name":"removeStrategy","nameLocation":"4253:14:100","overrides":{"id":70870,"nodeType":"OverrideSpecifier","overrides":[],"src":"4296:8:100"},"parameters":{"id":70869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70868,"mutability":"mutable","name":"_strategy","nameLocation":"4276:9:100","nodeType":"VariableDeclaration","scope":70898,"src":"4268:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70867,"name":"address","nodeType":"ElementaryTypeName","src":"4268:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4267:19:100"},"returnParameters":{"id":70874,"nodeType":"ParameterList","parameters":[],"src":"4340:0:100"},"scope":71032,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70923,"nodeType":"FunctionDefinition","src":"4621:211:100","nodes":[],"body":{"id":70922,"nodeType":"Block","src":"4698:134:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":70908,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70901,"src":"4727:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70907,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70706,"src":"4708:18:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70910,"nodeType":"ExpressionStatement","src":"4708:29:100"},{"expression":{"id":70916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70911,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"4747:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70913,"indexExpression":{"id":70912,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70901,"src":"4758:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4747:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"id":70914,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4769:6:100","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":70458,"src":"4747:28:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":70915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4778:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4747:35:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70917,"nodeType":"ExpressionStatement","src":"4747:35:100"},{"eventCall":{"arguments":[{"id":70919,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70901,"src":"4815:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70918,"name":"StrategyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70604,"src":"4797:17:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4797:28:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70921,"nodeType":"EmitStatement","src":"4792:33:100"}]},"baseFunctions":[70519],"documentation":{"id":70899,"nodeType":"StructuredDocumentation","src":"4524:92:100","text":"@notice Activate a strategy\n @param _strategy address of the strategy to activate"},"functionSelector":"d80ea5a0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":70904,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70901,"src":"4687:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":70905,"kind":"modifierInvocation","modifierName":{"id":70903,"name":"onlyCouncil","nameLocations":["4675:11:100"],"nodeType":"IdentifierPath","referencedDeclaration":70689,"src":"4675:11:100"},"nodeType":"ModifierInvocation","src":"4675:22:100"}],"name":"activateStrategy","nameLocation":"4630:16:100","parameters":{"id":70902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70901,"mutability":"mutable","name":"_strategy","nameLocation":"4655:9:100","nodeType":"VariableDeclaration","scope":70923,"src":"4647:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70900,"name":"address","nodeType":"ElementaryTypeName","src":"4647:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4646:19:100"},"returnParameters":{"id":70906,"nodeType":"ParameterList","parameters":[],"src":"4698:0:100"},"scope":71032,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70951,"nodeType":"FunctionDefinition","src":"5028:272:100","nodes":[],"body":{"id":70950,"nodeType":"Block","src":"5139:161:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":70935,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70926,"src":"5168:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70934,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70706,"src":"5149:18:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5149:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70937,"nodeType":"ExpressionStatement","src":"5149:29:100"},{"expression":{"id":70943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70938,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"5188:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70940,"indexExpression":{"id":70939,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70926,"src":"5199:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5188:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"id":70941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5210:9:100","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70456,"src":"5188:31:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70942,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70928,"src":"5222:13:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5188:47:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70944,"nodeType":"ExpressionStatement","src":"5188:47:100"},{"eventCall":{"arguments":[{"id":70946,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70926,"src":"5268:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70947,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70928,"src":"5279:13:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70945,"name":"ThresholdModified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70610,"src":"5250:17:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":70948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5250:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70949,"nodeType":"EmitStatement","src":"5245:48:100"}]},"baseFunctions":[70500],"documentation":{"id":70924,"nodeType":"StructuredDocumentation","src":"4838:185:100","text":"@notice Modify the threshold of a strategy\n @param _strategy address of the strategy to modify\n @param _newThreshold new threshold to set expressed on a scale of 10**4"},"functionSelector":"642ce76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":70931,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70926,"src":"5128:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":70932,"kind":"modifierInvocation","modifierName":{"id":70930,"name":"onlyCouncilOrAuthorized","nameLocations":["5104:23:100"],"nodeType":"IdentifierPath","referencedDeclaration":70670,"src":"5104:23:100"},"nodeType":"ModifierInvocation","src":"5104:34:100"}],"name":"modifyThreshold","nameLocation":"5037:15:100","parameters":{"id":70929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70926,"mutability":"mutable","name":"_strategy","nameLocation":"5061:9:100","nodeType":"VariableDeclaration","scope":70951,"src":"5053:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70925,"name":"address","nodeType":"ElementaryTypeName","src":"5053:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70928,"mutability":"mutable","name":"_newThreshold","nameLocation":"5080:13:100","nodeType":"VariableDeclaration","scope":70951,"src":"5072:21:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70927,"name":"uint256","nodeType":"ElementaryTypeName","src":"5072:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5052:42:100"},"returnParameters":{"id":70933,"nodeType":"ParameterList","parameters":[],"src":"5139:0:100"},"scope":71032,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70990,"nodeType":"FunctionDefinition","src":"5465:345:100","nodes":[],"body":{"id":70989,"nodeType":"Block","src":"5563:247:100","nodes":[],"statements":[{"assignments":[70964],"declarations":[{"constant":false,"id":70964,"mutability":"mutable","name":"userScore","nameLocation":"5593:9:100","nodeType":"VariableDeclaration","scope":70989,"src":"5573:29:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":70963,"nodeType":"UserDefinedTypeName","pathNode":{"id":70962,"name":"PassportData","nameLocations":["5573:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":70454,"src":"5573:12:100"},"referencedDeclaration":70454,"src":"5573:12:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":70968,"initialValue":{"baseExpression":{"id":70965,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70563,"src":"5605:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70454_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70967,"indexExpression":{"id":70966,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70954,"src":"5616:5:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5605:17:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_storage","typeString":"struct PassportData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5573:49:100"},{"assignments":[70971],"declarations":[{"constant":false,"id":70971,"mutability":"mutable","name":"strategy","nameLocation":"5648:8:100","nodeType":"VariableDeclaration","scope":70989,"src":"5632:24:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":70970,"nodeType":"UserDefinedTypeName","pathNode":{"id":70969,"name":"Strategy","nameLocations":["5632:8:100"],"nodeType":"IdentifierPath","referencedDeclaration":70461,"src":"5632:8:100"},"referencedDeclaration":70461,"src":"5632:8:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"id":70975,"initialValue":{"baseExpression":{"id":70972,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"5659:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70974,"indexExpression":{"id":70973,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70956,"src":"5670:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5659:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5632:48:100"},{"condition":{"id":70978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5695:16:100","subExpression":{"expression":{"id":70976,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70971,"src":"5696:8:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_memory_ptr","typeString":"struct Strategy memory"}},"id":70977,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5705:6:100","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":70458,"src":"5696:15:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70982,"nodeType":"IfStatement","src":"5691:58:100","trueBody":{"id":70981,"nodeType":"Block","src":"5713:36:100","statements":[{"expression":{"hexValue":"74727565","id":70979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5734:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":70961,"id":70980,"nodeType":"Return","src":"5727:11:100"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70983,"name":"userScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70964,"src":"5766:9:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_memory_ptr","typeString":"struct PassportData memory"}},"id":70984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5776:5:100","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70451,"src":"5766:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":70985,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70971,"src":"5785:8:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_memory_ptr","typeString":"struct Strategy memory"}},"id":70986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5794:9:100","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70456,"src":"5785:18:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5766:37:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":70961,"id":70988,"nodeType":"Return","src":"5759:44:100"}]},"baseFunctions":[70493],"documentation":{"id":70952,"nodeType":"StructuredDocumentation","src":"5306:154:100","text":"@notice Check if an action can be executed\n @param _user address of the user to check\n @param _strategy address of the strategy to check"},"functionSelector":"42a987a0","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteAction","nameLocation":"5474:16:100","overrides":{"id":70958,"nodeType":"OverrideSpecifier","overrides":[],"src":"5539:8:100"},"parameters":{"id":70957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70954,"mutability":"mutable","name":"_user","nameLocation":"5499:5:100","nodeType":"VariableDeclaration","scope":70990,"src":"5491:13:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70953,"name":"address","nodeType":"ElementaryTypeName","src":"5491:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70956,"mutability":"mutable","name":"_strategy","nameLocation":"5514:9:100","nodeType":"VariableDeclaration","scope":70990,"src":"5506:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70955,"name":"address","nodeType":"ElementaryTypeName","src":"5506:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5490:34:100"},"returnParameters":{"id":70961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70990,"src":"5557:4:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70959,"name":"bool","nodeType":"ElementaryTypeName","src":"5557:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5556:6:100"},"scope":71032,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":71004,"nodeType":"FunctionDefinition","src":"5906:122:100","nodes":[],"body":{"id":71003,"nodeType":"Block","src":"5987:41:100","nodes":[],"statements":[{"expression":{"baseExpression":{"id":70999,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70563,"src":"6004:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70454_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":71001,"indexExpression":{"id":71000,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70993,"src":"6015:5:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6004:17:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_storage","typeString":"struct PassportData storage ref"}},"functionReturnParameters":70998,"id":71002,"nodeType":"Return","src":"5997:24:100"}]},"baseFunctions":[70527],"documentation":{"id":70991,"nodeType":"StructuredDocumentation","src":"5816:85:100","text":"@notice Get the score of a user\n @param _user address of the user to check"},"functionSelector":"b34e0c47","implemented":true,"kind":"function","modifiers":[],"name":"getUserScore","nameLocation":"5915:12:100","parameters":{"id":70994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70993,"mutability":"mutable","name":"_user","nameLocation":"5936:5:100","nodeType":"VariableDeclaration","scope":71004,"src":"5928:13:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70992,"name":"address","nodeType":"ElementaryTypeName","src":"5928:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5927:15:100"},"returnParameters":{"id":70998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71004,"src":"5966:19:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":70996,"nodeType":"UserDefinedTypeName","pathNode":{"id":70995,"name":"PassportData","nameLocations":["5966:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":70454,"src":"5966:12:100"},"referencedDeclaration":70454,"src":"5966:12:100","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70454_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"5965:21:100"},"scope":71032,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":71018,"nodeType":"FunctionDefinition","src":"6130:125:100","nodes":[],"body":{"id":71017,"nodeType":"Block","src":"6210:45:100","nodes":[],"statements":[{"expression":{"baseExpression":{"id":71013,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70568,"src":"6227:10:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70461_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":71015,"indexExpression":{"id":71014,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71007,"src":"6238:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6227:21:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage","typeString":"struct Strategy storage ref"}},"functionReturnParameters":71012,"id":71016,"nodeType":"Return","src":"6220:28:100"}]},"baseFunctions":[70535],"documentation":{"id":71005,"nodeType":"StructuredDocumentation","src":"6034:91:100","text":"@notice Get the strategy data\n @param _strategy address of the strategy to check"},"functionSelector":"f8806a13","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"6139:11:100","parameters":{"id":71008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71007,"mutability":"mutable","name":"_strategy","nameLocation":"6159:9:100","nodeType":"VariableDeclaration","scope":71018,"src":"6151:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71006,"name":"address","nodeType":"ElementaryTypeName","src":"6151:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6150:19:100"},"returnParameters":{"id":71012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71011,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71018,"src":"6193:15:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":71010,"nodeType":"UserDefinedTypeName","pathNode":{"id":71009,"name":"Strategy","nameLocations":["6193:8:100"],"nodeType":"IdentifierPath","referencedDeclaration":70461,"src":"6193:8:100"},"referencedDeclaration":70461,"src":"6193:8:100","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70461_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"src":"6192:17:100"},"scope":71032,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":71027,"nodeType":"FunctionDefinition","src":"6261:66:100","nodes":[],"body":{"id":71026,"nodeType":"Block","src":"6325:2:100","nodes":[],"statements":[]},"baseFunctions":[54968],"implemented":true,"kind":"function","modifiers":[{"id":71024,"kind":"modifierInvocation","modifierName":{"id":71023,"name":"onlyOwner","nameLocations":["6315:9:100"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"6315:9:100"},"nodeType":"ModifierInvocation","src":"6315:9:100"}],"name":"_authorizeUpgrade","nameLocation":"6270:17:100","overrides":{"id":71022,"nodeType":"OverrideSpecifier","overrides":[],"src":"6306:8:100"},"parameters":{"id":71021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71020,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71027,"src":"6288:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71019,"name":"address","nodeType":"ElementaryTypeName","src":"6288:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6287:9:100"},"returnParameters":{"id":71025,"nodeType":"ParameterList","parameters":[],"src":"6325:0:100"},"scope":71032,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":71031,"nodeType":"VariableDeclaration","src":"6333:25:100","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"6353:5:100","scope":71032,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":71028,"name":"uint256","nodeType":"ElementaryTypeName","src":"6333:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71030,"length":{"hexValue":"3530","id":71029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6341:2:100","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"6333:11:100","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":70549,"name":"Initializable","nameLocations":["479:13:100"],"nodeType":"IdentifierPath","referencedDeclaration":52449,"src":"479:13:100"},"id":70550,"nodeType":"InheritanceSpecifier","src":"479:13:100"},{"baseName":{"id":70551,"name":"UUPSUpgradeable","nameLocations":["494:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":54969,"src":"494:15:100"},"id":70552,"nodeType":"InheritanceSpecifier","src":"494:15:100"},{"baseName":{"id":70553,"name":"OwnableUpgradeable","nameLocations":["511:18:100"],"nodeType":"IdentifierPath","referencedDeclaration":52200,"src":"511:18:100"},"id":70554,"nodeType":"InheritanceSpecifier","src":"511:18:100"},{"baseName":{"id":70555,"name":"ISybilScorer","nameLocations":["531:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":70536,"src":"531:12:100"},"id":70556,"nodeType":"InheritanceSpecifier","src":"531:12:100"}],"canonicalName":"PassportScorer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[71032,70536,52200,52993,54969,52449,54622,54271,54281],"name":"PassportScorer","nameLocation":"461:14:100","scope":71033,"usedErrors":[70612,70614,70616,70618,70620]}],"license":"AGPL-3.0-or-later"},"id":100} \ No newline at end of file diff --git a/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json b/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json new file mode 100644 index 000000000..14a0a9984 --- /dev/null +++ b/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"passportData","inputs":[],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"passportScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract PassportScorer"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategy","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAddStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCanExecuteAction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByAuthorized","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyOwnerCanChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unauthorizedUser","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"user","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c805460ff199081166001908117909255601e805490911682179055601f80546001600160a01b0319908116909217905560208054821660021790556021805482166003179055602280548216600417905560238054909116600517905534801561006f57600080fd5b5061463d8061007f6000396000f3fe60806040523480156200001157600080fd5b50600436106200018a5760003560e01c8063073a2d8c146200018f5780630778c72c14620001b85780630a9254e414620001c45780630c2759da14620001ce5780631ed7831c14620001d857806324e40b9714620001f15780632582115314620001fb5780632ade388014620002055780633668aa29146200021e5780633e5e3c2314620002285780633ea7771b14620002325780633f7286f414620002555780634905e831146200025f5780634f8632ba146200027857806366d9a9a0146200028c5780636c53db9a14620002a557806382fad47814620002b957806385226c8114620002c35780638caa5c4414620002dc5780638df8b2fe14620002e6578063916a17c614620002fa5780639693f1281462000304578063a8c62e76146200030e578063b5508aa91462000322578063ba414fa6146200032c578063d4dadecb1462000347578063e20c9f711462000351578063e68393b4146200035b578063ebe69a5f1462000365578063fa7626d4146200036f575b600080fd5b6024546025546200019e919082565b604080519283526020830191909152015b60405180910390f35b620001c26200037d565b005b620001c262000615565b620001c26200071d565b620001e2620008ae565b604051620001af9190620023ed565b620001c262000912565b620001c262000a86565b6200020f62000bd7565b604051620001af919062002484565b620001c262000d25565b620001e262000fb9565b60235462000246906001600160a01b031681565b604051620001af91906200254a565b620001e26200101b565b601e54620002469061010090046001600160a01b031681565b60205462000246906001600160a01b031681565b620002966200107d565b604051620001af91906200255e565b60225462000246906001600160a01b031681565b620001c262001167565b620002cd62001285565b604051620001af919062002615565b620001c26200135f565b601f5462000246906001600160a01b031681565b6200029662001890565b620001c26200197a565b60215462000246906001600160a01b031681565b620002cd62001b02565b6200033662001bdc565b6040519015158152602001620001af565b620001c262001c91565b620001e262001efe565b620001c262001f60565b620001c26200208f565b601e54620003369060ff1681565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620003c1916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620003dc57600080fd5b505af1158015620003f1573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd19450620004389392831692879216906004016200267b565b600060405180830381600087803b1580156200045357600080fd5b505af115801562000468573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620004ab916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620004c657600080fd5b505af1158015620004db573d6000803e3d6000fd5b5050601e546021546040516302ea311d60e31b81526101009092046001600160a01b03908116945063175188e893506200051b929116906004016200254a565b600060405180830381600087803b1580156200053657600080fd5b505af11580156200054b573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf823926200059292909116906004016200254a565b606060405180830381865afa158015620005b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d69190620026cc565b925092509250620005e98360006200225f565b620005f6826000620022cb565b6022546200060f9082906001600160a01b031662002308565b50505050565b60006040516200062590620023d1565b604051809103906000f08015801562000642573d6000803e3d6000fd5b50601f5460405163189acdbd60e31b916200066c916001600160a01b03909116906024016200254a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620006ab90620023df565b620006b89291906200270d565b604051809103906000f080158015620006d5573d6000803e3d6000fd5b50601e80546001600160a01b0390921661010002610100600160a81b031990921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa7916200075c916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200077757600080fd5b505af11580156200078c573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d5689350620007cf929116906024906004016200273b565b600060405180830381600087803b158015620007ea57600080fd5b505af1158015620007ff573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c4792620008409216906004016200254a565b6040805180830381865afa1580156200085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200088391906200275f565b805160245491925062000896916200225f565b620008ab81602001516024600101546200225f565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200090857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620008e9575b5050505050905090565b601f5460405163ca669fa760e01b8152600691600080516020620045c88339815191529163ca669fa79162000956916001600160a01b03909116906004016200254a565b600060405180830381600087803b1580156200097157600080fd5b505af115801562000986573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152600080516020620045c8833981519152925063f28dceb39150606401600060405180830381600087803b15801562000a0057600080fd5b505af115801562000a15573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d476830915062000a4f9084906004016200254a565b600060405180830381600087803b15801562000a6a57600080fd5b505af115801562000a7f573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162000ac5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000ae057600080fd5b505af115801562000af5573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e0915062000b3490637d7b71b560e01b90600401620027bd565b600060405180830381600087803b15801562000b4f57600080fd5b505af115801562000b64573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062000ba7929116906024906004016200273b565b600060405180830381600087803b15801562000bc257600080fd5b505af11580156200060f573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d0457838290600052602060002001805462000c7090620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462000c9e90620027d2565b801562000cef5780601f1062000cc35761010080835404028352916020019162000cef565b820191906000526020600020905b81548152906001019060200180831162000cd157829003601f168201915b50505050508152602001906001019062000c4e565b50505050815250508152602001906001019062000bfb565b50505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162000d6a916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000d8557600080fd5b505af115801562000d9a573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062000de19392831692889216906004016200267b565b600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b505060225460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000e6f57600080fd5b505af115801562000e84573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b935062000ec69291169085906004016200280e565b600060405180830381600087803b15801562000ee157600080fd5b505af115801562000ef6573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262000f3d92909116906004016200254a565b606060405180830381865afa15801562000f5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f819190620026cc565b92509250925062000f9383856200225f565b62000fa0826000620022cb565b60225462000a7f9082906001600160a01b031662002308565b6060601880548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200114e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200110f5790505b50505050508152505081526020019060010190620010a1565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa791620011a6916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620011c157600080fd5b505af1158015620011d6573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e091506200121590637d7b71b560e01b90600401620027bd565b600060405180830381600087803b1580156200123057600080fd5b505af115801562001245573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062000ba7929116906004016200254a565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c578382906000526020600020018054620012cb90620027d2565b80601f0160208091040260200160405190810160405280929190818152602001828054620012f990620027d2565b80156200134a5780601f106200131e576101008083540402835291602001916200134a565b820191906000526020600020905b8154815290600101906020018083116200132c57829003601f168201915b505050505081526020019060010190620012a9565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620013a3916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620013be57600080fd5b505af1158015620013d3573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200141a9392831692879216906004016200267b565b600060405180830381600087803b1580156200143557600080fd5b505af11580156200144a573d6000803e3d6000fd5b50506022546040516303223eab60e11b8152600080516020620045c883398151915293506306447d5692506200148d916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620014a857600080fd5b505af1158015620014bd573d6000803e3d6000fd5b5050601e546021546040516306c0752d60e51b81526101009092046001600160a01b03908116945063d80ea5a09350620014fd929116906004016200254a565b600060405180830381600087803b1580156200151857600080fd5b505af11580156200152d573d6000803e3d6000fd5b50505050600080516020620045e883398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200157f57600080fd5b505af115801562001594573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620015d7916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620015f257600080fd5b505af115801562001607573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d56893506200164a929116906024906004016200273b565b600060405180830381600087803b1580156200166557600080fd5b505af11580156200167a573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b8152600095506001600160a01b03610100909404841694506342a987a093620016c193811692169060040162002827565b602060405180830381865afa158015620016df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001705919062002841565b905062001712816200233e565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001751916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200176c57600080fd5b505af115801562001781573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b9350620017c4929116906096906004016200280e565b600060405180830381600087803b158015620017df57600080fd5b505af1158015620017f4573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526101009093046001600160a01b0390811695506342a987a094506200183b939281169291169060040162002827565b602060405180830381865afa15801562001859573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187f919062002841565b90506200188c816200239c565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200196157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019225790505b50505050508152505081526020019060010190620018b4565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620019be916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620019d957600080fd5b505af1158015620019ee573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062001a359392831692879216906004016200267b565b600060405180830381600087803b15801562001a5057600080fd5b505af115801562001a65573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262001aac92909116906004016200254a565b606060405180830381865afa15801562001aca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001af09190620026cc565b925092509250620005e983856200225f565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57838290600052602060002001805462001b4890620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462001b7690620027d2565b801562001bc75780601f1062001b9b5761010080835404028352916020019162001bc7565b820191906000526020600020905b81548152906001019060200180831162001ba957829003601f168201915b50505050508152602001906001019062001b26565b60085460009060ff161562001bf5575060085460ff1690565b604051630667f9d760e41b8152600090600080516020620045c88339815191529063667f9d709062001c4690600080516020620045e8833981519152906519985a5b195960d21b906004016200280e565b602060405180830381865afa15801562001c64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c8a919062002866565b1415905090565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001cd0916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001ceb57600080fd5b505af115801562001d00573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062001d43929116906024906004016200273b565b600060405180830381600087803b15801562001d5e57600080fd5b505af115801562001d73573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062001db6916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001dd157600080fd5b505af115801562001de6573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062001e26929116906004016200254a565b600060405180830381600087803b15801562001e4157600080fd5b505af115801562001e56573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c479262001e979216906004016200254a565b6040805180830381865afa15801562001eb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001eda91906200275f565b905062001eed816000015160006200225f565b620008ab816020015160006200225f565b6060601580548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162001fa5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001fc057600080fd5b505af115801562001fd5573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200201c9392831692889216906004016200267b565b600060405180830381600087803b1580156200203757600080fd5b505af11580156200204c573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b601e5460408051638da5cb5b60e01b81529051600692600080516020620045c88339815191529263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015620020f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200211e919062002880565b6040518263ffffffff1660e01b81526004016200213c91906200254a565b600060405180830381600087803b1580156200215757600080fd5b505af11580156200216c573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d4768309150620021a69084906004016200254a565b600060405180830381600087803b158015620021c157600080fd5b505af1158015620021d6573d6000803e3d6000fd5b50505050620008ab601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002258919062002880565b8262002308565b60405163260a5b1560e21b81526004810183905260248101829052600080516020620045c8833981519152906398296c54906044015b60006040518083038186803b158015620022ae57600080fd5b505afa158015620022c3573d6000803e3d6000fd5b505050505050565b60405163f7fe347760e01b815282151560048201528115156024820152600080516020620045c88339815191529063f7fe34779060440162002295565b6040516328a9b0fb60e11b8152600080516020620045c88339815191529063515361f69062002295908590859060040162002827565b604051630c9fd58160e01b81528115156004820152600080516020620045c883398151915290630c9fd581906024015b60006040518083038186803b1580156200238757600080fd5b505afa15801562000a7f573d6000803e3d6000fd5b60405163a598288560e01b81528115156004820152600080516020620045c88339815191529063a5982885906024016200236e565b61183d806200289f83390190565b6104ec80620040dc83390190565b6020808252825182820181905260009190848201906040850190845b81811015620024305783516001600160a01b03168352928401929184019160010162002409565b50909695505050505050565b6000815180845260005b81811015620024645760208185018101518683018201520162002446565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200253a57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200252357605f19898503018352620025108486516200243c565b948e01949350918d0191600101620024f1565b505050978a019794505091880191600101620024ab565b50919a9950505050505050505050565b6001600160a01b0391909116815260200190565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200260657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620025f05783516001600160e01b0319168252928b019260019290920191908b0190620025c4565b50978a0197955050509187019160010162002586565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200266e57603f198886030184526200265b8583516200243c565b945092850192908501906001016200263c565b5092979650505050505050565b6001600160a01b0393841681526020810192909252909116604082015260600190565b80518015158114620026af57600080fd5b919050565b80516001600160a01b0381168114620026af57600080fd5b600080600060608486031215620026e257600080fd5b83519250620026f4602085016200269e565b91506200270460408501620026b4565b90509250925092565b6001600160a01b038316815260406020820181905260009062002733908301846200243c565b949350505050565b6001600160a01b039290921682528054602083015260010154604082015260600190565b6000604082840312156200277257600080fd5b604080519081016001600160401b0381118282101715620027a357634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6001600160e01b031991909116815260200190565b600181811c90821680620027e757607f821691505b6020821081036200280857634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156200285457600080fd5b6200285f826200269e565b9392505050565b6000602082840312156200287957600080fd5b5051919050565b6000602082840312156200289357600080fd5b6200285f82620026b456fe60a06040523060805234801561001457600080fd5b506080516117f161004c600039600081816105a9015281816105f201528181610765015281816107a5015261081d01526117f16000f3fe6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220231511baa4669f8cf10ddcfaa0290ec2aabec96833c3128daca018c8dd331a8064736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212201c0c54230076c75346b6f25c841f05bd466fe0ed9172a26ef39baadf83a2448864736f6c63430008130033","sourceMap":"292:5201:132:-:0;;;3126:44:24;;;-1:-1:-1;;3126:44:24;;;3166:4;3126:44;;;;;;1016:26:34;;;;;;;;;;376:39:132;;;-1:-1:-1;;;;;;376:39:132;;;;;;;;421:32;;;;;451:1;421:32;;;459:36;;;;;493:1;459:36;;;501:39;;;;;538:1;501:39;;;546:44;;;;;;588:1;546:44;;;292:5201;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200018a5760003560e01c8063073a2d8c146200018f5780630778c72c14620001b85780630a9254e414620001c45780630c2759da14620001ce5780631ed7831c14620001d857806324e40b9714620001f15780632582115314620001fb5780632ade388014620002055780633668aa29146200021e5780633e5e3c2314620002285780633ea7771b14620002325780633f7286f414620002555780634905e831146200025f5780634f8632ba146200027857806366d9a9a0146200028c5780636c53db9a14620002a557806382fad47814620002b957806385226c8114620002c35780638caa5c4414620002dc5780638df8b2fe14620002e6578063916a17c614620002fa5780639693f1281462000304578063a8c62e76146200030e578063b5508aa91462000322578063ba414fa6146200032c578063d4dadecb1462000347578063e20c9f711462000351578063e68393b4146200035b578063ebe69a5f1462000365578063fa7626d4146200036f575b600080fd5b6024546025546200019e919082565b604080519283526020830191909152015b60405180910390f35b620001c26200037d565b005b620001c262000615565b620001c26200071d565b620001e2620008ae565b604051620001af9190620023ed565b620001c262000912565b620001c262000a86565b6200020f62000bd7565b604051620001af919062002484565b620001c262000d25565b620001e262000fb9565b60235462000246906001600160a01b031681565b604051620001af91906200254a565b620001e26200101b565b601e54620002469061010090046001600160a01b031681565b60205462000246906001600160a01b031681565b620002966200107d565b604051620001af91906200255e565b60225462000246906001600160a01b031681565b620001c262001167565b620002cd62001285565b604051620001af919062002615565b620001c26200135f565b601f5462000246906001600160a01b031681565b6200029662001890565b620001c26200197a565b60215462000246906001600160a01b031681565b620002cd62001b02565b6200033662001bdc565b6040519015158152602001620001af565b620001c262001c91565b620001e262001efe565b620001c262001f60565b620001c26200208f565b601e54620003369060ff1681565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620003c1916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620003dc57600080fd5b505af1158015620003f1573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd19450620004389392831692879216906004016200267b565b600060405180830381600087803b1580156200045357600080fd5b505af115801562000468573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620004ab916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620004c657600080fd5b505af1158015620004db573d6000803e3d6000fd5b5050601e546021546040516302ea311d60e31b81526101009092046001600160a01b03908116945063175188e893506200051b929116906004016200254a565b600060405180830381600087803b1580156200053657600080fd5b505af11580156200054b573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf823926200059292909116906004016200254a565b606060405180830381865afa158015620005b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d69190620026cc565b925092509250620005e98360006200225f565b620005f6826000620022cb565b6022546200060f9082906001600160a01b031662002308565b50505050565b60006040516200062590620023d1565b604051809103906000f08015801562000642573d6000803e3d6000fd5b50601f5460405163189acdbd60e31b916200066c916001600160a01b03909116906024016200254a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620006ab90620023df565b620006b89291906200270d565b604051809103906000f080158015620006d5573d6000803e3d6000fd5b50601e80546001600160a01b0390921661010002610100600160a81b031990921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa7916200075c916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200077757600080fd5b505af11580156200078c573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d5689350620007cf929116906024906004016200273b565b600060405180830381600087803b158015620007ea57600080fd5b505af1158015620007ff573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c4792620008409216906004016200254a565b6040805180830381865afa1580156200085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200088391906200275f565b805160245491925062000896916200225f565b620008ab81602001516024600101546200225f565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200090857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620008e9575b5050505050905090565b601f5460405163ca669fa760e01b8152600691600080516020620045c88339815191529163ca669fa79162000956916001600160a01b03909116906004016200254a565b600060405180830381600087803b1580156200097157600080fd5b505af115801562000986573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152600080516020620045c8833981519152925063f28dceb39150606401600060405180830381600087803b15801562000a0057600080fd5b505af115801562000a15573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d476830915062000a4f9084906004016200254a565b600060405180830381600087803b15801562000a6a57600080fd5b505af115801562000a7f573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162000ac5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000ae057600080fd5b505af115801562000af5573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e0915062000b3490637d7b71b560e01b90600401620027bd565b600060405180830381600087803b15801562000b4f57600080fd5b505af115801562000b64573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062000ba7929116906024906004016200273b565b600060405180830381600087803b15801562000bc257600080fd5b505af11580156200060f573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d0457838290600052602060002001805462000c7090620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462000c9e90620027d2565b801562000cef5780601f1062000cc35761010080835404028352916020019162000cef565b820191906000526020600020905b81548152906001019060200180831162000cd157829003601f168201915b50505050508152602001906001019062000c4e565b50505050815250508152602001906001019062000bfb565b50505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162000d6a916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000d8557600080fd5b505af115801562000d9a573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062000de19392831692889216906004016200267b565b600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b505060225460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000e6f57600080fd5b505af115801562000e84573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b935062000ec69291169085906004016200280e565b600060405180830381600087803b15801562000ee157600080fd5b505af115801562000ef6573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262000f3d92909116906004016200254a565b606060405180830381865afa15801562000f5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f819190620026cc565b92509250925062000f9383856200225f565b62000fa0826000620022cb565b60225462000a7f9082906001600160a01b031662002308565b6060601880548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200114e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200110f5790505b50505050508152505081526020019060010190620010a1565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa791620011a6916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620011c157600080fd5b505af1158015620011d6573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e091506200121590637d7b71b560e01b90600401620027bd565b600060405180830381600087803b1580156200123057600080fd5b505af115801562001245573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062000ba7929116906004016200254a565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c578382906000526020600020018054620012cb90620027d2565b80601f0160208091040260200160405190810160405280929190818152602001828054620012f990620027d2565b80156200134a5780601f106200131e576101008083540402835291602001916200134a565b820191906000526020600020905b8154815290600101906020018083116200132c57829003601f168201915b505050505081526020019060010190620012a9565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620013a3916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620013be57600080fd5b505af1158015620013d3573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200141a9392831692879216906004016200267b565b600060405180830381600087803b1580156200143557600080fd5b505af11580156200144a573d6000803e3d6000fd5b50506022546040516303223eab60e11b8152600080516020620045c883398151915293506306447d5692506200148d916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620014a857600080fd5b505af1158015620014bd573d6000803e3d6000fd5b5050601e546021546040516306c0752d60e51b81526101009092046001600160a01b03908116945063d80ea5a09350620014fd929116906004016200254a565b600060405180830381600087803b1580156200151857600080fd5b505af11580156200152d573d6000803e3d6000fd5b50505050600080516020620045e883398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200157f57600080fd5b505af115801562001594573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620015d7916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620015f257600080fd5b505af115801562001607573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d56893506200164a929116906024906004016200273b565b600060405180830381600087803b1580156200166557600080fd5b505af11580156200167a573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b8152600095506001600160a01b03610100909404841694506342a987a093620016c193811692169060040162002827565b602060405180830381865afa158015620016df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001705919062002841565b905062001712816200233e565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001751916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200176c57600080fd5b505af115801562001781573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b9350620017c4929116906096906004016200280e565b600060405180830381600087803b158015620017df57600080fd5b505af1158015620017f4573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526101009093046001600160a01b0390811695506342a987a094506200183b939281169291169060040162002827565b602060405180830381865afa15801562001859573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187f919062002841565b90506200188c816200239c565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200196157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019225790505b50505050508152505081526020019060010190620018b4565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620019be916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620019d957600080fd5b505af1158015620019ee573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062001a359392831692879216906004016200267b565b600060405180830381600087803b15801562001a5057600080fd5b505af115801562001a65573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262001aac92909116906004016200254a565b606060405180830381865afa15801562001aca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001af09190620026cc565b925092509250620005e983856200225f565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57838290600052602060002001805462001b4890620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462001b7690620027d2565b801562001bc75780601f1062001b9b5761010080835404028352916020019162001bc7565b820191906000526020600020905b81548152906001019060200180831162001ba957829003601f168201915b50505050508152602001906001019062001b26565b60085460009060ff161562001bf5575060085460ff1690565b604051630667f9d760e41b8152600090600080516020620045c88339815191529063667f9d709062001c4690600080516020620045e8833981519152906519985a5b195960d21b906004016200280e565b602060405180830381865afa15801562001c64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c8a919062002866565b1415905090565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001cd0916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001ceb57600080fd5b505af115801562001d00573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062001d43929116906024906004016200273b565b600060405180830381600087803b15801562001d5e57600080fd5b505af115801562001d73573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062001db6916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001dd157600080fd5b505af115801562001de6573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062001e26929116906004016200254a565b600060405180830381600087803b15801562001e4157600080fd5b505af115801562001e56573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c479262001e979216906004016200254a565b6040805180830381865afa15801562001eb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001eda91906200275f565b905062001eed816000015160006200225f565b620008ab816020015160006200225f565b6060601580548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162001fa5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001fc057600080fd5b505af115801562001fd5573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200201c9392831692889216906004016200267b565b600060405180830381600087803b1580156200203757600080fd5b505af11580156200204c573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b601e5460408051638da5cb5b60e01b81529051600692600080516020620045c88339815191529263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015620020f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200211e919062002880565b6040518263ffffffff1660e01b81526004016200213c91906200254a565b600060405180830381600087803b1580156200215757600080fd5b505af11580156200216c573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d4768309150620021a69084906004016200254a565b600060405180830381600087803b158015620021c157600080fd5b505af1158015620021d6573d6000803e3d6000fd5b50505050620008ab601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002258919062002880565b8262002308565b60405163260a5b1560e21b81526004810183905260248101829052600080516020620045c8833981519152906398296c54906044015b60006040518083038186803b158015620022ae57600080fd5b505afa158015620022c3573d6000803e3d6000fd5b505050505050565b60405163f7fe347760e01b815282151560048201528115156024820152600080516020620045c88339815191529063f7fe34779060440162002295565b6040516328a9b0fb60e11b8152600080516020620045c88339815191529063515361f69062002295908590859060040162002827565b604051630c9fd58160e01b81528115156004820152600080516020620045c883398151915290630c9fd581906024015b60006040518083038186803b1580156200238757600080fd5b505afa15801562000a7f573d6000803e3d6000fd5b60405163a598288560e01b81528115156004820152600080516020620045c88339815191529063a5982885906024016200236e565b61183d806200289f83390190565b6104ec80620040dc83390190565b6020808252825182820181905260009190848201906040850190845b81811015620024305783516001600160a01b03168352928401929184019160010162002409565b50909695505050505050565b6000815180845260005b81811015620024645760208185018101518683018201520162002446565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200253a57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200252357605f19898503018352620025108486516200243c565b948e01949350918d0191600101620024f1565b505050978a019794505091880191600101620024ab565b50919a9950505050505050505050565b6001600160a01b0391909116815260200190565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200260657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620025f05783516001600160e01b0319168252928b019260019290920191908b0190620025c4565b50978a0197955050509187019160010162002586565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200266e57603f198886030184526200265b8583516200243c565b945092850192908501906001016200263c565b5092979650505050505050565b6001600160a01b0393841681526020810192909252909116604082015260600190565b80518015158114620026af57600080fd5b919050565b80516001600160a01b0381168114620026af57600080fd5b600080600060608486031215620026e257600080fd5b83519250620026f4602085016200269e565b91506200270460408501620026b4565b90509250925092565b6001600160a01b038316815260406020820181905260009062002733908301846200243c565b949350505050565b6001600160a01b039290921682528054602083015260010154604082015260600190565b6000604082840312156200277257600080fd5b604080519081016001600160401b0381118282101715620027a357634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6001600160e01b031991909116815260200190565b600181811c90821680620027e757607f821691505b6020821081036200280857634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156200285457600080fd5b6200285f826200269e565b9392505050565b6000602082840312156200287957600080fd5b5051919050565b6000602082840312156200289357600080fd5b6200285f82620026b456fe60a06040523060805234801561001457600080fd5b506080516117f161004c600039600081816105a9015281816105f201528181610765015281816107a5015261081d01526117f16000f3fe6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220231511baa4669f8cf10ddcfaa0290ec2aabec96833c3128daca018c8dd331a8064736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212201c0c54230076c75346b6f25c841f05bd466fe0ed9172a26ef39baadf83a2448864736f6c63430008130033","sourceMap":"292:5201:132:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;596:32;;;;;;;;;;;;;;188:25:139;;;244:2;229:18;;222:34;;;;161:18;596:32:132;;;;;;;;3089:544;;;:::i;:::-;;635:374;;;:::i;1015:331::-;;;:::i;2452:134:27:-;;;:::i;:::-;;;;;;;:::i;2400:247:132:-;;;:::i;1972:217::-;;;:::i;3360:151:27:-;;;:::i;:::-;;;;;;;:::i;4225:581:132:-;;;:::i;3221:133:27:-;;;:::i;546:44:132:-;;;;;-1:-1:-1;;;;;546:44:132;;;;;;;;;;:::i;2922:141:27:-;;;:::i;334:36:132:-;;;;;;;;-1:-1:-1;;;;;334:36:132;;;421:32;;;;;-1:-1:-1;;;;;421:32:132;;;2738:178:27;;;:::i;:::-;;;;;;;:::i;501:39:132:-;;;;;-1:-1:-1;;;;;501:39:132;;;2195:199;;;:::i;2592:140:27:-;;;:::i;:::-;;;;;;;:::i;4812:679:132:-;;;:::i;376:39::-;;;;;-1:-1:-1;;;;;376:39:132;;;3069:146:27;;;:::i;2653:430:132:-;;;:::i;459:36::-;;;;;-1:-1:-1;;;;;459:36:132;;;2157:141:27;;;:::i;1243:204:23:-;;;:::i;:::-;;;6094:14:139;;6087:22;6069:41;;6057:2;6042:18;1243:204:23;5929:187:139;1352:362:132;;;:::i;2304:142:27:-;;;:::i;3639:580:132:-;;;:::i;1720:246::-;;;:::i;1016:26:34:-;;;;;;;;;3089:544:132;3178:11;;3169:21;;-1:-1:-1;;;3169:21:132;;3156:2;;-1:-1:-1;;;;;;;;;;;3169:8:132;;;:21;;-1:-1:-1;;;;;3178:11:132;;;;3169:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3200:14:132;;3227:8;;3248:11;;3200:60;;-1:-1:-1;;;3200:60:132;;-1:-1:-1;;;;;3200:14:132;;;;;;;-1:-1:-1;3200:26:132;;-1:-1:-1;3200:60:132;;3227:8;;;;3237:9;;3248:11;;3200:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3280:11:132;;3271:21;;-1:-1:-1;;;3271:21:132;;-1:-1:-1;;;;;;;;;;;3271:8:132;-1:-1:-1;3271:8:132;;-1:-1:-1;3271:21:132;;-1:-1:-1;;;;;3280:11:132;;3271:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3302:14:132;;3332:8;;3302:39;;-1:-1:-1;;;3302:39:132;;:14;;;;-1:-1:-1;;;;;3302:14:132;;;;-1:-1:-1;3302:29:132;;-1:-1:-1;3302:39:132;;3332:8;;;3302:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3426:14:132;;3452:8;;3426:35;;-1:-1:-1;;;3426:35:132;;3353:23;;-1:-1:-1;3353:23:132;;-1:-1:-1;3353:23:132;;3426:14;;;-1:-1:-1;;;;;3426:14:132;;;;:25;;:35;;3452:8;;;;3426:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:109;;;;;;3471:28;3480:15;3497:1;3471:8;:28::i;:::-;3509:29;3518:12;3532:5;3509:8;:29::i;:::-;3576:11;;3548:40;;3557:17;;-1:-1:-1;;;;;3576:11:132;3548:8;:40::i;:::-;3126:507;;;;3089:544::o;635:374::-;669:18;728:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:11:132;;763:80;;-1:-1:-1;;;786:34:132;763:80;;-1:-1:-1;;;;;830:11:132;;;;763:80;;;:::i;:::-;;;;-1:-1:-1;;763:80:132;;;;;;;;;;;;;;-1:-1:-1;;;;;763:80:132;-1:-1:-1;;;;;;763:80:132;;;;;;;;;;690:163;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;864:14:132;:56;;-1:-1:-1;;;;;864:56:132;;;;;-1:-1:-1;;;;;;864:56:132;;;;;;;;;-1:-1:-1;946:56:132;;;;;;;;;967:3;946:56;;;985:15;946:56;;;;;;;931:12;:71;;;635:374::o;1015:331::-;1069:11;;1060:21;;-1:-1:-1;;;1060:21:132;;-1:-1:-1;;;;;;;;;;;1060:8:132;;;:21;;-1:-1:-1;;;;;1069:11:132;;1060:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1091:14:132;;1119:4;;1091:47;;-1:-1:-1;;;1091:47:132;;:14;;;;-1:-1:-1;;;;;1091:14:132;;;;-1:-1:-1;1091:27:132;;-1:-1:-1;1091:47:132;;1119:4;;;1125:12;;1091:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1182:14:132;;1210:4;;1182:33;;-1:-1:-1;;;1182:33:132;;1149:30;;-1:-1:-1;;;;;;1182:14:132;;;;;;;-1:-1:-1;1182:27:132;;:33;;1210:4;;1182:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1234:16;;1252:12;:18;1149:66;;-1:-1:-1;1225:46:132;;:8;:46::i;:::-;1281:58;1290:10;:22;;;1314:12;:24;;;1281:8;:58::i;:::-;1050:296;1015:331::o;2452:134:27:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:27;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;2400:247:132:-;2513:11;;2504:21;;-1:-1:-1;;;2504:21:132;;2491:1;;-1:-1:-1;;;;;;;;;;;2504:8:132;;;:21;;-1:-1:-1;;;;;2513:11:132;;;;2504:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2535:51:132;;-1:-1:-1;;;2535:51:132;;8741:2:139;2535:51:132;;;8723:21:139;;;8760:18;;;8753:30;8819:34;8799:18;;;8792:62;-1:-1:-1;;;;;;;;;;;2535:15:132;-1:-1:-1;2535:15:132;;-1:-1:-1;8871:18:139;;2535:51:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2596:14:132;;:44;;-1:-1:-1;;;2596:44:132;;:14;;;;-1:-1:-1;;;;;2596:14:132;;-1:-1:-1;2596:32:132;;-1:-1:-1;2596:44:132;;2629:10;;2596:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2452:195;2400:247::o;1972:217::-;2043:16;;2034:26;;-1:-1:-1;;;2034:26:132;;-1:-1:-1;;;;;;;;;;;2034:8:132;;;:26;;-1:-1:-1;;;;;2043:16:132;;2034:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2070:55:132;;-1:-1:-1;;;2070:55:132;;-1:-1:-1;;;;;;;;;;;2070:15:132;-1:-1:-1;2070:15:132;;-1:-1:-1;2070:55:132;;-1:-1:-1;;;2086:38:132;2070:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2135:14:132;;2163:4;;2135:47;;-1:-1:-1;;;2135:47:132;;:14;;;;-1:-1:-1;;;;;2135:14:132;;;;-1:-1:-1;2135:27:132;;-1:-1:-1;2135:47:132;;2163:4;;;2169:12;;2135:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151:27;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;4225:581:132:-;4363:11;;4354:21;;-1:-1:-1;;;4354:21:132;;4306:2;;4341;;-1:-1:-1;;;;;;;;;;;4354:8:132;;;:21;;-1:-1:-1;;;;;4363:11:132;;4354:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4385:14:132;;4412:8;;4433:11;;4385:60;;-1:-1:-1;;;4385:60:132;;-1:-1:-1;;;;;4385:14:132;;;;;;;-1:-1:-1;4385:26:132;;-1:-1:-1;4385:60:132;;4412:8;;;;4422:9;;4433:11;;4385:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4465:11:132;;4456:21;;-1:-1:-1;;;4456:21:132;;-1:-1:-1;;;;;;;;;;;4456:8:132;-1:-1:-1;4456:8:132;;-1:-1:-1;4456:21:132;;-1:-1:-1;;;;;4465:11:132;;4456:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4487:14:132;;4518:8;;4487:54;;-1:-1:-1;;;4487:54:132;;:14;;;;-1:-1:-1;;;;;4487:14:132;;;;-1:-1:-1;4487:30:132;;-1:-1:-1;4487:54:132;;4518:8;;;4528:12;;4487:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4626:14:132;;4652:8;;4626:35;;-1:-1:-1;;;4626:35:132;;4553:23;;-1:-1:-1;4553:23:132;;-1:-1:-1;4553:23:132;;4626:14;;;-1:-1:-1;;;;;4626:14:132;;;;:25;;:35;;4652:8;;;;4626:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4552:109;;;;;;4671:39;4680:15;4697:12;4671:8;:39::i;:::-;4720:29;4729:12;4743:5;4720:8;:29::i;:::-;4787:11;;4759:40;;4768:17;;-1:-1:-1;;;;;4787:11:132;4759:8;:40::i;3221:133:27:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:27;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:27;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;2738:178::-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2195:199:132;2264:16;;2255:26;;-1:-1:-1;;;2255:26:132;;-1:-1:-1;;;;;;;;;;;2255:8:132;;;:26;;-1:-1:-1;;;;;2264:16:132;;2255:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2291:55:132;;-1:-1:-1;;;2291:55:132;;-1:-1:-1;;;;;;;;;;;2291:15:132;-1:-1:-1;2291:15:132;;-1:-1:-1;2291:55:132;;-1:-1:-1;;;2307:38:132;2291:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2356:14:132;;2382:4;;2356:31;;-1:-1:-1;;;2356:31:132;;:14;;;;-1:-1:-1;;;;;2356:14:132;;;;-1:-1:-1;2356:25:132;;-1:-1:-1;2356:31:132;;2382:4;;;2356:31;;;:::i;2592:140:27:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:679:132;4903:11;;4894:21;;-1:-1:-1;;;4894:21:132;;4881:2;;-1:-1:-1;;;;;;;;;;;4894:8:132;;;:21;;-1:-1:-1;;;;;4903:11:132;;;;4894:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4925:14:132;;4952:8;;4973:11;;4925:60;;-1:-1:-1;;;4925:60:132;;-1:-1:-1;;;;;4925:14:132;;;;;;;-1:-1:-1;4925:26:132;;-1:-1:-1;4925:60:132;;4952:8;;;;4962:9;;4973:11;;4925:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5009:11:132;;4995:26;;-1:-1:-1;;;4995:26:132;;-1:-1:-1;;;;;;;;;;;4995:13:132;-1:-1:-1;4995:13:132;;-1:-1:-1;4995:26:132;;-1:-1:-1;;;;;5009:11:132;;4995:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5031:14:132;;5063:8;;5031:41;;-1:-1:-1;;;5031:41:132;;:14;;;;-1:-1:-1;;;;;5031:14:132;;;;-1:-1:-1;5031:31:132;;-1:-1:-1;5031:41:132;;5063:8;;;5031:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;5082:12:132;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5116:11:132;;5107:21;;-1:-1:-1;;;5107:21:132;;-1:-1:-1;;;;;;;;;;;5107:8:132;-1:-1:-1;5107:8:132;;-1:-1:-1;5107:21:132;;-1:-1:-1;;;;;5116:11:132;;5107:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5138:14:132;;5166:4;;5138:47;;-1:-1:-1;;;5138:47:132;;:14;;;;-1:-1:-1;;;;;5138:14:132;;;;-1:-1:-1;5138:27:132;;-1:-1:-1;5138:47:132;;5166:4;;;5172:12;;5138:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5214:14:132;;5246:4;;5252:8;;5214:47;;-1:-1:-1;;;5214:47:132;;5196:15;;-1:-1:-1;;;;;;5214:14:132;;;;;;;-1:-1:-1;5214:31:132;;:47;;5246:4;;;5252:8;;5214:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5196:65;;5271:22;5282:10;5271;:22::i;:::-;5313:11;;5304:21;;-1:-1:-1;;;5304:21:132;;-1:-1:-1;;;;;;;;;;;5304:8:132;;;:21;;-1:-1:-1;;;;;5313:11:132;;5304:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5335:14:132;;5366:8;;5335:45;;-1:-1:-1;;;5335:45:132;;:14;;;;-1:-1:-1;;;;;5335:14:132;;;;-1:-1:-1;5335:30:132;;-1:-1:-1;5335:45:132;;5366:8;;;5376:3;;5335:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5404:14:132;;5436:4;;5442:8;;5404:47;;-1:-1:-1;;;5404:47:132;;:14;;;;-1:-1:-1;;;;;5404:14:132;;;;-1:-1:-1;5404:31:132;;-1:-1:-1;5404:47:132;;5436:4;;;;5442:8;;;5404:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5391:60;;5461:23;5473:10;5461:11;:23::i;:::-;4851:640;;4812:679::o;3069:146:27:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:430:132;2739:11;;2730:21;;-1:-1:-1;;;2730:21:132;;2717:2;;-1:-1:-1;;;;;;;;;;;2730:8:132;;;:21;;-1:-1:-1;;;;;2739:11:132;;;;2730:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2761:14:132;;2788:8;;2809:11;;2761:60;;-1:-1:-1;;;2761:60:132;;-1:-1:-1;;;;;2761:14:132;;;;;;;-1:-1:-1;2761:26:132;;-1:-1:-1;2761:60:132;;2788:8;;;;2798:9;;2809:11;;2761:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2906:14:132;;2932:8;;2906:35;;-1:-1:-1;;;2906:35:132;;2833:23;;-1:-1:-1;2833:23:132;;-1:-1:-1;2833:23:132;;2906:14;;;-1:-1:-1;;;;;2906:14:132;;;;:25;;:35;;2932:8;;;;2906:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2832:109;;;;;;2951:36;2960:15;2977:9;2951:8;:36::i;2157:141:27:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:23;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:23;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:23;;1428:1;;-1:-1:-1;;;;;;;;;;;1377:7:23;;;:39;;-1:-1:-1;;;;;;;;;;;219:28:23;-1:-1:-1;;;1398:17:23;1377:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1352:362:132:-;1404:11;;1395:21;;-1:-1:-1;;;1395:21:132;;-1:-1:-1;;;;;;;;;;;1395:8:132;;;:21;;-1:-1:-1;;;;;1404:11:132;;1395:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1426:14:132;;1454:4;;1426:47;;-1:-1:-1;;;1426:47:132;;:14;;;;-1:-1:-1;;;;;1426:14:132;;;;-1:-1:-1;1426:27:132;;-1:-1:-1;1426:47:132;;1454:4;;;1460:12;;1426:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1493:11:132;;1484:21;;-1:-1:-1;;;1484:21:132;;-1:-1:-1;;;;;;;;;;;1484:8:132;-1:-1:-1;1484:8:132;;-1:-1:-1;1484:21:132;;-1:-1:-1;;;;;1493:11:132;;1484:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1515:14:132;;1541:4;;1515:31;;-1:-1:-1;;;1515:31:132;;:14;;;;-1:-1:-1;;;;;1515:14:132;;;;-1:-1:-1;1515:25:132;;-1:-1:-1;1515:31:132;;1541:4;;;1515:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1590:14:132;;1618:4;;1590:33;;-1:-1:-1;;;1590:33:132;;1557:30;;-1:-1:-1;;;;;;1590:14:132;;;;;;;-1:-1:-1;1590:27:132;;:33;;1618:4;;1590:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1557:66;;1633:29;1642:10;:16;;;1660:1;1633:8;:29::i;:::-;1672:35;1681:10;:22;;;1705:1;1672:8;:35::i;2304:142:27:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:27;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3639:580:132:-;3776:11;;3767:21;;-1:-1:-1;;;3767:21:132;;3719:2;;3754;;-1:-1:-1;;;;;;;;;;;3767:8:132;;;:21;;-1:-1:-1;;;;;3776:11:132;;3767:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3798:14:132;;3825:8;;3846:11;;3798:60;;-1:-1:-1;;;3798:60:132;;-1:-1:-1;;;;;3798:14:132;;;;;;;-1:-1:-1;3798:26:132;;-1:-1:-1;3798:60:132;;3825:8;;;;3835:9;;3846:11;;3798:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3878:11:132;;3869:21;;-1:-1:-1;;;3869:21:132;;-1:-1:-1;;;;;;;;;;;3869:8:132;-1:-1:-1;3869:8:132;;-1:-1:-1;3869:21:132;;-1:-1:-1;;;;;3878:11:132;;3869:21;;;:::i;1720:246::-;1821:14;;:22;;;-1:-1:-1;;;1821:22:132;;;;1799:1;;-1:-1:-1;;;;;;;;;;;1812:8:132;;;1821:14;;;;-1:-1:-1;;;;;1821:14:132;;:20;;:22;;;;;;;;;;;;;;;:14;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1812:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1854:14:132;;:44;;-1:-1:-1;;;1854:44:132;;:14;;;;-1:-1:-1;;;;;1854:14:132;;-1:-1:-1;1854:32:132;;-1:-1:-1;1854:44:132;;1887:10;;1854:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:50;1918:14;;;;;;;;;-1:-1:-1;;;;;1918:14:132;-1:-1:-1;;;;;1918:26:132;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1948:10;1909:8;:50::i;2270:110:23:-;2349:24;;-1:-1:-1;;;2349:24:23;;;;;188:25:139;;;229:18;;;222:34;;;-1:-1:-1;;;;;;;;;;;2349:11:23;;;161:18:139;;2349:24:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:110;;:::o;2026:104::-;2099:24;;-1:-1:-1;;;2099:24:23;;11444:14:139;;11437:22;2099:24:23;;;11419:41:139;11503:14;;11496:22;11476:18;;;11469:50;-1:-1:-1;;;;;;;;;;;2099:11:23;;;11392:18:139;;2099:24:23;11257:268:139;3454:110:23;3533:24;;-1:-1:-1;;;3533:24:23;;-1:-1:-1;;;;;;;;;;;3533:11:23;;;:24;;3545:4;;3551:5;;3533:24;;;:::i;1594:89::-;1657:19;;-1:-1:-1;;;1657:19:23;;6094:14:139;;6087:22;1657:19:23;;;6069:41:139;-1:-1:-1;;;;;;;;;;;1657:13:23;;;6042:18:139;;1657:19:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:91;1872:20;;-1:-1:-1;;;1872:20:23;;6094:14:139;;6087:22;1872:20:23;;;6069:41:139;-1:-1:-1;;;;;;;;;;;1872:14:23;;;6042:18:139;;1872:20:23;5929:187:139;-1:-1:-1;;;;;;;;:::o;:::-;;;;;;;;:::o;267:658:139:-;438:2;490:21;;;560:13;;463:18;;;582:22;;;409:4;;438:2;661:15;;;;635:2;620:18;;;409:4;704:195;718:6;715:1;712:13;704:195;;;783:13;;-1:-1:-1;;;;;779:39:139;767:52;;874:15;;;;839:12;;;;815:1;733:9;704:195;;;-1:-1:-1;916:3:139;;267:658;-1:-1:-1;;;;;;267:658:139:o;930:423::-;972:3;1010:5;1004:12;1037:6;1032:3;1025:19;1062:1;1072:162;1086:6;1083:1;1080:13;1072:162;;;1148:4;1204:13;;;1200:22;;1194:29;1176:11;;;1172:20;;1165:59;1101:12;1072:162;;;1076:3;1279:1;1272:4;1263:6;1258:3;1254:16;1250:27;1243:38;1342:4;1335:2;1331:7;1326:2;1318:6;1314:15;1310:29;1305:3;1301:39;1297:50;1290:57;;;930:423;;;;:::o;1358:1744::-;1593:2;1645:21;;;1715:13;;1618:18;;;1737:22;;;1564:4;;1593:2;1778;;1796:18;;;;1833:1;1876:15;;;1861:31;;1857:40;;1920:15;;;1564:4;;1984:1089;2000:6;1995:3;1992:15;1984:1089;;;-1:-1:-1;;2069:22:139;;;2065:36;2053:49;;2125:13;;2212:9;;-1:-1:-1;;;;;2208:35:139;2193:51;;2283:11;;2277:18;2315:15;;;2308:27;;;2396:19;;2165:15;;;2428:24;;;2609:21;;;;2475:2;2557:17;;;2545:30;;2541:39;;;2499:15;;;;2654:1;2668:296;2684:8;2679:3;2676:17;2668:296;;;2790:2;2786:7;2777:6;2769;2765:19;2761:33;2754:5;2747:48;2822:42;2857:6;2846:8;2840:15;2822:42;:::i;:::-;2893:17;;;;2812:52;-1:-1:-1;2936:14:139;;;;2712:1;2703:11;2668:296;;;-1:-1:-1;;;3051:12:139;;;;2987:6;-1:-1:-1;;3016:15:139;;;;2026:1;2017:11;1984:1089;;;-1:-1:-1;3090:6:139;;1358:1744;-1:-1:-1;;;;;;;;;;1358:1744:139:o;3107:203::-;-1:-1:-1;;;;;3271:32:139;;;;3253:51;;3241:2;3226:18;;3107:203::o;3547:1569::-;3751:4;3780:2;3820;3809:9;3805:18;3850:2;3839:9;3832:21;3873:6;3908;3902:13;3939:6;3931;3924:22;3965:2;3955:12;;3998:2;3987:9;3983:18;3976:25;;4060:2;4050:6;4047:1;4043:14;4032:9;4028:30;4024:39;4098:2;4090:6;4086:15;4119:1;4140;4150:937;4166:6;4161:3;4158:15;4150:937;;;4235:22;;;-1:-1:-1;;4231:36:139;4219:49;;4291:13;;4378:9;;-1:-1:-1;;;;;4374:35:139;4359:51;;4449:11;;4443:18;4481:15;;;4474:27;;;4562:19;;4331:15;;;4594:24;;;4684:21;;;;4729:1;;4652:2;4640:15;;;4743:236;4759:8;4754:3;4751:17;4743:236;;;4840:15;;-1:-1:-1;;;;;;4836:42:139;4822:57;;4948:17;;;;4787:1;4778:11;;;;;4905:14;;;;4743:236;;;-1:-1:-1;5065:12:139;;;;5002:5;-1:-1:-1;;;5030:15:139;;;;4192:1;4183:11;4150:937;;;-1:-1:-1;5104:6:139;;3547:1569;-1:-1:-1;;;;;;;;;3547:1569:139:o;5121:803::-;5283:4;5312:2;5352;5341:9;5337:18;5382:2;5371:9;5364:21;5405:6;5440;5434:13;5471:6;5463;5456:22;5509:2;5498:9;5494:18;5487:25;;5571:2;5561:6;5558:1;5554:14;5543:9;5539:30;5535:39;5521:53;;5609:2;5601:6;5597:15;5630:1;5640:255;5654:6;5651:1;5648:13;5640:255;;;5747:2;5743:7;5731:9;5723:6;5719:22;5715:36;5710:3;5703:49;5775:40;5808:6;5799;5793:13;5775:40;:::i;:::-;5765:50;-1:-1:-1;5873:12:139;;;;5838:15;;;;5676:1;5669:9;5640:255;;;-1:-1:-1;5912:6:139;;5121:803;-1:-1:-1;;;;;;;5121:803:139:o;6121:375::-;-1:-1:-1;;;;;6379:15:139;;;6361:34;;6426:2;6411:18;;6404:34;;;;6474:15;;;6469:2;6454:18;;6447:43;6311:2;6296:18;;6121:375::o;6501:164::-;6577:13;;6626;;6619:21;6609:32;;6599:60;;6655:1;6652;6645:12;6599:60;6501:164;;;:::o;6670:177::-;6749:13;;-1:-1:-1;;;;;6791:31:139;;6781:42;;6771:70;;6837:1;6834;6827:12;6852:348;6937:6;6945;6953;7006:2;6994:9;6985:7;6981:23;6977:32;6974:52;;;7022:1;7019;7012:12;6974:52;7051:9;7045:16;7035:26;;7080:46;7122:2;7111:9;7107:18;7080:46;:::i;:::-;7070:56;;7145:49;7190:2;7179:9;7175:18;7145:49;:::i;:::-;7135:59;;6852:348;;;;;:::o;7205:315::-;-1:-1:-1;;;;;7380:32:139;;7362:51;;7449:2;7444;7429:18;;7422:30;;;-1:-1:-1;;7469:45:139;;7495:18;;7487:6;7469:45;:::i;:::-;7461:53;7205:315;-1:-1:-1;;;;7205:315:139:o;7525:401::-;-1:-1:-1;;;;;7776:32:139;;;;7758:51;;7845:13;;7840:2;7825:18;;7818:41;7805:1;7901:17;7895:24;7890:2;7875:18;;7868:52;7746:2;7731:18;;7525:401::o;7931:604::-;8032:6;8085:2;8073:9;8064:7;8060:23;8056:32;8053:52;;;8101:1;8098;8091:12;8053:52;8134:2;8128:9;;;8164:15;;-1:-1:-1;;;;;8194:34:139;;8230:22;;;8191:62;8188:185;;;8295:10;8290:3;8286:20;8283:1;8276:31;8330:4;8327:1;8320:15;8358:4;8355:1;8348:15;8188:185;8389:2;8382:22;8428:16;;8413:32;;8499:2;8484:18;;;8478:25;8461:15;;;8454:50;;;;-1:-1:-1;8420:6:139;7931:604;-1:-1:-1;7931:604:139:o;8900:202::-;-1:-1:-1;;;;;;9062:33:139;;;;9044:52;;9032:2;9017:18;;8900:202::o;9107:380::-;9186:1;9182:12;;;;9229;;;9250:61;;9304:4;9296:6;9292:17;9282:27;;9250:61;9357:2;9349:6;9346:14;9326:18;9323:38;9320:161;;9403:10;9398:3;9394:20;9391:1;9384:31;9438:4;9435:1;9428:15;9466:4;9463:1;9456:15;9320:161;;9107:380;;;:::o;9492:274::-;-1:-1:-1;;;;;9684:32:139;;;;9666:51;;9748:2;9733:18;;9726:34;9654:2;9639:18;;9492:274::o;9771:304::-;-1:-1:-1;;;;;10001:15:139;;;9983:34;;10053:15;;10048:2;10033:18;;10026:43;9933:2;9918:18;;9771:304::o;10080:202::-;10147:6;10200:2;10188:9;10179:7;10175:23;10171:32;10168:52;;;10216:1;10213;10206:12;10168:52;10239:37;10266:9;10239:37;:::i;:::-;10229:47;10080:202;-1:-1:-1;;;10080:202:139:o;10855:184::-;10925:6;10978:2;10966:9;10957:7;10953:23;10949:32;10946:52;;;10994:1;10991;10984:12;10946:52;-1:-1:-1;11017:16:139;;10855:184;-1:-1:-1;10855:184:139:o;11044:208::-;11114:6;11167:2;11155:9;11146:7;11142:23;11138:32;11135:52;;;11183:1;11180;11173:12;11135:52;11206:40;11236:9;11206:40;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","councilSafe()":"6c53db9a","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","listManager()":"8df8b2fe","passportData()":"073a2d8c","passportScorer()":"4905e831","setUp()":"0a9254e4","strategy()":"a8c62e76","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAddStrategy()":"9693f128","testAddUserScore()":"0c2759da","testCanExecuteAction()":"8caa5c44","testChangeListManager()":"ebe69a5f","testModifyThresholdByAuthorized()":"e68393b4","testModifyThresholdByCouncilSafe()":"3668aa29","testOnlyAuthorizedCanAddUserScore()":"25821153","testOnlyAuthorizedCanRemoveUser()":"82fad478","testOnlyOwnerCanChangeListManager()":"24e40b97","testRemoveStrategy()":"0778c72c","testRemoveUser()":"d4dadecb","unauthorizedUser()":"3ea7771b","user()":"4f8632ba"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportScorer\",\"outputs\":[{\"internalType\":\"contract PassportScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCanExecuteAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByAuthorized\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyOwnerCanChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unauthorizedUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/PassportScorerTest.t.sol\":\"PassportScorerTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf\",\"dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac\",\"dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportData","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportScorer","outputs":[{"internalType":"contract PassportScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCanExecuteAction"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByAuthorized"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanRemoveUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyOwnerCanChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveUser"},{"inputs":[],"stateMutability":"view","type":"function","name":"unauthorizedUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"user","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/PassportScorerTest.t.sol":"PassportScorerTest"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b","urls":["bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf","dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b","urls":["bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac","dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":93070,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportScorer","offset":1,"slot":"30","type":"t_contract(PassportScorer)76287"},{"astId":93076,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"listManager","offset":0,"slot":"31","type":"t_address"},{"astId":93082,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"user","offset":0,"slot":"32","type":"t_address"},{"astId":93088,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"strategy","offset":0,"slot":"33","type":"t_address"},{"astId":93094,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"councilSafe","offset":0,"slot":"34","type":"t_address"},{"astId":93100,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"unauthorizedUser","offset":0,"slot":"35","type":"t_address"},{"astId":93103,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportData","offset":0,"slot":"36","type":"t_struct(PassportData)75709_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(PassportScorer)76287":{"encoding":"inplace","label":"contract PassportScorer","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(PassportData)75709_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":75706,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":75708,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/PassportScorerTest.t.sol","id":93679,"exportedSymbols":{"ERC1967Proxy":[55102],"ISybilScorer":[75791],"Initializable":[53233],"OwnableUpgradeable":[52984],"PassportData":[75709],"PassportScorer":[76287],"PassportScorerTest":[93678],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"Strategy":[75716],"Test":[17877],"TestBase":[5876],"UUPSUpgradeable":[55753],"Upgrades":[61265],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"46:5448:132","nodes":[{"id":93059,"nodeType":"PragmaDirective","src":"46:24:132","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":93060,"nodeType":"ImportDirective","src":"72:28:132","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":93679,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":93061,"nodeType":"ImportDirective","src":"101:35:132","nodes":[],"absolutePath":"pkg/contracts/src/PassportScorer.sol","file":"../src/PassportScorer.sol","nameLocation":"-1:-1:-1","scope":93679,"sourceUnit":76288,"symbolAliases":[],"unitAlias":""},{"id":93063,"nodeType":"ImportDirective","src":"138:66:132","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":93679,"sourceUnit":61386,"symbolAliases":[{"foreign":{"id":93062,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61265,"src":"146:8:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93065,"nodeType":"ImportDirective","src":"206:84:132","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":93679,"sourceUnit":55103,"symbolAliases":[{"foreign":{"id":93064,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"214:12:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93678,"nodeType":"ContractDefinition","src":"292:5201:132","nodes":[{"id":93070,"nodeType":"VariableDeclaration","src":"334:36:132","nodes":[],"constant":false,"functionSelector":"4905e831","mutability":"mutable","name":"passportScorer","nameLocation":"356:14:132","scope":93678,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"},"typeName":{"id":93069,"nodeType":"UserDefinedTypeName","pathNode":{"id":93068,"name":"PassportScorer","nameLocations":["334:14:132"],"nodeType":"IdentifierPath","referencedDeclaration":76287,"src":"334:14:132"},"referencedDeclaration":76287,"src":"334:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"visibility":"public"},{"id":93076,"nodeType":"VariableDeclaration","src":"376:39:132","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"391:11:132","scope":93678,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93071,"name":"address","nodeType":"ElementaryTypeName","src":"376:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"31","id":93074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"413:1:132","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"}],"id":93073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"405:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93072,"name":"address","nodeType":"ElementaryTypeName","src":"405:7:132","typeDescriptions":{}}},"id":93075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"405:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":93082,"nodeType":"VariableDeclaration","src":"421:32:132","nodes":[],"constant":false,"functionSelector":"4f8632ba","mutability":"mutable","name":"user","nameLocation":"436:4:132","scope":93678,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93077,"name":"address","nodeType":"ElementaryTypeName","src":"421:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"32","id":93080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"451:1:132","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":93079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"443:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93078,"name":"address","nodeType":"ElementaryTypeName","src":"443:7:132","typeDescriptions":{}}},"id":93081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"443:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":93088,"nodeType":"VariableDeclaration","src":"459:36:132","nodes":[],"constant":false,"functionSelector":"a8c62e76","mutability":"mutable","name":"strategy","nameLocation":"474:8:132","scope":93678,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93083,"name":"address","nodeType":"ElementaryTypeName","src":"459:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"33","id":93086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"493:1:132","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":93085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93084,"name":"address","nodeType":"ElementaryTypeName","src":"485:7:132","typeDescriptions":{}}},"id":93087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":93094,"nodeType":"VariableDeclaration","src":"501:39:132","nodes":[],"constant":false,"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"516:11:132","scope":93678,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93089,"name":"address","nodeType":"ElementaryTypeName","src":"501:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34","id":93092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"538:1:132","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":93091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"530:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93090,"name":"address","nodeType":"ElementaryTypeName","src":"530:7:132","typeDescriptions":{}}},"id":93093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"530:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":93100,"nodeType":"VariableDeclaration","src":"546:44:132","nodes":[],"constant":false,"functionSelector":"3ea7771b","mutability":"mutable","name":"unauthorizedUser","nameLocation":"561:16:132","scope":93678,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93095,"name":"address","nodeType":"ElementaryTypeName","src":"546:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"35","id":93098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"588:1:132","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":93097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"580:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93096,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:132","typeDescriptions":{}}},"id":93099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":93103,"nodeType":"VariableDeclaration","src":"596:32:132","nodes":[],"constant":false,"functionSelector":"073a2d8c","mutability":"mutable","name":"passportData","nameLocation":"616:12:132","scope":93678,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData"},"typeName":{"id":93102,"nodeType":"UserDefinedTypeName","pathNode":{"id":93101,"name":"PassportData","nameLocations":["596:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":75709,"src":"596:12:132"},"referencedDeclaration":75709,"src":"596:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage_ptr","typeString":"struct PassportData"}},"visibility":"public"},{"id":93152,"nodeType":"FunctionDefinition","src":"635:374:132","nodes":[],"body":{"id":93151,"nodeType":"Block","src":"659:350:132","nodes":[],"statements":[{"assignments":[93108],"declarations":[{"constant":false,"id":93108,"mutability":"mutable","name":"proxy","nameLocation":"682:5:132","nodeType":"VariableDeclaration","scope":93151,"src":"669:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"},"typeName":{"id":93107,"nodeType":"UserDefinedTypeName","pathNode":{"id":93106,"name":"ERC1967Proxy","nameLocations":["669:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"669:12:132"},"referencedDeclaration":55102,"src":"669:12:132","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":93130,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"728:18:132","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_PassportScorer_$76287_$","typeString":"function () returns (contract PassportScorer)"},"typeName":{"id":93115,"nodeType":"UserDefinedTypeName","pathNode":{"id":93114,"name":"PassportScorer","nameLocations":["732:14:132"],"nodeType":"IdentifierPath","referencedDeclaration":76287,"src":"732:14:132"},"referencedDeclaration":76287,"src":"732:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}}},"id":93117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:20:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}],"id":93113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"720:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93112,"name":"address","nodeType":"ElementaryTypeName","src":"720:7:132","typeDescriptions":{}}},"id":93118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"720:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":93121,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76287,"src":"786:14:132","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76287_$","typeString":"type(contract PassportScorer)"}},"id":93122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"801:10:132","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":75980,"src":"786:25:132","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function PassportScorer.initialize(address)"}},"id":93123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"812:8:132","memberName":"selector","nodeType":"MemberAccess","src":"786:34:132","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":93126,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"830:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"822:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93124,"name":"address","nodeType":"ElementaryTypeName","src":"822:7:132","typeDescriptions":{}}},"id":93127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"822:20:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93119,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"763:3:132","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":93120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"767:18:132","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"763:22:132","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":93128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"763:80:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":93111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"690:16:132","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55102_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":93110,"nodeType":"UserDefinedTypeName","pathNode":{"id":93109,"name":"ERC1967Proxy","nameLocations":["694:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"694:12:132"},"referencedDeclaration":55102,"src":"694:12:132","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}},"id":93129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"690:163:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"669:184:132"},{"expression":{"id":93141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93131,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"864:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":93137,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93108,"src":"912:5:132","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}],"id":93136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"904:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93135,"name":"address","nodeType":"ElementaryTypeName","src":"904:7:132","typeDescriptions":{}}},"id":93138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"904:14:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"896:8:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":93133,"name":"address","nodeType":"ElementaryTypeName","src":"896:8:132","stateMutability":"payable","typeDescriptions":{}}},"id":93139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"896:23:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":93132,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76287,"src":"881:14:132","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76287_$","typeString":"type(contract PassportScorer)"}},"id":93140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:39:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"src":"864:56:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93142,"nodeType":"ExpressionStatement","src":"864:56:132"},{"expression":{"id":93149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93143,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93103,"src":"931:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"313030","id":93145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"967:3:132","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":93146,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"985:5:132","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":93147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"991:9:132","memberName":"timestamp","nodeType":"MemberAccess","src":"985:15:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93144,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75709,"src":"946:12:132","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PassportData_$75709_storage_ptr_$","typeString":"type(struct PassportData storage pointer)"}},"id":93148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["960:5:132","972:11:132"],"names":["score","lastUpdated"],"nodeType":"FunctionCall","src":"946:56:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_memory_ptr","typeString":"struct PassportData memory"}},"src":"931:71:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}},"id":93150,"nodeType":"ExpressionStatement","src":"931:71:132"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"644:5:132","parameters":{"id":93104,"nodeType":"ParameterList","parameters":[],"src":"649:2:132"},"returnParameters":{"id":93105,"nodeType":"ParameterList","parameters":[],"src":"659:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93191,"nodeType":"FunctionDefinition","src":"1015:331:132","nodes":[],"body":{"id":93190,"nodeType":"Block","src":"1050:296:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":93158,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"1069:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93155,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1060:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1063:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1060:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1060:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93160,"nodeType":"ExpressionStatement","src":"1060:21:132"},{"expression":{"arguments":[{"id":93164,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"1119:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93165,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93103,"src":"1125:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93161,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"1091:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1106:12:132","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76011,"src":"1091:27:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$75709_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1091:47:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93167,"nodeType":"ExpressionStatement","src":"1091:47:132"},{"assignments":[93170],"declarations":[{"constant":false,"id":93170,"mutability":"mutable","name":"storedData","nameLocation":"1169:10:132","nodeType":"VariableDeclaration","scope":93190,"src":"1149:30:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":93169,"nodeType":"UserDefinedTypeName","pathNode":{"id":93168,"name":"PassportData","nameLocations":["1149:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":75709,"src":"1149:12:132"},"referencedDeclaration":75709,"src":"1149:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":93175,"initialValue":{"arguments":[{"id":93173,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"1210:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93171,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"1182:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1197:12:132","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":76259,"src":"1182:27:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$75709_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":93174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1182:33:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1149:66:132"},{"expression":{"arguments":[{"expression":{"id":93177,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93170,"src":"1234:10:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_memory_ptr","typeString":"struct PassportData memory"}},"id":93178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1245:5:132","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":75706,"src":"1234:16:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":93179,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93103,"src":"1252:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}},"id":93180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1265:5:132","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":75706,"src":"1252:18:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93176,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1225:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:46:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93182,"nodeType":"ExpressionStatement","src":"1225:46:132"},{"expression":{"arguments":[{"expression":{"id":93184,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93170,"src":"1290:10:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_memory_ptr","typeString":"struct PassportData memory"}},"id":93185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1301:11:132","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":75708,"src":"1290:22:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":93186,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93103,"src":"1314:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}},"id":93187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1327:11:132","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":75708,"src":"1314:24:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93183,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1281:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1281:58:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93189,"nodeType":"ExpressionStatement","src":"1281:58:132"}]},"functionSelector":"0c2759da","implemented":true,"kind":"function","modifiers":[],"name":"testAddUserScore","nameLocation":"1024:16:132","parameters":{"id":93153,"nodeType":"ParameterList","parameters":[],"src":"1040:2:132"},"returnParameters":{"id":93154,"nodeType":"ParameterList","parameters":[],"src":"1050:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93240,"nodeType":"FunctionDefinition","src":"1352:362:132","nodes":[],"body":{"id":93239,"nodeType":"Block","src":"1385:329:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":93197,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"1404:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93194,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1395:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1398:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1395:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1395:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93199,"nodeType":"ExpressionStatement","src":"1395:21:132"},{"expression":{"arguments":[{"id":93203,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"1454:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93204,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93103,"src":"1460:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93200,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"1426:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1441:12:132","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76011,"src":"1426:27:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$75709_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1426:47:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93206,"nodeType":"ExpressionStatement","src":"1426:47:132"},{"expression":{"arguments":[{"id":93210,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"1493:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93207,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1484:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1487:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1484:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1484:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93212,"nodeType":"ExpressionStatement","src":"1484:21:132"},{"expression":{"arguments":[{"id":93216,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"1541:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93213,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"1515:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1530:10:132","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":76034,"src":"1515:25:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1515:31:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93218,"nodeType":"ExpressionStatement","src":"1515:31:132"},{"assignments":[93221],"declarations":[{"constant":false,"id":93221,"mutability":"mutable","name":"storedData","nameLocation":"1577:10:132","nodeType":"VariableDeclaration","scope":93239,"src":"1557:30:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":93220,"nodeType":"UserDefinedTypeName","pathNode":{"id":93219,"name":"PassportData","nameLocations":["1557:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":75709,"src":"1557:12:132"},"referencedDeclaration":75709,"src":"1557:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":93226,"initialValue":{"arguments":[{"id":93224,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"1618:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93222,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"1590:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1605:12:132","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":76259,"src":"1590:27:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$75709_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":93225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:33:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1557:66:132"},{"expression":{"arguments":[{"expression":{"id":93228,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93221,"src":"1642:10:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_memory_ptr","typeString":"struct PassportData memory"}},"id":93229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1653:5:132","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":75706,"src":"1642:16:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1660:1:132","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93227,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1633:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93232,"nodeType":"ExpressionStatement","src":"1633:29:132"},{"expression":{"arguments":[{"expression":{"id":93234,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93221,"src":"1681:10:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_memory_ptr","typeString":"struct PassportData memory"}},"id":93235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1692:11:132","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":75708,"src":"1681:22:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1705:1:132","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93233,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"1672:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1672:35:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93238,"nodeType":"ExpressionStatement","src":"1672:35:132"}]},"functionSelector":"d4dadecb","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveUser","nameLocation":"1361:14:132","parameters":{"id":93192,"nodeType":"ParameterList","parameters":[],"src":"1375:2:132"},"returnParameters":{"id":93193,"nodeType":"ParameterList","parameters":[],"src":"1385:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93272,"nodeType":"FunctionDefinition","src":"1720:246:132","nodes":[],"body":{"id":93271,"nodeType":"Block","src":"1760:206:132","nodes":[],"statements":[{"assignments":[93244],"declarations":[{"constant":false,"id":93244,"mutability":"mutable","name":"newManager","nameLocation":"1778:10:132","nodeType":"VariableDeclaration","scope":93271,"src":"1770:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93243,"name":"address","nodeType":"ElementaryTypeName","src":"1770:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93249,"initialValue":{"arguments":[{"hexValue":"36","id":93247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:1:132","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":93246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1791:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93245,"name":"address","nodeType":"ElementaryTypeName","src":"1791:7:132","typeDescriptions":{}}},"id":93248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1770:31:132"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93253,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"1821:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1836:5:132","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":52907,"src":"1821:20:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":93255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1821:22:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93250,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1812:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1815:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1812:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1812:32:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93257,"nodeType":"ExpressionStatement","src":"1812:32:132"},{"expression":{"arguments":[{"id":93261,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93244,"src":"1887:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93258,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"1854:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1869:17:132","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":76061,"src":"1854:32:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1854:44:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93263,"nodeType":"ExpressionStatement","src":"1854:44:132"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93265,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"1918:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1933:11:132","memberName":"listManager","nodeType":"MemberAccess","referencedDeclaration":75813,"src":"1918:26:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":93267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:28:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93268,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93244,"src":"1948:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93264,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"1909:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1909:50:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93270,"nodeType":"ExpressionStatement","src":"1909:50:132"}]},"functionSelector":"ebe69a5f","implemented":true,"kind":"function","modifiers":[],"name":"testChangeListManager","nameLocation":"1729:21:132","parameters":{"id":93241,"nodeType":"ParameterList","parameters":[],"src":"1750:2:132"},"returnParameters":{"id":93242,"nodeType":"ParameterList","parameters":[],"src":"1760:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93297,"nodeType":"FunctionDefinition","src":"1972:217:132","nodes":[],"body":{"id":93296,"nodeType":"Block","src":"2024:165:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":93278,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93100,"src":"2043:16:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93275,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2034:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2037:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2034:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2034:26:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93280,"nodeType":"ExpressionStatement","src":"2034:26:132"},{"expression":{"arguments":[{"expression":{"expression":{"id":93284,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76287,"src":"2086:14:132","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76287_$","typeString":"type(contract PassportScorer)"}},"id":93285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2101:14:132","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":75867,"src":"2086:29:132","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":93286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:8:132","memberName":"selector","nodeType":"MemberAccess","src":"2086:38:132","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":93281,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2070:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2073:12:132","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21494,"src":"2070:15:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":93287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2070:55:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93288,"nodeType":"ExpressionStatement","src":"2070:55:132"},{"expression":{"arguments":[{"id":93292,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"2163:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93293,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93103,"src":"2169:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93289,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"2135:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2150:12:132","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76011,"src":"2135:27:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$75709_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:47:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93295,"nodeType":"ExpressionStatement","src":"2135:47:132"}]},"functionSelector":"25821153","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanAddUserScore","nameLocation":"1981:33:132","parameters":{"id":93273,"nodeType":"ParameterList","parameters":[],"src":"2014:2:132"},"returnParameters":{"id":93274,"nodeType":"ParameterList","parameters":[],"src":"2024:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93321,"nodeType":"FunctionDefinition","src":"2195:199:132","nodes":[],"body":{"id":93320,"nodeType":"Block","src":"2245:149:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":93303,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93100,"src":"2264:16:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93300,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2255:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2258:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2255:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2255:26:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93305,"nodeType":"ExpressionStatement","src":"2255:26:132"},{"expression":{"arguments":[{"expression":{"expression":{"id":93309,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76287,"src":"2307:14:132","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$76287_$","typeString":"type(contract PassportScorer)"}},"id":93310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2322:14:132","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":75867,"src":"2307:29:132","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":93311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2337:8:132","memberName":"selector","nodeType":"MemberAccess","src":"2307:38:132","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":93306,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2291:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2294:12:132","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21494,"src":"2291:15:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":93312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2291:55:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93313,"nodeType":"ExpressionStatement","src":"2291:55:132"},{"expression":{"arguments":[{"id":93317,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"2382:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93314,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"2356:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2371:10:132","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":76034,"src":"2356:25:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2356:31:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93319,"nodeType":"ExpressionStatement","src":"2356:31:132"}]},"functionSelector":"82fad478","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanRemoveUser","nameLocation":"2204:31:132","parameters":{"id":93298,"nodeType":"ParameterList","parameters":[],"src":"2235:2:132"},"returnParameters":{"id":93299,"nodeType":"ParameterList","parameters":[],"src":"2245:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93350,"nodeType":"FunctionDefinition","src":"2400:247:132","nodes":[],"body":{"id":93349,"nodeType":"Block","src":"2452:195:132","nodes":[],"statements":[{"assignments":[93325],"declarations":[{"constant":false,"id":93325,"mutability":"mutable","name":"newManager","nameLocation":"2470:10:132","nodeType":"VariableDeclaration","scope":93349,"src":"2462:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93324,"name":"address","nodeType":"ElementaryTypeName","src":"2462:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93330,"initialValue":{"arguments":[{"hexValue":"36","id":93328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2491:1:132","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":93327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2483:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93326,"name":"address","nodeType":"ElementaryTypeName","src":"2483:7:132","typeDescriptions":{}}},"id":93329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2483:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2462:31:132"},{"expression":{"arguments":[{"id":93334,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"2513:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93331,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2504:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2504:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2504:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93336,"nodeType":"ExpressionStatement","src":"2504:21:132"},{"expression":{"arguments":[{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":93340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2551:34:132","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"expression":{"id":93337,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2535:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2538:12:132","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21500,"src":"2535:15:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":93341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2535:51:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93342,"nodeType":"ExpressionStatement","src":"2535:51:132"},{"expression":{"arguments":[{"id":93346,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93325,"src":"2629:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93343,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"2596:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2611:17:132","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":76061,"src":"2596:32:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2596:44:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93348,"nodeType":"ExpressionStatement","src":"2596:44:132"}]},"functionSelector":"24e40b97","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyOwnerCanChangeListManager","nameLocation":"2409:33:132","parameters":{"id":93322,"nodeType":"ParameterList","parameters":[],"src":"2442:2:132"},"returnParameters":{"id":93323,"nodeType":"ParameterList","parameters":[],"src":"2452:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93398,"nodeType":"FunctionDefinition","src":"2653:430:132","nodes":[],"body":{"id":93397,"nodeType":"Block","src":"2687:396:132","nodes":[],"statements":[{"assignments":[93354],"declarations":[{"constant":false,"id":93354,"mutability":"mutable","name":"threshold","nameLocation":"2705:9:132","nodeType":"VariableDeclaration","scope":93397,"src":"2697:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93353,"name":"uint256","nodeType":"ElementaryTypeName","src":"2697:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93356,"initialValue":{"hexValue":"3530","id":93355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2717:2:132","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"2697:22:132"},{"expression":{"arguments":[{"id":93360,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"2739:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2730:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2733:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"2730:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93362,"nodeType":"ExpressionStatement","src":"2730:21:132"},{"expression":{"arguments":[{"id":93366,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"2788:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93367,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93354,"src":"2798:9:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93368,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"2809:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93363,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"2761:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2776:11:132","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76120,"src":"2761:26:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:60:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93370,"nodeType":"ExpressionStatement","src":"2761:60:132"},{"assignments":[93372,93374,93376],"declarations":[{"constant":false,"id":93372,"mutability":"mutable","name":"storedThreshold","nameLocation":"2841:15:132","nodeType":"VariableDeclaration","scope":93397,"src":"2833:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93371,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93374,"mutability":"mutable","name":"storedActive","nameLocation":"2863:12:132","nodeType":"VariableDeclaration","scope":93397,"src":"2858:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93373,"name":"bool","nodeType":"ElementaryTypeName","src":"2858:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93376,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"2885:17:132","nodeType":"VariableDeclaration","scope":93397,"src":"2877:25:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93375,"name":"address","nodeType":"ElementaryTypeName","src":"2877:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93381,"initialValue":{"arguments":[{"id":93379,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"2932:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93377,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"2906:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2921:10:132","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":75823,"src":"2906:25:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2906:35:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"2832:109:132"},{"expression":{"arguments":[{"id":93383,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93372,"src":"2960:15:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93384,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93354,"src":"2977:9:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93382,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"2951:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2951:36:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93386,"nodeType":"ExpressionStatement","src":"2951:36:132"},{"expression":{"arguments":[{"id":93388,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93374,"src":"3006:12:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3020:5:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93387,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"2997:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93391,"nodeType":"ExpressionStatement","src":"2997:29:132"},{"expression":{"arguments":[{"id":93393,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93376,"src":"3045:17:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93394,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"3064:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93392,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"3036:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3036:40:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93396,"nodeType":"ExpressionStatement","src":"3036:40:132"}]},"functionSelector":"9693f128","implemented":true,"kind":"function","modifiers":[],"name":"testAddStrategy","nameLocation":"2662:15:132","parameters":{"id":93351,"nodeType":"ParameterList","parameters":[],"src":"2677:2:132"},"returnParameters":{"id":93352,"nodeType":"ParameterList","parameters":[],"src":"2687:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93458,"nodeType":"FunctionDefinition","src":"3089:544:132","nodes":[],"body":{"id":93457,"nodeType":"Block","src":"3126:507:132","nodes":[],"statements":[{"assignments":[93402],"declarations":[{"constant":false,"id":93402,"mutability":"mutable","name":"threshold","nameLocation":"3144:9:132","nodeType":"VariableDeclaration","scope":93457,"src":"3136:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93401,"name":"uint256","nodeType":"ElementaryTypeName","src":"3136:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93404,"initialValue":{"hexValue":"3530","id":93403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3156:2:132","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3136:22:132"},{"expression":{"arguments":[{"id":93408,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"3178:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93405,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3169:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3172:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3169:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3169:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93410,"nodeType":"ExpressionStatement","src":"3169:21:132"},{"expression":{"arguments":[{"id":93414,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"3227:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93415,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93402,"src":"3237:9:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93416,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"3248:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93411,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"3200:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3215:11:132","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76120,"src":"3200:26:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3200:60:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93418,"nodeType":"ExpressionStatement","src":"3200:60:132"},{"expression":{"arguments":[{"id":93422,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"3280:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93419,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3271:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3274:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3271:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3271:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93424,"nodeType":"ExpressionStatement","src":"3271:21:132"},{"expression":{"arguments":[{"id":93428,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"3332:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93425,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"3302:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3317:14:132","memberName":"removeStrategy","nodeType":"MemberAccess","referencedDeclaration":76153,"src":"3302:29:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:39:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93430,"nodeType":"ExpressionStatement","src":"3302:39:132"},{"assignments":[93432,93434,93436],"declarations":[{"constant":false,"id":93432,"mutability":"mutable","name":"storedThreshold","nameLocation":"3361:15:132","nodeType":"VariableDeclaration","scope":93457,"src":"3353:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93431,"name":"uint256","nodeType":"ElementaryTypeName","src":"3353:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93434,"mutability":"mutable","name":"storedActive","nameLocation":"3383:12:132","nodeType":"VariableDeclaration","scope":93457,"src":"3378:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93433,"name":"bool","nodeType":"ElementaryTypeName","src":"3378:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93436,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"3405:17:132","nodeType":"VariableDeclaration","scope":93457,"src":"3397:25:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93435,"name":"address","nodeType":"ElementaryTypeName","src":"3397:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93441,"initialValue":{"arguments":[{"id":93439,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"3452:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93437,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"3426:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3441:10:132","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":75823,"src":"3426:25:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3426:35:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3352:109:132"},{"expression":{"arguments":[{"id":93443,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93432,"src":"3480:15:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3497:1:132","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93442,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"3471:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3471:28:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93446,"nodeType":"ExpressionStatement","src":"3471:28:132"},{"expression":{"arguments":[{"id":93448,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93434,"src":"3518:12:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3532:5:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93447,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"3509:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93451,"nodeType":"ExpressionStatement","src":"3509:29:132"},{"expression":{"arguments":[{"id":93453,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93436,"src":"3557:17:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93454,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"3576:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93452,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"3548:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3548:40:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93456,"nodeType":"ExpressionStatement","src":"3548:40:132"}]},"functionSelector":"0778c72c","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveStrategy","nameLocation":"3098:18:132","parameters":{"id":93399,"nodeType":"ParameterList","parameters":[],"src":"3116:2:132"},"returnParameters":{"id":93400,"nodeType":"ParameterList","parameters":[],"src":"3126:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93523,"nodeType":"FunctionDefinition","src":"3639:580:132","nodes":[],"body":{"id":93522,"nodeType":"Block","src":"3689:530:132","nodes":[],"statements":[{"assignments":[93462],"declarations":[{"constant":false,"id":93462,"mutability":"mutable","name":"threshold","nameLocation":"3707:9:132","nodeType":"VariableDeclaration","scope":93522,"src":"3699:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93461,"name":"uint256","nodeType":"ElementaryTypeName","src":"3699:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93464,"initialValue":{"hexValue":"3530","id":93463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3719:2:132","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3699:22:132"},{"assignments":[93466],"declarations":[{"constant":false,"id":93466,"mutability":"mutable","name":"newThreshold","nameLocation":"3739:12:132","nodeType":"VariableDeclaration","scope":93522,"src":"3731:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93465,"name":"uint256","nodeType":"ElementaryTypeName","src":"3731:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93468,"initialValue":{"hexValue":"3735","id":93467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:2:132","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"3731:25:132"},{"expression":{"arguments":[{"id":93472,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"3776:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93469,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3767:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3770:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3767:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3767:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93474,"nodeType":"ExpressionStatement","src":"3767:21:132"},{"expression":{"arguments":[{"id":93478,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"3825:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93479,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93462,"src":"3835:9:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93480,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"3846:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93475,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"3798:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3813:11:132","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76120,"src":"3798:26:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3798:60:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93482,"nodeType":"ExpressionStatement","src":"3798:60:132"},{"expression":{"arguments":[{"id":93486,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"3878:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93483,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3869:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3872:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"3869:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3869:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93488,"nodeType":"ExpressionStatement","src":"3869:21:132"},{"expression":{"arguments":[{"id":93492,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"3931:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93493,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"3941:12:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93489,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"3900:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3915:15:132","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":76206,"src":"3900:30:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3900:54:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93495,"nodeType":"ExpressionStatement","src":"3900:54:132"},{"assignments":[93497,93499,93501],"declarations":[{"constant":false,"id":93497,"mutability":"mutable","name":"storedThreshold","nameLocation":"3974:15:132","nodeType":"VariableDeclaration","scope":93522,"src":"3966:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93496,"name":"uint256","nodeType":"ElementaryTypeName","src":"3966:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93499,"mutability":"mutable","name":"storedActive","nameLocation":"3996:12:132","nodeType":"VariableDeclaration","scope":93522,"src":"3991:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93498,"name":"bool","nodeType":"ElementaryTypeName","src":"3991:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93501,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4018:17:132","nodeType":"VariableDeclaration","scope":93522,"src":"4010:25:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93500,"name":"address","nodeType":"ElementaryTypeName","src":"4010:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93506,"initialValue":{"arguments":[{"id":93504,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"4065:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93502,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"4039:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4054:10:132","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":75823,"src":"4039:25:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4039:35:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3965:109:132"},{"expression":{"arguments":[{"id":93508,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93497,"src":"4093:15:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93509,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"4110:12:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93507,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"4084:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:39:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93511,"nodeType":"ExpressionStatement","src":"4084:39:132"},{"expression":{"arguments":[{"id":93513,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93499,"src":"4142:12:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4156:5:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93512,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"4133:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4133:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93516,"nodeType":"ExpressionStatement","src":"4133:29:132"},{"expression":{"arguments":[{"id":93518,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93501,"src":"4181:17:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93519,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"4200:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93517,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"4172:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:40:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93521,"nodeType":"ExpressionStatement","src":"4172:40:132"}]},"functionSelector":"e68393b4","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByAuthorized","nameLocation":"3648:31:132","parameters":{"id":93459,"nodeType":"ParameterList","parameters":[],"src":"3679:2:132"},"returnParameters":{"id":93460,"nodeType":"ParameterList","parameters":[],"src":"3689:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93588,"nodeType":"FunctionDefinition","src":"4225:581:132","nodes":[],"body":{"id":93587,"nodeType":"Block","src":"4276:530:132","nodes":[],"statements":[{"assignments":[93527],"declarations":[{"constant":false,"id":93527,"mutability":"mutable","name":"threshold","nameLocation":"4294:9:132","nodeType":"VariableDeclaration","scope":93587,"src":"4286:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93526,"name":"uint256","nodeType":"ElementaryTypeName","src":"4286:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93529,"initialValue":{"hexValue":"3530","id":93528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4306:2:132","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4286:22:132"},{"assignments":[93531],"declarations":[{"constant":false,"id":93531,"mutability":"mutable","name":"newThreshold","nameLocation":"4326:12:132","nodeType":"VariableDeclaration","scope":93587,"src":"4318:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93530,"name":"uint256","nodeType":"ElementaryTypeName","src":"4318:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93533,"initialValue":{"hexValue":"3735","id":93532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4341:2:132","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"4318:25:132"},{"expression":{"arguments":[{"id":93537,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"4363:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93534,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4354:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4357:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"4354:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93539,"nodeType":"ExpressionStatement","src":"4354:21:132"},{"expression":{"arguments":[{"id":93543,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"4412:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93544,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93527,"src":"4422:9:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93545,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"4433:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93540,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"4385:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4400:11:132","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76120,"src":"4385:26:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:60:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93547,"nodeType":"ExpressionStatement","src":"4385:60:132"},{"expression":{"arguments":[{"id":93551,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"4465:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93548,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4456:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4459:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"4456:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4456:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93553,"nodeType":"ExpressionStatement","src":"4456:21:132"},{"expression":{"arguments":[{"id":93557,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"4518:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93558,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93531,"src":"4528:12:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93554,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"4487:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4502:15:132","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":76206,"src":"4487:30:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4487:54:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93560,"nodeType":"ExpressionStatement","src":"4487:54:132"},{"assignments":[93562,93564,93566],"declarations":[{"constant":false,"id":93562,"mutability":"mutable","name":"storedThreshold","nameLocation":"4561:15:132","nodeType":"VariableDeclaration","scope":93587,"src":"4553:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93561,"name":"uint256","nodeType":"ElementaryTypeName","src":"4553:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93564,"mutability":"mutable","name":"storedActive","nameLocation":"4583:12:132","nodeType":"VariableDeclaration","scope":93587,"src":"4578:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93563,"name":"bool","nodeType":"ElementaryTypeName","src":"4578:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93566,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4605:17:132","nodeType":"VariableDeclaration","scope":93587,"src":"4597:25:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93565,"name":"address","nodeType":"ElementaryTypeName","src":"4597:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93571,"initialValue":{"arguments":[{"id":93569,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"4652:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93567,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"4626:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4641:10:132","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":75823,"src":"4626:25:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":93570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4626:35:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"4552:109:132"},{"expression":{"arguments":[{"id":93573,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93562,"src":"4680:15:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93574,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93531,"src":"4697:12:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93572,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"4671:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4671:39:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93576,"nodeType":"ExpressionStatement","src":"4671:39:132"},{"expression":{"arguments":[{"id":93578,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93564,"src":"4729:12:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":93579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4743:5:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93577,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6194,"src":"4720:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":93580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93581,"nodeType":"ExpressionStatement","src":"4720:29:132"},{"expression":{"arguments":[{"id":93583,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93566,"src":"4768:17:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93584,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"4787:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93582,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6371,"src":"4759:8:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":93585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4759:40:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93586,"nodeType":"ExpressionStatement","src":"4759:40:132"}]},"functionSelector":"3668aa29","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByCouncilSafe","nameLocation":"4234:32:132","parameters":{"id":93524,"nodeType":"ParameterList","parameters":[],"src":"4266:2:132"},"returnParameters":{"id":93525,"nodeType":"ParameterList","parameters":[],"src":"4276:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93677,"nodeType":"FunctionDefinition","src":"4812:679:132","nodes":[],"body":{"id":93676,"nodeType":"Block","src":"4851:640:132","nodes":[],"statements":[{"assignments":[93592],"declarations":[{"constant":false,"id":93592,"mutability":"mutable","name":"threshold","nameLocation":"4869:9:132","nodeType":"VariableDeclaration","scope":93676,"src":"4861:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93591,"name":"uint256","nodeType":"ElementaryTypeName","src":"4861:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93594,"initialValue":{"hexValue":"3530","id":93593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4881:2:132","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4861:22:132"},{"expression":{"arguments":[{"id":93598,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"4903:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93595,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4894:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4897:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"4894:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93600,"nodeType":"ExpressionStatement","src":"4894:21:132"},{"expression":{"arguments":[{"id":93604,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"4952:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93605,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93592,"src":"4962:9:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93606,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"4973:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93601,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"4925:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4940:11:132","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":76120,"src":"4925:26:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":93607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4925:60:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93608,"nodeType":"ExpressionStatement","src":"4925:60:132"},{"expression":{"arguments":[{"id":93612,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93094,"src":"5009:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93609,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4995:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4998:10:132","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21308,"src":"4995:13:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4995:26:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93614,"nodeType":"ExpressionStatement","src":"4995:26:132"},{"expression":{"arguments":[{"id":93618,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"5063:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93615,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"5031:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5046:16:132","memberName":"activateStrategy","nodeType":"MemberAccess","referencedDeclaration":76178,"src":"5031:31:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5031:41:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93620,"nodeType":"ExpressionStatement","src":"5031:41:132"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93621,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5082:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5085:9:132","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"5082:12:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5082:14:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93625,"nodeType":"ExpressionStatement","src":"5082:14:132"},{"expression":{"arguments":[{"id":93629,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"5116:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93626,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5107:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5110:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"5107:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5107:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93631,"nodeType":"ExpressionStatement","src":"5107:21:132"},{"expression":{"arguments":[{"id":93635,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"5166:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93636,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93103,"src":"5172:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$75709_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":93632,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"5138:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5153:12:132","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":76011,"src":"5138:27:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$75709_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":93637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:47:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93638,"nodeType":"ExpressionStatement","src":"5138:47:132"},{"assignments":[93640],"declarations":[{"constant":false,"id":93640,"mutability":"mutable","name":"canExecute","nameLocation":"5201:10:132","nodeType":"VariableDeclaration","scope":93676,"src":"5196:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93639,"name":"bool","nodeType":"ElementaryTypeName","src":"5196:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":93646,"initialValue":{"arguments":[{"id":93643,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"5246:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93644,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"5252:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93641,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"5214:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5229:16:132","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76245,"src":"5214:31:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":93645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5214:47:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5196:65:132"},{"expression":{"arguments":[{"id":93648,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93640,"src":"5282:10:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93647,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[6137,6152],"referencedDeclaration":6137,"src":"5271:10:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":93649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5271:22:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93650,"nodeType":"ExpressionStatement","src":"5271:22:132"},{"expression":{"arguments":[{"id":93654,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93076,"src":"5313:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93651,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5304:2:132","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":93653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5307:5:132","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"5304:8:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5304:21:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93656,"nodeType":"ExpressionStatement","src":"5304:21:132"},{"expression":{"arguments":[{"id":93660,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"5366:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313530","id":93661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5376:3:132","typeDescriptions":{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},"value":"150"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"}],"expression":{"id":93657,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"5335:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5350:15:132","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":76206,"src":"5335:30:132","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5335:45:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93663,"nodeType":"ExpressionStatement","src":"5335:45:132"},{"expression":{"id":93670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93664,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93640,"src":"5391:10:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":93667,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93082,"src":"5436:4:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93668,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93088,"src":"5442:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93665,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93070,"src":"5404:14:132","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$76287","typeString":"contract PassportScorer"}},"id":93666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5419:16:132","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":76245,"src":"5404:31:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":93669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:47:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5391:60:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":93671,"nodeType":"ExpressionStatement","src":"5391:60:132"},{"expression":{"arguments":[{"id":93673,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93640,"src":"5473:10:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93672,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6164,6179],"referencedDeclaration":6164,"src":"5461:11:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":93674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5461:23:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93675,"nodeType":"ExpressionStatement","src":"5461:23:132"}]},"functionSelector":"8caa5c44","implemented":true,"kind":"function","modifiers":[],"name":"testCanExecuteAction","nameLocation":"4821:20:132","parameters":{"id":93589,"nodeType":"ParameterList","parameters":[],"src":"4841:2:132"},"returnParameters":{"id":93590,"nodeType":"ParameterList","parameters":[],"src":"4851:0:132"},"scope":93678,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":93066,"name":"Test","nameLocations":["323:4:132"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"323:4:132"},"id":93067,"nodeType":"InheritanceSpecifier","src":"323:4:132"}],"canonicalName":"PassportScorerTest","contractDependencies":[55102,76287],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[93678,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"PassportScorerTest","nameLocation":"301:18:132","scope":93679,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":132} \ No newline at end of file diff --git a/pkg/contracts/out/Registry.sol/Registry.json b/pkg/contracts/out/Registry.sol/Registry.json index b9b7e2c7c..161fd088d 100644 --- a/pkg/contracts/out/Registry.sol/Registry.json +++ b/pkg/contracts/out/Registry.sol/Registry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"ALLO_OWNER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"anchorToProfileId","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"profileIdToPendingOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profilesById","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657612849908161001c8239f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c80630114cf0a146200162057806301ffc9a714620015c55780630ec1fbac1462001599578063248a9ca314620015685780632497f3c614620014bd57806324ae6a27146200118b5780632f2ff15d146200114457806336568abe14620010ab57806339b86b8c14620010755780633a92f65f1462000b165780633b66dacd1462000a965780634756487f1462000a585780635063f36114620009f957806350d005e014620009c35780635e8a7915146200096c57806391d14854146200091b578063a0cf0aea14620008ea578063a217fddf14620008cc578063ac402839146200071b578063c4d66de8146200059e578063cf189ff21462000383578063cfda7e0a1462000357578063d547741f146200030e578063dd93da431462000252578063e0cf1e4c14620001fb5763ee888196146200015557600080fd5b34620001f6576020366003190112620001f6576004356000526098602052604060002080546001820154916200018e60028201620019d8565b620001e7620001a06003840162001a8a565b620001d860018060a01b0360068160058801541696015416936040519788978852602088015260c0604088015260c0870190620016e8565b9085820360608701526200170f565b91608084015260a08301520390f35b600080fd5b34620001f6576200020c3662001968565b620002178262001b0e565b80519060005b8281106200022757005b6001906200024b6001600160a01b0362000242838662001af9565b51168662001f8e565b016200021d565b34620001f6576020366003190112620001f6576200030a62000273620017b2565b6200027d62001aae565b5060018060a01b0380911660005260976020526040600020546000526098602052604060002090600660405192620002b584620017c9565b8054845260018101546020850152620002d160028201620019d8565b6040850152620002e46003820162001a8a565b606085015282600582015416608085015201541660a08201526040519182918262001731565b0390f35b34620001f6576040366003190112620001f65762000355600435620003326200179b565b908060005260656020526200034f60016040600020015462001d6c565b62001f8e565b005b34620001f6576000366003190112620001f6576020604051600080516020620027d48339815191528152f35b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620003bc90369060040162001841565b90620003c88162001b0e565b620003d4828262001b3c565b9181600052602093609885526040600020906002820190835190811162000588576200040182546200199b565b601f81116200053d575b5086601f8211600114620004bb5792600080516020620027b48339815191529492826006936200049f96600091620004af575b508160011b916000199060031b1c19161790555b019460018060a01b039081875416600052609788526000604081205516948560018060a01b03198254161790558460005283604060002055604051918291604083526040830190620016e8565b85878301520390a2604051908152f35b90508501518b6200043e565b601f1982169083600052886000209160005b8a82821062000526575050836200049f9693600080516020620027b4833981519152989693600696600194106200050c575b5050811b01905562000452565b87015160001960f88460031b161c191690558b80620004ff565b600184958293958b015181550194019201620004cd565b8260005287600020601f830160051c8101918984106200057d575b601f0160051c01905b8181106200057057506200040b565b6000815560010162000561565b909150819062000558565b634e487b7160e01b600052604160045260246000fd5b34620001f657602080600319360112620001f657620005bc620017b2565b60005460ff8160081c1615806200070d575b15620006b15761ffff1916610101176000556001600160a01b03169081156200069f577f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891600080516020620027d4833981519152908160005260658352604060002081600052835260ff60406000205416156200065e575b505061ff00196000541660005560405160018152a1005b816000526065835260406000208160005283526040600020600160ff19825416179055339160008051602062002774833981519152600080a4828062000647565b60405163538ba4f960e01b8152600490fd5b60405162461bcd60e51b815260048101849052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600160ff821610620005ce565b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620007549036906004016200189c565b6200075f8262001b0e565b8160005260206098815260046040600020835160038201550181830151805195861162000588576200079282546200199b565b601f811162000881575b508290601f87116001146200080557958091600080516020620027f48339815191529697600092620007f9575b50508160011b916000199060031b1c19161790555b620007f46040519282849384528301906200170f565b0390a2005b015190508780620007c9565b90601f1987169183600052846000209260005b818110620008695750916001939189600080516020620027f4833981519152999a94106200084f575b505050811b019055620007de565b015160001960f88460031b161c1916905587808062000841565b92938660018192878601518155019501930162000818565b8260005283600020601f880160051c810191858910620008c1575b601f0160051c01905b818110620008b457506200079c565b60008155600101620008a5565b90915081906200089c565b34620001f6576000366003190112620001f657602060405160008152f35b34620001f6576000366003190112620001f657602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620001f6576040366003190112620001f657620009386200179b565b600435600052606560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34620001f6576040366003190112620001f65760206004356200098e6200179b565b6200099a818362001d21565b918215620009af575b50506040519015158152f35b620009bb925062001d44565b8280620009a3565b34620001f6576020366003190112620001f6576004356000526099602052602060018060a01b0360406000205416604051908152f35b34620001f65762000a0a3662001968565b62000a158262001b0e565b80519060005b82811062000a2557005b6001600160a01b0362000a39828462001af9565b51169081156200069f5762000a516001928662001f24565b0162000a1b565b34620001f6576020366003190112620001f6576001600160a01b0362000a7d620017b2565b1660005260976020526020604060002054604051908152f35b34620001f6576040366003190112620001f6576004357f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8602062000ad96200179b565b62000ae48462001b0e565b60008481526099835260409081902080546001600160a01b0319166001600160a01b03909316928317905551908152a2005b34620001f65760a0366003190112620001f6576004356024356001600160401b038111620001f65762000b4e90369060040162001841565b906044356001600160401b038111620001f65762000b719036906004016200189c565b91606435906001600160a01b0382168203620001f6576084356001600160401b038111620001f65762000ba9903690600401620018ea565b6040805160208101868152606086811b6001600160601b03191693830193909352603482529181019692939291906001600160401b038811818910176200058857876040525190209586600052609860205260018060a01b03600660406000200154166200106657506001600160a01b038416156200069f5762000c2e828762001b3c565b916040519562000c3e87620017c9565b8787526020808801918252604080890193845260608901949094526001600160a01b0387811660808a01529490941660a08801526000888152609890945291909220855181559051600182015590518051906001600160401b0382116200058857819062000cb060028501546200199b565b601f81116200100e575b50602090601f831160011462000f975760009262000f8b575b50508160011b916000199060031b1c19161760028201555b606084015180516003830155602001518051906001600160401b0382116200058857819062000d1e60048501546200199b565b601f811162000f33575b50602090601f831160011462000ec15760009262000eb5575b50508160011b916000199060031b1c19161760048201555b60808401516005820180546001600160a01b039283166001600160a01b03199182161790915560a086015160069093018054939092169216821790556000908152609760205260409020849055805191821515908162000ea0575b5062000e8e5760005b82811062000e5b57602085807f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b806098784810151604082015191606081015162000e4560018060a01b036080840151169260a0600180821b03910151169162000e36604051968796875260a08c88015260a0870190620016e8565b9085820360408701526200170f565b91606084015260808301520390a2604051908152f35b6001600160a01b0362000e6f828462001af9565b51169081156200069f5762000e876001928762001f24565b0162000dbd565b60405163075fd2b160e01b8152600490fd5b6001600160a01b031633141590508562000db4565b01519050878062000d41565b600485016000908152602081209350601f198516905b81811062000f1a575090846001959493921062000f00575b505050811b01600482015562000d59565b015160001960f88460031b161c1916905587808062000eef565b9293602060018192878601518155019501930162000ed7565b909150600484016000526020600020601f840160051c81016020851062000f83575b90849392915b601f830160051c8201811062000f7357505062000d28565b6000815585945060010162000f5b565b508062000f55565b01519050878062000cd3565b9250600284016000526020600020906000935b601f198416851062000ff2576001945083601f1981161062000fd8575b505050811b01600282015562000ceb565b015160001960f88460031b161c1916905587808062000fc7565b8181015183556020948501946001909301929091019062000faa565b909150600284016000526020600020601f840160051c8101602085106200105e575b90849392915b601f830160051c820181106200104e57505062000cba565b6000815585945060010162001036565b508062001030565b630527e05960e41b8152600490fd5b34620001f6576040366003190112620001f6576020620010a1620010986200179b565b60043562001d21565b6040519015158152f35b34620001f6576040366003190112620001f657620010c86200179b565b336001600160a01b03821603620010e757620003559060043562001f8e565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620001f6576040366003190112620001f65762000355600435620011686200179b565b908060005260656020526200118560016040600020015462001d6c565b62001f24565b34620001f6576040366003190112620001f657620011a8620017b2565b620011b26200179b565b3360009081527f4b3829d867e62b811a7a862bbf8afb7a8eb18e86c071c1039bdebff5606d62536020908152604090912054600080516020620027d48339815191529060ff16156200131357506001600160a01b03828116156200069f5783169273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84149382856000146200129e57505047935b1562001261575050600080809381935af1156200125357005b63b12d13eb6000526004601cfd5b600060109160449395829560145260345263a9059cbb60601b82525af13d156001600051141716156200129057005b6390b8ec186000526004601cfd5b6040516370a0823160e01b815230600482015291829060249082905afa9081156200130757600091620012d4575b50936200123a565b90508281813d8311620012ff575b620012ee81836200181d565b81010312620001f6575185620012cc565b503d620012e2565b6040513d6000823e3d90fd5b906200131f3362002017565b916040516200132e8162001801565b60428152828101916060368437815115620014a757603083538151600190811015620014a757607860218401536041905b808211620014485750506200141657620013df93620013ef9260489260405196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b88860152620013b5815180928a603789019101620016c3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190620016c3565b010360288101855201836200181d565b6200141260405192839262461bcd60e51b845260048401526024830190620016e8565b0390fd5b6064836040519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b9091600f81166010811015620014a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200147a848662002005565b5360041c918015620014915760001901906200135f565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b34620001f6576020366003190112620001f6576004358060005260986020526040600020609960205260018060a01b039081604060002054169182330362001556577ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d926005602093019060018060a01b03199081835416178255856000526099845260406000209081541690555416604051908152a2005b604051630b4d48c160e41b8152600490fd5b34620001f6576020366003190112620001f65760043560005260656020526020600160406000200154604051908152f35b34620001f6576040366003190112620001f6576020620010a1620015bc6200179b565b60043562001d44565b34620001f6576020366003190112620001f65760043563ffffffff60e01b8116809103620001f657602090637965db0b60e01b81149081156200160e575b506040519015158152f35b6301ffc9a760e01b1490508262001603565b34620001f6576020366003190112620001f6576200163d62001aae565b5060043560005260986020526200030a6040600020604051906200166182620017c9565b80548252600181015460208301526200167d60028201620019d8565b6040830152620016906003820162001a8a565b606083015260058101546001600160a01b0390811660808401526006909101541660a08201526040519182918262001731565b60005b838110620016d75750506000910152565b8181015183820152602001620016c6565b906020916200170381518092818552858086019101620016c3565b601f01601f1916010190565b90604060206200172e93805184520151918160208201520190620016e8565b90565b60208152815160208201526020820151604082015260c06200177d62001766604085015183606086015260e0850190620016e8565b6060850151848203601f190160808601526200170f565b9260a0600180821b0391826080820151168286015201511691015290565b602435906001600160a01b0382168203620001f657565b600435906001600160a01b0382168203620001f657565b60c081019081106001600160401b038211176200058857604052565b604081019081106001600160401b038211176200058857604052565b608081019081106001600160401b038211176200058857604052565b601f909101601f19168101906001600160401b038211908210176200058857604052565b81601f82011215620001f6578035906001600160401b03821162000588576040519262001879601f8401601f1916602001856200181d565b82845260208383010111620001f657816000926020809301838601378301015290565b9190604083820312620001f65760405190620018b882620017e5565b8335825290928391602082013591906001600160401b038311620001f657602092620018e5920162001841565b910152565b9080601f83011215620001f6578135906001600160401b03821162000588578160051b6040519360209362001922858401876200181d565b85528380860192820101928311620001f6578301905b82821062001947575050505090565b81356001600160a01b0381168103620001f657815290830190830162001938565b906040600319830112620001f65760043591602435906001600160401b038211620001f6576200172e91600401620018ea565b90600182811c92168015620019cd575b6020831014620019b757565b634e487b7160e01b600052602260045260246000fd5b91607f1691620019ab565b9060405191826000825492620019ee846200199b565b90818452600194858116908160001462001a65575060011462001a1e575b505062001a1c925003836200181d565b565b9093915060005260209081600020936000915b81831062001a4c57505062001a1c9350820101388062001a0c565b8554888401850152948501948794509183019162001a31565b91505062001a1c94506020925060ff191682840152151560051b820101388062001a0c565b9060405162001a9981620017e5565b6020620018e5600183958054855201620019d8565b6040519062001abd82620017c9565b600060a0838281528260208201526060604082015260405162001ae081620017e5565b8381526060602082015260608201528260808201520152565b8051821015620014a75760209160051b010190565b62001b1b90339062001d21565b1562000e8e57565b9081526001600160a01b03909116602082015260400190565b604090815160209062001bf28162001b648482019786895287808401526060830190620016e8565b039562001b7a601f19978881018552846200181d565b85519062001ba0858301988362001b93308a8d62001b23565b039081018452836200181d565b6106559362001bff86895162001bb9828901826200181d565b8781526200211f9b82820196898e89398c5198899362001be28686019a8b9251928391620016c3565b84019151809386840190620016c3565b010380875201856200181d565b5190209151902085516001600160f81b03198582019081523060601b602183015260358201849052605580830193909352918152909260808201916001600160401b039182841182851017620005885783895260018060a01b03809683519020169960808284010193858510908511176200058857843962001c87607f199288309162001b23565b0301906000f58062001d18575050825163041c375d60e11b8152908082600481885afa90811562001d0d5760009162001cd8575b5090500362001cc8575090565b51630113b81f60e41b8152600490fd5b82813d831162001d05575b62001cef81836200181d565b8101031262001d02575051803862001cbb565b80fd5b503d62001ce3565b84513d6000823e3d90fd5b16949350505050565b6000908152609860205260409020600501546001600160a01b0391821691161490565b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff84822054161562001d975750505050565b62001da23362002017565b9184519062001db18262001801565b6042825284820192606036853782511562001f10576030845382519060019182101562001f105790607860218501536041915b81831162001e9d5750505062001e6c5760486200141293869362001e4f9362001e3f985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152620013b5815180928c603789019101620016c3565b010360288101875201856200181d565b5192839262461bcd60e51b845260048401526024830190620016e8565b60648486519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b909192600f8116601081101562001efc576f181899199a1a9b1b9c1cb0b131b232b360811b901a62001ed0858762002005565b5360041c92801562001ee85760001901919062001de4565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054161562001f5757505050565b80835260656020526040832082845260205260408320600160ff1982541617905560008051602062002774833981519152339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541662001fc057505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015620014a7570160200190565b60405190606082016001600160401b038111838210176200058857604052602a8252602082016040368237825115620014a757603090538151600190811015620014a757607860218401536029905b808211620020ab575050620020785790565b606460405162461bcd60e51b81526020600482015260206024820152600080516020620027948339815191526044820152fd5b9091600f8116601081101562002109576f181899199a1a9b1b9c1cb0b131b232b360811b901a620020dd848662002005565b5360041c918015620020f457600019019062002066565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfe60c03461008c57601f61065538819003918201601f19168301916001600160401b0383118484101761009157808492604094855283398101031261008c5780516020909101516001600160a01b0381169081900361008c5760805260a0526040516105ad90816100a882396080518181816101dc0152610333015260a05181818161019f01526103ce0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816301ffc9a7146103f15750806308386eba146103b6578063150b7a02146103625780637b1039991461031e578063b61d27f614610157578063bc197c81146100ce5763f23a6e610361001257346100cb5760a03660031901126100cb57610091610445565b5061009a610460565b50608435906001600160401b0382116100cb57506020926100bd913691016104ca565b505163f23a6e6160e01b8152f35b80fd5b50346100cb5760a03660031901126100cb576100e8610445565b506100f1610460565b506001600160401b0390604435828111610153576101129036908601610511565b506064358281116101535761012a9036908601610511565b506084359182116100cb5750602092610145913691016104ca565b505163bc197c8160e01b8152f35b5080fd5b50913461031a57606036600319011261031a57610172610445565b926044356001600160401b0381116101535761019190369084016104ca565b8351630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000084820152336024820152602095906001600160a01b039087816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156103105785916102d6575b50156102c6578116156102b65781518392839290880190602435905af1913d156102ae573d9261023c846104af565b9361024986519586610476565b84523d838786013e5b156102a05750929082519382859384528251928382860152825b84811061028a57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161026c565b83516384aed38d60e01b8152fd5b606092610252565b84516384aed38d60e01b81528490fd5b855163075fd2b160e01b81528590fd5b90508781813d8311610309575b6102ed8183610476565b8101031261030557518015158103610305573861020d565b8480fd5b503d6102e3565b87513d87823e3d90fd5b8280fd5b509034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cb5760803660031901126100cb5761037c610445565b50610385610460565b50606435906001600160401b0382116100cb57506020926103a8913691016104ca565b5051630a85bd0160e11b8152f35b509034610153578160031936011261015357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050833461031a57602036600319011261031a573563ffffffff60e01b811680910361031a5760209250630271189760e51b8114908115610434575b5015158152f35b6301ffc9a760e01b1490508361042d565b600435906001600160a01b038216820361045b57565b600080fd5b602435906001600160a01b038216820361045b57565b601f909101601f19168101906001600160401b0382119082101761049957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161049957601f01601f191660200190565b81601f8201121561045b578035906104e1826104af565b926104ef6040519485610476565b8284526020838301011161045b57816000926020809301838601378301015290565b9080601f8301121561045b578135906001600160401b038211610499578160051b6040519360209361054585840187610476565b8552838086019282010192831161045b578301905b828210610568575050505090565b8135815290830190830161055a56fea264697066735822122049d6fdbbde00ff6b5b5ab67099b9254588ba1c4ef731a2ec4011243a216245c464736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d537472696e67733a20686578206c656e67746820696e73756666696369656e7454cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3a26469706673582212203c24b27da20b578c12f57a2eca00d5ac620b478c3908f42ffb0aa18b85b527bc64736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c80630114cf0a146200162057806301ffc9a714620015c55780630ec1fbac1462001599578063248a9ca314620015685780632497f3c614620014bd57806324ae6a27146200118b5780632f2ff15d146200114457806336568abe14620010ab57806339b86b8c14620010755780633a92f65f1462000b165780633b66dacd1462000a965780634756487f1462000a585780635063f36114620009f957806350d005e014620009c35780635e8a7915146200096c57806391d14854146200091b578063a0cf0aea14620008ea578063a217fddf14620008cc578063ac402839146200071b578063c4d66de8146200059e578063cf189ff21462000383578063cfda7e0a1462000357578063d547741f146200030e578063dd93da431462000252578063e0cf1e4c14620001fb5763ee888196146200015557600080fd5b34620001f6576020366003190112620001f6576004356000526098602052604060002080546001820154916200018e60028201620019d8565b620001e7620001a06003840162001a8a565b620001d860018060a01b0360068160058801541696015416936040519788978852602088015260c0604088015260c0870190620016e8565b9085820360608701526200170f565b91608084015260a08301520390f35b600080fd5b34620001f6576200020c3662001968565b620002178262001b0e565b80519060005b8281106200022757005b6001906200024b6001600160a01b0362000242838662001af9565b51168662001f8e565b016200021d565b34620001f6576020366003190112620001f6576200030a62000273620017b2565b6200027d62001aae565b5060018060a01b0380911660005260976020526040600020546000526098602052604060002090600660405192620002b584620017c9565b8054845260018101546020850152620002d160028201620019d8565b6040850152620002e46003820162001a8a565b606085015282600582015416608085015201541660a08201526040519182918262001731565b0390f35b34620001f6576040366003190112620001f65762000355600435620003326200179b565b908060005260656020526200034f60016040600020015462001d6c565b62001f8e565b005b34620001f6576000366003190112620001f6576020604051600080516020620027d48339815191528152f35b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620003bc90369060040162001841565b90620003c88162001b0e565b620003d4828262001b3c565b9181600052602093609885526040600020906002820190835190811162000588576200040182546200199b565b601f81116200053d575b5086601f8211600114620004bb5792600080516020620027b48339815191529492826006936200049f96600091620004af575b508160011b916000199060031b1c19161790555b019460018060a01b039081875416600052609788526000604081205516948560018060a01b03198254161790558460005283604060002055604051918291604083526040830190620016e8565b85878301520390a2604051908152f35b90508501518b6200043e565b601f1982169083600052886000209160005b8a82821062000526575050836200049f9693600080516020620027b4833981519152989693600696600194106200050c575b5050811b01905562000452565b87015160001960f88460031b161c191690558b80620004ff565b600184958293958b015181550194019201620004cd565b8260005287600020601f830160051c8101918984106200057d575b601f0160051c01905b8181106200057057506200040b565b6000815560010162000561565b909150819062000558565b634e487b7160e01b600052604160045260246000fd5b34620001f657602080600319360112620001f657620005bc620017b2565b60005460ff8160081c1615806200070d575b15620006b15761ffff1916610101176000556001600160a01b03169081156200069f577f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891600080516020620027d4833981519152908160005260658352604060002081600052835260ff60406000205416156200065e575b505061ff00196000541660005560405160018152a1005b816000526065835260406000208160005283526040600020600160ff19825416179055339160008051602062002774833981519152600080a4828062000647565b60405163538ba4f960e01b8152600490fd5b60405162461bcd60e51b815260048101849052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600160ff821610620005ce565b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620007549036906004016200189c565b6200075f8262001b0e565b8160005260206098815260046040600020835160038201550181830151805195861162000588576200079282546200199b565b601f811162000881575b508290601f87116001146200080557958091600080516020620027f48339815191529697600092620007f9575b50508160011b916000199060031b1c19161790555b620007f46040519282849384528301906200170f565b0390a2005b015190508780620007c9565b90601f1987169183600052846000209260005b818110620008695750916001939189600080516020620027f4833981519152999a94106200084f575b505050811b019055620007de565b015160001960f88460031b161c1916905587808062000841565b92938660018192878601518155019501930162000818565b8260005283600020601f880160051c810191858910620008c1575b601f0160051c01905b818110620008b457506200079c565b60008155600101620008a5565b90915081906200089c565b34620001f6576000366003190112620001f657602060405160008152f35b34620001f6576000366003190112620001f657602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620001f6576040366003190112620001f657620009386200179b565b600435600052606560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34620001f6576040366003190112620001f65760206004356200098e6200179b565b6200099a818362001d21565b918215620009af575b50506040519015158152f35b620009bb925062001d44565b8280620009a3565b34620001f6576020366003190112620001f6576004356000526099602052602060018060a01b0360406000205416604051908152f35b34620001f65762000a0a3662001968565b62000a158262001b0e565b80519060005b82811062000a2557005b6001600160a01b0362000a39828462001af9565b51169081156200069f5762000a516001928662001f24565b0162000a1b565b34620001f6576020366003190112620001f6576001600160a01b0362000a7d620017b2565b1660005260976020526020604060002054604051908152f35b34620001f6576040366003190112620001f6576004357f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8602062000ad96200179b565b62000ae48462001b0e565b60008481526099835260409081902080546001600160a01b0319166001600160a01b03909316928317905551908152a2005b34620001f65760a0366003190112620001f6576004356024356001600160401b038111620001f65762000b4e90369060040162001841565b906044356001600160401b038111620001f65762000b719036906004016200189c565b91606435906001600160a01b0382168203620001f6576084356001600160401b038111620001f65762000ba9903690600401620018ea565b6040805160208101868152606086811b6001600160601b03191693830193909352603482529181019692939291906001600160401b038811818910176200058857876040525190209586600052609860205260018060a01b03600660406000200154166200106657506001600160a01b038416156200069f5762000c2e828762001b3c565b916040519562000c3e87620017c9565b8787526020808801918252604080890193845260608901949094526001600160a01b0387811660808a01529490941660a08801526000888152609890945291909220855181559051600182015590518051906001600160401b0382116200058857819062000cb060028501546200199b565b601f81116200100e575b50602090601f831160011462000f975760009262000f8b575b50508160011b916000199060031b1c19161760028201555b606084015180516003830155602001518051906001600160401b0382116200058857819062000d1e60048501546200199b565b601f811162000f33575b50602090601f831160011462000ec15760009262000eb5575b50508160011b916000199060031b1c19161760048201555b60808401516005820180546001600160a01b039283166001600160a01b03199182161790915560a086015160069093018054939092169216821790556000908152609760205260409020849055805191821515908162000ea0575b5062000e8e5760005b82811062000e5b57602085807f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b806098784810151604082015191606081015162000e4560018060a01b036080840151169260a0600180821b03910151169162000e36604051968796875260a08c88015260a0870190620016e8565b9085820360408701526200170f565b91606084015260808301520390a2604051908152f35b6001600160a01b0362000e6f828462001af9565b51169081156200069f5762000e876001928762001f24565b0162000dbd565b60405163075fd2b160e01b8152600490fd5b6001600160a01b031633141590508562000db4565b01519050878062000d41565b600485016000908152602081209350601f198516905b81811062000f1a575090846001959493921062000f00575b505050811b01600482015562000d59565b015160001960f88460031b161c1916905587808062000eef565b9293602060018192878601518155019501930162000ed7565b909150600484016000526020600020601f840160051c81016020851062000f83575b90849392915b601f830160051c8201811062000f7357505062000d28565b6000815585945060010162000f5b565b508062000f55565b01519050878062000cd3565b9250600284016000526020600020906000935b601f198416851062000ff2576001945083601f1981161062000fd8575b505050811b01600282015562000ceb565b015160001960f88460031b161c1916905587808062000fc7565b8181015183556020948501946001909301929091019062000faa565b909150600284016000526020600020601f840160051c8101602085106200105e575b90849392915b601f830160051c820181106200104e57505062000cba565b6000815585945060010162001036565b508062001030565b630527e05960e41b8152600490fd5b34620001f6576040366003190112620001f6576020620010a1620010986200179b565b60043562001d21565b6040519015158152f35b34620001f6576040366003190112620001f657620010c86200179b565b336001600160a01b03821603620010e757620003559060043562001f8e565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620001f6576040366003190112620001f65762000355600435620011686200179b565b908060005260656020526200118560016040600020015462001d6c565b62001f24565b34620001f6576040366003190112620001f657620011a8620017b2565b620011b26200179b565b3360009081527f4b3829d867e62b811a7a862bbf8afb7a8eb18e86c071c1039bdebff5606d62536020908152604090912054600080516020620027d48339815191529060ff16156200131357506001600160a01b03828116156200069f5783169273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84149382856000146200129e57505047935b1562001261575050600080809381935af1156200125357005b63b12d13eb6000526004601cfd5b600060109160449395829560145260345263a9059cbb60601b82525af13d156001600051141716156200129057005b6390b8ec186000526004601cfd5b6040516370a0823160e01b815230600482015291829060249082905afa9081156200130757600091620012d4575b50936200123a565b90508281813d8311620012ff575b620012ee81836200181d565b81010312620001f6575185620012cc565b503d620012e2565b6040513d6000823e3d90fd5b906200131f3362002017565b916040516200132e8162001801565b60428152828101916060368437815115620014a757603083538151600190811015620014a757607860218401536041905b808211620014485750506200141657620013df93620013ef9260489260405196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b88860152620013b5815180928a603789019101620016c3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190620016c3565b010360288101855201836200181d565b6200141260405192839262461bcd60e51b845260048401526024830190620016e8565b0390fd5b6064836040519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b9091600f81166010811015620014a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200147a848662002005565b5360041c918015620014915760001901906200135f565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b34620001f6576020366003190112620001f6576004358060005260986020526040600020609960205260018060a01b039081604060002054169182330362001556577ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d926005602093019060018060a01b03199081835416178255856000526099845260406000209081541690555416604051908152a2005b604051630b4d48c160e41b8152600490fd5b34620001f6576020366003190112620001f65760043560005260656020526020600160406000200154604051908152f35b34620001f6576040366003190112620001f6576020620010a1620015bc6200179b565b60043562001d44565b34620001f6576020366003190112620001f65760043563ffffffff60e01b8116809103620001f657602090637965db0b60e01b81149081156200160e575b506040519015158152f35b6301ffc9a760e01b1490508262001603565b34620001f6576020366003190112620001f6576200163d62001aae565b5060043560005260986020526200030a6040600020604051906200166182620017c9565b80548252600181015460208301526200167d60028201620019d8565b6040830152620016906003820162001a8a565b606083015260058101546001600160a01b0390811660808401526006909101541660a08201526040519182918262001731565b60005b838110620016d75750506000910152565b8181015183820152602001620016c6565b906020916200170381518092818552858086019101620016c3565b601f01601f1916010190565b90604060206200172e93805184520151918160208201520190620016e8565b90565b60208152815160208201526020820151604082015260c06200177d62001766604085015183606086015260e0850190620016e8565b6060850151848203601f190160808601526200170f565b9260a0600180821b0391826080820151168286015201511691015290565b602435906001600160a01b0382168203620001f657565b600435906001600160a01b0382168203620001f657565b60c081019081106001600160401b038211176200058857604052565b604081019081106001600160401b038211176200058857604052565b608081019081106001600160401b038211176200058857604052565b601f909101601f19168101906001600160401b038211908210176200058857604052565b81601f82011215620001f6578035906001600160401b03821162000588576040519262001879601f8401601f1916602001856200181d565b82845260208383010111620001f657816000926020809301838601378301015290565b9190604083820312620001f65760405190620018b882620017e5565b8335825290928391602082013591906001600160401b038311620001f657602092620018e5920162001841565b910152565b9080601f83011215620001f6578135906001600160401b03821162000588578160051b6040519360209362001922858401876200181d565b85528380860192820101928311620001f6578301905b82821062001947575050505090565b81356001600160a01b0381168103620001f657815290830190830162001938565b906040600319830112620001f65760043591602435906001600160401b038211620001f6576200172e91600401620018ea565b90600182811c92168015620019cd575b6020831014620019b757565b634e487b7160e01b600052602260045260246000fd5b91607f1691620019ab565b9060405191826000825492620019ee846200199b565b90818452600194858116908160001462001a65575060011462001a1e575b505062001a1c925003836200181d565b565b9093915060005260209081600020936000915b81831062001a4c57505062001a1c9350820101388062001a0c565b8554888401850152948501948794509183019162001a31565b91505062001a1c94506020925060ff191682840152151560051b820101388062001a0c565b9060405162001a9981620017e5565b6020620018e5600183958054855201620019d8565b6040519062001abd82620017c9565b600060a0838281528260208201526060604082015260405162001ae081620017e5565b8381526060602082015260608201528260808201520152565b8051821015620014a75760209160051b010190565b62001b1b90339062001d21565b1562000e8e57565b9081526001600160a01b03909116602082015260400190565b604090815160209062001bf28162001b648482019786895287808401526060830190620016e8565b039562001b7a601f19978881018552846200181d565b85519062001ba0858301988362001b93308a8d62001b23565b039081018452836200181d565b6106559362001bff86895162001bb9828901826200181d565b8781526200211f9b82820196898e89398c5198899362001be28686019a8b9251928391620016c3565b84019151809386840190620016c3565b010380875201856200181d565b5190209151902085516001600160f81b03198582019081523060601b602183015260358201849052605580830193909352918152909260808201916001600160401b039182841182851017620005885783895260018060a01b03809683519020169960808284010193858510908511176200058857843962001c87607f199288309162001b23565b0301906000f58062001d18575050825163041c375d60e11b8152908082600481885afa90811562001d0d5760009162001cd8575b5090500362001cc8575090565b51630113b81f60e41b8152600490fd5b82813d831162001d05575b62001cef81836200181d565b8101031262001d02575051803862001cbb565b80fd5b503d62001ce3565b84513d6000823e3d90fd5b16949350505050565b6000908152609860205260409020600501546001600160a01b0391821691161490565b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff84822054161562001d975750505050565b62001da23362002017565b9184519062001db18262001801565b6042825284820192606036853782511562001f10576030845382519060019182101562001f105790607860218501536041915b81831162001e9d5750505062001e6c5760486200141293869362001e4f9362001e3f985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152620013b5815180928c603789019101620016c3565b010360288101875201856200181d565b5192839262461bcd60e51b845260048401526024830190620016e8565b60648486519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b909192600f8116601081101562001efc576f181899199a1a9b1b9c1cb0b131b232b360811b901a62001ed0858762002005565b5360041c92801562001ee85760001901919062001de4565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054161562001f5757505050565b80835260656020526040832082845260205260408320600160ff1982541617905560008051602062002774833981519152339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541662001fc057505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015620014a7570160200190565b60405190606082016001600160401b038111838210176200058857604052602a8252602082016040368237825115620014a757603090538151600190811015620014a757607860218401536029905b808211620020ab575050620020785790565b606460405162461bcd60e51b81526020600482015260206024820152600080516020620027948339815191526044820152fd5b9091600f8116601081101562002109576f181899199a1a9b1b9c1cb0b131b232b360811b901a620020dd848662002005565b5360041c918015620020f457600019019062002066565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfe60c03461008c57601f61065538819003918201601f19168301916001600160401b0383118484101761009157808492604094855283398101031261008c5780516020909101516001600160a01b0381169081900361008c5760805260a0526040516105ad90816100a882396080518181816101dc0152610333015260a05181818161019f01526103ce0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816301ffc9a7146103f15750806308386eba146103b6578063150b7a02146103625780637b1039991461031e578063b61d27f614610157578063bc197c81146100ce5763f23a6e610361001257346100cb5760a03660031901126100cb57610091610445565b5061009a610460565b50608435906001600160401b0382116100cb57506020926100bd913691016104ca565b505163f23a6e6160e01b8152f35b80fd5b50346100cb5760a03660031901126100cb576100e8610445565b506100f1610460565b506001600160401b0390604435828111610153576101129036908601610511565b506064358281116101535761012a9036908601610511565b506084359182116100cb5750602092610145913691016104ca565b505163bc197c8160e01b8152f35b5080fd5b50913461031a57606036600319011261031a57610172610445565b926044356001600160401b0381116101535761019190369084016104ca565b8351630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000084820152336024820152602095906001600160a01b039087816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156103105785916102d6575b50156102c6578116156102b65781518392839290880190602435905af1913d156102ae573d9261023c846104af565b9361024986519586610476565b84523d838786013e5b156102a05750929082519382859384528251928382860152825b84811061028a57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161026c565b83516384aed38d60e01b8152fd5b606092610252565b84516384aed38d60e01b81528490fd5b855163075fd2b160e01b81528590fd5b90508781813d8311610309575b6102ed8183610476565b8101031261030557518015158103610305573861020d565b8480fd5b503d6102e3565b87513d87823e3d90fd5b8280fd5b509034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cb5760803660031901126100cb5761037c610445565b50610385610460565b50606435906001600160401b0382116100cb57506020926103a8913691016104ca565b5051630a85bd0160e11b8152f35b509034610153578160031936011261015357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050833461031a57602036600319011261031a573563ffffffff60e01b811680910361031a5760209250630271189760e51b8114908115610434575b5015158152f35b6301ffc9a760e01b1490508361042d565b600435906001600160a01b038216820361045b57565b600080fd5b602435906001600160a01b038216820361045b57565b601f909101601f19168101906001600160401b0382119082101761049957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161049957601f01601f191660200190565b81601f8201121561045b578035906104e1826104af565b926104ef6040519485610476565b8284526020838301011161045b57816000926020809301838601378301015290565b9080601f8301121561045b578135906001600160401b038211610499578160051b6040519360209361054585840187610476565b8552838086019282010192831161045b578301905b828210610568575050505090565b8135815290830190830161055a56fea264697066735822122049d6fdbbde00ff6b5b5ab67099b9254588ba1c4ef731a2ec4011243a216245c464736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d537472696e67733a20686578206c656e67746820696e73756666696369656e7454cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3a26469706673582212203c24b27da20b578c12f57a2eca00d5ac620b478c3908f42ffb0aa18b85b527bc64736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;5702:47;5237:15930;;;;;;;;5702:47;;5237:15930;5702:47;;;;;;:::i;:::-;5237:15930;5702:47;5237:15930;5702:47;;;:::i;:::-;5237:15930;;;;;;5702:47;;;;;5237:15930;;5702:47;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;17099:9;5237:15930;17110:16;;;;;;5237:15930;17099:9;5237:15930;;17249:11;-1:-1:-1;;;;;17249:11:2;5237:15930;17249:11;;:::i;:::-;5237:15930;;17249:11;;:::i;:::-;5237:15930;17099:9;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;7951:17;5237:15930;;;;;;;;7994:12;5237:15930;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;5837:7:40;5237:15930:2;;;;:::i;:::-;;;;;4955:6:40;5237:15930:2;;2809:4:40;5237:15930:2;;;;4955:22:40;5237:15930:2;2809:4:40;:::i;:::-;5837:7;:::i;:::-;5237:15930:2;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;;:::i;:::-;11429:34;;;;:::i;:::-;5237:15930;;;;;;11564:12;5237:15930;;;;;11627:12;;;;5237:15930;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;11705:14;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;11705:14;5237:15930;;;;;;;;;;;;;11687:17;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;11931:45;;;5237:15930;;;;;;;;;;;;;;;;19584:32;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;11705:14;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;4881:14:44;:40;;;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;;;;-1:-1:-1;;;;;5237:15930:2;;6968:20;;6964:47;;5091:20:44;6011:23:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;8020:23:40;8016:149;;5237:15930:2;;;;;;;;;;;;;;;5091:20:44;5237:15930:2;8016:149:40;5237:15930:2;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;965:10:48;8114:40:40;-1:-1:-1;;;;;;;;;;;5237:15930:2;8114:40:40;;8016:149;;;;6964:47:2;5237:15930;;-1:-1:-1;;;6997:14:2;;5237:15930;;6997:14;5237:15930;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;4881:40:44;5237:15930:2;6900:1;5237:15930;;;4899:22:44;4881:40;;5237:15930:2;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;;;12553:12;5237:15930;;;;;;;;;12553:33;;5237:15930;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12672:45;;;5237:15930;;;;;-1:-1:-1;5237:15930:2;;;;;19584:32;;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;4445:42:9;5237:15930:2;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;:::i;:::-;13110:39;;;;:::i;:::-;:83;;;;;5237:15930;;;;;;;;;;;13110:83;20575:28;;;;:::i;:::-;13110:83;;;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;5859:58;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;16216:9;5237:15930;16227:16;;;;;;5237:15930;16216:9;-1:-1:-1;;;;;16277:11:2;;;;:::i;:::-;5237:15930;;16377:20;;;16373:47;;16537:6;5237:15930;16537:6;;;:::i;:::-;5237:15930;16216:9;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;:::i;:::-;;;;5544:52;5237:15930;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;14658:53;5237:15930;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;;;14530:23;5237:15930;;;;;;;;;-1:-1:-1;;;;;;5237:15930:2;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;14658:53;5237:15930;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;;19584:32;;5237:15930;;;;;;;-1:-1:-1;;;;;;5237:15930:2;;;;;;;;19584:32;;;5237:15930;;;;;;;19584:32;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;19574:43;;5237:15930;;;;9173:12;5237:15930;;;;;;;9173:30;5237:15930;;;9173:30;5237:15930;;9169:78;;-1:-1:-1;;;;;;5237:15930:2;;9317:20;9313:47;;9641:33;;;;:::i;:::-;5237:15930;;;;;;;:::i;:::-;;;;;9472:213;;;5237:15930;;;;9472:213;;;5237:15930;;;;9472:213;;5237:15930;;;;-1:-1:-1;;;;;5237:15930:2;;;;9472:213;;5237:15930;;;;;;9472:213;;5237:15930;-1:-1:-1;5237:15930:2;;;9173:12;5237:15930;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9472:213;;5237:15930;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9472:213;;5237:15930;;;;;;-1:-1:-1;;;;;5237:15930:2;;;-1:-1:-1;;;;;;5237:15930:2;;;;;;;;9472:213;;5237:15930;9173:30;5237:15930;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;9739:17;5237:15930;;;;;;;;;;;9942:16;;;;;:40;;5237:15930;9938:92;;;5237:15930;10056:16;;;;;;5237:15930;9472:213;;10512:103;9472:213;;;;5237:15930;;9472:213;;10553:12;9472:213;5237:15930;9472:213;;10567:16;5237:15930;;;;;;;9472:213;;5237:15930;;;;;;;;;9472:213;;5237:15930;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;10512:103;;;5237:15930;;;;;;10045:9;-1:-1:-1;;;;;10106:11:2;;;;:::i;:::-;5237:15930;;10206:20;;;10202:47;;10365:6;5237:15930;10365:6;;;:::i;:::-;5237:15930;10045:9;;9938:92;5237:15930;;-1:-1:-1;;;10005:14:2;;5237:15930;;10005:14;9942:40;-1:-1:-1;;;;;5237:15930:2;9972:10;9962:20;;;-1:-1:-1;9942:40:2;;;5237:15930;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;19584:32;;;;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;9169:78;-1:-1:-1;;;9226:21:2;;5237:15930;;9226:21;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;13560:37;5237:15930;;:::i;:::-;;;13560:37;:::i;:::-;5237:15930;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;965:10:48;-1:-1:-1;;;;;5237:15930:2;;6484:23:40;5237:15930:2;;6588:7:40;5237:15930:2;;;6588:7:40;:::i;5237:15930:2:-;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;5410:7:40;5237:15930:2;;;;:::i;:::-;;;;;4955:6:40;5237:15930:2;;2809:4:40;5237:15930:2;;;;4955:22:40;5237:15930:2;2809:4:40;:::i;:::-;5410:7;:::i;5237:15930:2:-;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;:::i;:::-;965:10:48;5237:15930:2;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6011:23:2;5237:15930;;4260:23:40;4256:412;;-1:-1:-1;;;;;;5237:15930:2;;;20949:24;20945:51;;5237:15930;;21024:16;4445:42:9;21024:16:2;;:81;;;;;;;21043:21;;;21024:81;;6815:16:10;;;2570:369:14;;5237:15930:2;2570:369:14;;;;;;;;;;5237:15930:2;2570:369:14;;5237:15930:2;2570:369:14;5237:15930:2;2570:369:14;;6811:173:10;5237:15930:2;11581:1056:14;;;;;;;;;;;;;;;;;;;;5237:15930:2;;11581:1056:14;;;;;;;5237:15930:2;11581:1056:14;;5237:15930:2;11581:1056:14;5237:15930:2;11581:1056:14;;21024:81:2;5237:15930;;-1:-1:-1;;;21067:38:2;;21099:4;5237:15930;21067:38;;5237:15930;;;;;;;;21067:38;;;;;;;5237:15930;21067:38;;;21024:81;;;;;21067:38;;;;;;;;;;;;;;;;:::i;:::-;;;5237:15930;;;;;21067:38;;;;;;;;;5237:15930;;;;;;;;;4256:412:40;965:10:48;2563:52:49;965:10:48;2563:52:49;:::i;:::-;1884:437;5237:15930:2;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:49;;;5237:15930:2;;;;;;;;;2066:15:49;5237:15930:2;;;2066:15:49;5237:15930:2;2091:128:49;2124:5;;;;;;2236:10;;311:18;;5237:15930:2;;4351:274:40;5237:15930:2;;;;;4351:274:40;;;-1:-1:-1;;;4351:274:40;;;5237:15930:2;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;4351:274:40;;;;;;;;;:::i;:::-;5237:15930:2;;;311:18:49;;;;;;4299:358:40;;5237:15930:2;4299:358:40;;5237:15930:2;;;;;;:::i;:::-;4299:358:40;;;311:18:49;;5237:15930:2;;;311:18:49;;;;;;;5237:15930:2;311:18:49;;;;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:49;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;5237:15930:2;;2131:3:49;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:49;;5237:15930:2;;;;;;;;;;;;2162:21:49;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;15157:12;5237:15930;;;;;15301:23;5237:15930;;;;;;;;;;;;;;15414:10;;;:22;15410:54;;15708:46;15550:13;;5237:15930;15550:13;;5237:15930;;;;;;;;;;;;;;;;;;15301:23;5237:15930;;;;;;;;;;;;;;;;;;15708:46;5237:15930;15410:54;5237:15930;;-1:-1:-1;;;15445:19:2;;5237:15930;;15445:19;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;4955:6:40;5237:15930:2;;;;;;;4955:22:40;5237:15930:2;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;13967:39;5237:15930;;:::i;:::-;;;13967:39;:::i;5237:15930::-;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3158:58:40;;;:98;;;;5237:15930:2;;;;;;;;;;3158:98:40;-1:-1:-1;;;1189:51:50;;-1:-1:-1;3158:98:40;;;5237:15930:2;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;;7572:12;5237:15930;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;5237:15930:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19584:32;5237:15930;-1:-1:-1;;5237:15930:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;19584:32;5237:15930;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;19584:32;5237:15930;;-1:-1:-1;;5237:15930:2;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;5237:15930:2;;;;-1:-1:-1;5237:15930:2;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;17659:152::-;17740:41;17659:152;17770:10;17740:41;;:::i;:::-;17739:42;17735:69;;17659:152::o;5237:15930::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::o;18166:969::-;5237:15930;;;;18303:29;;5237:15930;18303:29;5237:15930;18303:29;;;5237:15930;;;;;;;;;;;;;;:::i;:::-;18303:29;19584:32;18303:29;19584:32;;18303:29;;;;;;;;:::i;:::-;5237:15930;;18380:37;;;;;18411:4;;18380:37;18411:4;18380:37;;;:::i;:::-;;;;;;;;;:::i;:::-;18469:25;5237:15930;18452:67;5237:15930;;;;18469:25;;;5237:15930;;:::i;:::-;18469:25;;;;;;;;;;;;;5237:15930;;18452:67;;;5237:15930;18452:67;;;5237:15930;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;18452:67;;;;;;;:::i;:::-;5237:15930;18545:22;;5237:15930;;18706:19;;5237:15930;;-1:-1:-1;;;;;;18654:72:2;;;5237:15930;;;18411:4;5237:15930;;;;;;;;;;;;;;;;;;;;18654:72;;;;;5237:15930;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;18644:83;;5237:15930;18843:49;5237:15930;18843:49;;;;;;;;;;;;;;;;;;;18411:4;;;18843:49;;:::i;:::-;;;;-1:-1:-1;18843:49:2;;;;-1:-1:-1;;5237:15930:2;;-1:-1:-1;;;18993:47:2;;5237:15930;;;18993:47;5237:15930;18993:47;;;;;;;;-1:-1:-1;18993:47:2;;;18839:290;18993:61;;;;18989:88;;19091:27;18839:290;18166:969::o;18989:88::-;5237:15930;-1:-1:-1;;;19063:14:2;;18993:47;;19063:14;18993:47;;;;;;;;;;;;;:::i;:::-;;;5237:15930;;;;;;18993:47;;;;5237:15930;;;18993:47;;;;;;5237:15930;;;-1:-1:-1;5237:15930:2;;;;;18839:290;5237:15930;;18839:290;-1:-1:-1;;;;18166:969:2:o;19963:156::-;-1:-1:-1;5237:15930:2;;;20072:12;5237:15930;;;;;20072:30;;5237:15930;-1:-1:-1;;;;;5237:15930:2;;;;;20072:40;;19963:156::o;20464:146::-;-1:-1:-1;5237:15930:2;3459:6:40;5237:15930:2;;;-1:-1:-1;5237:15930:2;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;20464:146;:::o;3789:103:40:-;-1:-1:-1;5237:15930:2;;;;;;3459:6:40;5237:15930:2;;;;;;;965:10:48;5237:15930:2;;;;;;;;;;4260:23:40;4256:412;;3789:103;;;;:::o;4256:412::-;2563:52:49;965:10:48;2563:52:49;:::i;:::-;4554:49:40;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:49;;;5237:15930:2;;;;;;;;;;;2066:15:49;5237:15930:2;;;2066:15:49;5237:15930:2;2091:128:49;2124:5;;;;;;2236:10;;;311:18;;5237:15930:2;;;;;4351:274:40;5237:15930:2;;;;4351:274:40;;;-1:-1:-1;;;4351:274:40;;;5237:15930:2;;;;;;;;;;;;;:::i;:::-;;4351:274:40;;;;;;;;;:::i;:::-;5237:15930:2;311:18:49;;;;;;4299:358:40;;2207:1:49;4299:358:40;;5237:15930:2;;;;;;:::i;311:18:49:-;;5237:15930:2;;;311:18:49;;;;;;;2207:1;311:18;;;;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:49;;2131:3;2171:11;;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;2207:1;5237:15930:2;2131:3:49;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:49;;;5237:15930:2;-1:-1:-1;;;5237:15930:2;;;2207:1:49;5237:15930:2;;;;2162:21:49;-1:-1:-1;;;5237:15930:2;;;2207:1:49;5237:15930:2;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;7938:233:40;;-1:-1:-1;5237:15930:2;;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;8020:23:40;8016:149;;7938:233;;;:::o;8016:149::-;5237:15930:2;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;965:10:48;8114:40:40;;;7938:233::o;8342:234::-;;-1:-1:-1;5237:15930:2;;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;8421:149:40;;8342:234;;;:::o;8421:149::-;5237:15930:2;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;8519:40:40;965:10:48;8519:40:40;;;8342:234::o;5237:15930:2:-;;;;;;;;;;;;;:::o;1884:437:49:-;5237:15930:2;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:49;;;5237:15930:2;;;;;;;;;2066:15:49;5237:15930:2;;;2066:15:49;5237:15930:2;2091:128:49;2124:5;;;;;;2236:10;;311:18;;1884:437;:::o;311:18::-;;5237:15930:2;;311:18:49;;;;;5237:15930:2;2207:1:49;311:18;;;5237:15930:2;311:18:49;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:49;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;2207:1;5237:15930:2;2131:3:49;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:49;;5237:15930:2;;;;;;;;;2207:1:49;5237:15930:2;;2162:21:49;5237:15930:2;;;;;;;;2207:1:49;5237:15930:2;","linkReferences":{}},"methodIdentifiers":{"ALLO_OWNER()":"cfda7e0a","DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","anchorToProfileId(address)":"4756487f","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address)":"c4d66de8","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","profileIdToPendingOwner(bytes32)":"50d005e0","profilesById(bytes32)":"ee888196","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ALLO_OWNER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"anchorToProfileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profileIdToPendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profilesById\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"This contract is used to create and manage profiles for the Allo protocol It is also used to deploy the anchor contract for each profile which acts as a proxy for the profile and is used to receive funds and execute transactions on behalf of the profile The Registry is also used to add and remove members from a profile and update the profile 'Metadata'\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\",\"params\":{\"_profileId\":\"The ID of the profile\"}},\"addMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_members\":\"The members to add\",\"_profileId\":\"The ID of the profile\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address\",\"params\":{\"_members\":\"The members of the profile (can be set only if msg.sender == _owner)\",\"_metadata\":\"The metadata of the profile\",\"_name\":\"The name of the profile\",\"_nonce\":\"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.\",\"_owner\":\"The owner of the profile\"},\"returns\":{\"_0\":\"The ID for the created profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Used when you have the 'anchor' address and want to retrieve the profile\",\"params\":{\"_anchor\":\"The anchor of the profile\"},\"returns\":{\"_0\":\"Profile details for the `_anchor`\"}},\"getProfileById(bytes32)\":{\"details\":\"Used when you have the 'profileId' and want to retrieve the profile\",\"params\":{\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"The Profile details for the `_profileId`\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\",\"params\":{\"_owner\":\"The owner of the contract\"}},\"isMemberOfProfile(bytes32,address)\":{\"params\":{\"_member\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is a member of the profile, otherwise 'false'\"}},\"isOwnerOfProfile(bytes32,address)\":{\"params\":{\"_owner\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner of the profile, otherwise 'false'\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"params\":{\"_account\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner or member of the profile, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be the Allo owner\",\"params\":{\"_recipient\":\"The address of the recipient\",\"_token\":\"The address of the token to transfer\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the pending owner of the profile.\",\"params\":{\"_members\":\"The members to remove\",\"_profileId\":\"The ID of the profile\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_metadata\":\"The new 'Metadata' of the profile\",\"_profileId\":\"The ID of the profile\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\",\"params\":{\"_name\":\"The new name of the profile\",\"_profileId\":\"The profileId of the profile\"},\"returns\":{\"anchor\":\"The new anchor\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\",\"params\":{\"_pendingOwner\":\"The new pending owner\",\"_profileId\":\"The ID of the profile\"}}},\"stateVariables\":{\"anchorToProfileId\":{\"details\":\"anchor -> Profile.id\"},\"profileIdToPendingOwner\":{\"details\":\"Profile.id -> pending owner\"},\"profilesById\":{\"details\":\"Profile.id -> Profile\"}},\"title\":\"Registry Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"ALLO_OWNER()\":{\"notice\":\"Allo Owner Role for fund recovery\"},\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"acceptProfileOwnership(bytes32)\":{\"notice\":\"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\"},\"addMembers(bytes32,address[])\":{\"notice\":\"Adds members to the profile\"},\"anchorToProfileId(address)\":{\"notice\":\"This maps the anchor address to the profile ID\"},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"notice\":\"Creates a new profile\"},\"getProfileByAnchor(address)\":{\"notice\":\"Retrieve profile by anchor\"},\"getProfileById(bytes32)\":{\"notice\":\"Retrieve profile by profileId\"},\"initialize(address)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is a member of the profile\"},\"isOwnerOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is an owner of the profile\"},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the address is an owner or member of the profile\"},\"profileIdToPendingOwner(bytes32)\":{\"notice\":\"This maps the profile ID to the pending owner\"},\"profilesById(bytes32)\":{\"notice\":\"This maps the profile ID to the profile details\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfers any fund balance in Allo to the recipient\"},\"removeMembers(bytes32,address[])\":{\"notice\":\"Removes members from the profile\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"notice\":\"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\"},\"updateProfileName(bytes32,string)\":{\"notice\":\"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event.\"},\"updateProfilePendingOwner(bytes32,address)\":{\"notice\":\"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\"}},\"notice\":\"Registry contract for creating and managing profiles\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Registry.sol\":\"Registry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ALLO_OWNER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"anchorToProfileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profileIdToPendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profilesById","outputs":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.","params":{"_profileId":"The ID of the profile"}},"addMembers(bytes32,address[])":{"details":"'msg.sender' must be the owner of the profile.","params":{"_members":"The members to add","_profileId":"The ID of the profile"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address","params":{"_members":"The members of the profile (can be set only if msg.sender == _owner)","_metadata":"The metadata of the profile","_name":"The name of the profile","_nonce":"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.","_owner":"The owner of the profile"},"returns":{"_0":"The ID for the created profile"}},"getProfileByAnchor(address)":{"details":"Used when you have the 'anchor' address and want to retrieve the profile","params":{"_anchor":"The anchor of the profile"},"returns":{"_0":"Profile details for the `_anchor`"}},"getProfileById(bytes32)":{"details":"Used when you have the 'profileId' and want to retrieve the profile","params":{"_profileId":"The ID of the profile"},"returns":{"_0":"The Profile details for the `_profileId`"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address)":{"details":"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'","params":{"_owner":"The owner of the contract"}},"isMemberOfProfile(bytes32,address)":{"params":{"_member":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is a member of the profile, otherwise 'false'"}},"isOwnerOfProfile(bytes32,address)":{"params":{"_owner":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner of the profile, otherwise 'false'"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"params":{"_account":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner or member of the profile, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be the Allo owner","params":{"_recipient":"The address of the recipient","_token":"The address of the token to transfer"}},"removeMembers(bytes32,address[])":{"details":"'msg.sender' must be the pending owner of the profile.","params":{"_members":"The members to remove","_profileId":"The ID of the profile"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"'msg.sender' must be the owner of the profile.","params":{"_metadata":"The new 'Metadata' of the profile","_profileId":"The ID of the profile"}},"updateProfileName(bytes32,string)":{"details":"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.","params":{"_name":"The new name of the profile","_profileId":"The profileId of the profile"},"returns":{"anchor":"The new anchor"}},"updateProfilePendingOwner(bytes32,address)":{"details":"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.","params":{"_pendingOwner":"The new pending owner","_profileId":"The ID of the profile"}}},"version":1},"userdoc":{"kind":"user","methods":{"ALLO_OWNER()":{"notice":"Allo Owner Role for fund recovery"},"NATIVE()":{"notice":"Address of the native token"},"acceptProfileOwnership(bytes32)":{"notice":"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event."},"addMembers(bytes32,address[])":{"notice":"Adds members to the profile"},"anchorToProfileId(address)":{"notice":"This maps the anchor address to the profile ID"},"createProfile(uint256,string,(uint256,string),address,address[])":{"notice":"Creates a new profile"},"getProfileByAnchor(address)":{"notice":"Retrieve profile by anchor"},"getProfileById(bytes32)":{"notice":"Retrieve profile by profileId"},"initialize(address)":{"notice":"Initializes the contract after an upgrade"},"isMemberOfProfile(bytes32,address)":{"notice":"Checks if the given address is a member of the profile"},"isOwnerOfProfile(bytes32,address)":{"notice":"Checks if the given address is an owner of the profile"},"isOwnerOrMemberOfProfile(bytes32,address)":{"notice":"Checks if the address is an owner or member of the profile"},"profileIdToPendingOwner(bytes32)":{"notice":"This maps the profile ID to the pending owner"},"profilesById(bytes32)":{"notice":"This maps the profile ID to the profile details"},"recoverFunds(address,address)":{"notice":"Transfers any fund balance in Allo to the recipient"},"removeMembers(bytes32,address[])":{"notice":"Removes members from the profile"},"updateProfileMetadata(bytes32,(uint256,string))":{"notice":"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event."},"updateProfileName(bytes32,string)":{"notice":"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event."},"updateProfilePendingOwner(bytes32,address)":{"notice":"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Registry.sol":"Registry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":53266,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":51686,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)"},{"astId":51993,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":1525,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchorToProfileId","offset":0,"slot":"151","type":"t_mapping(t_address,t_bytes32)"},{"astId":1531,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profilesById","offset":0,"slot":"152","type":"t_mapping(t_bytes32,t_struct(Profile)2629_storage)"},{"astId":1536,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profileIdToPendingOwner","offset":0,"slot":"153","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_bytes32)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bytes32)","numberOfBytes":"32","value":"t_bytes32"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_bytes32,t_struct(Profile)2629_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct IRegistry.Profile)","numberOfBytes":"32","value":"t_struct(Profile)2629_storage"},"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)51681_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Profile)2629_storage":{"encoding":"inplace","label":"struct IRegistry.Profile","numberOfBytes":"224","members":[{"astId":2617,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"id","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2619,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"nonce","offset":0,"slot":"1","type":"t_uint256"},{"astId":2621,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"name","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2624,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2626,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"owner","offset":0,"slot":"5","type":"t_address"},{"astId":2628,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchor","offset":0,"slot":"6","type":"t_address"}]},"t_struct(RoleData)51681_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":51678,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":51680,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","id":2296,"exportedSymbols":{"AccessControlUpgradeable":[51994],"AddressUpgradeable":[52942],"Anchor":[1492],"ContextUpgradeable":[52993],"ERC165Upgradeable":[53267],"ERC20":[4491],"Errors":[3089],"IAccessControlUpgradeable":[52067],"IERC165Upgradeable":[53279],"IRegistry":[2802],"Initializable":[52449],"MathUpgradeable":[54145],"Metadata":[3098],"Native":[3106],"Registry":[2295],"SafeTransferLib":[4649],"SignedMathUpgradeable":[54250],"StringsUpgradeable":[53222],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:21126:2","nodes":[{"id":1494,"nodeType":"PragmaDirective","src":"42:23:2","nodes":[],"literals":["solidity","0.8",".19"]},{"id":1495,"nodeType":"ImportDirective","src":"89:90:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":51995,"symbolAliases":[],"unitAlias":""},{"id":1496,"nodeType":"ImportDirective","src":"180:84:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":52450,"symbolAliases":[],"unitAlias":""},{"id":1498,"nodeType":"ImportDirective","src":"265:50:2","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":1497,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"273:5:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1499,"nodeType":"ImportDirective","src":"330:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":2803,"symbolAliases":[],"unitAlias":""},{"id":1501,"nodeType":"ImportDirective","src":"389:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Anchor.sol","file":"./Anchor.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":1493,"symbolAliases":[{"foreign":{"id":1500,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"397:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1503,"nodeType":"ImportDirective","src":"426:46:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":1502,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"434:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1505,"nodeType":"ImportDirective","src":"473:50:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"./libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":1504,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"481:8:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1506,"nodeType":"ImportDirective","src":"524:32:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":1507,"nodeType":"ImportDirective","src":"557:34:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3318,"symbolAliases":[],"unitAlias":""},{"id":2295,"nodeType":"ContractDefinition","src":"5237:15930:2","nodes":[{"id":1525,"nodeType":"VariableDeclaration","src":"5544:52:2","nodes":[],"constant":false,"documentation":{"id":1521,"nodeType":"StructuredDocumentation","src":"5447:92:2","text":"@notice This maps the anchor address to the profile ID\n @dev anchor -> Profile.id"},"functionSelector":"4756487f","mutability":"mutable","name":"anchorToProfileId","nameLocation":"5579:17:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"typeName":{"id":1524,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"5552:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5544:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5563:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":1531,"nodeType":"VariableDeclaration","src":"5702:47:2","nodes":[],"constant":false,"documentation":{"id":1526,"nodeType":"StructuredDocumentation","src":"5603:94:2","text":"@notice This maps the profile ID to the profile details\n @dev Profile.id -> Profile"},"functionSelector":"ee888196","mutability":"mutable","name":"profilesById","nameLocation":"5737:12:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"typeName":{"id":1530,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5710:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5702:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1529,"nodeType":"UserDefinedTypeName","pathNode":{"id":1528,"name":"Profile","nameLocations":["5721:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"5721:7:2"},"referencedDeclaration":2629,"src":"5721:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}}},"visibility":"public"},{"id":1536,"nodeType":"VariableDeclaration","src":"5859:58:2","nodes":[],"constant":false,"documentation":{"id":1532,"nodeType":"StructuredDocumentation","src":"5756:98:2","text":"@notice This maps the profile ID to the pending owner\n @dev Profile.id -> pending owner"},"functionSelector":"50d005e0","mutability":"mutable","name":"profileIdToPendingOwner","nameLocation":"5894:23:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":1535,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5859:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1534,"name":"address","nodeType":"ElementaryTypeName","src":"5878:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":1542,"nodeType":"VariableDeclaration","src":"5974:60:2","nodes":[],"constant":true,"documentation":{"id":1537,"nodeType":"StructuredDocumentation","src":"5924:45:2","text":"@notice Allo Owner Role for fund recovery"},"functionSelector":"cfda7e0a","mutability":"constant","name":"ALLO_OWNER","nameLocation":"5998:10:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"414c4c4f5f4f574e4552","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6021:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""},"value":"ALLO_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""}],"id":1539,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6011:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6011:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":1553,"nodeType":"ModifierDefinition","src":"6360:108:2","nodes":[],"body":{"id":1552,"nodeType":"Block","src":"6406:62:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1548,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1545,"src":"6439:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1547,"name":"_checkOnlyProfileOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2071,"src":"6416:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1550,"nodeType":"ExpressionStatement","src":"6416:34:2"},{"id":1551,"nodeType":"PlaceholderStatement","src":"6460:1:2"}]},"documentation":{"id":1543,"nodeType":"StructuredDocumentation","src":"6177:178:2","text":"@notice Checks if the caller is the profile owner\n @dev Reverts `UNAUTHORIZED()` if the caller is not the profile owner\n @param _profileId The ID of the profile"},"name":"onlyProfileOwner","nameLocation":"6369:16:2","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"mutability":"mutable","name":"_profileId","nameLocation":"6394:10:2","nodeType":"VariableDeclaration","scope":1553,"src":"6386:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6386:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6385:20:2"},"virtual":false,"visibility":"internal"},{"id":1578,"nodeType":"FunctionDefinition","src":"6841:257:2","nodes":[],"body":{"id":1577,"nodeType":"Block","src":"6903:195:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1562,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"6968:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6986:1:2","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":1564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6978:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1563,"name":"address","nodeType":"ElementaryTypeName","src":"6978:7:2","typeDescriptions":{}}},"id":1566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6978:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6968:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1571,"nodeType":"IfStatement","src":"6964:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1568,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"6997:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6997:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1570,"nodeType":"RevertStatement","src":"6990:21:2"}},{"expression":{"arguments":[{"id":1573,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"7072:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1574,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"7084:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1572,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"7061:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1576,"nodeType":"ExpressionStatement","src":"7061:30:2"}]},"documentation":{"id":1554,"nodeType":"StructuredDocumentation","src":"6608:228:2","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\n @param _owner The owner of the contract"},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":1559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6900:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":1560,"kind":"modifierInvocation","modifierName":{"id":1558,"name":"reinitializer","nameLocations":["6886:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":52384,"src":"6886:13:2"},"nodeType":"ModifierInvocation","src":"6886:16:2"}],"name":"initialize","nameLocation":"6850:10:2","parameters":{"id":1557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1556,"mutability":"mutable","name":"_owner","nameLocation":"6869:6:2","nodeType":"VariableDeclaration","scope":1578,"src":"6861:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1555,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6860:16:2"},"returnParameters":{"id":1561,"nodeType":"ParameterList","parameters":[],"src":"6903:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1592,"nodeType":"FunctionDefinition","src":"7472:131:2","nodes":[],"body":{"id":1591,"nodeType":"Block","src":"7555:48:2","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1587,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7572:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1589,"indexExpression":{"id":1588,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1581,"src":"7585:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7572:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1586,"id":1590,"nodeType":"Return","src":"7565:31:2"}]},"baseFunctions":[2685],"documentation":{"id":1579,"nodeType":"StructuredDocumentation","src":"7240:227:2","text":"@notice Retrieve profile by profileId\n @dev Used when you have the 'profileId' and want to retrieve the profile\n @param _profileId The ID of the profile\n @return The Profile details for the `_profileId`"},"functionSelector":"0114cf0a","implemented":true,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"7481:14:2","parameters":{"id":1582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1581,"mutability":"mutable","name":"_profileId","nameLocation":"7504:10:2","nodeType":"VariableDeclaration","scope":1592,"src":"7496:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7495:20:2"},"returnParameters":{"id":1586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1592,"src":"7539:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1584,"nodeType":"UserDefinedTypeName","pathNode":{"id":1583,"name":"Profile","nameLocations":["7539:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7539:7:2"},"referencedDeclaration":2629,"src":"7539:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7538:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1612,"nodeType":"FunctionDefinition","src":"7837:187:2","nodes":[],"body":{"id":1611,"nodeType":"Block","src":"7921:103:2","nodes":[],"statements":[{"assignments":[1602],"declarations":[{"constant":false,"id":1602,"mutability":"mutable","name":"profileId","nameLocation":"7939:9:2","nodeType":"VariableDeclaration","scope":1611,"src":"7931:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7931:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1606,"initialValue":{"baseExpression":{"id":1603,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"7951:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1605,"indexExpression":{"id":1604,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7969:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7951:26:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7931:46:2"},{"expression":{"baseExpression":{"id":1607,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7994:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1609,"indexExpression":{"id":1608,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1602,"src":"8007:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7994:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1600,"id":1610,"nodeType":"Return","src":"7987:30:2"}]},"baseFunctions":[2694],"documentation":{"id":1593,"nodeType":"StructuredDocumentation","src":"7609:223:2","text":"@notice Retrieve profile by anchor\n @dev Used when you have the 'anchor' address and want to retrieve the profile\n @param _anchor The anchor of the profile\n @return Profile details for the `_anchor`"},"functionSelector":"dd93da43","implemented":true,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"7846:18:2","parameters":{"id":1596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1595,"mutability":"mutable","name":"_anchor","nameLocation":"7873:7:2","nodeType":"VariableDeclaration","scope":1612,"src":"7865:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1594,"name":"address","nodeType":"ElementaryTypeName","src":"7865:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7864:17:2"},"returnParameters":{"id":1600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1612,"src":"7905:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1598,"nodeType":"UserDefinedTypeName","pathNode":{"id":1597,"name":"Profile","nameLocations":["7905:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7905:7:2"},"referencedDeclaration":2629,"src":"7905:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7904:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1756,"nodeType":"FunctionDefinition","src":"8781:1901:2","nodes":[],"body":{"id":1755,"nodeType":"Block","src":"8984:1698:2","nodes":[],"statements":[{"assignments":[1631],"declarations":[{"constant":false,"id":1631,"mutability":"mutable","name":"profileId","nameLocation":"9068:9:2","nodeType":"VariableDeclaration","scope":1755,"src":"9060:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9060:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1636,"initialValue":{"arguments":[{"id":1633,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9099:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1634,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9107:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1632,"name":"_generateProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"9080:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9060:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1637,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9173:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1639,"indexExpression":{"id":1638,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9186:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9173:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9197:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9173:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9215:1:2","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":1642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9207:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1641,"name":"address","nodeType":"ElementaryTypeName","src":"9207:7:2","typeDescriptions":{}}},"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9173:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1649,"nodeType":"IfStatement","src":"9169:78:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1646,"name":"NONCE_NOT_AVAILABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3026,"src":"9226:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9226:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1648,"nodeType":"RevertStatement","src":"9219:28:2"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1650,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9317:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9335:1:2","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":1652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9327:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1651,"name":"address","nodeType":"ElementaryTypeName","src":"9327:7:2","typeDescriptions":{}}},"id":1654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9327:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9317:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1659,"nodeType":"IfStatement","src":"9313:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1656,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"9346:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1658,"nodeType":"RevertStatement","src":"9339:21:2"}},{"assignments":[1662],"declarations":[{"constant":false,"id":1662,"mutability":"mutable","name":"profile","nameLocation":"9462:7:2","nodeType":"VariableDeclaration","scope":1755,"src":"9447:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1661,"nodeType":"UserDefinedTypeName","pathNode":{"id":1660,"name":"Profile","nameLocations":["9447:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"9447:7:2"},"referencedDeclaration":2629,"src":"9447:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1674,"initialValue":{"arguments":[{"id":1664,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9498:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1665,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9528:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1666,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9554:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1667,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"9583:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":1668,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1670,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9657:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1671,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9668:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1669,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"9641:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1663,"name":"Profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2629,"src":"9472:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Profile_$2629_storage_ptr_$","typeString":"type(struct IRegistry.Profile storage pointer)"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9494:2:2","9521:5:2","9548:4:2","9573:8:2","9606:5:2","9633:6:2"],"names":["id","nonce","name","metadata","owner","anchor"],"nodeType":"FunctionCall","src":"9472:213:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"nodeType":"VariableDeclarationStatement","src":"9447:238:2"},{"expression":{"id":1679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1675,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9696:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1677,"indexExpression":{"id":1676,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9709:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9696:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1678,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9722:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"src":"9696:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1680,"nodeType":"ExpressionStatement","src":"9696:33:2"},{"expression":{"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1681,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9739:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1684,"indexExpression":{"expression":{"id":1682,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9757:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9765:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9757:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9739:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1685,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9775:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9739:45:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1687,"nodeType":"ExpressionStatement","src":"9739:45:2"},{"assignments":[1689],"declarations":[{"constant":false,"id":1689,"mutability":"mutable","name":"memberLength","nameLocation":"9851:12:2","nodeType":"VariableDeclaration","scope":1755,"src":"9843:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1688,"name":"uint256","nodeType":"ElementaryTypeName","src":"9843:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1692,"initialValue":{"expression":{"id":1690,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"9866:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9875:6:2","memberName":"length","nodeType":"MemberAccess","src":"9866:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9843:38:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1693,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"9942:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9962:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9972:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9976:6:2","memberName":"sender","nodeType":"MemberAccess","src":"9972:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9962:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1705,"nodeType":"IfStatement","src":"9938:92:2","trueBody":{"id":1704,"nodeType":"Block","src":"9984:46:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1701,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"10005:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10005:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1703,"nodeType":"RevertStatement","src":"9998:21:2"}]}},{"body":{"id":1737,"nodeType":"Block","src":"10075:367:2","statements":[{"assignments":[1713],"declarations":[{"constant":false,"id":1713,"mutability":"mutable","name":"member","nameLocation":"10097:6:2","nodeType":"VariableDeclaration","scope":1737,"src":"10089:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1712,"name":"address","nodeType":"ElementaryTypeName","src":"10089:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1717,"initialValue":{"baseExpression":{"id":1714,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"10106:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1716,"indexExpression":{"id":1715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10115:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10106:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10089:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1718,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10206:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10224:1:2","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":1720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10216:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1719,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:2","typeDescriptions":{}}},"id":1722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10216:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10206:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1727,"nodeType":"IfStatement","src":"10202:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1724,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10235:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10235:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1726,"nodeType":"RevertStatement","src":"10228:21:2"}},{"expression":{"arguments":[{"id":1729,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10354:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1730,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10365:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1728,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"10343:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10343:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"10343:29:2"},{"id":1736,"nodeType":"UncheckedBlock","src":"10386:46:2","statements":[{"expression":{"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10414:3:2","subExpression":{"id":1733,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10416:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ExpressionStatement","src":"10414:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10056:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1710,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"10060:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10056:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1738,"initializationExpression":{"assignments":[1707],"declarations":[{"constant":false,"id":1707,"mutability":"mutable","name":"i","nameLocation":"10053:1:2","nodeType":"VariableDeclaration","scope":1738,"src":"10045:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1706,"name":"uint256","nodeType":"ElementaryTypeName","src":"10045:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1708,"nodeType":"VariableDeclarationStatement","src":"10045:9:2"},"nodeType":"ForStatement","src":"10040:402:2"},{"eventCall":{"arguments":[{"id":1740,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10527:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1741,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10546:5:2","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"10538:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1743,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10553:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10561:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"10553:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1745,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10575:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"10567:16:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"expression":{"id":1747,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10585:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10593:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"10585:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1749,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10600:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10608:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"10600:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1739,"name":"ProfileCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"10512:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,struct Metadata memory,address,address)"}},"id":1751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1752,"nodeType":"EmitStatement","src":"10507:108:2"},{"expression":{"id":1753,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10666:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1629,"id":1754,"nodeType":"Return","src":"10659:16:2"}]},"baseFunctions":[2742],"documentation":{"id":1613,"nodeType":"StructuredDocumentation","src":"8030:746:2","text":"@notice Creates a new profile\n @dev This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event\n Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile\n Note: The 'name' and 'profileId' are used to generate the 'anchor' address\n @param _nonce Nonce used to generate profileId. Can be any integer, but should be unique\n for each profile.\n @param _name The name of the profile\n @param _metadata The metadata of the profile\n @param _owner The owner of the profile\n @param _members The members of the profile (can be set only if msg.sender == _owner)\n @return The ID for the created profile"},"functionSelector":"3a92f65f","implemented":true,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"8790:13:2","parameters":{"id":1626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"_nonce","nameLocation":"8821:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8813:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1614,"name":"uint256","nodeType":"ElementaryTypeName","src":"8813:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"_name","nameLocation":"8851:5:2","nodeType":"VariableDeclaration","scope":1756,"src":"8837:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1616,"name":"string","nodeType":"ElementaryTypeName","src":"8837:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1620,"mutability":"mutable","name":"_metadata","nameLocation":"8882:9:2","nodeType":"VariableDeclaration","scope":1756,"src":"8866:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1619,"nodeType":"UserDefinedTypeName","pathNode":{"id":1618,"name":"Metadata","nameLocations":["8866:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8866:8:2"},"referencedDeclaration":3098,"src":"8866:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"_owner","nameLocation":"8909:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8901:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1621,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1625,"mutability":"mutable","name":"_members","nameLocation":"8942:8:2","nodeType":"VariableDeclaration","scope":1756,"src":"8925:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1623,"name":"address","nodeType":"ElementaryTypeName","src":"8925:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1624,"nodeType":"ArrayTypeName","src":"8925:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8803:153:2"},"returnParameters":{"id":1629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1756,"src":"8975:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8975:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8974:9:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1820,"nodeType":"FunctionDefinition","src":"11210:830:2","nodes":[],"body":{"id":1819,"nodeType":"Block","src":"11369:671:2","nodes":[],"statements":[{"expression":{"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1769,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11420:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1771,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11445:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1772,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11457:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1770,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"11429:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11429:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11420:43:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1775,"nodeType":"ExpressionStatement","src":"11420:43:2"},{"assignments":[1778],"declarations":[{"constant":false,"id":1778,"mutability":"mutable","name":"profile","nameLocation":"11554:7:2","nodeType":"VariableDeclaration","scope":1819,"src":"11538:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1777,"nodeType":"UserDefinedTypeName","pathNode":{"id":1776,"name":"Profile","nameLocations":["11538:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"11538:7:2"},"referencedDeclaration":2629,"src":"11538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1782,"initialValue":{"baseExpression":{"id":1779,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"11564:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1781,"indexExpression":{"id":1780,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11577:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11564:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11538:50:2"},{"expression":{"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1783,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11627:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11635:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"11627:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1786,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11642:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11627:20:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1788,"nodeType":"ExpressionStatement","src":"11627:20:2"},{"expression":{"id":1797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1789,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11687:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1792,"indexExpression":{"expression":{"id":1790,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11705:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11713:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11705:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11687:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":1795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11731:1:2","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":1794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11723:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11723:7:2","typeDescriptions":{}}},"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11723:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11687:46:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1798,"nodeType":"ExpressionStatement","src":"11687:46:2"},{"expression":{"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1799,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11774:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11782:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11774:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1802,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11791:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11774:23:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1804,"nodeType":"ExpressionStatement","src":"11774:23:2"},{"expression":{"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1805,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11807:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1807,"indexExpression":{"id":1806,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11825:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11807:25:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1808,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11835:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11807:38:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1810,"nodeType":"ExpressionStatement","src":"11807:38:2"},{"eventCall":{"arguments":[{"id":1812,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11950:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1813,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11962:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1814,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11969:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1811,"name":"ProfileNameUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"11931:18:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,string memory,address)"}},"id":1815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1816,"nodeType":"EmitStatement","src":"11926:50:2"},{"expression":{"id":1817,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"12027:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1768,"id":1818,"nodeType":"Return","src":"12020:13:2"}]},"baseFunctions":[2752],"documentation":{"id":1757,"nodeType":"StructuredDocumentation","src":"10688:517:2","text":"@notice Updates the name of the profile and generates new anchor.\n Emits a 'ProfileNameUpdated()' event.\n @dev Use caution when updating your profile name as it will generate a new anchor address. You can always update the name\n back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\n @param _profileId The profileId of the profile\n @param _name The new name of the profile\n @return anchor The new anchor"},"functionSelector":"cf189ff2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1764,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11320:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1765,"kind":"modifierInvocation","modifierName":{"id":1763,"name":"onlyProfileOwner","nameLocations":["11303:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"11303:16:2"},"nodeType":"ModifierInvocation","src":"11303:28:2"}],"name":"updateProfileName","nameLocation":"11219:17:2","parameters":{"id":1762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1759,"mutability":"mutable","name":"_profileId","nameLocation":"11245:10:2","nodeType":"VariableDeclaration","scope":1820,"src":"11237:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11237:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1761,"mutability":"mutable","name":"_name","nameLocation":"11271:5:2","nodeType":"VariableDeclaration","scope":1820,"src":"11257:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1760,"name":"string","nodeType":"ElementaryTypeName","src":"11257:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11236:41:2"},"returnParameters":{"id":1768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1767,"mutability":"mutable","name":"anchor","nameLocation":"11357:6:2","nodeType":"VariableDeclaration","scope":1820,"src":"11349:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1766,"name":"address","nodeType":"ElementaryTypeName","src":"11349:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11348:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1845,"nodeType":"FunctionDefinition","src":"12309:415:2","nodes":[],"body":{"id":1844,"nodeType":"Block","src":"12445:279:2","nodes":[],"statements":[{"expression":{"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1832,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"12553:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1834,"indexExpression":{"id":1833,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12566:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12553:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12578:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"12553:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1836,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12589:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12553:45:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":1838,"nodeType":"ExpressionStatement","src":"12553:45:2"},{"eventCall":{"arguments":[{"id":1840,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12695:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1841,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12707:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":1839,"name":"ProfileMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"12672:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,struct Metadata memory)"}},"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12672:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1843,"nodeType":"EmitStatement","src":"12667:50:2"}]},"baseFunctions":[2761],"documentation":{"id":1821,"nodeType":"StructuredDocumentation","src":"12046:258:2","text":"@notice Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _metadata The new 'Metadata' of the profile"},"functionSelector":"ac402839","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1829,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12429:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1830,"kind":"modifierInvocation","modifierName":{"id":1828,"name":"onlyProfileOwner","nameLocations":["12412:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"12412:16:2"},"nodeType":"ModifierInvocation","src":"12412:28:2"}],"name":"updateProfileMetadata","nameLocation":"12318:21:2","parameters":{"id":1827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1823,"mutability":"mutable","name":"_profileId","nameLocation":"12348:10:2","nodeType":"VariableDeclaration","scope":1845,"src":"12340:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12340:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1826,"mutability":"mutable","name":"_metadata","nameLocation":"12376:9:2","nodeType":"VariableDeclaration","scope":1845,"src":"12360:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1825,"nodeType":"UserDefinedTypeName","pathNode":{"id":1824,"name":"Metadata","nameLocations":["12360:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12360:8:2"},"referencedDeclaration":3098,"src":"12360:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12339:47:2"},"returnParameters":{"id":1831,"nodeType":"ParameterList","parameters":[],"src":"12445:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1866,"nodeType":"FunctionDefinition","src":"12992:208:2","nodes":[],"body":{"id":1865,"nodeType":"Block","src":"13093:107:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1856,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13128:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1857,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13140:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1855,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13110:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13110:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1860,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13172:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1861,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13184:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1859,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13153:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13153:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13110:83:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1864,"nodeType":"Return","src":"13103:90:2"}]},"baseFunctions":[2704],"documentation":{"id":1846,"nodeType":"StructuredDocumentation","src":"12730:257:2","text":"@notice Checks if the address is an owner or member of the profile\n @param _profileId The ID of the profile\n @param _account The address to check\n @return 'true' if the address is an owner or member of the profile, otherwise 'false'"},"functionSelector":"5e8a7915","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"13001:24:2","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1848,"mutability":"mutable","name":"_profileId","nameLocation":"13034:10:2","nodeType":"VariableDeclaration","scope":1866,"src":"13026:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13026:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"_account","nameLocation":"13054:8:2","nodeType":"VariableDeclaration","scope":1866,"src":"13046:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"13046:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13025:38:2"},"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1866,"src":"13087:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13087:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13086:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1882,"nodeType":"FunctionDefinition","src":"13452:152:2","nodes":[],"body":{"id":1881,"nodeType":"Block","src":"13543:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1877,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"13578:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1878,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"13590:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1876,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13560:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13560:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1875,"id":1880,"nodeType":"Return","src":"13553:44:2"}]},"baseFunctions":[2714],"documentation":{"id":1867,"nodeType":"StructuredDocumentation","src":"13206:241:2","text":"@notice Checks if the given address is an owner of the profile\n @param _profileId The ID of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"functionSelector":"39b86b8c","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"13461:16:2","parameters":{"id":1872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"_profileId","nameLocation":"13486:10:2","nodeType":"VariableDeclaration","scope":1882,"src":"13478:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13478:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"_owner","nameLocation":"13506:6:2","nodeType":"VariableDeclaration","scope":1882,"src":"13498:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1870,"name":"address","nodeType":"ElementaryTypeName","src":"13498:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13477:36:2"},"returnParameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1882,"src":"13537:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1873,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13536:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1898,"nodeType":"FunctionDefinition","src":"13857:156:2","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"13950:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"13986:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1894,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"13998:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1892,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13967:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13967:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1891,"id":1896,"nodeType":"Return","src":"13960:46:2"}]},"baseFunctions":[2724],"documentation":{"id":1883,"nodeType":"StructuredDocumentation","src":"13610:242:2","text":"@notice Checks if the given address is a member of the profile\n @param _profileId The ID of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"functionSelector":"0ec1fbac","implemented":true,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"13866:17:2","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1885,"mutability":"mutable","name":"_profileId","nameLocation":"13892:10:2","nodeType":"VariableDeclaration","scope":1898,"src":"13884:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13884:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"_member","nameLocation":"13912:7:2","nodeType":"VariableDeclaration","scope":1898,"src":"13904:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1886,"name":"address","nodeType":"ElementaryTypeName","src":"13904:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13883:37:2"},"returnParameters":{"id":1891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1898,"src":"13944:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1889,"name":"bool","nodeType":"ElementaryTypeName","src":"13944:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13943:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1921,"nodeType":"FunctionDefinition","src":"14336:382:2","nodes":[],"body":{"id":1920,"nodeType":"Block","src":"14472:246:2","nodes":[],"statements":[{"expression":{"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1909,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"14530:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1911,"indexExpression":{"id":1910,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14554:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14530:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1912,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14568:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14530:51:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1914,"nodeType":"ExpressionStatement","src":"14530:51:2"},{"eventCall":{"arguments":[{"id":1916,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14685:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1917,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14697:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1915,"name":"ProfilePendingOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2676,"src":"14658:26:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1919,"nodeType":"EmitStatement","src":"14653:58:2"}]},"baseFunctions":[2769],"documentation":{"id":1899,"nodeType":"StructuredDocumentation","src":"14019:312:2","text":"@notice Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\n @dev 'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\n @param _profileId The ID of the profile\n @param _pendingOwner The new pending owner"},"functionSelector":"3b66dacd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1906,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14456:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1907,"kind":"modifierInvocation","modifierName":{"id":1905,"name":"onlyProfileOwner","nameLocations":["14439:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"14439:16:2"},"nodeType":"ModifierInvocation","src":"14439:28:2"}],"name":"updateProfilePendingOwner","nameLocation":"14345:25:2","parameters":{"id":1904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"_profileId","nameLocation":"14379:10:2","nodeType":"VariableDeclaration","scope":1921,"src":"14371:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14371:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1903,"mutability":"mutable","name":"_pendingOwner","nameLocation":"14399:13:2","nodeType":"VariableDeclaration","scope":1921,"src":"14391:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1902,"name":"address","nodeType":"ElementaryTypeName","src":"14391:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14370:43:2"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"14472:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1966,"nodeType":"FunctionDefinition","src":"15016:745:2","nodes":[],"body":{"id":1965,"nodeType":"Block","src":"15077:684:2","nodes":[],"statements":[{"assignments":[1929],"declarations":[{"constant":false,"id":1929,"mutability":"mutable","name":"profile","nameLocation":"15147:7:2","nodeType":"VariableDeclaration","scope":1965,"src":"15131:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1928,"nodeType":"UserDefinedTypeName","pathNode":{"id":1927,"name":"Profile","nameLocations":["15131:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"15131:7:2"},"referencedDeclaration":2629,"src":"15131:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1933,"initialValue":{"baseExpression":{"id":1930,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"15157:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1932,"indexExpression":{"id":1931,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15170:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15157:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15131:50:2"},{"assignments":[1935],"declarations":[{"constant":false,"id":1935,"mutability":"mutable","name":"newOwner","nameLocation":"15290:8:2","nodeType":"VariableDeclaration","scope":1965,"src":"15282:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1934,"name":"address","nodeType":"ElementaryTypeName","src":"15282:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1939,"initialValue":{"baseExpression":{"id":1936,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15301:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1938,"indexExpression":{"id":1937,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15325:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15301:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15282:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1940,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15414:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15418:6:2","memberName":"sender","nodeType":"MemberAccess","src":"15414:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1942,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15428:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15414:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1947,"nodeType":"IfStatement","src":"15410:54:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1944,"name":"NOT_PENDING_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"15445:17:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1946,"nodeType":"RevertStatement","src":"15438:26:2"}},{"expression":{"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1948,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15558:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15550:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1951,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15566:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15550:24:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1953,"nodeType":"ExpressionStatement","src":"15550:24:2"},{"expression":{"id":1957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"15584:42:2","subExpression":{"baseExpression":{"id":1954,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15591:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1956,"indexExpression":{"id":1955,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15615:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15591:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1958,"nodeType":"ExpressionStatement","src":"15584:42:2"},{"eventCall":{"arguments":[{"id":1960,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15728:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1961,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15740:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15748:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15740:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1959,"name":"ProfileOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2669,"src":"15708:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15708:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1964,"nodeType":"EmitStatement","src":"15703:51:2"}]},"baseFunctions":[2775],"documentation":{"id":1922,"nodeType":"StructuredDocumentation","src":"14724:287:2","text":"@notice Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\n @dev 'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\n @param _profileId The ID of the profile"},"functionSelector":"2497f3c6","implemented":true,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"15025:22:2","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1924,"mutability":"mutable","name":"_profileId","nameLocation":"15056:10:2","nodeType":"VariableDeclaration","scope":1966,"src":"15048:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15047:20:2"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"15077:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2017,"nodeType":"FunctionDefinition","src":"15962:658:2","nodes":[],"body":{"id":2016,"nodeType":"Block","src":"16067:553:2","nodes":[],"statements":[{"assignments":[1979],"declarations":[{"constant":false,"id":1979,"mutability":"mutable","name":"memberLength","nameLocation":"16085:12:2","nodeType":"VariableDeclaration","scope":2016,"src":"16077:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"16077:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1982,"initialValue":{"expression":{"id":1980,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16100:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16109:6:2","memberName":"length","nodeType":"MemberAccess","src":"16100:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16077:38:2"},{"body":{"id":2014,"nodeType":"Block","src":"16246:368:2","statements":[{"assignments":[1990],"declarations":[{"constant":false,"id":1990,"mutability":"mutable","name":"member","nameLocation":"16268:6:2","nodeType":"VariableDeclaration","scope":2014,"src":"16260:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"16260:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1994,"initialValue":{"baseExpression":{"id":1991,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16277:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1993,"indexExpression":{"id":1992,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16286:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16277:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16260:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1995,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16377:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16395:1:2","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":1997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1996,"name":"address","nodeType":"ElementaryTypeName","src":"16387:7:2","typeDescriptions":{}}},"id":1999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16387:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16377:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2004,"nodeType":"IfStatement","src":"16373:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2001,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"16406:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2003,"nodeType":"RevertStatement","src":"16399:21:2"}},{"expression":{"arguments":[{"id":2006,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16525:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2007,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16537:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2005,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"16514:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16514:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2009,"nodeType":"ExpressionStatement","src":"16514:30:2"},{"id":2013,"nodeType":"UncheckedBlock","src":"16558:46:2","statements":[{"expression":{"id":2011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16586:3:2","subExpression":{"id":2010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16588:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2012,"nodeType":"ExpressionStatement","src":"16586:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16227:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1987,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"16231:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16227:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2015,"initializationExpression":{"assignments":[1984],"declarations":[{"constant":false,"id":1984,"mutability":"mutable","name":"i","nameLocation":"16224:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"16216:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1983,"name":"uint256","nodeType":"ElementaryTypeName","src":"16216:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1985,"nodeType":"VariableDeclarationStatement","src":"16216:9:2"},"nodeType":"ForStatement","src":"16211:403:2"}]},"baseFunctions":[2784],"documentation":{"id":1967,"nodeType":"StructuredDocumentation","src":"15767:190:2","text":"@notice Adds members to the profile\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to add"},"functionSelector":"5063f361","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1975,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16055:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1976,"kind":"modifierInvocation","modifierName":{"id":1974,"name":"onlyProfileOwner","nameLocations":["16038:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16038:16:2"},"nodeType":"ModifierInvocation","src":"16038:28:2"}],"name":"addMembers","nameLocation":"15971:10:2","parameters":{"id":1973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1969,"mutability":"mutable","name":"_profileId","nameLocation":"15990:10:2","nodeType":"VariableDeclaration","scope":2017,"src":"15982:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15982:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"_members","nameLocation":"16019:8:2","nodeType":"VariableDeclaration","scope":2017,"src":"16002:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1970,"name":"address","nodeType":"ElementaryTypeName","src":"16002:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1971,"nodeType":"ArrayTypeName","src":"16002:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15981:47:2"},"returnParameters":{"id":1977,"nodeType":"ParameterList","parameters":[],"src":"16067:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2054,"nodeType":"FunctionDefinition","src":"16837:500:2","nodes":[],"body":{"id":2053,"nodeType":"Block","src":"16945:392:2","nodes":[],"statements":[{"assignments":[2030],"declarations":[{"constant":false,"id":2030,"mutability":"mutable","name":"memberLength","nameLocation":"16963:12:2","nodeType":"VariableDeclaration","scope":2053,"src":"16955:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2029,"name":"uint256","nodeType":"ElementaryTypeName","src":"16955:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2033,"initialValue":{"expression":{"id":2031,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"16978:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16987:6:2","memberName":"length","nodeType":"MemberAccess","src":"16978:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16955:38:2"},{"body":{"id":2051,"nodeType":"Block","src":"17129:202:2","statements":[{"expression":{"arguments":[{"id":2041,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"17237:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":2042,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"17249:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2044,"indexExpression":{"id":2043,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17258:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17249:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2040,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51988,"src":"17225:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17225:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2046,"nodeType":"ExpressionStatement","src":"17225:36:2"},{"id":2050,"nodeType":"UncheckedBlock","src":"17275:46:2","statements":[{"expression":{"id":2048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17303:3:2","subExpression":{"id":2047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17305:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2049,"nodeType":"ExpressionStatement","src":"17303:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17110:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2038,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2030,"src":"17114:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17110:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2052,"initializationExpression":{"assignments":[2035],"declarations":[{"constant":false,"id":2035,"mutability":"mutable","name":"i","nameLocation":"17107:1:2","nodeType":"VariableDeclaration","scope":2052,"src":"17099:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2034,"name":"uint256","nodeType":"ElementaryTypeName","src":"17099:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2036,"nodeType":"VariableDeclarationStatement","src":"17099:9:2"},"nodeType":"ForStatement","src":"17094:237:2"}]},"baseFunctions":[2793],"documentation":{"id":2018,"nodeType":"StructuredDocumentation","src":"16626:206:2","text":"@notice Removes members from the profile\n @dev 'msg.sender' must be the pending owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to remove"},"functionSelector":"e0cf1e4c","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2026,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"16933:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2027,"kind":"modifierInvocation","modifierName":{"id":2025,"name":"onlyProfileOwner","nameLocations":["16916:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16916:16:2"},"nodeType":"ModifierInvocation","src":"16916:28:2"}],"name":"removeMembers","nameLocation":"16846:13:2","parameters":{"id":2024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2020,"mutability":"mutable","name":"_profileId","nameLocation":"16868:10:2","nodeType":"VariableDeclaration","scope":2054,"src":"16860:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16860:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2023,"mutability":"mutable","name":"_members","nameLocation":"16897:8:2","nodeType":"VariableDeclaration","scope":2054,"src":"16880:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2021,"name":"address","nodeType":"ElementaryTypeName","src":"16880:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2022,"nodeType":"ArrayTypeName","src":"16880:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16859:47:2"},"returnParameters":{"id":2028,"nodeType":"ParameterList","parameters":[],"src":"16945:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2071,"nodeType":"FunctionDefinition","src":"17659:152:2","nodes":[],"body":{"id":2070,"nodeType":"Block","src":"17725:86:2","nodes":[],"statements":[{"condition":{"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17739:42:2","subExpression":{"arguments":[{"id":2061,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"17758:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":2062,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17770:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17774:6:2","memberName":"sender","nodeType":"MemberAccess","src":"17770:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2060,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"17740:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17740:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2069,"nodeType":"IfStatement","src":"17735:69:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2066,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"17790:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17790:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2068,"nodeType":"RevertStatement","src":"17783:21:2"}}]},"documentation":{"id":2055,"nodeType":"StructuredDocumentation","src":"17479:175:2","text":"@notice Checks if the caller is the owner of the profile\n @dev Internal function used by modifier 'onlyProfileOwner'\n @param _profileId The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyProfileOwner","nameLocation":"17668:22:2","parameters":{"id":2058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2057,"mutability":"mutable","name":"_profileId","nameLocation":"17699:10:2","nodeType":"VariableDeclaration","scope":2071,"src":"17691:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17691:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17690:20:2"},"returnParameters":{"id":2059,"nodeType":"ParameterList","parameters":[],"src":"17725:0:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2192,"nodeType":"FunctionDefinition","src":"18166:969:2","nodes":[],"body":{"id":2191,"nodeType":"Block","src":"18266:869:2","nodes":[],"statements":[{"assignments":[2082],"declarations":[{"constant":false,"id":2082,"mutability":"mutable","name":"encodedData","nameLocation":"18289:11:2","nodeType":"VariableDeclaration","scope":2191,"src":"18276:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2081,"name":"bytes","nodeType":"ElementaryTypeName","src":"18276:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2088,"initialValue":{"arguments":[{"id":2085,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18314:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2086,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"18326:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18303:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18307:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18303:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18303:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18276:56:2"},{"assignments":[2090],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"encodedConstructorArgs","nameLocation":"18355:22:2","nodeType":"VariableDeclaration","scope":2191,"src":"18342:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2089,"name":"bytes","nodeType":"ElementaryTypeName","src":"18342:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2099,"initialValue":{"arguments":[{"id":2093,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18391:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2096,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18411:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2094,"name":"address","nodeType":"ElementaryTypeName","src":"18403:7:2","typeDescriptions":{}}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18403:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18380:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18384:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18380:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18380:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18342:75:2"},{"assignments":[2101],"declarations":[{"constant":false,"id":2101,"mutability":"mutable","name":"bytecode","nameLocation":"18441:8:2","nodeType":"VariableDeclaration","scope":2191,"src":"18428:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2100,"name":"bytes","nodeType":"ElementaryTypeName","src":"18428:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2110,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":2105,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18474:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}],"id":2104,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18469:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18469:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_Anchor_$1492","typeString":"type(contract Anchor)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18482:12:2","memberName":"creationCode","nodeType":"MemberAccess","src":"18469:25:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2108,"name":"encodedConstructorArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18496:22:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18452:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18456:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18452:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18452:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18428:91:2"},{"assignments":[2112],"declarations":[{"constant":false,"id":2112,"mutability":"mutable","name":"salt","nameLocation":"18538:4:2","nodeType":"VariableDeclaration","scope":2191,"src":"18530:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18530:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2116,"initialValue":{"arguments":[{"id":2114,"name":"encodedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"18555:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2113,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18545:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18545:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18530:37:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"mutability":"mutable","name":"preComputedAddress","nameLocation":"18586:18:2","nodeType":"VariableDeclaration","scope":2191,"src":"18578:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2117,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2145,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":2130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18678:4:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":2129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18671:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":2128,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18671:6:2","typeDescriptions":{}}},"id":2131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18671:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":2134,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18693:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18685:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2132,"name":"address","nodeType":"ElementaryTypeName","src":"18685:7:2","typeDescriptions":{}}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18685:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2136,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18700:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2138,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"18716:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2137,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18706:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18706:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18658:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18654:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18654:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2125,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18644:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18644:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18636:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2123,"name":"uint256","nodeType":"ElementaryTypeName","src":"18636:7:2","typeDescriptions":{}}},"id":2142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18636:92:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18628:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2121,"name":"uint160","nodeType":"ElementaryTypeName","src":"18628:7:2","typeDescriptions":{}}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18628:101:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18607:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:2","typeDescriptions":{}}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18607:132:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:161:2"},{"clauses":[{"block":{"id":2168,"nodeType":"Block","src":"18918:50:2","statements":[{"expression":{"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2161,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"18932:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2164,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"18949:7:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}],"id":2163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18941:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2162,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:2","typeDescriptions":{}}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18941:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18932:25:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2167,"nodeType":"ExpressionStatement","src":"18932:25:2"}]},"errorName":"","id":2169,"nodeType":"TryCatchClause","parameters":{"id":2160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2159,"mutability":"mutable","name":"_anchor","nameLocation":"18909:7:2","nodeType":"VariableDeclaration","scope":2169,"src":"18902:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"},"typeName":{"id":2158,"nodeType":"UserDefinedTypeName","pathNode":{"id":2157,"name":"Anchor","nameLocations":["18902:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18902:6:2"},"referencedDeclaration":1492,"src":"18902:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"visibility":"internal"}],"src":"18901:16:2"},"src":"18893:75:2"},{"block":{"id":2188,"nodeType":"Block","src":"18975:154:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":2173,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19008:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19000:8:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":2171,"name":"address","nodeType":"ElementaryTypeName","src":"19000:8:2","stateMutability":"payable","typeDescriptions":{}}},"id":2174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19000:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":2170,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18993:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19029:9:2","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"18993:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2178,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"19044:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18993:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2183,"nodeType":"IfStatement","src":"18989:88:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2180,"name":"ANCHOR_ERROR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"19063:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19063:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2182,"nodeType":"RevertStatement","src":"19056:21:2"}},{"expression":{"id":2186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2184,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"19091:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2185,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19100:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19091:27:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2187,"nodeType":"ExpressionStatement","src":"19091:27:2"}]},"errorName":"","id":2189,"nodeType":"TryCatchClause","src":"18969:160:2"}],"externalCall":{"arguments":[{"id":2151,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18866:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2154,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18886:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2152,"name":"address","nodeType":"ElementaryTypeName","src":"18878:7:2","typeDescriptions":{}}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18843:10:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$","typeString":"function (bytes32,address) returns (contract Anchor)"},"typeName":{"id":2147,"nodeType":"UserDefinedTypeName","pathNode":{"id":2146,"name":"Anchor","nameLocations":["18847:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18847:6:2"},"referencedDeclaration":1492,"src":"18847:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["salt"],"nodeType":"FunctionCallOptions","options":[{"id":2149,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18860:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"src":"18843:22:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$salt","typeString":"function (bytes32,address) returns (contract Anchor)"}},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18843:49:2","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2190,"nodeType":"TryStatement","src":"18839:290:2"}]},"documentation":{"id":2072,"nodeType":"StructuredDocumentation","src":"17817:344:2","text":"@notice Generates and deploys the anchor for the given 'profileId' and name\n @dev Internal function used by 'createProfile()' and 'updateProfileName()' to create and anchor.\n @param _profileId The ID of the profile\n @param _name The name of the profile\n @return anchor The address of the deployed anchor contract"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateAnchor","nameLocation":"18175:15:2","parameters":{"id":2077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2074,"mutability":"mutable","name":"_profileId","nameLocation":"18199:10:2","nodeType":"VariableDeclaration","scope":2192,"src":"18191:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18191:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2076,"mutability":"mutable","name":"_name","nameLocation":"18225:5:2","nodeType":"VariableDeclaration","scope":2192,"src":"18211:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2075,"name":"string","nodeType":"ElementaryTypeName","src":"18211:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18190:41:2"},"returnParameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"mutability":"mutable","name":"anchor","nameLocation":"18258:6:2","nodeType":"VariableDeclaration","scope":2192,"src":"18250:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2078,"name":"address","nodeType":"ElementaryTypeName","src":"18250:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18249:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2211,"nodeType":"FunctionDefinition","src":"19465:159:2","nodes":[],"body":{"id":2210,"nodeType":"Block","src":"19557:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2205,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"19601:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2206,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"19609:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19588:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"19584:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19584:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2202,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19574:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19574:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2201,"id":2209,"nodeType":"Return","src":"19567:50:2"}]},"documentation":{"id":2193,"nodeType":"StructuredDocumentation","src":"19141:319:2","text":"@notice Generates the 'profileId' based on msg.sender and nonce\n @dev Internal function used by 'createProfile()' to generate profileId.\n @param _nonce Nonce provided by the caller to generate 'profileId'\n @param _owner The owner of the profile\n @return 'profileId' The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateProfileId","nameLocation":"19474:18:2","parameters":{"id":2198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2195,"mutability":"mutable","name":"_nonce","nameLocation":"19501:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19493:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2194,"name":"uint256","nodeType":"ElementaryTypeName","src":"19493:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2197,"mutability":"mutable","name":"_owner","nameLocation":"19517:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2196,"name":"address","nodeType":"ElementaryTypeName","src":"19509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19492:32:2"},"returnParameters":{"id":2201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2211,"src":"19548:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19548:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19547:9:2"},"scope":2295,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2229,"nodeType":"FunctionDefinition","src":"19963:156:2","nodes":[],"body":{"id":2228,"nodeType":"Block","src":"20055:64:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":2221,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"20072:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":2223,"indexExpression":{"id":2222,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2214,"src":"20085:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20072:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":2224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20097:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"20072:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2225,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2216,"src":"20106:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20072:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2220,"id":2227,"nodeType":"Return","src":"20065:47:2"}]},"documentation":{"id":2212,"nodeType":"StructuredDocumentation","src":"19630:328:2","text":"@notice Checks if an address is the owner of the profile\n @dev Internal function used to determine if an address is the profile owner\n @param _profileId The 'profileId' of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isOwnerOfProfile","nameLocation":"19972:17:2","parameters":{"id":2217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2214,"mutability":"mutable","name":"_profileId","nameLocation":"19998:10:2","nodeType":"VariableDeclaration","scope":2229,"src":"19990:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2216,"mutability":"mutable","name":"_owner","nameLocation":"20018:6:2","nodeType":"VariableDeclaration","scope":2229,"src":"20010:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2215,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19989:36:2"},"returnParameters":{"id":2220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2229,"src":"20049:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2218,"name":"bool","nodeType":"ElementaryTypeName","src":"20049:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20048:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2245,"nodeType":"FunctionDefinition","src":"20464:146:2","nodes":[],"body":{"id":2244,"nodeType":"Block","src":"20558:52:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2240,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"20583:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2241,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"20595:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2239,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"20575:7:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20575:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2243,"nodeType":"Return","src":"20568:35:2"}]},"documentation":{"id":2230,"nodeType":"StructuredDocumentation","src":"20125:334:2","text":"@notice Checks if an address is a member of the profile\n @dev Internal function used to determine if an address is a member of the profile\n @param _profileId The 'profileId' of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isMemberOfProfile","nameLocation":"20473:18:2","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"mutability":"mutable","name":"_profileId","nameLocation":"20500:10:2","nodeType":"VariableDeclaration","scope":2245,"src":"20492:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20492:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2234,"mutability":"mutable","name":"_member","nameLocation":"20520:7:2","nodeType":"VariableDeclaration","scope":2245,"src":"20512:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2233,"name":"address","nodeType":"ElementaryTypeName","src":"20512:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20491:37:2"},"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2245,"src":"20552:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"20552:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20551:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2294,"nodeType":"FunctionDefinition","src":"20847:318:2","nodes":[],"body":{"id":2293,"nodeType":"Block","src":"20935:230:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2256,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"20949:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20971:1:2","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":2258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2257,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:2","typeDescriptions":{}}},"id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20949:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2265,"nodeType":"IfStatement","src":"20945:51:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2262,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"20982:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"RevertStatement","src":"20975:21:2"}},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"mutability":"mutable","name":"amount","nameLocation":"21015:6:2","nodeType":"VariableDeclaration","scope":2293,"src":"21007:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2286,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2268,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21024:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2269,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21034:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21024:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":2282,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21099:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21091:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2280,"name":"address","nodeType":"ElementaryTypeName","src":"21091:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21091:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":2277,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21073:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2276,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"21067:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$4491_$","typeString":"type(contract ERC20)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$4491","typeString":"contract ERC20"}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21081:9:2","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4200,"src":"21067:23:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"21024:81:2","trueExpression":{"expression":{"arguments":[{"id":2273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21051:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21043:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"21043:7:2","typeDescriptions":{}}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21043:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21057:7:2","memberName":"balance","nodeType":"MemberAccess","src":"21043:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21007:98:2"},{"expression":{"arguments":[{"id":2288,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21131:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2289,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"21139:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2290,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"21151:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2287,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21115:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21115:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2292,"nodeType":"ExpressionStatement","src":"21115:43:2"}]},"baseFunctions":[2801],"documentation":{"id":2246,"nodeType":"StructuredDocumentation","src":"20616:226:2","text":"@notice Transfers any fund balance in Allo to the recipient\n @dev 'msg.sender' must be the Allo owner\n @param _token The address of the token to transfer\n @param _recipient The address of the recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2253,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"20923:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2254,"kind":"modifierInvocation","modifierName":{"id":2252,"name":"onlyRole","nameLocations":["20914:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":51700,"src":"20914:8:2"},"nodeType":"ModifierInvocation","src":"20914:20:2"}],"name":"recoverFunds","nameLocation":"20856:12:2","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2248,"mutability":"mutable","name":"_token","nameLocation":"20877:6:2","nodeType":"VariableDeclaration","scope":2294,"src":"20869:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2247,"name":"address","nodeType":"ElementaryTypeName","src":"20869:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"_recipient","nameLocation":"20893:10:2","nodeType":"VariableDeclaration","scope":2294,"src":"20885:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2249,"name":"address","nodeType":"ElementaryTypeName","src":"20885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20868:36:2"},"returnParameters":{"id":2255,"nodeType":"ParameterList","parameters":[],"src":"20935:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1509,"name":"IRegistry","nameLocations":["5258:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5258:9:2"},"id":1510,"nodeType":"InheritanceSpecifier","src":"5258:9:2"},{"baseName":{"id":1511,"name":"Initializable","nameLocations":["5269:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":52449,"src":"5269:13:2"},"id":1512,"nodeType":"InheritanceSpecifier","src":"5269:13:2"},{"baseName":{"id":1513,"name":"Native","nameLocations":["5284:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5284:6:2"},"id":1514,"nodeType":"InheritanceSpecifier","src":"5284:6:2"},{"baseName":{"id":1515,"name":"AccessControlUpgradeable","nameLocations":["5292:24:2"],"nodeType":"IdentifierPath","referencedDeclaration":51994,"src":"5292:24:2"},"id":1516,"nodeType":"InheritanceSpecifier","src":"5292:24:2"},{"baseName":{"id":1517,"name":"Transfer","nameLocations":["5318:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5318:8:2"},"id":1518,"nodeType":"InheritanceSpecifier","src":"5318:8:2"},{"baseName":{"id":1519,"name":"Errors","nameLocations":["5328:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5328:6:2"},"id":1520,"nodeType":"InheritanceSpecifier","src":"5328:6:2"}],"canonicalName":"Registry","contractDependencies":[1492],"contractKind":"contract","documentation":{"id":1508,"nodeType":"StructuredDocumentation","src":"4584:653:2","text":"@title Registry Contract\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Registry contract for creating and managing profiles\n @dev This contract is used to create and manage profiles for the Allo protocol\n It is also used to deploy the anchor contract for each profile which acts as a proxy\n for the profile and is used to receive funds and execute transactions on behalf of the profile\n The Registry is also used to add and remove members from a profile and update the profile 'Metadata'"},"fullyImplemented":true,"linearizedBaseContracts":[2295,3089,3317,51994,3106,53267,53279,52067,52993,52449,2802],"name":"Registry","nameLocation":"5246:8:2","scope":2296,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117]}],"license":"AGPL-3.0-only"},"id":2} \ No newline at end of file +{"abi":[{"type":"function","name":"ALLO_OWNER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"anchorToProfileId","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"profileIdToPendingOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profilesById","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657612849908161001c8239f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c80630114cf0a146200162057806301ffc9a714620015c55780630ec1fbac1462001599578063248a9ca314620015685780632497f3c614620014bd57806324ae6a27146200118b5780632f2ff15d146200114457806336568abe14620010ab57806339b86b8c14620010755780633a92f65f1462000b165780633b66dacd1462000a965780634756487f1462000a585780635063f36114620009f957806350d005e014620009c35780635e8a7915146200096c57806391d14854146200091b578063a0cf0aea14620008ea578063a217fddf14620008cc578063ac402839146200071b578063c4d66de8146200059e578063cf189ff21462000383578063cfda7e0a1462000357578063d547741f146200030e578063dd93da431462000252578063e0cf1e4c14620001fb5763ee888196146200015557600080fd5b34620001f6576020366003190112620001f6576004356000526098602052604060002080546001820154916200018e60028201620019d8565b620001e7620001a06003840162001a8a565b620001d860018060a01b0360068160058801541696015416936040519788978852602088015260c0604088015260c0870190620016e8565b9085820360608701526200170f565b91608084015260a08301520390f35b600080fd5b34620001f6576200020c3662001968565b620002178262001b0e565b80519060005b8281106200022757005b6001906200024b6001600160a01b0362000242838662001af9565b51168662001f8e565b016200021d565b34620001f6576020366003190112620001f6576200030a62000273620017b2565b6200027d62001aae565b5060018060a01b0380911660005260976020526040600020546000526098602052604060002090600660405192620002b584620017c9565b8054845260018101546020850152620002d160028201620019d8565b6040850152620002e46003820162001a8a565b606085015282600582015416608085015201541660a08201526040519182918262001731565b0390f35b34620001f6576040366003190112620001f65762000355600435620003326200179b565b908060005260656020526200034f60016040600020015462001d6c565b62001f8e565b005b34620001f6576000366003190112620001f6576020604051600080516020620027d48339815191528152f35b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620003bc90369060040162001841565b90620003c88162001b0e565b620003d4828262001b3c565b9181600052602093609885526040600020906002820190835190811162000588576200040182546200199b565b601f81116200053d575b5086601f8211600114620004bb5792600080516020620027b48339815191529492826006936200049f96600091620004af575b508160011b916000199060031b1c19161790555b019460018060a01b039081875416600052609788526000604081205516948560018060a01b03198254161790558460005283604060002055604051918291604083526040830190620016e8565b85878301520390a2604051908152f35b90508501518b6200043e565b601f1982169083600052886000209160005b8a82821062000526575050836200049f9693600080516020620027b4833981519152989693600696600194106200050c575b5050811b01905562000452565b87015160001960f88460031b161c191690558b80620004ff565b600184958293958b015181550194019201620004cd565b8260005287600020601f830160051c8101918984106200057d575b601f0160051c01905b8181106200057057506200040b565b6000815560010162000561565b909150819062000558565b634e487b7160e01b600052604160045260246000fd5b34620001f657602080600319360112620001f657620005bc620017b2565b60005460ff8160081c1615806200070d575b15620006b15761ffff1916610101176000556001600160a01b03169081156200069f577f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891600080516020620027d4833981519152908160005260658352604060002081600052835260ff60406000205416156200065e575b505061ff00196000541660005560405160018152a1005b816000526065835260406000208160005283526040600020600160ff19825416179055339160008051602062002774833981519152600080a4828062000647565b60405163538ba4f960e01b8152600490fd5b60405162461bcd60e51b815260048101849052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600160ff821610620005ce565b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620007549036906004016200189c565b6200075f8262001b0e565b8160005260206098815260046040600020835160038201550181830151805195861162000588576200079282546200199b565b601f811162000881575b508290601f87116001146200080557958091600080516020620027f48339815191529697600092620007f9575b50508160011b916000199060031b1c19161790555b620007f46040519282849384528301906200170f565b0390a2005b015190508780620007c9565b90601f1987169183600052846000209260005b818110620008695750916001939189600080516020620027f4833981519152999a94106200084f575b505050811b019055620007de565b015160001960f88460031b161c1916905587808062000841565b92938660018192878601518155019501930162000818565b8260005283600020601f880160051c810191858910620008c1575b601f0160051c01905b818110620008b457506200079c565b60008155600101620008a5565b90915081906200089c565b34620001f6576000366003190112620001f657602060405160008152f35b34620001f6576000366003190112620001f657602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620001f6576040366003190112620001f657620009386200179b565b600435600052606560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34620001f6576040366003190112620001f65760206004356200098e6200179b565b6200099a818362001d21565b918215620009af575b50506040519015158152f35b620009bb925062001d44565b8280620009a3565b34620001f6576020366003190112620001f6576004356000526099602052602060018060a01b0360406000205416604051908152f35b34620001f65762000a0a3662001968565b62000a158262001b0e565b80519060005b82811062000a2557005b6001600160a01b0362000a39828462001af9565b51169081156200069f5762000a516001928662001f24565b0162000a1b565b34620001f6576020366003190112620001f6576001600160a01b0362000a7d620017b2565b1660005260976020526020604060002054604051908152f35b34620001f6576040366003190112620001f6576004357f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8602062000ad96200179b565b62000ae48462001b0e565b60008481526099835260409081902080546001600160a01b0319166001600160a01b03909316928317905551908152a2005b34620001f65760a0366003190112620001f6576004356024356001600160401b038111620001f65762000b4e90369060040162001841565b906044356001600160401b038111620001f65762000b719036906004016200189c565b91606435906001600160a01b0382168203620001f6576084356001600160401b038111620001f65762000ba9903690600401620018ea565b6040805160208101868152606086811b6001600160601b03191693830193909352603482529181019692939291906001600160401b038811818910176200058857876040525190209586600052609860205260018060a01b03600660406000200154166200106657506001600160a01b038416156200069f5762000c2e828762001b3c565b916040519562000c3e87620017c9565b8787526020808801918252604080890193845260608901949094526001600160a01b0387811660808a01529490941660a08801526000888152609890945291909220855181559051600182015590518051906001600160401b0382116200058857819062000cb060028501546200199b565b601f81116200100e575b50602090601f831160011462000f975760009262000f8b575b50508160011b916000199060031b1c19161760028201555b606084015180516003830155602001518051906001600160401b0382116200058857819062000d1e60048501546200199b565b601f811162000f33575b50602090601f831160011462000ec15760009262000eb5575b50508160011b916000199060031b1c19161760048201555b60808401516005820180546001600160a01b039283166001600160a01b03199182161790915560a086015160069093018054939092169216821790556000908152609760205260409020849055805191821515908162000ea0575b5062000e8e5760005b82811062000e5b57602085807f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b806098784810151604082015191606081015162000e4560018060a01b036080840151169260a0600180821b03910151169162000e36604051968796875260a08c88015260a0870190620016e8565b9085820360408701526200170f565b91606084015260808301520390a2604051908152f35b6001600160a01b0362000e6f828462001af9565b51169081156200069f5762000e876001928762001f24565b0162000dbd565b60405163075fd2b160e01b8152600490fd5b6001600160a01b031633141590508562000db4565b01519050878062000d41565b600485016000908152602081209350601f198516905b81811062000f1a575090846001959493921062000f00575b505050811b01600482015562000d59565b015160001960f88460031b161c1916905587808062000eef565b9293602060018192878601518155019501930162000ed7565b909150600484016000526020600020601f840160051c81016020851062000f83575b90849392915b601f830160051c8201811062000f7357505062000d28565b6000815585945060010162000f5b565b508062000f55565b01519050878062000cd3565b9250600284016000526020600020906000935b601f198416851062000ff2576001945083601f1981161062000fd8575b505050811b01600282015562000ceb565b015160001960f88460031b161c1916905587808062000fc7565b8181015183556020948501946001909301929091019062000faa565b909150600284016000526020600020601f840160051c8101602085106200105e575b90849392915b601f830160051c820181106200104e57505062000cba565b6000815585945060010162001036565b508062001030565b630527e05960e41b8152600490fd5b34620001f6576040366003190112620001f6576020620010a1620010986200179b565b60043562001d21565b6040519015158152f35b34620001f6576040366003190112620001f657620010c86200179b565b336001600160a01b03821603620010e757620003559060043562001f8e565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620001f6576040366003190112620001f65762000355600435620011686200179b565b908060005260656020526200118560016040600020015462001d6c565b62001f24565b34620001f6576040366003190112620001f657620011a8620017b2565b620011b26200179b565b3360009081527f4b3829d867e62b811a7a862bbf8afb7a8eb18e86c071c1039bdebff5606d62536020908152604090912054600080516020620027d48339815191529060ff16156200131357506001600160a01b03828116156200069f5783169273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84149382856000146200129e57505047935b1562001261575050600080809381935af1156200125357005b63b12d13eb6000526004601cfd5b600060109160449395829560145260345263a9059cbb60601b82525af13d156001600051141716156200129057005b6390b8ec186000526004601cfd5b6040516370a0823160e01b815230600482015291829060249082905afa9081156200130757600091620012d4575b50936200123a565b90508281813d8311620012ff575b620012ee81836200181d565b81010312620001f6575185620012cc565b503d620012e2565b6040513d6000823e3d90fd5b906200131f3362002017565b916040516200132e8162001801565b60428152828101916060368437815115620014a757603083538151600190811015620014a757607860218401536041905b808211620014485750506200141657620013df93620013ef9260489260405196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b88860152620013b5815180928a603789019101620016c3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190620016c3565b010360288101855201836200181d565b6200141260405192839262461bcd60e51b845260048401526024830190620016e8565b0390fd5b6064836040519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b9091600f81166010811015620014a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200147a848662002005565b5360041c918015620014915760001901906200135f565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b34620001f6576020366003190112620001f6576004358060005260986020526040600020609960205260018060a01b039081604060002054169182330362001556577ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d926005602093019060018060a01b03199081835416178255856000526099845260406000209081541690555416604051908152a2005b604051630b4d48c160e41b8152600490fd5b34620001f6576020366003190112620001f65760043560005260656020526020600160406000200154604051908152f35b34620001f6576040366003190112620001f6576020620010a1620015bc6200179b565b60043562001d44565b34620001f6576020366003190112620001f65760043563ffffffff60e01b8116809103620001f657602090637965db0b60e01b81149081156200160e575b506040519015158152f35b6301ffc9a760e01b1490508262001603565b34620001f6576020366003190112620001f6576200163d62001aae565b5060043560005260986020526200030a6040600020604051906200166182620017c9565b80548252600181015460208301526200167d60028201620019d8565b6040830152620016906003820162001a8a565b606083015260058101546001600160a01b0390811660808401526006909101541660a08201526040519182918262001731565b60005b838110620016d75750506000910152565b8181015183820152602001620016c6565b906020916200170381518092818552858086019101620016c3565b601f01601f1916010190565b90604060206200172e93805184520151918160208201520190620016e8565b90565b60208152815160208201526020820151604082015260c06200177d62001766604085015183606086015260e0850190620016e8565b6060850151848203601f190160808601526200170f565b9260a0600180821b0391826080820151168286015201511691015290565b602435906001600160a01b0382168203620001f657565b600435906001600160a01b0382168203620001f657565b60c081019081106001600160401b038211176200058857604052565b604081019081106001600160401b038211176200058857604052565b608081019081106001600160401b038211176200058857604052565b601f909101601f19168101906001600160401b038211908210176200058857604052565b81601f82011215620001f6578035906001600160401b03821162000588576040519262001879601f8401601f1916602001856200181d565b82845260208383010111620001f657816000926020809301838601378301015290565b9190604083820312620001f65760405190620018b882620017e5565b8335825290928391602082013591906001600160401b038311620001f657602092620018e5920162001841565b910152565b9080601f83011215620001f6578135906001600160401b03821162000588578160051b6040519360209362001922858401876200181d565b85528380860192820101928311620001f6578301905b82821062001947575050505090565b81356001600160a01b0381168103620001f657815290830190830162001938565b906040600319830112620001f65760043591602435906001600160401b038211620001f6576200172e91600401620018ea565b90600182811c92168015620019cd575b6020831014620019b757565b634e487b7160e01b600052602260045260246000fd5b91607f1691620019ab565b9060405191826000825492620019ee846200199b565b90818452600194858116908160001462001a65575060011462001a1e575b505062001a1c925003836200181d565b565b9093915060005260209081600020936000915b81831062001a4c57505062001a1c9350820101388062001a0c565b8554888401850152948501948794509183019162001a31565b91505062001a1c94506020925060ff191682840152151560051b820101388062001a0c565b9060405162001a9981620017e5565b6020620018e5600183958054855201620019d8565b6040519062001abd82620017c9565b600060a0838281528260208201526060604082015260405162001ae081620017e5565b8381526060602082015260608201528260808201520152565b8051821015620014a75760209160051b010190565b62001b1b90339062001d21565b1562000e8e57565b9081526001600160a01b03909116602082015260400190565b604090815160209062001bf28162001b648482019786895287808401526060830190620016e8565b039562001b7a601f19978881018552846200181d565b85519062001ba0858301988362001b93308a8d62001b23565b039081018452836200181d565b6106559362001bff86895162001bb9828901826200181d565b8781526200211f9b82820196898e89398c5198899362001be28686019a8b9251928391620016c3565b84019151809386840190620016c3565b010380875201856200181d565b5190209151902085516001600160f81b03198582019081523060601b602183015260358201849052605580830193909352918152909260808201916001600160401b039182841182851017620005885783895260018060a01b03809683519020169960808284010193858510908511176200058857843962001c87607f199288309162001b23565b0301906000f58062001d18575050825163041c375d60e11b8152908082600481885afa90811562001d0d5760009162001cd8575b5090500362001cc8575090565b51630113b81f60e41b8152600490fd5b82813d831162001d05575b62001cef81836200181d565b8101031262001d02575051803862001cbb565b80fd5b503d62001ce3565b84513d6000823e3d90fd5b16949350505050565b6000908152609860205260409020600501546001600160a01b0391821691161490565b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff84822054161562001d975750505050565b62001da23362002017565b9184519062001db18262001801565b6042825284820192606036853782511562001f10576030845382519060019182101562001f105790607860218501536041915b81831162001e9d5750505062001e6c5760486200141293869362001e4f9362001e3f985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152620013b5815180928c603789019101620016c3565b010360288101875201856200181d565b5192839262461bcd60e51b845260048401526024830190620016e8565b60648486519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b909192600f8116601081101562001efc576f181899199a1a9b1b9c1cb0b131b232b360811b901a62001ed0858762002005565b5360041c92801562001ee85760001901919062001de4565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054161562001f5757505050565b80835260656020526040832082845260205260408320600160ff1982541617905560008051602062002774833981519152339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541662001fc057505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015620014a7570160200190565b60405190606082016001600160401b038111838210176200058857604052602a8252602082016040368237825115620014a757603090538151600190811015620014a757607860218401536029905b808211620020ab575050620020785790565b606460405162461bcd60e51b81526020600482015260206024820152600080516020620027948339815191526044820152fd5b9091600f8116601081101562002109576f181899199a1a9b1b9c1cb0b131b232b360811b901a620020dd848662002005565b5360041c918015620020f457600019019062002066565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfe60c03461008c57601f61065538819003918201601f19168301916001600160401b0383118484101761009157808492604094855283398101031261008c5780516020909101516001600160a01b0381169081900361008c5760805260a0526040516105ad90816100a882396080518181816101dc0152610333015260a05181818161019f01526103ce0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816301ffc9a7146103f15750806308386eba146103b6578063150b7a02146103625780637b1039991461031e578063b61d27f614610157578063bc197c81146100ce5763f23a6e610361001257346100cb5760a03660031901126100cb57610091610445565b5061009a610460565b50608435906001600160401b0382116100cb57506020926100bd913691016104ca565b505163f23a6e6160e01b8152f35b80fd5b50346100cb5760a03660031901126100cb576100e8610445565b506100f1610460565b506001600160401b0390604435828111610153576101129036908601610511565b506064358281116101535761012a9036908601610511565b506084359182116100cb5750602092610145913691016104ca565b505163bc197c8160e01b8152f35b5080fd5b50913461031a57606036600319011261031a57610172610445565b926044356001600160401b0381116101535761019190369084016104ca565b8351630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000084820152336024820152602095906001600160a01b039087816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156103105785916102d6575b50156102c6578116156102b65781518392839290880190602435905af1913d156102ae573d9261023c846104af565b9361024986519586610476565b84523d838786013e5b156102a05750929082519382859384528251928382860152825b84811061028a57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161026c565b83516384aed38d60e01b8152fd5b606092610252565b84516384aed38d60e01b81528490fd5b855163075fd2b160e01b81528590fd5b90508781813d8311610309575b6102ed8183610476565b8101031261030557518015158103610305573861020d565b8480fd5b503d6102e3565b87513d87823e3d90fd5b8280fd5b509034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cb5760803660031901126100cb5761037c610445565b50610385610460565b50606435906001600160401b0382116100cb57506020926103a8913691016104ca565b5051630a85bd0160e11b8152f35b509034610153578160031936011261015357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050833461031a57602036600319011261031a573563ffffffff60e01b811680910361031a5760209250630271189760e51b8114908115610434575b5015158152f35b6301ffc9a760e01b1490508361042d565b600435906001600160a01b038216820361045b57565b600080fd5b602435906001600160a01b038216820361045b57565b601f909101601f19168101906001600160401b0382119082101761049957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161049957601f01601f191660200190565b81601f8201121561045b578035906104e1826104af565b926104ef6040519485610476565b8284526020838301011161045b57816000926020809301838601378301015290565b9080601f8301121561045b578135906001600160401b038211610499578160051b6040519360209361054585840187610476565b8552838086019282010192831161045b578301905b828210610568575050505090565b8135815290830190830161055a56fea26469706673582212203ad7310c4ba268c0b9055061c22043f1a38b2c621b35f6e608721ba6cdc8231e64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d537472696e67733a20686578206c656e67746820696e73756666696369656e7454cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3a2646970667358221220f1d01c910968685ee3f6bc87d420da497149e6c8a358c422bb32c3a464b8b60964736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c80630114cf0a146200162057806301ffc9a714620015c55780630ec1fbac1462001599578063248a9ca314620015685780632497f3c614620014bd57806324ae6a27146200118b5780632f2ff15d146200114457806336568abe14620010ab57806339b86b8c14620010755780633a92f65f1462000b165780633b66dacd1462000a965780634756487f1462000a585780635063f36114620009f957806350d005e014620009c35780635e8a7915146200096c57806391d14854146200091b578063a0cf0aea14620008ea578063a217fddf14620008cc578063ac402839146200071b578063c4d66de8146200059e578063cf189ff21462000383578063cfda7e0a1462000357578063d547741f146200030e578063dd93da431462000252578063e0cf1e4c14620001fb5763ee888196146200015557600080fd5b34620001f6576020366003190112620001f6576004356000526098602052604060002080546001820154916200018e60028201620019d8565b620001e7620001a06003840162001a8a565b620001d860018060a01b0360068160058801541696015416936040519788978852602088015260c0604088015260c0870190620016e8565b9085820360608701526200170f565b91608084015260a08301520390f35b600080fd5b34620001f6576200020c3662001968565b620002178262001b0e565b80519060005b8281106200022757005b6001906200024b6001600160a01b0362000242838662001af9565b51168662001f8e565b016200021d565b34620001f6576020366003190112620001f6576200030a62000273620017b2565b6200027d62001aae565b5060018060a01b0380911660005260976020526040600020546000526098602052604060002090600660405192620002b584620017c9565b8054845260018101546020850152620002d160028201620019d8565b6040850152620002e46003820162001a8a565b606085015282600582015416608085015201541660a08201526040519182918262001731565b0390f35b34620001f6576040366003190112620001f65762000355600435620003326200179b565b908060005260656020526200034f60016040600020015462001d6c565b62001f8e565b005b34620001f6576000366003190112620001f6576020604051600080516020620027d48339815191528152f35b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620003bc90369060040162001841565b90620003c88162001b0e565b620003d4828262001b3c565b9181600052602093609885526040600020906002820190835190811162000588576200040182546200199b565b601f81116200053d575b5086601f8211600114620004bb5792600080516020620027b48339815191529492826006936200049f96600091620004af575b508160011b916000199060031b1c19161790555b019460018060a01b039081875416600052609788526000604081205516948560018060a01b03198254161790558460005283604060002055604051918291604083526040830190620016e8565b85878301520390a2604051908152f35b90508501518b6200043e565b601f1982169083600052886000209160005b8a82821062000526575050836200049f9693600080516020620027b4833981519152989693600696600194106200050c575b5050811b01905562000452565b87015160001960f88460031b161c191690558b80620004ff565b600184958293958b015181550194019201620004cd565b8260005287600020601f830160051c8101918984106200057d575b601f0160051c01905b8181106200057057506200040b565b6000815560010162000561565b909150819062000558565b634e487b7160e01b600052604160045260246000fd5b34620001f657602080600319360112620001f657620005bc620017b2565b60005460ff8160081c1615806200070d575b15620006b15761ffff1916610101176000556001600160a01b03169081156200069f577f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891600080516020620027d4833981519152908160005260658352604060002081600052835260ff60406000205416156200065e575b505061ff00196000541660005560405160018152a1005b816000526065835260406000208160005283526040600020600160ff19825416179055339160008051602062002774833981519152600080a4828062000647565b60405163538ba4f960e01b8152600490fd5b60405162461bcd60e51b815260048101849052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600160ff821610620005ce565b34620001f6576040366003190112620001f6576001600160401b03600435602435828111620001f657620007549036906004016200189c565b6200075f8262001b0e565b8160005260206098815260046040600020835160038201550181830151805195861162000588576200079282546200199b565b601f811162000881575b508290601f87116001146200080557958091600080516020620027f48339815191529697600092620007f9575b50508160011b916000199060031b1c19161790555b620007f46040519282849384528301906200170f565b0390a2005b015190508780620007c9565b90601f1987169183600052846000209260005b818110620008695750916001939189600080516020620027f4833981519152999a94106200084f575b505050811b019055620007de565b015160001960f88460031b161c1916905587808062000841565b92938660018192878601518155019501930162000818565b8260005283600020601f880160051c810191858910620008c1575b601f0160051c01905b818110620008b457506200079c565b60008155600101620008a5565b90915081906200089c565b34620001f6576000366003190112620001f657602060405160008152f35b34620001f6576000366003190112620001f657602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620001f6576040366003190112620001f657620009386200179b565b600435600052606560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34620001f6576040366003190112620001f65760206004356200098e6200179b565b6200099a818362001d21565b918215620009af575b50506040519015158152f35b620009bb925062001d44565b8280620009a3565b34620001f6576020366003190112620001f6576004356000526099602052602060018060a01b0360406000205416604051908152f35b34620001f65762000a0a3662001968565b62000a158262001b0e565b80519060005b82811062000a2557005b6001600160a01b0362000a39828462001af9565b51169081156200069f5762000a516001928662001f24565b0162000a1b565b34620001f6576020366003190112620001f6576001600160a01b0362000a7d620017b2565b1660005260976020526020604060002054604051908152f35b34620001f6576040366003190112620001f6576004357f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8602062000ad96200179b565b62000ae48462001b0e565b60008481526099835260409081902080546001600160a01b0319166001600160a01b03909316928317905551908152a2005b34620001f65760a0366003190112620001f6576004356024356001600160401b038111620001f65762000b4e90369060040162001841565b906044356001600160401b038111620001f65762000b719036906004016200189c565b91606435906001600160a01b0382168203620001f6576084356001600160401b038111620001f65762000ba9903690600401620018ea565b6040805160208101868152606086811b6001600160601b03191693830193909352603482529181019692939291906001600160401b038811818910176200058857876040525190209586600052609860205260018060a01b03600660406000200154166200106657506001600160a01b038416156200069f5762000c2e828762001b3c565b916040519562000c3e87620017c9565b8787526020808801918252604080890193845260608901949094526001600160a01b0387811660808a01529490941660a08801526000888152609890945291909220855181559051600182015590518051906001600160401b0382116200058857819062000cb060028501546200199b565b601f81116200100e575b50602090601f831160011462000f975760009262000f8b575b50508160011b916000199060031b1c19161760028201555b606084015180516003830155602001518051906001600160401b0382116200058857819062000d1e60048501546200199b565b601f811162000f33575b50602090601f831160011462000ec15760009262000eb5575b50508160011b916000199060031b1c19161760048201555b60808401516005820180546001600160a01b039283166001600160a01b03199182161790915560a086015160069093018054939092169216821790556000908152609760205260409020849055805191821515908162000ea0575b5062000e8e5760005b82811062000e5b57602085807f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b806098784810151604082015191606081015162000e4560018060a01b036080840151169260a0600180821b03910151169162000e36604051968796875260a08c88015260a0870190620016e8565b9085820360408701526200170f565b91606084015260808301520390a2604051908152f35b6001600160a01b0362000e6f828462001af9565b51169081156200069f5762000e876001928762001f24565b0162000dbd565b60405163075fd2b160e01b8152600490fd5b6001600160a01b031633141590508562000db4565b01519050878062000d41565b600485016000908152602081209350601f198516905b81811062000f1a575090846001959493921062000f00575b505050811b01600482015562000d59565b015160001960f88460031b161c1916905587808062000eef565b9293602060018192878601518155019501930162000ed7565b909150600484016000526020600020601f840160051c81016020851062000f83575b90849392915b601f830160051c8201811062000f7357505062000d28565b6000815585945060010162000f5b565b508062000f55565b01519050878062000cd3565b9250600284016000526020600020906000935b601f198416851062000ff2576001945083601f1981161062000fd8575b505050811b01600282015562000ceb565b015160001960f88460031b161c1916905587808062000fc7565b8181015183556020948501946001909301929091019062000faa565b909150600284016000526020600020601f840160051c8101602085106200105e575b90849392915b601f830160051c820181106200104e57505062000cba565b6000815585945060010162001036565b508062001030565b630527e05960e41b8152600490fd5b34620001f6576040366003190112620001f6576020620010a1620010986200179b565b60043562001d21565b6040519015158152f35b34620001f6576040366003190112620001f657620010c86200179b565b336001600160a01b03821603620010e757620003559060043562001f8e565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34620001f6576040366003190112620001f65762000355600435620011686200179b565b908060005260656020526200118560016040600020015462001d6c565b62001f24565b34620001f6576040366003190112620001f657620011a8620017b2565b620011b26200179b565b3360009081527f4b3829d867e62b811a7a862bbf8afb7a8eb18e86c071c1039bdebff5606d62536020908152604090912054600080516020620027d48339815191529060ff16156200131357506001600160a01b03828116156200069f5783169273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84149382856000146200129e57505047935b1562001261575050600080809381935af1156200125357005b63b12d13eb6000526004601cfd5b600060109160449395829560145260345263a9059cbb60601b82525af13d156001600051141716156200129057005b6390b8ec186000526004601cfd5b6040516370a0823160e01b815230600482015291829060249082905afa9081156200130757600091620012d4575b50936200123a565b90508281813d8311620012ff575b620012ee81836200181d565b81010312620001f6575185620012cc565b503d620012e2565b6040513d6000823e3d90fd5b906200131f3362002017565b916040516200132e8162001801565b60428152828101916060368437815115620014a757603083538151600190811015620014a757607860218401536041905b808211620014485750506200141657620013df93620013ef9260489260405196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b88860152620013b5815180928a603789019101620016c3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190620016c3565b010360288101855201836200181d565b6200141260405192839262461bcd60e51b845260048401526024830190620016e8565b0390fd5b6064836040519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b9091600f81166010811015620014a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200147a848662002005565b5360041c918015620014915760001901906200135f565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b34620001f6576020366003190112620001f6576004358060005260986020526040600020609960205260018060a01b039081604060002054169182330362001556577ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d926005602093019060018060a01b03199081835416178255856000526099845260406000209081541690555416604051908152a2005b604051630b4d48c160e41b8152600490fd5b34620001f6576020366003190112620001f65760043560005260656020526020600160406000200154604051908152f35b34620001f6576040366003190112620001f6576020620010a1620015bc6200179b565b60043562001d44565b34620001f6576020366003190112620001f65760043563ffffffff60e01b8116809103620001f657602090637965db0b60e01b81149081156200160e575b506040519015158152f35b6301ffc9a760e01b1490508262001603565b34620001f6576020366003190112620001f6576200163d62001aae565b5060043560005260986020526200030a6040600020604051906200166182620017c9565b80548252600181015460208301526200167d60028201620019d8565b6040830152620016906003820162001a8a565b606083015260058101546001600160a01b0390811660808401526006909101541660a08201526040519182918262001731565b60005b838110620016d75750506000910152565b8181015183820152602001620016c6565b906020916200170381518092818552858086019101620016c3565b601f01601f1916010190565b90604060206200172e93805184520151918160208201520190620016e8565b90565b60208152815160208201526020820151604082015260c06200177d62001766604085015183606086015260e0850190620016e8565b6060850151848203601f190160808601526200170f565b9260a0600180821b0391826080820151168286015201511691015290565b602435906001600160a01b0382168203620001f657565b600435906001600160a01b0382168203620001f657565b60c081019081106001600160401b038211176200058857604052565b604081019081106001600160401b038211176200058857604052565b608081019081106001600160401b038211176200058857604052565b601f909101601f19168101906001600160401b038211908210176200058857604052565b81601f82011215620001f6578035906001600160401b03821162000588576040519262001879601f8401601f1916602001856200181d565b82845260208383010111620001f657816000926020809301838601378301015290565b9190604083820312620001f65760405190620018b882620017e5565b8335825290928391602082013591906001600160401b038311620001f657602092620018e5920162001841565b910152565b9080601f83011215620001f6578135906001600160401b03821162000588578160051b6040519360209362001922858401876200181d565b85528380860192820101928311620001f6578301905b82821062001947575050505090565b81356001600160a01b0381168103620001f657815290830190830162001938565b906040600319830112620001f65760043591602435906001600160401b038211620001f6576200172e91600401620018ea565b90600182811c92168015620019cd575b6020831014620019b757565b634e487b7160e01b600052602260045260246000fd5b91607f1691620019ab565b9060405191826000825492620019ee846200199b565b90818452600194858116908160001462001a65575060011462001a1e575b505062001a1c925003836200181d565b565b9093915060005260209081600020936000915b81831062001a4c57505062001a1c9350820101388062001a0c565b8554888401850152948501948794509183019162001a31565b91505062001a1c94506020925060ff191682840152151560051b820101388062001a0c565b9060405162001a9981620017e5565b6020620018e5600183958054855201620019d8565b6040519062001abd82620017c9565b600060a0838281528260208201526060604082015260405162001ae081620017e5565b8381526060602082015260608201528260808201520152565b8051821015620014a75760209160051b010190565b62001b1b90339062001d21565b1562000e8e57565b9081526001600160a01b03909116602082015260400190565b604090815160209062001bf28162001b648482019786895287808401526060830190620016e8565b039562001b7a601f19978881018552846200181d565b85519062001ba0858301988362001b93308a8d62001b23565b039081018452836200181d565b6106559362001bff86895162001bb9828901826200181d565b8781526200211f9b82820196898e89398c5198899362001be28686019a8b9251928391620016c3565b84019151809386840190620016c3565b010380875201856200181d565b5190209151902085516001600160f81b03198582019081523060601b602183015260358201849052605580830193909352918152909260808201916001600160401b039182841182851017620005885783895260018060a01b03809683519020169960808284010193858510908511176200058857843962001c87607f199288309162001b23565b0301906000f58062001d18575050825163041c375d60e11b8152908082600481885afa90811562001d0d5760009162001cd8575b5090500362001cc8575090565b51630113b81f60e41b8152600490fd5b82813d831162001d05575b62001cef81836200181d565b8101031262001d02575051803862001cbb565b80fd5b503d62001ce3565b84513d6000823e3d90fd5b16949350505050565b6000908152609860205260409020600501546001600160a01b0391821691161490565b600052606560205260406000209060018060a01b031660005260205260ff6040600020541690565b60009080825260209060658252604092838120338252835260ff84822054161562001d975750505050565b62001da23362002017565b9184519062001db18262001801565b6042825284820192606036853782511562001f10576030845382519060019182101562001f105790607860218501536041915b81831162001e9d5750505062001e6c5760486200141293869362001e4f9362001e3f985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152620013b5815180928c603789019101620016c3565b010360288101875201856200181d565b5192839262461bcd60e51b845260048401526024830190620016e8565b60648486519062461bcd60e51b82528060048301526024820152600080516020620027948339815191526044820152fd5b909192600f8116601081101562001efc576f181899199a1a9b1b9c1cb0b131b232b360811b901a62001ed0858762002005565b5360041c92801562001ee85760001901919062001de4565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054161562001f5757505050565b80835260656020526040832082845260205260408320600160ff1982541617905560008051602062002774833981519152339380a4565b906000918083526065602052604083209160018060a01b03169182845260205260ff60408420541662001fc057505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015620014a7570160200190565b60405190606082016001600160401b038111838210176200058857604052602a8252602082016040368237825115620014a757603090538151600190811015620014a757607860218401536029905b808211620020ab575050620020785790565b606460405162461bcd60e51b81526020600482015260206024820152600080516020620027948339815191526044820152fd5b9091600f8116601081101562002109576f181899199a1a9b1b9c1cb0b131b232b360811b901a620020dd848662002005565b5360041c918015620020f457600019019062002066565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfe60c03461008c57601f61065538819003918201601f19168301916001600160401b0383118484101761009157808492604094855283398101031261008c5780516020909101516001600160a01b0381169081900361008c5760805260a0526040516105ad90816100a882396080518181816101dc0152610333015260a05181818161019f01526103ce0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816301ffc9a7146103f15750806308386eba146103b6578063150b7a02146103625780637b1039991461031e578063b61d27f614610157578063bc197c81146100ce5763f23a6e610361001257346100cb5760a03660031901126100cb57610091610445565b5061009a610460565b50608435906001600160401b0382116100cb57506020926100bd913691016104ca565b505163f23a6e6160e01b8152f35b80fd5b50346100cb5760a03660031901126100cb576100e8610445565b506100f1610460565b506001600160401b0390604435828111610153576101129036908601610511565b506064358281116101535761012a9036908601610511565b506084359182116100cb5750602092610145913691016104ca565b505163bc197c8160e01b8152f35b5080fd5b50913461031a57606036600319011261031a57610172610445565b926044356001600160401b0381116101535761019190369084016104ca565b8351630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000084820152336024820152602095906001600160a01b039087816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156103105785916102d6575b50156102c6578116156102b65781518392839290880190602435905af1913d156102ae573d9261023c846104af565b9361024986519586610476565b84523d838786013e5b156102a05750929082519382859384528251928382860152825b84811061028a57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161026c565b83516384aed38d60e01b8152fd5b606092610252565b84516384aed38d60e01b81528490fd5b855163075fd2b160e01b81528590fd5b90508781813d8311610309575b6102ed8183610476565b8101031261030557518015158103610305573861020d565b8480fd5b503d6102e3565b87513d87823e3d90fd5b8280fd5b509034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cb5760803660031901126100cb5761037c610445565b50610385610460565b50606435906001600160401b0382116100cb57506020926103a8913691016104ca565b5051630a85bd0160e11b8152f35b509034610153578160031936011261015357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050833461031a57602036600319011261031a573563ffffffff60e01b811680910361031a5760209250630271189760e51b8114908115610434575b5015158152f35b6301ffc9a760e01b1490508361042d565b600435906001600160a01b038216820361045b57565b600080fd5b602435906001600160a01b038216820361045b57565b601f909101601f19168101906001600160401b0382119082101761049957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161049957601f01601f191660200190565b81601f8201121561045b578035906104e1826104af565b926104ef6040519485610476565b8284526020838301011161045b57816000926020809301838601378301015290565b9080601f8301121561045b578135906001600160401b038211610499578160051b6040519360209361054585840187610476565b8552838086019282010192831161045b578301905b828210610568575050505090565b8135815290830190830161055a56fea26469706673582212203ad7310c4ba268c0b9055061c22043f1a38b2c621b35f6e608721ba6cdc8231e64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d537472696e67733a20686578206c656e67746820696e73756666696369656e7454cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3a2646970667358221220f1d01c910968685ee3f6bc87d420da497149e6c8a358c422bb32c3a464b8b60964736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;5702:47;5237:15930;;;;;;;;5702:47;;5237:15930;5702:47;;;;;;:::i;:::-;5237:15930;5702:47;5237:15930;5702:47;;;:::i;:::-;5237:15930;;;;;;5702:47;;;;;5237:15930;;5702:47;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;17099:9;5237:15930;17110:16;;;;;;5237:15930;17099:9;5237:15930;;17249:11;-1:-1:-1;;;;;17249:11:2;5237:15930;17249:11;;:::i;:::-;5237:15930;;17249:11;;:::i;:::-;5237:15930;17099:9;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;7951:17;5237:15930;;;;;;;;7994:12;5237:15930;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;5837:7:40;5237:15930:2;;;;:::i;:::-;;;;;4955:6:40;5237:15930:2;;2809:4:40;5237:15930:2;;;;4955:22:40;5237:15930:2;2809:4:40;:::i;:::-;5837:7;:::i;:::-;5237:15930:2;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;;:::i;:::-;11429:34;;;;:::i;:::-;5237:15930;;;;;;11564:12;5237:15930;;;;;11627:12;;;;5237:15930;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;11705:14;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;11705:14;5237:15930;;;;;;;;;;;;;11687:17;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;11931:45;;;5237:15930;;;;;;;;;;;;;;;;19584:32;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;11705:14;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;4881:14:44;:40;;;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;;;;-1:-1:-1;;;;;5237:15930:2;;6968:20;;6964:47;;5091:20:44;6011:23:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;8020:23:40;8016:149;;5237:15930:2;;;;;;;;;;;;;;;5091:20:44;5237:15930:2;8016:149:40;5237:15930:2;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;965:10:48;8114:40:40;-1:-1:-1;;;;;;;;;;;5237:15930:2;8114:40:40;;8016:149;;;;6964:47:2;5237:15930;;-1:-1:-1;;;6997:14:2;;5237:15930;;6997:14;5237:15930;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;4881:40:44;5237:15930:2;6900:1;5237:15930;;;4899:22:44;4881:40;;5237:15930:2;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;;;12553:12;5237:15930;;;;;;;;;12553:33;;5237:15930;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12672:45;;;5237:15930;;;;;-1:-1:-1;5237:15930:2;;;;;19584:32;;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;4445:42:9;5237:15930:2;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;:::i;:::-;13110:39;;;;:::i;:::-;:83;;;;;5237:15930;;;;;;;;;;;13110:83;20575:28;;;;:::i;:::-;13110:83;;;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;5859:58;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;16216:9;5237:15930;16227:16;;;;;;5237:15930;16216:9;-1:-1:-1;;;;;16277:11:2;;;;:::i;:::-;5237:15930;;16377:20;;;16373:47;;16537:6;5237:15930;16537:6;;;:::i;:::-;5237:15930;16216:9;;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;:::i;:::-;;;;5544:52;5237:15930;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;14658:53;5237:15930;;;:::i;:::-;6439:10;;;:::i;:::-;5237:15930;;;;14530:23;5237:15930;;;;;;;;;-1:-1:-1;;;;;;5237:15930:2;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;14658:53;5237:15930;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;:::i;:::-;;;;;19584:32;;5237:15930;;;;;;;-1:-1:-1;;;;;;5237:15930:2;;;;;;;;19584:32;;;5237:15930;;;;;;;19584:32;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;19574:43;;5237:15930;;;;9173:12;5237:15930;;;;;;;9173:30;5237:15930;;;9173:30;5237:15930;;9169:78;;-1:-1:-1;;;;;;5237:15930:2;;9317:20;9313:47;;9641:33;;;;:::i;:::-;5237:15930;;;;;;;:::i;:::-;;;;;9472:213;;;5237:15930;;;;9472:213;;;5237:15930;;;;9472:213;;5237:15930;;;;-1:-1:-1;;;;;5237:15930:2;;;;9472:213;;5237:15930;;;;;;9472:213;;5237:15930;-1:-1:-1;5237:15930:2;;;9173:12;5237:15930;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9472:213;;5237:15930;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9472:213;;5237:15930;;;;;;-1:-1:-1;;;;;5237:15930:2;;;-1:-1:-1;;;;;;5237:15930:2;;;;;;;;9472:213;;5237:15930;9173:30;5237:15930;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;9739:17;5237:15930;;;;;;;;;;;9942:16;;;;;:40;;5237:15930;9938:92;;;5237:15930;10056:16;;;;;;5237:15930;9472:213;;10512:103;9472:213;;;;5237:15930;;9472:213;;10553:12;9472:213;5237:15930;9472:213;;10567:16;5237:15930;;;;;;;9472:213;;5237:15930;;;;;;;;;9472:213;;5237:15930;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;10512:103;;;5237:15930;;;;;;10045:9;-1:-1:-1;;;;;10106:11:2;;;;:::i;:::-;5237:15930;;10206:20;;;10202:47;;10365:6;5237:15930;10365:6;;;:::i;:::-;5237:15930;10045:9;;9938:92;5237:15930;;-1:-1:-1;;;10005:14:2;;5237:15930;;10005:14;9942:40;-1:-1:-1;;;;;5237:15930:2;9972:10;9962:20;;;-1:-1:-1;9942:40:2;;;5237:15930;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;19584:32;;;;;5237:15930;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;9169:78;-1:-1:-1;;;9226:21:2;;5237:15930;;9226:21;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;13560:37;5237:15930;;:::i;:::-;;;13560:37;:::i;:::-;5237:15930;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;965:10:48;-1:-1:-1;;;;;5237:15930:2;;6484:23:40;5237:15930:2;;6588:7:40;5237:15930:2;;;6588:7:40;:::i;5237:15930:2:-;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;5410:7:40;5237:15930:2;;;;:::i;:::-;;;;;4955:6:40;5237:15930:2;;2809:4:40;5237:15930:2;;;;4955:22:40;5237:15930:2;2809:4:40;:::i;:::-;5410:7;:::i;5237:15930:2:-;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;:::i;:::-;965:10:48;5237:15930:2;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6011:23:2;5237:15930;;4260:23:40;4256:412;;-1:-1:-1;;;;;;5237:15930:2;;;20949:24;20945:51;;5237:15930;;21024:16;4445:42:9;21024:16:2;;:81;;;;;;;21043:21;;;21024:81;;6815:16:10;;;2570:369:14;;5237:15930:2;2570:369:14;;;;;;;;;;5237:15930:2;2570:369:14;;5237:15930:2;2570:369:14;5237:15930:2;2570:369:14;;6811:173:10;5237:15930:2;11581:1056:14;;;;;;;;;;;;;;;;;;;;5237:15930:2;;11581:1056:14;;;;;;;5237:15930:2;11581:1056:14;;5237:15930:2;11581:1056:14;5237:15930:2;11581:1056:14;;21024:81:2;5237:15930;;-1:-1:-1;;;21067:38:2;;21099:4;5237:15930;21067:38;;5237:15930;;;;;;;;21067:38;;;;;;;5237:15930;21067:38;;;21024:81;;;;;21067:38;;;;;;;;;;;;;;;;:::i;:::-;;;5237:15930;;;;;21067:38;;;;;;;;;5237:15930;;;;;;;;;4256:412:40;965:10:48;2563:52:49;965:10:48;2563:52:49;:::i;:::-;1884:437;5237:15930:2;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:49;;;5237:15930:2;;;;;;;;;2066:15:49;5237:15930:2;;;2066:15:49;5237:15930:2;2091:128:49;2124:5;;;;;;2236:10;;311:18;;5237:15930:2;;4351:274:40;5237:15930:2;;;;;4351:274:40;;;-1:-1:-1;;;4351:274:40;;;5237:15930:2;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;;;;;:::i;:::-;;4351:274:40;;;;;;;;;:::i;:::-;5237:15930:2;;;311:18:49;;;;;;4299:358:40;;5237:15930:2;4299:358:40;;5237:15930:2;;;;;;:::i;:::-;4299:358:40;;;311:18:49;;5237:15930:2;;;311:18:49;;;;;;;5237:15930:2;311:18:49;;;;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:49;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;5237:15930:2;;2131:3:49;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:49;;5237:15930:2;;;;;;;;;;;;2162:21:49;5237:15930:2;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;15157:12;5237:15930;;;;;15301:23;5237:15930;;;;;;;;;;;;;;15414:10;;;:22;15410:54;;15708:46;15550:13;;5237:15930;15550:13;;5237:15930;;;;;;;;;;;;;;;;;;15301:23;5237:15930;;;;;;;;;;;;;;;;;;15708:46;5237:15930;15410:54;5237:15930;;-1:-1:-1;;;15445:19:2;;5237:15930;;15445:19;5237:15930;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;4955:6:40;5237:15930:2;;;;;;;4955:22:40;5237:15930:2;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;13967:39;5237:15930;;:::i;:::-;;;13967:39;:::i;5237:15930::-;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3158:58:40;;;:98;;;;5237:15930:2;;;;;;;;;;3158:98:40;-1:-1:-1;;;1189:51:50;;-1:-1:-1;3158:98:40;;;5237:15930:2;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;;7572:12;5237:15930;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;5237:15930:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19584:32;5237:15930;-1:-1:-1;;5237:15930:2;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;:::o;:::-;19584:32;5237:15930;;;-1:-1:-1;;5237:15930:2;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;19584:32;5237:15930;;-1:-1:-1;;5237:15930:2;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5237:15930:2;;;;;;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;5237:15930:2;;;;-1:-1:-1;5237:15930:2;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;5237:15930:2;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;17659:152::-;17740:41;17659:152;17770:10;17740:41;;:::i;:::-;17739:42;17735:69;;17659:152::o;5237:15930::-;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;:::o;18166:969::-;5237:15930;;;;18303:29;;5237:15930;18303:29;5237:15930;18303:29;;;5237:15930;;;;;;;;;;;;;;:::i;:::-;18303:29;19584:32;18303:29;19584:32;;18303:29;;;;;;;;:::i;:::-;5237:15930;;18380:37;;;;;18411:4;;18380:37;18411:4;18380:37;;;:::i;:::-;;;;;;;;;:::i;:::-;18469:25;5237:15930;18452:67;5237:15930;;;;18469:25;;;5237:15930;;:::i;:::-;18469:25;;;;;;;;;;;;;5237:15930;;18452:67;;;5237:15930;18452:67;;;5237:15930;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;18452:67;;;;;;;:::i;:::-;5237:15930;18545:22;;5237:15930;;18706:19;;5237:15930;;-1:-1:-1;;;;;;18654:72:2;;;5237:15930;;;18411:4;5237:15930;;;;;;;;;;;;;;;;;;;;18654:72;;;;;5237:15930;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;18644:83;;5237:15930;18843:49;5237:15930;18843:49;;;;;;;;;;;;;;;;;;;18411:4;;;18843:49;;:::i;:::-;;;;-1:-1:-1;18843:49:2;;;;-1:-1:-1;;5237:15930:2;;-1:-1:-1;;;18993:47:2;;5237:15930;;;18993:47;5237:15930;18993:47;;;;;;;;-1:-1:-1;18993:47:2;;;18839:290;18993:61;;;;18989:88;;19091:27;18839:290;18166:969::o;18989:88::-;5237:15930;-1:-1:-1;;;19063:14:2;;18993:47;;19063:14;18993:47;;;;;;;;;;;;;:::i;:::-;;;5237:15930;;;;;;18993:47;;;;5237:15930;;;18993:47;;;;;;5237:15930;;;-1:-1:-1;5237:15930:2;;;;;18839:290;5237:15930;;18839:290;-1:-1:-1;;;;18166:969:2:o;19963:156::-;-1:-1:-1;5237:15930:2;;;20072:12;5237:15930;;;;;20072:30;;5237:15930;-1:-1:-1;;;;;5237:15930:2;;;;;20072:40;;19963:156::o;20464:146::-;-1:-1:-1;5237:15930:2;3459:6:40;5237:15930:2;;;-1:-1:-1;5237:15930:2;;;;;;;;-1:-1:-1;5237:15930:2;;;;;-1:-1:-1;5237:15930:2;;;20464:146;:::o;3789:103:40:-;-1:-1:-1;5237:15930:2;;;;;;3459:6:40;5237:15930:2;;;;;;;965:10:48;5237:15930:2;;;;;;;;;;4260:23:40;4256:412;;3789:103;;;;:::o;4256:412::-;2563:52:49;965:10:48;2563:52:49;:::i;:::-;4554:49:40;5237:15930:2;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2041:15:49;;;5237:15930:2;;;;;;;;;;;2066:15:49;5237:15930:2;;;2066:15:49;5237:15930:2;2091:128:49;2124:5;;;;;;2236:10;;;311:18;;5237:15930:2;;;;;4351:274:40;5237:15930:2;;;;4351:274:40;;;-1:-1:-1;;;4351:274:40;;;5237:15930:2;;;;;;;;;;;;;:::i;:::-;;4351:274:40;;;;;;;;;:::i;:::-;5237:15930:2;311:18:49;;;;;;4299:358:40;;2207:1:49;4299:358:40;;5237:15930:2;;;;;;:::i;311:18:49:-;;5237:15930:2;;;311:18:49;;;;;;;2207:1;311:18;;;;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:49;;2131:3;2171:11;;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;2207:1;5237:15930:2;2131:3:49;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:49;;;5237:15930:2;-1:-1:-1;;;5237:15930:2;;;2207:1:49;5237:15930:2;;;;2162:21:49;-1:-1:-1;;;5237:15930:2;;;2207:1:49;5237:15930:2;;;;;-1:-1:-1;;;5237:15930:2;;;;;;;;7938:233:40;;-1:-1:-1;5237:15930:2;;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;8020:23:40;8016:149;;7938:233;;;:::o;8016:149::-;5237:15930:2;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;965:10:48;8114:40:40;;;7938:233::o;8342:234::-;;-1:-1:-1;5237:15930:2;;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;8421:149:40;;8342:234;;;:::o;8421:149::-;5237:15930:2;;;3459:6:40;5237:15930:2;;;;;;;;;;;;;;;;;;;;8519:40:40;965:10:48;8519:40:40;;;8342:234::o;5237:15930:2:-;;;;;;;;;;;;;:::o;1884:437:49:-;5237:15930:2;;;;;;-1:-1:-1;;;;;5237:15930:2;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:49;;;5237:15930:2;;;;;;;;;2066:15:49;5237:15930:2;;;2066:15:49;5237:15930:2;2091:128:49;2124:5;;;;;;2236:10;;311:18;;1884:437;:::o;311:18::-;;5237:15930:2;;311:18:49;;;;;5237:15930:2;2207:1:49;311:18;;;5237:15930:2;311:18:49;;;5237:15930:2;-1:-1:-1;;;;;;;;;;;5237:15930:2;;;311:18:49;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;2207:1;5237:15930:2;2131:3:49;5237:15930:2;;;;-1:-1:-1;;5237:15930:2;;2096:26:49;;5237:15930:2;;;;;;;;;2207:1:49;5237:15930:2;;2162:21:49;5237:15930:2;;;;;;;;2207:1:49;5237:15930:2;","linkReferences":{}},"methodIdentifiers":{"ALLO_OWNER()":"cfda7e0a","DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","anchorToProfileId(address)":"4756487f","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address)":"c4d66de8","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","profileIdToPendingOwner(bytes32)":"50d005e0","profilesById(bytes32)":"ee888196","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ALLO_OWNER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"anchorToProfileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profileIdToPendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profilesById\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"This contract is used to create and manage profiles for the Allo protocol It is also used to deploy the anchor contract for each profile which acts as a proxy for the profile and is used to receive funds and execute transactions on behalf of the profile The Registry is also used to add and remove members from a profile and update the profile 'Metadata'\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\",\"params\":{\"_profileId\":\"The ID of the profile\"}},\"addMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_members\":\"The members to add\",\"_profileId\":\"The ID of the profile\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address\",\"params\":{\"_members\":\"The members of the profile (can be set only if msg.sender == _owner)\",\"_metadata\":\"The metadata of the profile\",\"_name\":\"The name of the profile\",\"_nonce\":\"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.\",\"_owner\":\"The owner of the profile\"},\"returns\":{\"_0\":\"The ID for the created profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Used when you have the 'anchor' address and want to retrieve the profile\",\"params\":{\"_anchor\":\"The anchor of the profile\"},\"returns\":{\"_0\":\"Profile details for the `_anchor`\"}},\"getProfileById(bytes32)\":{\"details\":\"Used when you have the 'profileId' and want to retrieve the profile\",\"params\":{\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"The Profile details for the `_profileId`\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\",\"params\":{\"_owner\":\"The owner of the contract\"}},\"isMemberOfProfile(bytes32,address)\":{\"params\":{\"_member\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is a member of the profile, otherwise 'false'\"}},\"isOwnerOfProfile(bytes32,address)\":{\"params\":{\"_owner\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner of the profile, otherwise 'false'\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"params\":{\"_account\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner or member of the profile, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be the Allo owner\",\"params\":{\"_recipient\":\"The address of the recipient\",\"_token\":\"The address of the token to transfer\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the pending owner of the profile.\",\"params\":{\"_members\":\"The members to remove\",\"_profileId\":\"The ID of the profile\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_metadata\":\"The new 'Metadata' of the profile\",\"_profileId\":\"The ID of the profile\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\",\"params\":{\"_name\":\"The new name of the profile\",\"_profileId\":\"The profileId of the profile\"},\"returns\":{\"anchor\":\"The new anchor\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\",\"params\":{\"_pendingOwner\":\"The new pending owner\",\"_profileId\":\"The ID of the profile\"}}},\"stateVariables\":{\"anchorToProfileId\":{\"details\":\"anchor -> Profile.id\"},\"profileIdToPendingOwner\":{\"details\":\"Profile.id -> pending owner\"},\"profilesById\":{\"details\":\"Profile.id -> Profile\"}},\"title\":\"Registry Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"ALLO_OWNER()\":{\"notice\":\"Allo Owner Role for fund recovery\"},\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"acceptProfileOwnership(bytes32)\":{\"notice\":\"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\"},\"addMembers(bytes32,address[])\":{\"notice\":\"Adds members to the profile\"},\"anchorToProfileId(address)\":{\"notice\":\"This maps the anchor address to the profile ID\"},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"notice\":\"Creates a new profile\"},\"getProfileByAnchor(address)\":{\"notice\":\"Retrieve profile by anchor\"},\"getProfileById(bytes32)\":{\"notice\":\"Retrieve profile by profileId\"},\"initialize(address)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is a member of the profile\"},\"isOwnerOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is an owner of the profile\"},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the address is an owner or member of the profile\"},\"profileIdToPendingOwner(bytes32)\":{\"notice\":\"This maps the profile ID to the pending owner\"},\"profilesById(bytes32)\":{\"notice\":\"This maps the profile ID to the profile details\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfers any fund balance in Allo to the recipient\"},\"removeMembers(bytes32,address[])\":{\"notice\":\"Removes members from the profile\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"notice\":\"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\"},\"updateProfileName(bytes32,string)\":{\"notice\":\"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event.\"},\"updateProfilePendingOwner(bytes32,address)\":{\"notice\":\"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\"}},\"notice\":\"Registry contract for creating and managing profiles\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Registry.sol\":\"Registry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ALLO_OWNER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"anchorToProfileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profileIdToPendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profilesById","outputs":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.","params":{"_profileId":"The ID of the profile"}},"addMembers(bytes32,address[])":{"details":"'msg.sender' must be the owner of the profile.","params":{"_members":"The members to add","_profileId":"The ID of the profile"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address","params":{"_members":"The members of the profile (can be set only if msg.sender == _owner)","_metadata":"The metadata of the profile","_name":"The name of the profile","_nonce":"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.","_owner":"The owner of the profile"},"returns":{"_0":"The ID for the created profile"}},"getProfileByAnchor(address)":{"details":"Used when you have the 'anchor' address and want to retrieve the profile","params":{"_anchor":"The anchor of the profile"},"returns":{"_0":"Profile details for the `_anchor`"}},"getProfileById(bytes32)":{"details":"Used when you have the 'profileId' and want to retrieve the profile","params":{"_profileId":"The ID of the profile"},"returns":{"_0":"The Profile details for the `_profileId`"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address)":{"details":"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'","params":{"_owner":"The owner of the contract"}},"isMemberOfProfile(bytes32,address)":{"params":{"_member":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is a member of the profile, otherwise 'false'"}},"isOwnerOfProfile(bytes32,address)":{"params":{"_owner":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner of the profile, otherwise 'false'"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"params":{"_account":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner or member of the profile, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be the Allo owner","params":{"_recipient":"The address of the recipient","_token":"The address of the token to transfer"}},"removeMembers(bytes32,address[])":{"details":"'msg.sender' must be the pending owner of the profile.","params":{"_members":"The members to remove","_profileId":"The ID of the profile"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"'msg.sender' must be the owner of the profile.","params":{"_metadata":"The new 'Metadata' of the profile","_profileId":"The ID of the profile"}},"updateProfileName(bytes32,string)":{"details":"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.","params":{"_name":"The new name of the profile","_profileId":"The profileId of the profile"},"returns":{"anchor":"The new anchor"}},"updateProfilePendingOwner(bytes32,address)":{"details":"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.","params":{"_pendingOwner":"The new pending owner","_profileId":"The ID of the profile"}}},"version":1},"userdoc":{"kind":"user","methods":{"ALLO_OWNER()":{"notice":"Allo Owner Role for fund recovery"},"NATIVE()":{"notice":"Address of the native token"},"acceptProfileOwnership(bytes32)":{"notice":"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event."},"addMembers(bytes32,address[])":{"notice":"Adds members to the profile"},"anchorToProfileId(address)":{"notice":"This maps the anchor address to the profile ID"},"createProfile(uint256,string,(uint256,string),address,address[])":{"notice":"Creates a new profile"},"getProfileByAnchor(address)":{"notice":"Retrieve profile by anchor"},"getProfileById(bytes32)":{"notice":"Retrieve profile by profileId"},"initialize(address)":{"notice":"Initializes the contract after an upgrade"},"isMemberOfProfile(bytes32,address)":{"notice":"Checks if the given address is a member of the profile"},"isOwnerOfProfile(bytes32,address)":{"notice":"Checks if the given address is an owner of the profile"},"isOwnerOrMemberOfProfile(bytes32,address)":{"notice":"Checks if the address is an owner or member of the profile"},"profileIdToPendingOwner(bytes32)":{"notice":"This maps the profile ID to the pending owner"},"profilesById(bytes32)":{"notice":"This maps the profile ID to the profile details"},"recoverFunds(address,address)":{"notice":"Transfers any fund balance in Allo to the recipient"},"removeMembers(bytes32,address[])":{"notice":"Removes members from the profile"},"updateProfileMetadata(bytes32,(uint256,string))":{"notice":"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event."},"updateProfileName(bytes32,string)":{"notice":"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event."},"updateProfilePendingOwner(bytes32,address)":{"notice":"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Registry.sol":"Registry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":53266,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":51686,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)"},{"astId":51993,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":1525,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchorToProfileId","offset":0,"slot":"151","type":"t_mapping(t_address,t_bytes32)"},{"astId":1531,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profilesById","offset":0,"slot":"152","type":"t_mapping(t_bytes32,t_struct(Profile)2629_storage)"},{"astId":1536,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profileIdToPendingOwner","offset":0,"slot":"153","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_bytes32)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bytes32)","numberOfBytes":"32","value":"t_bytes32"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_bytes32,t_struct(Profile)2629_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct IRegistry.Profile)","numberOfBytes":"32","value":"t_struct(Profile)2629_storage"},"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)51681_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Profile)2629_storage":{"encoding":"inplace","label":"struct IRegistry.Profile","numberOfBytes":"224","members":[{"astId":2617,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"id","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2619,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"nonce","offset":0,"slot":"1","type":"t_uint256"},{"astId":2621,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"name","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2624,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2626,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"owner","offset":0,"slot":"5","type":"t_address"},{"astId":2628,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchor","offset":0,"slot":"6","type":"t_address"}]},"t_struct(RoleData)51681_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":51678,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":51680,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","id":2296,"exportedSymbols":{"AccessControlUpgradeable":[51994],"AddressUpgradeable":[52942],"Anchor":[1492],"ContextUpgradeable":[52993],"ERC165Upgradeable":[53267],"ERC20":[4491],"Errors":[3089],"IAccessControlUpgradeable":[52067],"IERC165Upgradeable":[53279],"IRegistry":[2802],"Initializable":[52449],"MathUpgradeable":[54145],"Metadata":[3098],"Native":[3106],"Registry":[2295],"SafeTransferLib":[4649],"SignedMathUpgradeable":[54250],"StringsUpgradeable":[53222],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:21126:2","nodes":[{"id":1494,"nodeType":"PragmaDirective","src":"42:23:2","nodes":[],"literals":["solidity","0.8",".19"]},{"id":1495,"nodeType":"ImportDirective","src":"89:90:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":51995,"symbolAliases":[],"unitAlias":""},{"id":1496,"nodeType":"ImportDirective","src":"180:84:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":52450,"symbolAliases":[],"unitAlias":""},{"id":1498,"nodeType":"ImportDirective","src":"265:50:2","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":1497,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"273:5:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1499,"nodeType":"ImportDirective","src":"330:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":2803,"symbolAliases":[],"unitAlias":""},{"id":1501,"nodeType":"ImportDirective","src":"389:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Anchor.sol","file":"./Anchor.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":1493,"symbolAliases":[{"foreign":{"id":1500,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"397:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1503,"nodeType":"ImportDirective","src":"426:46:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":1502,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"434:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1505,"nodeType":"ImportDirective","src":"473:50:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"./libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":1504,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"481:8:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1506,"nodeType":"ImportDirective","src":"524:32:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":1507,"nodeType":"ImportDirective","src":"557:34:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3318,"symbolAliases":[],"unitAlias":""},{"id":2295,"nodeType":"ContractDefinition","src":"5237:15930:2","nodes":[{"id":1525,"nodeType":"VariableDeclaration","src":"5544:52:2","nodes":[],"constant":false,"documentation":{"id":1521,"nodeType":"StructuredDocumentation","src":"5447:92:2","text":"@notice This maps the anchor address to the profile ID\n @dev anchor -> Profile.id"},"functionSelector":"4756487f","mutability":"mutable","name":"anchorToProfileId","nameLocation":"5579:17:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"typeName":{"id":1524,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"5552:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5544:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5563:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":1531,"nodeType":"VariableDeclaration","src":"5702:47:2","nodes":[],"constant":false,"documentation":{"id":1526,"nodeType":"StructuredDocumentation","src":"5603:94:2","text":"@notice This maps the profile ID to the profile details\n @dev Profile.id -> Profile"},"functionSelector":"ee888196","mutability":"mutable","name":"profilesById","nameLocation":"5737:12:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"typeName":{"id":1530,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5710:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5702:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1529,"nodeType":"UserDefinedTypeName","pathNode":{"id":1528,"name":"Profile","nameLocations":["5721:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"5721:7:2"},"referencedDeclaration":2629,"src":"5721:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}}},"visibility":"public"},{"id":1536,"nodeType":"VariableDeclaration","src":"5859:58:2","nodes":[],"constant":false,"documentation":{"id":1532,"nodeType":"StructuredDocumentation","src":"5756:98:2","text":"@notice This maps the profile ID to the pending owner\n @dev Profile.id -> pending owner"},"functionSelector":"50d005e0","mutability":"mutable","name":"profileIdToPendingOwner","nameLocation":"5894:23:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":1535,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5859:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1534,"name":"address","nodeType":"ElementaryTypeName","src":"5878:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":1542,"nodeType":"VariableDeclaration","src":"5974:60:2","nodes":[],"constant":true,"documentation":{"id":1537,"nodeType":"StructuredDocumentation","src":"5924:45:2","text":"@notice Allo Owner Role for fund recovery"},"functionSelector":"cfda7e0a","mutability":"constant","name":"ALLO_OWNER","nameLocation":"5998:10:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"414c4c4f5f4f574e4552","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6021:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""},"value":"ALLO_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""}],"id":1539,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6011:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6011:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":1553,"nodeType":"ModifierDefinition","src":"6360:108:2","nodes":[],"body":{"id":1552,"nodeType":"Block","src":"6406:62:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1548,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1545,"src":"6439:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1547,"name":"_checkOnlyProfileOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2071,"src":"6416:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1550,"nodeType":"ExpressionStatement","src":"6416:34:2"},{"id":1551,"nodeType":"PlaceholderStatement","src":"6460:1:2"}]},"documentation":{"id":1543,"nodeType":"StructuredDocumentation","src":"6177:178:2","text":"@notice Checks if the caller is the profile owner\n @dev Reverts `UNAUTHORIZED()` if the caller is not the profile owner\n @param _profileId The ID of the profile"},"name":"onlyProfileOwner","nameLocation":"6369:16:2","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"mutability":"mutable","name":"_profileId","nameLocation":"6394:10:2","nodeType":"VariableDeclaration","scope":1553,"src":"6386:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6386:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6385:20:2"},"virtual":false,"visibility":"internal"},{"id":1578,"nodeType":"FunctionDefinition","src":"6841:257:2","nodes":[],"body":{"id":1577,"nodeType":"Block","src":"6903:195:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1562,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"6968:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6986:1:2","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":1564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6978:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1563,"name":"address","nodeType":"ElementaryTypeName","src":"6978:7:2","typeDescriptions":{}}},"id":1566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6978:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6968:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1571,"nodeType":"IfStatement","src":"6964:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1568,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"6997:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6997:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1570,"nodeType":"RevertStatement","src":"6990:21:2"}},{"expression":{"arguments":[{"id":1573,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"7072:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1574,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"7084:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1572,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"7061:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1576,"nodeType":"ExpressionStatement","src":"7061:30:2"}]},"documentation":{"id":1554,"nodeType":"StructuredDocumentation","src":"6608:228:2","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\n @param _owner The owner of the contract"},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":1559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6900:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":1560,"kind":"modifierInvocation","modifierName":{"id":1558,"name":"reinitializer","nameLocations":["6886:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":52384,"src":"6886:13:2"},"nodeType":"ModifierInvocation","src":"6886:16:2"}],"name":"initialize","nameLocation":"6850:10:2","parameters":{"id":1557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1556,"mutability":"mutable","name":"_owner","nameLocation":"6869:6:2","nodeType":"VariableDeclaration","scope":1578,"src":"6861:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1555,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6860:16:2"},"returnParameters":{"id":1561,"nodeType":"ParameterList","parameters":[],"src":"6903:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1592,"nodeType":"FunctionDefinition","src":"7472:131:2","nodes":[],"body":{"id":1591,"nodeType":"Block","src":"7555:48:2","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1587,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7572:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1589,"indexExpression":{"id":1588,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1581,"src":"7585:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7572:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1586,"id":1590,"nodeType":"Return","src":"7565:31:2"}]},"baseFunctions":[2685],"documentation":{"id":1579,"nodeType":"StructuredDocumentation","src":"7240:227:2","text":"@notice Retrieve profile by profileId\n @dev Used when you have the 'profileId' and want to retrieve the profile\n @param _profileId The ID of the profile\n @return The Profile details for the `_profileId`"},"functionSelector":"0114cf0a","implemented":true,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"7481:14:2","parameters":{"id":1582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1581,"mutability":"mutable","name":"_profileId","nameLocation":"7504:10:2","nodeType":"VariableDeclaration","scope":1592,"src":"7496:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7495:20:2"},"returnParameters":{"id":1586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1592,"src":"7539:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1584,"nodeType":"UserDefinedTypeName","pathNode":{"id":1583,"name":"Profile","nameLocations":["7539:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7539:7:2"},"referencedDeclaration":2629,"src":"7539:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7538:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1612,"nodeType":"FunctionDefinition","src":"7837:187:2","nodes":[],"body":{"id":1611,"nodeType":"Block","src":"7921:103:2","nodes":[],"statements":[{"assignments":[1602],"declarations":[{"constant":false,"id":1602,"mutability":"mutable","name":"profileId","nameLocation":"7939:9:2","nodeType":"VariableDeclaration","scope":1611,"src":"7931:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7931:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1606,"initialValue":{"baseExpression":{"id":1603,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"7951:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1605,"indexExpression":{"id":1604,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7969:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7951:26:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7931:46:2"},{"expression":{"baseExpression":{"id":1607,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7994:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1609,"indexExpression":{"id":1608,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1602,"src":"8007:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7994:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1600,"id":1610,"nodeType":"Return","src":"7987:30:2"}]},"baseFunctions":[2694],"documentation":{"id":1593,"nodeType":"StructuredDocumentation","src":"7609:223:2","text":"@notice Retrieve profile by anchor\n @dev Used when you have the 'anchor' address and want to retrieve the profile\n @param _anchor The anchor of the profile\n @return Profile details for the `_anchor`"},"functionSelector":"dd93da43","implemented":true,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"7846:18:2","parameters":{"id":1596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1595,"mutability":"mutable","name":"_anchor","nameLocation":"7873:7:2","nodeType":"VariableDeclaration","scope":1612,"src":"7865:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1594,"name":"address","nodeType":"ElementaryTypeName","src":"7865:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7864:17:2"},"returnParameters":{"id":1600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1612,"src":"7905:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1598,"nodeType":"UserDefinedTypeName","pathNode":{"id":1597,"name":"Profile","nameLocations":["7905:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7905:7:2"},"referencedDeclaration":2629,"src":"7905:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7904:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1756,"nodeType":"FunctionDefinition","src":"8781:1901:2","nodes":[],"body":{"id":1755,"nodeType":"Block","src":"8984:1698:2","nodes":[],"statements":[{"assignments":[1631],"declarations":[{"constant":false,"id":1631,"mutability":"mutable","name":"profileId","nameLocation":"9068:9:2","nodeType":"VariableDeclaration","scope":1755,"src":"9060:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9060:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1636,"initialValue":{"arguments":[{"id":1633,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9099:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1634,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9107:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1632,"name":"_generateProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"9080:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9060:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1637,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9173:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1639,"indexExpression":{"id":1638,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9186:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9173:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9197:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9173:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9215:1:2","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":1642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9207:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1641,"name":"address","nodeType":"ElementaryTypeName","src":"9207:7:2","typeDescriptions":{}}},"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9173:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1649,"nodeType":"IfStatement","src":"9169:78:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1646,"name":"NONCE_NOT_AVAILABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3026,"src":"9226:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9226:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1648,"nodeType":"RevertStatement","src":"9219:28:2"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1650,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9317:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9335:1:2","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":1652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9327:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1651,"name":"address","nodeType":"ElementaryTypeName","src":"9327:7:2","typeDescriptions":{}}},"id":1654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9327:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9317:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1659,"nodeType":"IfStatement","src":"9313:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1656,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"9346:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1658,"nodeType":"RevertStatement","src":"9339:21:2"}},{"assignments":[1662],"declarations":[{"constant":false,"id":1662,"mutability":"mutable","name":"profile","nameLocation":"9462:7:2","nodeType":"VariableDeclaration","scope":1755,"src":"9447:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1661,"nodeType":"UserDefinedTypeName","pathNode":{"id":1660,"name":"Profile","nameLocations":["9447:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"9447:7:2"},"referencedDeclaration":2629,"src":"9447:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1674,"initialValue":{"arguments":[{"id":1664,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9498:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1665,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9528:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1666,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9554:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1667,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"9583:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":1668,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1670,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9657:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1671,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9668:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1669,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"9641:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1663,"name":"Profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2629,"src":"9472:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Profile_$2629_storage_ptr_$","typeString":"type(struct IRegistry.Profile storage pointer)"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9494:2:2","9521:5:2","9548:4:2","9573:8:2","9606:5:2","9633:6:2"],"names":["id","nonce","name","metadata","owner","anchor"],"nodeType":"FunctionCall","src":"9472:213:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"nodeType":"VariableDeclarationStatement","src":"9447:238:2"},{"expression":{"id":1679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1675,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9696:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1677,"indexExpression":{"id":1676,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9709:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9696:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1678,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9722:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"src":"9696:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1680,"nodeType":"ExpressionStatement","src":"9696:33:2"},{"expression":{"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1681,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9739:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1684,"indexExpression":{"expression":{"id":1682,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9757:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9765:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9757:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9739:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1685,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9775:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9739:45:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1687,"nodeType":"ExpressionStatement","src":"9739:45:2"},{"assignments":[1689],"declarations":[{"constant":false,"id":1689,"mutability":"mutable","name":"memberLength","nameLocation":"9851:12:2","nodeType":"VariableDeclaration","scope":1755,"src":"9843:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1688,"name":"uint256","nodeType":"ElementaryTypeName","src":"9843:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1692,"initialValue":{"expression":{"id":1690,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"9866:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9875:6:2","memberName":"length","nodeType":"MemberAccess","src":"9866:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9843:38:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1693,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"9942:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9962:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9972:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9976:6:2","memberName":"sender","nodeType":"MemberAccess","src":"9972:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9962:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1705,"nodeType":"IfStatement","src":"9938:92:2","trueBody":{"id":1704,"nodeType":"Block","src":"9984:46:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1701,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"10005:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10005:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1703,"nodeType":"RevertStatement","src":"9998:21:2"}]}},{"body":{"id":1737,"nodeType":"Block","src":"10075:367:2","statements":[{"assignments":[1713],"declarations":[{"constant":false,"id":1713,"mutability":"mutable","name":"member","nameLocation":"10097:6:2","nodeType":"VariableDeclaration","scope":1737,"src":"10089:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1712,"name":"address","nodeType":"ElementaryTypeName","src":"10089:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1717,"initialValue":{"baseExpression":{"id":1714,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"10106:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1716,"indexExpression":{"id":1715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10115:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10106:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10089:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1718,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10206:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10224:1:2","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":1720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10216:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1719,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:2","typeDescriptions":{}}},"id":1722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10216:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10206:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1727,"nodeType":"IfStatement","src":"10202:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1724,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10235:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10235:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1726,"nodeType":"RevertStatement","src":"10228:21:2"}},{"expression":{"arguments":[{"id":1729,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10354:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1730,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10365:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1728,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"10343:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10343:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"10343:29:2"},{"id":1736,"nodeType":"UncheckedBlock","src":"10386:46:2","statements":[{"expression":{"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10414:3:2","subExpression":{"id":1733,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10416:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ExpressionStatement","src":"10414:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10056:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1710,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"10060:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10056:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1738,"initializationExpression":{"assignments":[1707],"declarations":[{"constant":false,"id":1707,"mutability":"mutable","name":"i","nameLocation":"10053:1:2","nodeType":"VariableDeclaration","scope":1738,"src":"10045:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1706,"name":"uint256","nodeType":"ElementaryTypeName","src":"10045:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1708,"nodeType":"VariableDeclarationStatement","src":"10045:9:2"},"nodeType":"ForStatement","src":"10040:402:2"},{"eventCall":{"arguments":[{"id":1740,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10527:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1741,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10546:5:2","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"10538:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1743,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10553:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10561:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"10553:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1745,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10575:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"10567:16:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"expression":{"id":1747,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10585:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10593:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"10585:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1749,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10600:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10608:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"10600:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1739,"name":"ProfileCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"10512:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,struct Metadata memory,address,address)"}},"id":1751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1752,"nodeType":"EmitStatement","src":"10507:108:2"},{"expression":{"id":1753,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10666:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1629,"id":1754,"nodeType":"Return","src":"10659:16:2"}]},"baseFunctions":[2742],"documentation":{"id":1613,"nodeType":"StructuredDocumentation","src":"8030:746:2","text":"@notice Creates a new profile\n @dev This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event\n Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile\n Note: The 'name' and 'profileId' are used to generate the 'anchor' address\n @param _nonce Nonce used to generate profileId. Can be any integer, but should be unique\n for each profile.\n @param _name The name of the profile\n @param _metadata The metadata of the profile\n @param _owner The owner of the profile\n @param _members The members of the profile (can be set only if msg.sender == _owner)\n @return The ID for the created profile"},"functionSelector":"3a92f65f","implemented":true,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"8790:13:2","parameters":{"id":1626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"_nonce","nameLocation":"8821:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8813:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1614,"name":"uint256","nodeType":"ElementaryTypeName","src":"8813:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"_name","nameLocation":"8851:5:2","nodeType":"VariableDeclaration","scope":1756,"src":"8837:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1616,"name":"string","nodeType":"ElementaryTypeName","src":"8837:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1620,"mutability":"mutable","name":"_metadata","nameLocation":"8882:9:2","nodeType":"VariableDeclaration","scope":1756,"src":"8866:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1619,"nodeType":"UserDefinedTypeName","pathNode":{"id":1618,"name":"Metadata","nameLocations":["8866:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8866:8:2"},"referencedDeclaration":3098,"src":"8866:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"_owner","nameLocation":"8909:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8901:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1621,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1625,"mutability":"mutable","name":"_members","nameLocation":"8942:8:2","nodeType":"VariableDeclaration","scope":1756,"src":"8925:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1623,"name":"address","nodeType":"ElementaryTypeName","src":"8925:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1624,"nodeType":"ArrayTypeName","src":"8925:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8803:153:2"},"returnParameters":{"id":1629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1756,"src":"8975:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8975:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8974:9:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1820,"nodeType":"FunctionDefinition","src":"11210:830:2","nodes":[],"body":{"id":1819,"nodeType":"Block","src":"11369:671:2","nodes":[],"statements":[{"expression":{"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1769,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11420:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1771,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11445:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1772,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11457:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1770,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"11429:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11429:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11420:43:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1775,"nodeType":"ExpressionStatement","src":"11420:43:2"},{"assignments":[1778],"declarations":[{"constant":false,"id":1778,"mutability":"mutable","name":"profile","nameLocation":"11554:7:2","nodeType":"VariableDeclaration","scope":1819,"src":"11538:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1777,"nodeType":"UserDefinedTypeName","pathNode":{"id":1776,"name":"Profile","nameLocations":["11538:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"11538:7:2"},"referencedDeclaration":2629,"src":"11538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1782,"initialValue":{"baseExpression":{"id":1779,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"11564:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1781,"indexExpression":{"id":1780,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11577:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11564:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11538:50:2"},{"expression":{"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1783,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11627:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11635:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"11627:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1786,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11642:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11627:20:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1788,"nodeType":"ExpressionStatement","src":"11627:20:2"},{"expression":{"id":1797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1789,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11687:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1792,"indexExpression":{"expression":{"id":1790,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11705:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11713:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11705:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11687:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":1795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11731:1:2","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":1794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11723:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11723:7:2","typeDescriptions":{}}},"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11723:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11687:46:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1798,"nodeType":"ExpressionStatement","src":"11687:46:2"},{"expression":{"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1799,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11774:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11782:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11774:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1802,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11791:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11774:23:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1804,"nodeType":"ExpressionStatement","src":"11774:23:2"},{"expression":{"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1805,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11807:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1807,"indexExpression":{"id":1806,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11825:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11807:25:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1808,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11835:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11807:38:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1810,"nodeType":"ExpressionStatement","src":"11807:38:2"},{"eventCall":{"arguments":[{"id":1812,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11950:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1813,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11962:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1814,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11969:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1811,"name":"ProfileNameUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"11931:18:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,string memory,address)"}},"id":1815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1816,"nodeType":"EmitStatement","src":"11926:50:2"},{"expression":{"id":1817,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"12027:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1768,"id":1818,"nodeType":"Return","src":"12020:13:2"}]},"baseFunctions":[2752],"documentation":{"id":1757,"nodeType":"StructuredDocumentation","src":"10688:517:2","text":"@notice Updates the name of the profile and generates new anchor.\n Emits a 'ProfileNameUpdated()' event.\n @dev Use caution when updating your profile name as it will generate a new anchor address. You can always update the name\n back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\n @param _profileId The profileId of the profile\n @param _name The new name of the profile\n @return anchor The new anchor"},"functionSelector":"cf189ff2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1764,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11320:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1765,"kind":"modifierInvocation","modifierName":{"id":1763,"name":"onlyProfileOwner","nameLocations":["11303:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"11303:16:2"},"nodeType":"ModifierInvocation","src":"11303:28:2"}],"name":"updateProfileName","nameLocation":"11219:17:2","parameters":{"id":1762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1759,"mutability":"mutable","name":"_profileId","nameLocation":"11245:10:2","nodeType":"VariableDeclaration","scope":1820,"src":"11237:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11237:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1761,"mutability":"mutable","name":"_name","nameLocation":"11271:5:2","nodeType":"VariableDeclaration","scope":1820,"src":"11257:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1760,"name":"string","nodeType":"ElementaryTypeName","src":"11257:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11236:41:2"},"returnParameters":{"id":1768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1767,"mutability":"mutable","name":"anchor","nameLocation":"11357:6:2","nodeType":"VariableDeclaration","scope":1820,"src":"11349:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1766,"name":"address","nodeType":"ElementaryTypeName","src":"11349:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11348:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1845,"nodeType":"FunctionDefinition","src":"12309:415:2","nodes":[],"body":{"id":1844,"nodeType":"Block","src":"12445:279:2","nodes":[],"statements":[{"expression":{"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1832,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"12553:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1834,"indexExpression":{"id":1833,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12566:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12553:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12578:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"12553:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1836,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12589:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12553:45:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":1838,"nodeType":"ExpressionStatement","src":"12553:45:2"},{"eventCall":{"arguments":[{"id":1840,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12695:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1841,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12707:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":1839,"name":"ProfileMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"12672:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,struct Metadata memory)"}},"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12672:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1843,"nodeType":"EmitStatement","src":"12667:50:2"}]},"baseFunctions":[2761],"documentation":{"id":1821,"nodeType":"StructuredDocumentation","src":"12046:258:2","text":"@notice Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _metadata The new 'Metadata' of the profile"},"functionSelector":"ac402839","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1829,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12429:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1830,"kind":"modifierInvocation","modifierName":{"id":1828,"name":"onlyProfileOwner","nameLocations":["12412:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"12412:16:2"},"nodeType":"ModifierInvocation","src":"12412:28:2"}],"name":"updateProfileMetadata","nameLocation":"12318:21:2","parameters":{"id":1827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1823,"mutability":"mutable","name":"_profileId","nameLocation":"12348:10:2","nodeType":"VariableDeclaration","scope":1845,"src":"12340:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12340:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1826,"mutability":"mutable","name":"_metadata","nameLocation":"12376:9:2","nodeType":"VariableDeclaration","scope":1845,"src":"12360:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1825,"nodeType":"UserDefinedTypeName","pathNode":{"id":1824,"name":"Metadata","nameLocations":["12360:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12360:8:2"},"referencedDeclaration":3098,"src":"12360:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12339:47:2"},"returnParameters":{"id":1831,"nodeType":"ParameterList","parameters":[],"src":"12445:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1866,"nodeType":"FunctionDefinition","src":"12992:208:2","nodes":[],"body":{"id":1865,"nodeType":"Block","src":"13093:107:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1856,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13128:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1857,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13140:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1855,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13110:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13110:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1860,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13172:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1861,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13184:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1859,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13153:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13153:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13110:83:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1864,"nodeType":"Return","src":"13103:90:2"}]},"baseFunctions":[2704],"documentation":{"id":1846,"nodeType":"StructuredDocumentation","src":"12730:257:2","text":"@notice Checks if the address is an owner or member of the profile\n @param _profileId The ID of the profile\n @param _account The address to check\n @return 'true' if the address is an owner or member of the profile, otherwise 'false'"},"functionSelector":"5e8a7915","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"13001:24:2","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1848,"mutability":"mutable","name":"_profileId","nameLocation":"13034:10:2","nodeType":"VariableDeclaration","scope":1866,"src":"13026:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13026:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"_account","nameLocation":"13054:8:2","nodeType":"VariableDeclaration","scope":1866,"src":"13046:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"13046:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13025:38:2"},"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1866,"src":"13087:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13087:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13086:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1882,"nodeType":"FunctionDefinition","src":"13452:152:2","nodes":[],"body":{"id":1881,"nodeType":"Block","src":"13543:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1877,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"13578:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1878,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"13590:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1876,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13560:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13560:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1875,"id":1880,"nodeType":"Return","src":"13553:44:2"}]},"baseFunctions":[2714],"documentation":{"id":1867,"nodeType":"StructuredDocumentation","src":"13206:241:2","text":"@notice Checks if the given address is an owner of the profile\n @param _profileId The ID of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"functionSelector":"39b86b8c","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"13461:16:2","parameters":{"id":1872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"_profileId","nameLocation":"13486:10:2","nodeType":"VariableDeclaration","scope":1882,"src":"13478:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13478:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"_owner","nameLocation":"13506:6:2","nodeType":"VariableDeclaration","scope":1882,"src":"13498:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1870,"name":"address","nodeType":"ElementaryTypeName","src":"13498:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13477:36:2"},"returnParameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1882,"src":"13537:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1873,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13536:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1898,"nodeType":"FunctionDefinition","src":"13857:156:2","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"13950:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"13986:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1894,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"13998:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1892,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13967:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13967:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1891,"id":1896,"nodeType":"Return","src":"13960:46:2"}]},"baseFunctions":[2724],"documentation":{"id":1883,"nodeType":"StructuredDocumentation","src":"13610:242:2","text":"@notice Checks if the given address is a member of the profile\n @param _profileId The ID of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"functionSelector":"0ec1fbac","implemented":true,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"13866:17:2","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1885,"mutability":"mutable","name":"_profileId","nameLocation":"13892:10:2","nodeType":"VariableDeclaration","scope":1898,"src":"13884:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13884:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"_member","nameLocation":"13912:7:2","nodeType":"VariableDeclaration","scope":1898,"src":"13904:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1886,"name":"address","nodeType":"ElementaryTypeName","src":"13904:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13883:37:2"},"returnParameters":{"id":1891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1898,"src":"13944:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1889,"name":"bool","nodeType":"ElementaryTypeName","src":"13944:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13943:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1921,"nodeType":"FunctionDefinition","src":"14336:382:2","nodes":[],"body":{"id":1920,"nodeType":"Block","src":"14472:246:2","nodes":[],"statements":[{"expression":{"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1909,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"14530:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1911,"indexExpression":{"id":1910,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14554:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14530:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1912,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14568:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14530:51:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1914,"nodeType":"ExpressionStatement","src":"14530:51:2"},{"eventCall":{"arguments":[{"id":1916,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14685:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1917,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14697:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1915,"name":"ProfilePendingOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2676,"src":"14658:26:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1919,"nodeType":"EmitStatement","src":"14653:58:2"}]},"baseFunctions":[2769],"documentation":{"id":1899,"nodeType":"StructuredDocumentation","src":"14019:312:2","text":"@notice Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\n @dev 'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\n @param _profileId The ID of the profile\n @param _pendingOwner The new pending owner"},"functionSelector":"3b66dacd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1906,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14456:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1907,"kind":"modifierInvocation","modifierName":{"id":1905,"name":"onlyProfileOwner","nameLocations":["14439:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"14439:16:2"},"nodeType":"ModifierInvocation","src":"14439:28:2"}],"name":"updateProfilePendingOwner","nameLocation":"14345:25:2","parameters":{"id":1904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"_profileId","nameLocation":"14379:10:2","nodeType":"VariableDeclaration","scope":1921,"src":"14371:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14371:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1903,"mutability":"mutable","name":"_pendingOwner","nameLocation":"14399:13:2","nodeType":"VariableDeclaration","scope":1921,"src":"14391:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1902,"name":"address","nodeType":"ElementaryTypeName","src":"14391:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14370:43:2"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"14472:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1966,"nodeType":"FunctionDefinition","src":"15016:745:2","nodes":[],"body":{"id":1965,"nodeType":"Block","src":"15077:684:2","nodes":[],"statements":[{"assignments":[1929],"declarations":[{"constant":false,"id":1929,"mutability":"mutable","name":"profile","nameLocation":"15147:7:2","nodeType":"VariableDeclaration","scope":1965,"src":"15131:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1928,"nodeType":"UserDefinedTypeName","pathNode":{"id":1927,"name":"Profile","nameLocations":["15131:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"15131:7:2"},"referencedDeclaration":2629,"src":"15131:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1933,"initialValue":{"baseExpression":{"id":1930,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"15157:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1932,"indexExpression":{"id":1931,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15170:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15157:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15131:50:2"},{"assignments":[1935],"declarations":[{"constant":false,"id":1935,"mutability":"mutable","name":"newOwner","nameLocation":"15290:8:2","nodeType":"VariableDeclaration","scope":1965,"src":"15282:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1934,"name":"address","nodeType":"ElementaryTypeName","src":"15282:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1939,"initialValue":{"baseExpression":{"id":1936,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15301:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1938,"indexExpression":{"id":1937,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15325:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15301:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15282:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1940,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15414:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15418:6:2","memberName":"sender","nodeType":"MemberAccess","src":"15414:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1942,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15428:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15414:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1947,"nodeType":"IfStatement","src":"15410:54:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1944,"name":"NOT_PENDING_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"15445:17:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1946,"nodeType":"RevertStatement","src":"15438:26:2"}},{"expression":{"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1948,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15558:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15550:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1951,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15566:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15550:24:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1953,"nodeType":"ExpressionStatement","src":"15550:24:2"},{"expression":{"id":1957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"15584:42:2","subExpression":{"baseExpression":{"id":1954,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15591:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1956,"indexExpression":{"id":1955,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15615:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15591:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1958,"nodeType":"ExpressionStatement","src":"15584:42:2"},{"eventCall":{"arguments":[{"id":1960,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15728:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1961,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15740:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15748:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15740:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1959,"name":"ProfileOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2669,"src":"15708:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15708:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1964,"nodeType":"EmitStatement","src":"15703:51:2"}]},"baseFunctions":[2775],"documentation":{"id":1922,"nodeType":"StructuredDocumentation","src":"14724:287:2","text":"@notice Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\n @dev 'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\n @param _profileId The ID of the profile"},"functionSelector":"2497f3c6","implemented":true,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"15025:22:2","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1924,"mutability":"mutable","name":"_profileId","nameLocation":"15056:10:2","nodeType":"VariableDeclaration","scope":1966,"src":"15048:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15047:20:2"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"15077:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2017,"nodeType":"FunctionDefinition","src":"15962:658:2","nodes":[],"body":{"id":2016,"nodeType":"Block","src":"16067:553:2","nodes":[],"statements":[{"assignments":[1979],"declarations":[{"constant":false,"id":1979,"mutability":"mutable","name":"memberLength","nameLocation":"16085:12:2","nodeType":"VariableDeclaration","scope":2016,"src":"16077:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"16077:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1982,"initialValue":{"expression":{"id":1980,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16100:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16109:6:2","memberName":"length","nodeType":"MemberAccess","src":"16100:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16077:38:2"},{"body":{"id":2014,"nodeType":"Block","src":"16246:368:2","statements":[{"assignments":[1990],"declarations":[{"constant":false,"id":1990,"mutability":"mutable","name":"member","nameLocation":"16268:6:2","nodeType":"VariableDeclaration","scope":2014,"src":"16260:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"16260:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1994,"initialValue":{"baseExpression":{"id":1991,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16277:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1993,"indexExpression":{"id":1992,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16286:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16277:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16260:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1995,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16377:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16395:1:2","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":1997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1996,"name":"address","nodeType":"ElementaryTypeName","src":"16387:7:2","typeDescriptions":{}}},"id":1999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16387:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16377:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2004,"nodeType":"IfStatement","src":"16373:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2001,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"16406:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2003,"nodeType":"RevertStatement","src":"16399:21:2"}},{"expression":{"arguments":[{"id":2006,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16525:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2007,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16537:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2005,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"16514:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16514:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2009,"nodeType":"ExpressionStatement","src":"16514:30:2"},{"id":2013,"nodeType":"UncheckedBlock","src":"16558:46:2","statements":[{"expression":{"id":2011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16586:3:2","subExpression":{"id":2010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16588:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2012,"nodeType":"ExpressionStatement","src":"16586:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16227:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1987,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"16231:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16227:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2015,"initializationExpression":{"assignments":[1984],"declarations":[{"constant":false,"id":1984,"mutability":"mutable","name":"i","nameLocation":"16224:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"16216:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1983,"name":"uint256","nodeType":"ElementaryTypeName","src":"16216:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1985,"nodeType":"VariableDeclarationStatement","src":"16216:9:2"},"nodeType":"ForStatement","src":"16211:403:2"}]},"baseFunctions":[2784],"documentation":{"id":1967,"nodeType":"StructuredDocumentation","src":"15767:190:2","text":"@notice Adds members to the profile\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to add"},"functionSelector":"5063f361","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1975,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16055:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1976,"kind":"modifierInvocation","modifierName":{"id":1974,"name":"onlyProfileOwner","nameLocations":["16038:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16038:16:2"},"nodeType":"ModifierInvocation","src":"16038:28:2"}],"name":"addMembers","nameLocation":"15971:10:2","parameters":{"id":1973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1969,"mutability":"mutable","name":"_profileId","nameLocation":"15990:10:2","nodeType":"VariableDeclaration","scope":2017,"src":"15982:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15982:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"_members","nameLocation":"16019:8:2","nodeType":"VariableDeclaration","scope":2017,"src":"16002:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1970,"name":"address","nodeType":"ElementaryTypeName","src":"16002:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1971,"nodeType":"ArrayTypeName","src":"16002:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15981:47:2"},"returnParameters":{"id":1977,"nodeType":"ParameterList","parameters":[],"src":"16067:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2054,"nodeType":"FunctionDefinition","src":"16837:500:2","nodes":[],"body":{"id":2053,"nodeType":"Block","src":"16945:392:2","nodes":[],"statements":[{"assignments":[2030],"declarations":[{"constant":false,"id":2030,"mutability":"mutable","name":"memberLength","nameLocation":"16963:12:2","nodeType":"VariableDeclaration","scope":2053,"src":"16955:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2029,"name":"uint256","nodeType":"ElementaryTypeName","src":"16955:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2033,"initialValue":{"expression":{"id":2031,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"16978:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16987:6:2","memberName":"length","nodeType":"MemberAccess","src":"16978:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16955:38:2"},{"body":{"id":2051,"nodeType":"Block","src":"17129:202:2","statements":[{"expression":{"arguments":[{"id":2041,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"17237:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":2042,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"17249:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2044,"indexExpression":{"id":2043,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17258:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17249:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2040,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51988,"src":"17225:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17225:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2046,"nodeType":"ExpressionStatement","src":"17225:36:2"},{"id":2050,"nodeType":"UncheckedBlock","src":"17275:46:2","statements":[{"expression":{"id":2048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17303:3:2","subExpression":{"id":2047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17305:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2049,"nodeType":"ExpressionStatement","src":"17303:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17110:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2038,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2030,"src":"17114:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17110:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2052,"initializationExpression":{"assignments":[2035],"declarations":[{"constant":false,"id":2035,"mutability":"mutable","name":"i","nameLocation":"17107:1:2","nodeType":"VariableDeclaration","scope":2052,"src":"17099:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2034,"name":"uint256","nodeType":"ElementaryTypeName","src":"17099:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2036,"nodeType":"VariableDeclarationStatement","src":"17099:9:2"},"nodeType":"ForStatement","src":"17094:237:2"}]},"baseFunctions":[2793],"documentation":{"id":2018,"nodeType":"StructuredDocumentation","src":"16626:206:2","text":"@notice Removes members from the profile\n @dev 'msg.sender' must be the pending owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to remove"},"functionSelector":"e0cf1e4c","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2026,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"16933:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2027,"kind":"modifierInvocation","modifierName":{"id":2025,"name":"onlyProfileOwner","nameLocations":["16916:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16916:16:2"},"nodeType":"ModifierInvocation","src":"16916:28:2"}],"name":"removeMembers","nameLocation":"16846:13:2","parameters":{"id":2024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2020,"mutability":"mutable","name":"_profileId","nameLocation":"16868:10:2","nodeType":"VariableDeclaration","scope":2054,"src":"16860:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16860:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2023,"mutability":"mutable","name":"_members","nameLocation":"16897:8:2","nodeType":"VariableDeclaration","scope":2054,"src":"16880:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2021,"name":"address","nodeType":"ElementaryTypeName","src":"16880:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2022,"nodeType":"ArrayTypeName","src":"16880:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16859:47:2"},"returnParameters":{"id":2028,"nodeType":"ParameterList","parameters":[],"src":"16945:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2071,"nodeType":"FunctionDefinition","src":"17659:152:2","nodes":[],"body":{"id":2070,"nodeType":"Block","src":"17725:86:2","nodes":[],"statements":[{"condition":{"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17739:42:2","subExpression":{"arguments":[{"id":2061,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"17758:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":2062,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17770:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17774:6:2","memberName":"sender","nodeType":"MemberAccess","src":"17770:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2060,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"17740:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17740:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2069,"nodeType":"IfStatement","src":"17735:69:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2066,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"17790:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17790:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2068,"nodeType":"RevertStatement","src":"17783:21:2"}}]},"documentation":{"id":2055,"nodeType":"StructuredDocumentation","src":"17479:175:2","text":"@notice Checks if the caller is the owner of the profile\n @dev Internal function used by modifier 'onlyProfileOwner'\n @param _profileId The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyProfileOwner","nameLocation":"17668:22:2","parameters":{"id":2058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2057,"mutability":"mutable","name":"_profileId","nameLocation":"17699:10:2","nodeType":"VariableDeclaration","scope":2071,"src":"17691:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17691:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17690:20:2"},"returnParameters":{"id":2059,"nodeType":"ParameterList","parameters":[],"src":"17725:0:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2192,"nodeType":"FunctionDefinition","src":"18166:969:2","nodes":[],"body":{"id":2191,"nodeType":"Block","src":"18266:869:2","nodes":[],"statements":[{"assignments":[2082],"declarations":[{"constant":false,"id":2082,"mutability":"mutable","name":"encodedData","nameLocation":"18289:11:2","nodeType":"VariableDeclaration","scope":2191,"src":"18276:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2081,"name":"bytes","nodeType":"ElementaryTypeName","src":"18276:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2088,"initialValue":{"arguments":[{"id":2085,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18314:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2086,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"18326:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18303:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18307:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18303:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18303:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18276:56:2"},{"assignments":[2090],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"encodedConstructorArgs","nameLocation":"18355:22:2","nodeType":"VariableDeclaration","scope":2191,"src":"18342:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2089,"name":"bytes","nodeType":"ElementaryTypeName","src":"18342:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2099,"initialValue":{"arguments":[{"id":2093,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18391:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2096,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18411:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2094,"name":"address","nodeType":"ElementaryTypeName","src":"18403:7:2","typeDescriptions":{}}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18403:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18380:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18384:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18380:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18380:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18342:75:2"},{"assignments":[2101],"declarations":[{"constant":false,"id":2101,"mutability":"mutable","name":"bytecode","nameLocation":"18441:8:2","nodeType":"VariableDeclaration","scope":2191,"src":"18428:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2100,"name":"bytes","nodeType":"ElementaryTypeName","src":"18428:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2110,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":2105,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18474:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}],"id":2104,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18469:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18469:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_Anchor_$1492","typeString":"type(contract Anchor)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18482:12:2","memberName":"creationCode","nodeType":"MemberAccess","src":"18469:25:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2108,"name":"encodedConstructorArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18496:22:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18452:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18456:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18452:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18452:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18428:91:2"},{"assignments":[2112],"declarations":[{"constant":false,"id":2112,"mutability":"mutable","name":"salt","nameLocation":"18538:4:2","nodeType":"VariableDeclaration","scope":2191,"src":"18530:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18530:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2116,"initialValue":{"arguments":[{"id":2114,"name":"encodedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"18555:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2113,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18545:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18545:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18530:37:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"mutability":"mutable","name":"preComputedAddress","nameLocation":"18586:18:2","nodeType":"VariableDeclaration","scope":2191,"src":"18578:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2117,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2145,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":2130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18678:4:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":2129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18671:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":2128,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18671:6:2","typeDescriptions":{}}},"id":2131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18671:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":2134,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18693:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18685:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2132,"name":"address","nodeType":"ElementaryTypeName","src":"18685:7:2","typeDescriptions":{}}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18685:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2136,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18700:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2138,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"18716:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2137,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18706:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18706:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18658:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18654:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18654:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2125,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18644:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18644:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18636:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2123,"name":"uint256","nodeType":"ElementaryTypeName","src":"18636:7:2","typeDescriptions":{}}},"id":2142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18636:92:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18628:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2121,"name":"uint160","nodeType":"ElementaryTypeName","src":"18628:7:2","typeDescriptions":{}}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18628:101:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18607:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:2","typeDescriptions":{}}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18607:132:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:161:2"},{"clauses":[{"block":{"id":2168,"nodeType":"Block","src":"18918:50:2","statements":[{"expression":{"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2161,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"18932:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2164,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"18949:7:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}],"id":2163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18941:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2162,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:2","typeDescriptions":{}}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18941:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18932:25:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2167,"nodeType":"ExpressionStatement","src":"18932:25:2"}]},"errorName":"","id":2169,"nodeType":"TryCatchClause","parameters":{"id":2160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2159,"mutability":"mutable","name":"_anchor","nameLocation":"18909:7:2","nodeType":"VariableDeclaration","scope":2169,"src":"18902:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"},"typeName":{"id":2158,"nodeType":"UserDefinedTypeName","pathNode":{"id":2157,"name":"Anchor","nameLocations":["18902:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18902:6:2"},"referencedDeclaration":1492,"src":"18902:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"visibility":"internal"}],"src":"18901:16:2"},"src":"18893:75:2"},{"block":{"id":2188,"nodeType":"Block","src":"18975:154:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":2173,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19008:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19000:8:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":2171,"name":"address","nodeType":"ElementaryTypeName","src":"19000:8:2","stateMutability":"payable","typeDescriptions":{}}},"id":2174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19000:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":2170,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18993:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19029:9:2","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"18993:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2178,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"19044:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18993:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2183,"nodeType":"IfStatement","src":"18989:88:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2180,"name":"ANCHOR_ERROR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"19063:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19063:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2182,"nodeType":"RevertStatement","src":"19056:21:2"}},{"expression":{"id":2186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2184,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"19091:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2185,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19100:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19091:27:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2187,"nodeType":"ExpressionStatement","src":"19091:27:2"}]},"errorName":"","id":2189,"nodeType":"TryCatchClause","src":"18969:160:2"}],"externalCall":{"arguments":[{"id":2151,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18866:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2154,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18886:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2152,"name":"address","nodeType":"ElementaryTypeName","src":"18878:7:2","typeDescriptions":{}}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18843:10:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$","typeString":"function (bytes32,address) returns (contract Anchor)"},"typeName":{"id":2147,"nodeType":"UserDefinedTypeName","pathNode":{"id":2146,"name":"Anchor","nameLocations":["18847:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18847:6:2"},"referencedDeclaration":1492,"src":"18847:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["salt"],"nodeType":"FunctionCallOptions","options":[{"id":2149,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18860:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"src":"18843:22:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$salt","typeString":"function (bytes32,address) returns (contract Anchor)"}},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18843:49:2","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2190,"nodeType":"TryStatement","src":"18839:290:2"}]},"documentation":{"id":2072,"nodeType":"StructuredDocumentation","src":"17817:344:2","text":"@notice Generates and deploys the anchor for the given 'profileId' and name\n @dev Internal function used by 'createProfile()' and 'updateProfileName()' to create and anchor.\n @param _profileId The ID of the profile\n @param _name The name of the profile\n @return anchor The address of the deployed anchor contract"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateAnchor","nameLocation":"18175:15:2","parameters":{"id":2077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2074,"mutability":"mutable","name":"_profileId","nameLocation":"18199:10:2","nodeType":"VariableDeclaration","scope":2192,"src":"18191:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18191:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2076,"mutability":"mutable","name":"_name","nameLocation":"18225:5:2","nodeType":"VariableDeclaration","scope":2192,"src":"18211:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2075,"name":"string","nodeType":"ElementaryTypeName","src":"18211:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18190:41:2"},"returnParameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"mutability":"mutable","name":"anchor","nameLocation":"18258:6:2","nodeType":"VariableDeclaration","scope":2192,"src":"18250:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2078,"name":"address","nodeType":"ElementaryTypeName","src":"18250:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18249:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2211,"nodeType":"FunctionDefinition","src":"19465:159:2","nodes":[],"body":{"id":2210,"nodeType":"Block","src":"19557:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2205,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"19601:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2206,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"19609:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19588:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"19584:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19584:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2202,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19574:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19574:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2201,"id":2209,"nodeType":"Return","src":"19567:50:2"}]},"documentation":{"id":2193,"nodeType":"StructuredDocumentation","src":"19141:319:2","text":"@notice Generates the 'profileId' based on msg.sender and nonce\n @dev Internal function used by 'createProfile()' to generate profileId.\n @param _nonce Nonce provided by the caller to generate 'profileId'\n @param _owner The owner of the profile\n @return 'profileId' The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateProfileId","nameLocation":"19474:18:2","parameters":{"id":2198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2195,"mutability":"mutable","name":"_nonce","nameLocation":"19501:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19493:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2194,"name":"uint256","nodeType":"ElementaryTypeName","src":"19493:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2197,"mutability":"mutable","name":"_owner","nameLocation":"19517:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2196,"name":"address","nodeType":"ElementaryTypeName","src":"19509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19492:32:2"},"returnParameters":{"id":2201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2211,"src":"19548:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19548:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19547:9:2"},"scope":2295,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2229,"nodeType":"FunctionDefinition","src":"19963:156:2","nodes":[],"body":{"id":2228,"nodeType":"Block","src":"20055:64:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":2221,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"20072:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":2223,"indexExpression":{"id":2222,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2214,"src":"20085:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20072:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":2224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20097:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"20072:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2225,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2216,"src":"20106:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20072:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2220,"id":2227,"nodeType":"Return","src":"20065:47:2"}]},"documentation":{"id":2212,"nodeType":"StructuredDocumentation","src":"19630:328:2","text":"@notice Checks if an address is the owner of the profile\n @dev Internal function used to determine if an address is the profile owner\n @param _profileId The 'profileId' of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isOwnerOfProfile","nameLocation":"19972:17:2","parameters":{"id":2217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2214,"mutability":"mutable","name":"_profileId","nameLocation":"19998:10:2","nodeType":"VariableDeclaration","scope":2229,"src":"19990:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2216,"mutability":"mutable","name":"_owner","nameLocation":"20018:6:2","nodeType":"VariableDeclaration","scope":2229,"src":"20010:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2215,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19989:36:2"},"returnParameters":{"id":2220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2229,"src":"20049:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2218,"name":"bool","nodeType":"ElementaryTypeName","src":"20049:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20048:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2245,"nodeType":"FunctionDefinition","src":"20464:146:2","nodes":[],"body":{"id":2244,"nodeType":"Block","src":"20558:52:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2240,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"20583:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2241,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"20595:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2239,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"20575:7:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20575:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2243,"nodeType":"Return","src":"20568:35:2"}]},"documentation":{"id":2230,"nodeType":"StructuredDocumentation","src":"20125:334:2","text":"@notice Checks if an address is a member of the profile\n @dev Internal function used to determine if an address is a member of the profile\n @param _profileId The 'profileId' of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isMemberOfProfile","nameLocation":"20473:18:2","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"mutability":"mutable","name":"_profileId","nameLocation":"20500:10:2","nodeType":"VariableDeclaration","scope":2245,"src":"20492:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20492:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2234,"mutability":"mutable","name":"_member","nameLocation":"20520:7:2","nodeType":"VariableDeclaration","scope":2245,"src":"20512:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2233,"name":"address","nodeType":"ElementaryTypeName","src":"20512:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20491:37:2"},"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2245,"src":"20552:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"20552:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20551:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2294,"nodeType":"FunctionDefinition","src":"20847:318:2","nodes":[],"body":{"id":2293,"nodeType":"Block","src":"20935:230:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2256,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"20949:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20971:1:2","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":2258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2257,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:2","typeDescriptions":{}}},"id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20949:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2265,"nodeType":"IfStatement","src":"20945:51:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2262,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"20982:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"RevertStatement","src":"20975:21:2"}},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"mutability":"mutable","name":"amount","nameLocation":"21015:6:2","nodeType":"VariableDeclaration","scope":2293,"src":"21007:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2286,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2268,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21024:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2269,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21034:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21024:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":2282,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21099:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21091:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2280,"name":"address","nodeType":"ElementaryTypeName","src":"21091:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21091:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":2277,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21073:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2276,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"21067:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$4491_$","typeString":"type(contract ERC20)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$4491","typeString":"contract ERC20"}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21081:9:2","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4200,"src":"21067:23:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"21024:81:2","trueExpression":{"expression":{"arguments":[{"id":2273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21051:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21043:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"21043:7:2","typeDescriptions":{}}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21043:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21057:7:2","memberName":"balance","nodeType":"MemberAccess","src":"21043:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21007:98:2"},{"expression":{"arguments":[{"id":2288,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21131:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2289,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"21139:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2290,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"21151:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2287,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21115:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21115:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2292,"nodeType":"ExpressionStatement","src":"21115:43:2"}]},"baseFunctions":[2801],"documentation":{"id":2246,"nodeType":"StructuredDocumentation","src":"20616:226:2","text":"@notice Transfers any fund balance in Allo to the recipient\n @dev 'msg.sender' must be the Allo owner\n @param _token The address of the token to transfer\n @param _recipient The address of the recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2253,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"20923:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2254,"kind":"modifierInvocation","modifierName":{"id":2252,"name":"onlyRole","nameLocations":["20914:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":51700,"src":"20914:8:2"},"nodeType":"ModifierInvocation","src":"20914:20:2"}],"name":"recoverFunds","nameLocation":"20856:12:2","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2248,"mutability":"mutable","name":"_token","nameLocation":"20877:6:2","nodeType":"VariableDeclaration","scope":2294,"src":"20869:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2247,"name":"address","nodeType":"ElementaryTypeName","src":"20869:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"_recipient","nameLocation":"20893:10:2","nodeType":"VariableDeclaration","scope":2294,"src":"20885:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2249,"name":"address","nodeType":"ElementaryTypeName","src":"20885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20868:36:2"},"returnParameters":{"id":2255,"nodeType":"ParameterList","parameters":[],"src":"20935:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1509,"name":"IRegistry","nameLocations":["5258:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5258:9:2"},"id":1510,"nodeType":"InheritanceSpecifier","src":"5258:9:2"},{"baseName":{"id":1511,"name":"Initializable","nameLocations":["5269:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":52449,"src":"5269:13:2"},"id":1512,"nodeType":"InheritanceSpecifier","src":"5269:13:2"},{"baseName":{"id":1513,"name":"Native","nameLocations":["5284:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5284:6:2"},"id":1514,"nodeType":"InheritanceSpecifier","src":"5284:6:2"},{"baseName":{"id":1515,"name":"AccessControlUpgradeable","nameLocations":["5292:24:2"],"nodeType":"IdentifierPath","referencedDeclaration":51994,"src":"5292:24:2"},"id":1516,"nodeType":"InheritanceSpecifier","src":"5292:24:2"},{"baseName":{"id":1517,"name":"Transfer","nameLocations":["5318:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5318:8:2"},"id":1518,"nodeType":"InheritanceSpecifier","src":"5318:8:2"},{"baseName":{"id":1519,"name":"Errors","nameLocations":["5328:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5328:6:2"},"id":1520,"nodeType":"InheritanceSpecifier","src":"5328:6:2"}],"canonicalName":"Registry","contractDependencies":[1492],"contractKind":"contract","documentation":{"id":1508,"nodeType":"StructuredDocumentation","src":"4584:653:2","text":"@title Registry Contract\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Registry contract for creating and managing profiles\n @dev This contract is used to create and manage profiles for the Allo protocol\n It is also used to deploy the anchor contract for each profile which acts as a proxy\n for the profile and is used to receive funds and execute transactions on behalf of the profile\n The Registry is also used to add and remove members from a profile and update the profile 'Metadata'"},"fullyImplemented":true,"linearizedBaseContracts":[2295,3089,3317,51994,3106,53267,53279,52067,52993,52449,2802],"name":"Registry","nameLocation":"5246:8:2","scope":2296,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117]}],"license":"AGPL-3.0-only"},"id":2} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json b/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json index 1ff6fe442..fd1a8d36b 100644 --- a/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json +++ b/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[{"name":"_user","type":"address","internalType":"address"}]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a0806040523461003157306080526157389081610037823960805181818161155f015281816117730152611b4b0152f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004af5780630331383c14620003d157806308386eba14620004a95780630d12bbdb14620004a35780630d4a8b49146200049d578063175188e814620004975780631b71f0e414620004915780631f787d28146200048b578063223e5479146200048557806322bcf999146200047f578063248a9ca3146200047957806328c309e914620004735780632b38c69c146200046d5780632c611c4a14620004675780632f2ff15d146200046157806331f61bca146200045b57806333960459146200045557806334196355146200044f5780633517aa7d146200044957806336568abe14620004435780633659cfe6146200043d578063397e254314620004375780633a871fe11462000431578063477a5cc0146200042b5780634f1ef2861462000425578063524e59e8146200041f57806352d1902d1462000419578063559de05d14620004135780635c94e4d2146200040d5780635ecf71c5146200040757806365e3864c14620003d75780636871eb4d146200040157806368decabb14620003fb5780636c53db9a14620003f5578063715018a614620003ef57806373265c3714620003e9578063733a2d1f14620003e357806377122d5614620003dd5780637817ee4f14620003d757806378a0b8a914620003d15780637b10399914620003cb57806382d6a1e714620003c557806388cfe68414620003bf5780638961be6b14620003b95780638da5cb5b14620003b357806391d1485414620003ad578063a0cf0aea14620003a7578063a217fddf14620003a1578063a230c524146200039b578063b0d3713a1462000395578063b3f00674146200038f578063b5058c501462000389578063b64e39af1462000383578063b99b4370146200037d578063bc063e1a1462000377578063c4d66de81462000371578063c6d572ae146200036b578063d547741f1462000365578063d6d8428d146200035f578063d7050f071462000359578063db61d65c1462000353578063e16d0e32146200034d578063ebd7dc521462000347578063f2fde38b1462000341578063f86c5f89146200033b5763ffa1ad74146200033557600080fd5b62002d29565b62002cfd565b62002c63565b62002c18565b62002b09565b62002add565b62002abe565b62002a92565b62002a48565b620029b2565b62002974565b62002954565b62002828565b62002756565b62002633565b62002604565b620025b7565b6200254a565b6200252c565b620024fb565b620024bd565b6200248c565b6200246c565b6200240a565b62002354565b62002328565b6200051b565b6200203f565b620022fc565b620022d0565b62002234565b620021e3565b620021b7565b6200218b565b6200207e565b62001dc7565b62001d9b565b62001bfa565b62001b36565b620019f1565b62001716565b620016d2565b6200168b565b620015fe565b62001530565b62001493565b6200123c565b620010cf565b62000ed2565b62000e82565b62000dd5565b62000d90565b62000d2b565b62000b72565b62000b41565b62000a50565b62000a1b565b620009f7565b620009aa565b62000973565b62000680565b6200055b565b6200053b565b346200050a5760203660031901126200050a5760043563ffffffff60e01b81168091036200050a57602090637965db0b60e01b8114908115620004f8575b506040519015158152f35b6301ffc9a760e01b14905038620004ed565b600080fd5b60009103126200050a57565b346200050a5760003660031901126200050a57602060fb54604051908152f35b346200050a5760003660031901126200050a57602060fe54604051908152f35b346200050a5760203660031901126200050a576004356200057b62004fea565b620186a08111620005b7576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fc55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b038116036200050a57565b60243590620005f682620005d5565b565b60443590620005f682620005d5565b60643590620005f682620005d5565b6101c43590620005f682620005d5565b6101e43590620005f682620005d5565b6102043590620005f682620005d5565b3590620005f682620005d5565b60409060031901126200050a576004356200066e81620005d5565b906024356200067d81620005d5565b90565b346200050a57620006913662000653565b6200069c82620049f5565b620006a78162004a42565b620006b28162004539565b620006d3620006cc82620006c68562000c60565b62000ccc565b5460ff1690565b620009615760209081620006f1620006eb8562000c7b565b6200490f565b015160fb5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af1801562000830576003918a916200093f575b506200073e8162004664565b036200083657505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af1801562000830576000805160206200564383398151915294620007f6928792620007fc575b50505b80620007b185620006c68662000c96565b55620007d3620007c685620006c68662000c60565b805460ff19166001179055565b620007e984620007e38562000cb1565b62004999565b60405193849384620049d3565b0390a180f35b620008209250803d1062000828575b62000817818362000fae565b81019062003292565b38806200079d565b503d6200080b565b620032a2565b604096919392965193845282846004818b865af180156200083057889485916200090b575b50620008678162004664565b6200088c575b50505050620007f66000805160206200564383398151915293620007a0565b8293965090620008b49160405197888094819363782aadff60e01b835289600484016200495f565b03925af1801562000830576000805160206200564383398151915294620007f6928792620008e9575b5050938591386200086d565b620009039250803d10620008285762000817818362000fae565b3880620008dd565b620009309150843d861162000937575b62000927818362000fae565b81019062004947565b386200085b565b503d6200091b565b6200095a9150863d8811620009375762000927818362000fae565b3862000732565b604051636adcde4b60e11b8152600490fd5b346200050a5760203660031901126200050a57620009a86004356200099881620005d5565b620009a262004fea565b620050bb565b005b346200050a5760203660031901126200050a57600435620009cb81620005d5565b620009d562002fda565b61010280546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a57602060ff8054166040519015158152f35b346200050a5760203660031901126200050a57620009a860043562000a4081620005d5565b62000a4a62004fea565b62005041565b346200050a5762000a613662000653565b62000a6c82620049f5565b62000a778162004539565b6001600160a01b038116330362000b2f5762000aa462000aa0620006cc83620006c68662000c60565b1590565b62000b1d578162000ae862000ade83620006c67ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000c60565b805460ff19169055565b600062000afa83620006c68462000c96565b5562000b07828262004abe565b62000b186040519283928362003847565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b346200050a5760203660031901126200050a5760043560005260c96020526020600160406000200154604051908152f35b346200050a5760003660031901126200050a5762000b9d62000b9761010054620005c9565b620005c9565b60fb549062000bbc62000bb360fc54846200293a565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000bdf306004830162000d18565b03916001600160a01b03165afa918215620008305762000c399362000c1c62000bb362000c299562000c239460009162000c3d575b50856200293a565b9262003083565b62003083565b6040519081529081906020820190565b0390f35b62000c59915060203d8111620008285762000817818362000fae565b3862000c14565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000d125760005260206000200190600090565b62000ce3565b6001600160a01b03909116815260200190565b346200050a5760403660031901126200050a5760043562000d4c81620005d5565b6024359060018060a01b0380911660005261010d602052604060002080548310156200050a5760209262000d809162000cf9565b9190546040519260031b1c168152f35b346200050a5760203660031901126200050a5760043562000db181620005d5565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b346200050a5760403660031901126200050a5760043560243562000df981620005d5565b60009180835260c960205262000e16600160408520015462002d73565b80835260c960205260ff62000e2f836040862062000ccc565b54161562000e3b578280f35b80835260c960205262000e52826040852062000ccc565b805460ff1916600117905533916001600160a01b031690600080516020620055e38339815191528480a438808280f35b346200050a5760203660031901126200050a577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000ec562004fea565b8060fb55604051908152a1005b346200050a5760003660031901126200050a57602060fd54604051908152f35b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111762000f2457604052565b62000ef2565b60c081019081106001600160401b0382111762000f2457604052565b60e081019081106001600160401b0382111762000f2457604052565b608081019081106001600160401b0382111762000f2457604052565b606081019081106001600160401b0382111762000f2457604052565b6001600160401b03811162000f2457604052565b601f909101601f19168101906001600160401b0382119082101762000f2457604052565b6040519061018082016001600160401b0381118382101762000f2457604052565b6001600160401b03811162000f2457601f01601f191660200190565b9291926200101d8262000ff3565b916200102d604051938462000fae565b8294818452818301116200050a578281602093846000960137010152565b9080601f830112156200050a578160206200067d933591016200100f565b91906040838203126200050a5760405190620010858262000f08565b8335825290928391602082013591906001600160401b0383116200050a57602092620010b292016200104b565b910152565b801515036200050a57565b3590620005f682620010b7565b346200050a576003196080368201126200050a57600435906001600160401b03908183116200050a576101809083360301126200050a576200111062000fd2565b906200111f8360040162000646565b82526200112f6024840162000646565b60208301526044830135604083015260648301356060830152608483013560808301526200116060a4840162000646565b60a08301526200117360c4840162000646565b60c083015260e48301358181116200050a5762001197906004369186010162001069565b60e0830152620011ab610104840162000646565b6101008301526101248301358181116200050a57620011d190600436918601016200104b565b610120830152620011e66101448401620010c2565b6101408301526101648301359081116200050a57620009a89260046200121092369201016200104b565b61016082015262001220620005e7565b6200122a620005f8565b906200123562000607565b9262003861565b346200050a5760008060031936011262001490576200125a62004b76565b620012653362000c7b565b6200127762000b9761010054620005c9565b60fb54916200128d62000bb360fc54856200293a565b6040516302a64b8360e21b815260209491936001600160a01b03169190858180620012bc306004830162000d18565b0381865afa80156200083057620012e19262000bb39289926200146c575b506200293a565b926200130262000aa06040620012fb620006eb3362000c7b565b0151151590565b62001317575b85620013146001606555565b80f35b826200132f600260019501600160ff19825416179055565b60fb54938491015562001367610105936200135c8662000c2385620013558954620005c9565b9462003083565b903090339062004bcd565b806200143e575b5082620013be575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689620013b060fb5460405191829133836200495f565b0390a1388080808062001308565b83620013cd60049354620005c9565b9160405193848092634c3a1adf60e11b82525afa9182156200083057620013fe94869362001408575b505062004d4a565b3880808062001376565b6200142d929350803d1062001436575b62001424818362000fae565b810190620037c5565b903880620013f6565b503d62001418565b62001465906200144f8454620005c9565b60ff5460081c6001600160a01b03169062004d4a565b386200136e565b62001488919250883d8a11620008285762000817818362000fae565b9038620012da565b80fd5b346200050a5760403660031901126200050a57602435620014b481620005d5565b336001600160a01b03821603620014d357620009a89060043562002f61565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346200050a5760203660031901126200050a576004356200155181620005d5565b6001600160a01b03620015a87f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b826000805160206200568383398151915254161462003241565b620015b2620037dd565b33911603620015d157620009a890620015ca62003091565b906200335c565b620015fa620015df620037dd565b60405163163678e960e01b8152918291336004840162003847565b0390fd5b346200050a5760203660031901126200050a577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf860406004356200164281620005d5565b6200164c62004fea565b6001600160a01b0390811690620016638262004539565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b346200050a5760203660031901126200050a57600435620016ac81620005d5565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b346200050a57602060ff6200170a620016eb3662000653565b6001600160a01b03909116600090815261010e85526040902062000ccc565b54166040519015158152f35b60403660031901126200050a576004356200173181620005d5565b6024356001600160401b0381116200050a57366023820112156200050a57620017659036906024816004013591016200100f565b6001600160a01b03620017a27f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b620017ac620037dd565b33911603620015d157620009a89162003420565b60a4359060038210156200050a57565b60c4359060038210156200050a57565b600411156200050a57565b60c43590620005f682620017e0565b60e43590620005f682620017e0565b60209060e31901126200050a5760405190602082016001600160401b0381118382101762000f245760405260e4358252565b6020906101031901126200050a5760405190602082016001600160401b0381118382101762000f2457604052610104358252565b60c0906101031901126200050a57604051906200188c8262000f2a565b81610104356200189c81620005d5565b815261012435620018ad81620005d5565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c0906101231901126200050a5760405190620018f58262000f2a565b81610124356200190581620005d5565b8152610144356200191681620005d5565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e083126200050a5760405190620019618262000f46565b60808294126200050a57620019d1906040516200197e8162000f62565b60243581526044356020820152606435604082015260843560608201528352620019a7620017c0565b6020840152620019b6620017eb565b6040840152620019c68162001809565b60608401526200186f565b6080820152620019e062000616565b60a082015260c0620010b262000626565b346200050a576102203660031901126200050a5760043562001a1381620005d5565b62001a1e3662001941565b6001600160401b0390610204358281116200050a5762001a4390369060040162001069565b9162001a5261010254620005c9565b9062001a6562000b9761010754620005c9565b9162001acf62001a7861010154620005c9565b9362001ac062001a87620037dd565b60405163184b955960e01b60208201526001600160a01b0393841660248201529683166044880152909116606486015284906084820190565b03601f19810185528462000fae565b6040519261041091828501938585109085111762000f2457849362001afa93620051d386396200455c565b03906000f0928315620008305762001b1b936001600160a01b0316620047f2565b604080519283526001600160a01b0391909116602083015290f35b346200050a5760003660031901126200050a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001b9457604051600080516020620056838339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b346200050a576020806003193601126200050a5760049081359162001c1e62004b76565b62001c2862004cfb565b62001c3d62001c373362000cb1565b620045de565b60005b815181101562001d1f5762001c6f62000b9762000b9762001c62848662003d18565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001c938c338c84016200495f565b03925af18015620008305762001cbb9260009162001cfd575b508062001cc1575b5062003d08565b62001c40565b62001cf462001ceb62001cd43362000c96565b62001ce462001c62868962003d18565b9062000ccc565b91825462003083565b90553862001cb4565b62001d189150863d8811620008285762000817818362000fae565b3862001cac565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001d8d8662001d628162001d5861010554620005c9565b3090339062004bcd565b600162001d6f3362000c7b565b0162001d7d82825462003083565b905560405191829133836200495f565b0390a1620009a86001606555565b346200050a5760003660031901126200050a57610102546040516001600160a01b039091168152602090f35b346200050a576020806003193601126200050a5760049081359062001deb62004b76565b62001df562004cfb565b62001e003362000cb1565b9060019362001e1d848662001e153362000c7b565b015462003d4d565b60fb5411620020305790849262001e43853362001e3d61010554620005c9565b62004d4a565b6000935b62001e8d575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001d8d868862001e7f3362000c7b565b0162001d7d82825462003d4d565b9091929481549485871015620020275762001ec262001ead888562000cf9565b905460039190911b1c6001600160a01b031690565b9562001ece8762004d75565b1562001fd657506040928484518098632ed04b2b60e01b82528160008162001efb888d339084016200495f565b03926001600160a01b03165af1968715620008305760009762001fb2575b5062001f3962001f293362000c96565b62001ce462001ead8b8562000cf9565b54948588111562001f665784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001fa79162001f9f62001f9662001f863362000c96565b62001ce462001ead868c62000cf9565b91825462003d4d565b905562003d08565b939092919262001e47565b62001fce919750853d8711620008285762000817818362000fae565b953862001f19565b966200202162001fa79297620020166200200362001ead62001ffc889d9b999b62003d2d565b8b62000cf9565b6200200f858b62000cf9565b906200497a565b620009a28862004a78565b62003d08565b94509462001e4d565b604051634e23e81760e11b8152fd5b346200050a57602062002075620020563662000653565b6001600160a01b03909116600090815261010b84526040902062000ccc565b54604051908152f35b346200050a576200208f3662000653565b6200209962004b76565b620020a362004fea565b620020b462000aa060ff5460ff1690565b6200217957620020d262000aa06040620012fb620006eb8662000c7b565b62002167578162001d8d6200210c620006eb7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39562000c7b565b620021178362005112565b62002138620021268462000c7b565b60026000918281558260018201550155565b6200215960206200214c61010554620005c9565b9201918583519162004d4a565b5160405193849384620049d3565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b346200050a5760003660031901126200050a57610103546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610106546040516001600160a01b039091168152602090f35b346200050a5760008060031936011262001490576200220162002fda565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020620056a38339815191528280a380f35b346200050a5760203660031901126200050a576200225162004fea565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa9182156200083057620009a892602091600091620022aa575b50015116620009a28162004539565b620022c9913d8091833e620022c0818362000fae565b81019062004f4e565b386200229b565b346200050a5760003660031901126200050a576020604051600080516020620056038339815191528152f35b346200050a5760003660031901126200050a57610101546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610104546040516001600160a01b039091168152602090f35b346200050a5760203660031901126200050a576200237162004fea565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa80156200083057602062000b9791620023c593600091620023ed575b500151620005c9565b620023d08162004539565b620023db8162004d75565b620023e257005b620009a89062005041565b62002403913d8091833e620022c0818362000fae565b38620023bc565b346200050a5760203660031901126200050a5760606004356200242d81620005d5565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b346200050a5760003660031901126200050a57602060fc54604051908152f35b346200050a5760003660031901126200050a576020620024ab620037dd565b6040516001600160a01b039091168152f35b346200050a5760403660031901126200050a57602060ff6200170a602435620024e681620005d5565b60043560005260c98452604060002062000ccc565b346200050a5760003660031901126200050a57602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b346200050a5760003660031901126200050a57602060405160008152f35b346200050a5760203660031901126200050a57602060406004356200256f81620005d5565b60018060a01b0380911660005261010c835260ff600283600020845193620025978562000f7e565b815416845260018101548685015201541615159182910152604051908152f35b346200050a5760203660031901126200050a57600435620025d881620005d5565b620025e262002fda565b61010180546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a5760ff5460405160089190911c6001600160a01b03168152602090f35b346200050a57600080600319360112620014905761010380546001600160a01b0381169033829003620026a85761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620026ec575b6020831014620026d657565b634e487b7160e01b600052602260045260246000fd5b91607f1691620026ca565b60005b8381106200270b5750506000910152565b8181015183820152602001620026fa565b906020916200273781518092818552858086019101620026f7565b601f01601f1916010190565b9060206200067d9281815201906200271c565b346200050a5760008060031936011262001490576040518161010980546200277e81620026ba565b80855291600191808316908115620027fa5750600114620027ba575b62000c3985620027ad8189038262000fae565b6040519182918262002743565b835260208084209095505b828410620027e6575050508162000c3993620027ad9282010193386200279a565b8054858501870152928501928101620027c5565b905062000c399650620027ad9450602092508593915060ff191682840152151560051b82010193386200279a565b346200050a5760008060031936011262001490576200284662004b76565b6200285133620049f5565b6200285c3362005112565b33815261010c6020527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f462002916604083206040516200289c8162000f7e565b81546001600160a01b0316815260018201546020820190815260029092015460ff161515604090910152620028d5620021263362000c7b565b620028ea620028e43362000cb1565b62003eaa565b62002907620028fc61010554620005c9565b825190339062004d4a565b5160405191829133836200495f565b0390a1620013146001606555565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200294e57565b62002924565b346200050a5760003660031901126200050a576020604051620186a08152f35b346200050a5760203660031901126200050a57620009a86004356200299981620005d5565b620029ac60ff60005460081c166200373f565b6200303c565b346200050a576000806003193601126200149057604051816101088054620029da81620026ba565b80855291600191808316908115620027fa575060011462002a085762000c3985620027ad8189038262000fae565b835260208084209095505b82841062002a34575050508162000c3993620027ad9282010193386200279a565b805485850187015292850192810162002a13565b346200050a5760403660031901126200050a57620009a860243560043562002a7082620005d5565b8060005260c960205262002a8c60016040600020015462002d73565b62002f61565b346200050a5760003660031901126200050a57610107546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5760206040516127108152f35b346200050a5760003660031901126200050a57610105546040516001600160a01b039091168152602090f35b346200050a576102403660031901126200050a5760043562002b2b81620005d5565b6024359062002b3a82620005d5565b36604319016101e081126200050a5760806040519162002b5a8362000f46565b126200050a5760405162002b6e8162000f62565b60443581526064356020820152608435604082015260a4356060820152815262002b97620017d0565b602082015262002ba6620017fa565b604082015262002bb6366200183b565b606082015262002bc636620018d8565b608082015262002bd562000626565b60a082015262002be462000636565b60c082015261022435926001600160401b0384116200050a5762002c1162001b1b94369060040162001069565b92620047f2565b346200050a5760203660031901126200050a57602060ff6200170a60043562002c4181620005d5565b6000805160206200560383398151915260005260c98452604060002062000ccc565b346200050a5760203660031901126200050a5760043562002c8481620005d5565b62002c8e62002fda565b6001600160a01b0381161562002ca957620009a8906200303c565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200050a5760003660031901126200050a57610100546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5762000c3960405162002d4e8162000f08565b60038152620302e360ec1b60208201526040519182916020835260208301906200271c565b8060005260c960205260ff62002d8e33604060002062000ccc565b54161562002d995750565b339062002da5620030ba565b91603062002db384620030d7565b53607862002dc184620030e5565b5360295b6001811162002e7857620015fa62002e3362002e5f8662002e5062002df68862002df0891562003116565b62003162565b62002e2c60405195869462002e2c6020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002ec0565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262000fae565b60405162461bcd60e51b81529182916004830162002743565b90600f811690601082101562000d125762002eba916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8487620030f6565b5360041c9162003108565b62002dc5565b9062002ed560209282815194859201620026f7565b0190565b60008051602062005603833981519152600081815260c96020529060ff62002f1184600080516020620056e383398151915262000ccc565b54161562002f1e57505050565b80825260c960205262002f35836040842062000ccc565b805460ff1916600117905533926001600160a01b031691600080516020620055e38339815191529080a4565b60009080825260c960205260ff62002f7d846040852062000ccc565b541662002f8957505050565b80825260c960205262002fa0836040842062000ccc565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b62002fe4620037dd565b336001600160a01b039091160362002ff857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620056a3833981519152600080a3565b90600282018092116200294e57565b919082018092116200294e57565b604051602081016001600160401b0381118282101762000f245760405260008152906000368137565b60405190620030c98262000f7e565b602a82526040366020840137565b80511562000d125760200190565b80516001101562000d125760210190565b90815181101562000d12570160200190565b80156200294e576000190190565b156200311e57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190620031718262000f62565b60428252606036602084013760306200318a83620030d7565b5360786200319883620030e5565b536041905b60018211620031b3576200067d91501562003116565b600f811690601082101562000d1257620031e9916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8486620030f6565b906200319d565b15620031f857565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200324957565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b908160209103126200050a575190565b6040513d6000823e3d90fd5b15620032b657565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b9062003378600080516020620056238339815191525460ff1690565b156200338a5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620033fb575b50620033d55760405162461bcd60e51b815280620015fa600482016200330d565b620033f560008051602062005683833981519152620005f69414620032ae565b62003576565b6200341891945060203d8111620008285762000817818362000fae565b9238620033b4565b906200343c600080516020620056238339815191525460ff1690565b156200344e5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620034bf575b50620034995760405162461bcd60e51b815280620015fa600482016200330d565b620034b960008051602062005683833981519152620005f69414620032ae565b6200362c565b620034dc91945060203d8111620008285762000817818362000fae565b923862003478565b803b156200351b576000805160206200568383398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b906200358282620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a280511580159062003623575b620035b5575050565b620036209160008060405193620035cc8562000f7e565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200361962003673565b91620036a8565b50565b506000620035ac565b906200363882620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a28051158015906200366a57620035b5575050565b506001620035ac565b3d15620036a3573d90620036878262000ff3565b9162003697604051938462000fae565b82523d6000602084013e565b606090565b919290156200370d5750815115620036be575090565b3b15620036c85790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620037215750805190602001fd5b60405162461bcd60e51b8152908190620015fa906004830162002743565b156200374757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b620005f690620029ac60ff60005460081c166200373f565b5190620005f682620005d5565b908160209103126200050a57516200067d81620005d5565b6033546001600160a01b0316803b620037f35790565b604051638da5cb5b60e01b8152602081600481855afa6000918162003822575b506200381d575090565b905090565b6200383f91925060203d8111620014365762001424818362000fae565b903862003813565b6001600160a01b0391821681529116602082015260400190565b919290926000549360ff8560081c16158095819662003994575b811562003971575b50156200391557620038ae9385620038a3600160ff196000541617600055565b620038fa5762003fa5565b620038b557565b620038c661ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200390f61010061ff00196000541617600055565b62003fa5565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003985575b503862003883565b6001915060ff1614386200397d565b600160ff82161091506200387b565b818110620039af575050565b60008155600101620039a3565b90601f8211620039ca575050565b620005f6916101086000526020600020906020601f840160051c83019310620039fc575b601f0160051c0190620039a3565b9091508190620039ee565b90601f821162003a15575050565b620005f6916101096000526020600020906020601f840160051c83019310620039fc57601f0160051c0190620039a3565b80519091906001600160401b03811162000f24576101089062003a758162003a6f8454620026ba565b620039bc565b602080601f831160011462003ab457508192939460009262003aa8575b50508160011b916000199060031b1c1916179055565b01519050388062003a92565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b88821062003b245750508360019596971062003b0a575b505050811b019055565b015160001960f88460031b161c1916905538808062003b00565b8060018596829496860151815501950193019062003ae9565b80519091906001600160401b03811162000f24576101099062003b6c8162003b668454620026ba565b62003a07565b602080601f831160011462003b9e57508192939460009262003aa85750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b88821062003bf35750508360019596971062003b0a57505050811b019055565b8060018596829496860151815501950193019062003bd3565b6001600160401b03811162000f245760051b60200190565b60209081818403126200050a578051906001600160401b0382116200050a57019180601f840112156200050a57825162003c5e8162003c0c565b9362003c6e604051958662000fae565b818552838086019260051b8201019283116200050a578301905b82821062003c97575050505090565b838091835162003ca781620005d5565b81520191019062003c88565b6040519062003cc28262000f62565b600382526060366020840137565b9062003cdc8262003c0c565b62003ceb604051918262000fae565b828152809262003cfe601f199162003c0c565b0190602036910137565b60001981146200294e5760010190565b805182101562000d125760209160051b010190565b6000198101919082116200294e57565b6001198101919082116200294e57565b919082039182116200294e57565b9060009161010880549162003d7083620026ba565b91828252600193848116908160001462003dd7575060011462003d94575b50505050565b90919394506000526020928360002092846000945b83861062003dc257505050500101903880808062003d8e565b80548587018301529401938590820162003da9565b9294505050602093945060ff191683830152151560051b0101903880808062003d8e565b90604060206200067d938051845201519181602082015201906200271c565b90815180825260208080930193019160005b82811062003e3b575050505090565b83516001600160a01b03168552938101939281019260010162003e2c565b906200067d949262003e8b91835260a0602084015262003e7c60a0840162003d5b565b90838203604085015262003dfb565b6001600160a01b03909316606082015280830360809091015262003e1a565b8054600082558062003eba575050565b620005f691600052602060002090810190620039a3565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b03821162000f2457600160401b821162000f245761010f90815483835580841062003f57575b50602080910191600052806000209060005b84811062003f3b575050505050565b83516001600160a01b0316838201559281019260010162003f2c565b62003f7190836000528460206000209182019101620039a3565b3862003f1a565b90916200067d9282526060602083015262003f966060830162003d5b565b91604081840391015262003dfb565b909262003fb290620037a0565b62003fbc62004514565b62003fc662004498565b62003fd0620044ab565b60208082019262003ff062003fea62000b978651620005c9565b62004539565b61010083016200400962003fea62000b978351620005c9565b6200401962003fea8551620005c9565b60a084016200402d62003fea8251620005c9565b620040a16200407f606087019788516200447f575b620040786200405662000b978a51620005c9565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b51620005c9565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b6040958686018051156200446e5792620041416200411f6200417b94620040db62000b9795620040d56200419d995160fb55565b5160fc55565b620040ff620040ee6101408c0151151590565b60ff8019815416911515161760ff55565b6200410f6101208b015162003a46565b620040786101608b015162003b3d565b61010080546001600160a01b0319166001600160a01b03909216919091179055565b620040786200415460c0890151620005c9565b60ff8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b03831617905562002ed9565b600482620041b262000b9761010754620005c9565b8651635ab1bd5360e01b815292839182905afa80156200083057620041fe916000916200444c575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b6000946200421362000b9761010654620005c9565b95863b6200438e5750620042bc90620042666200422f62003cb3565b976200424f33620042408b620030d7565b6001600160a01b039091169052565b620042406200425f8a5162003d2d565b8a62003d18565b6200427b30620042406200425f8a5162003d3d565b83876200428f62000b9761010454620005c9565b60e06080890151980197600089518b5197889586948593633a92f65f60e01b855230916004860162003e59565b03925af191821562000830577f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205976200430d6200433594620043139362004357986000926200436c575b505060fe55565b62003eea565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b620038f560fe54915192519283928362003f78565b620043869250803d10620008285762000817818362000fae565b388062004306565b94929095969391835163a0e67e2b60e01b815286816004818c5afa9687156200083057809762004422575b5050620043d1620043cb875162003074565b62003cd0565b9660005b87518110156200440a578062002021620043f862001c6262004404948c62003d18565b62004240838d62003d18565b620043d5565b5090929497620042bc9294965062004266906200424f565b620044439297503d8091833e6200443a818362000fae565b81019062003c24565b943880620043b9565b620044679150843d8611620014365762001424818362000fae565b38620041da565b87516363868c5560e11b8152600490fd5b6200449262003fea60c08a0151620005c9565b62004042565b620005f660ff60005460081c166200373f565b60008051602062005603833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b6200453260ff60005460081c166200452c816200373f565b6200373f565b6001606555565b6001600160a01b0316156200454a57565b6040516303988b8160e61b8152600490fd5b6001600160a01b0390911681526040602082018190526200067d929101906200271c565b6040519061010f828154918282526020928383019160005283600020936000905b828210620045ba57505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045a1565b9060405191828154918282526020928383019160005283600020936000905b8282106200461657505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045fd565b634e487b7160e01b600052602160045260246000fd5b9060038210156200465e5752565b6200463a565b600411156200465e57565b9060048210156200465e5752565b620005f6909291926101c060c06101e08301956060815180518652602081015160208701526040810151604087015201516060850152620046c76020820151608086019062004650565b620046db604082015160a08601906200466f565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b9490916200478d620047a9946200067d989694885260018060a01b03809316602089015260e0604089015260e08801906200271c565b921660608601526000608086015284820360a086015262003dfb565b9160c081840391015262003e1a565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a0608082018190526200067d9291019062003dfb565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b03861662004906575b60206200486082968360006200483162004580565b926200488e6200484862000b9761010754620005c9565b946200486f60fe54936040519889918b83016200467d565b03601f19810189528862000fae565b896040519b8c98899788966370803ea560e11b88526004880162004757565b03925af191821562000830577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620048dc575b50620038f5908397604051948594309186620047b8565b620038f5919350620048fe9060203d8111620008285762000817818362000fae565b9290620048c5565b8592506200481c565b906040516200491e8162000f7e565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b908160209103126200050a57516200067d81620017e0565b6001600160a01b039091168152602081019190915260400190565b8054909262004995926001600160a01b039091169162003ed1565b9055565b805490600160401b82101562000f245781620049bf916001620049959401815562000cf9565b815491936001600160a01b03169162003ed1565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff600260406000206040519362004a208562000f7e565b8154168452600181015460208501520154161590604082159101526200216757565b6001600160a01b0316600090815261010a602052604090205460ff161562004a6657565b6040516346c26e4b60e01b8152600490fd5b8054801562004aa857600019019062004a92828262000cf9565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b8154908181101562004b6e5762004af3818462000cf9565b905460039391841b1c86168787161462004b1b575b5062004b15915062003d08565b62004adb565b60001981019081116200294e5762004b159262004b3a87928662000cf9565b9054911b1c1662004b5a62004b50838662000cf9565b8193915462003ed1565b905562004b678362004a78565b3862004b08565b505050915050565b60026065541462004b88576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9062004c089062004bf9620005f6956040519586936323b872dd60e01b602086015260248501620049d3565b03601f19810184528362000fae565b60405162004c65916001600160a01b031662004c248262000f08565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200361962003673565b805182811591821562004cd7575b505090501562004c805750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b83809293500103126200050a5781015162004cf281620010b7565b80823862004c73565b3360005261010c602052604060002060ff60026040519262004d1d8462000f7e565b80546001600160a01b03168452600181015460208501520154161580156040909201919091526200216757565b62004c08620005f6939262004bf960405194859263a9059cbb60e01b6020850152602484016200495f565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004da28162000f7e565b51617530938685fa933d600051908662004e55575b508562004e4a575b508462004de0575b5050508162004dd4575090565b6200067d915062004e61565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004e0e8162000f7e565b5192fa60005190913d8362004e3e575b50508162004e33575b50159038808062004dc7565b905015153862004e27565b10159150388062004e1e565b151594503862004dbf565b84111595503862004db7565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004e938162000f7e565b5191617530fa6000513d8262004eb6575b508162004eaf575090565b9050151590565b6020111591503862004ea4565b91906040838203126200050a5760405162004ede8162000f08565b83518152602084015190938491906001600160401b0382116200050a57019082601f830112156200050a5781519162004f178362000ff3565b9362004f27604051958662000fae565b838552602084830101116200050a5760209262004f4a91848087019101620026f7565b0152565b906020828203126200050a5781516001600160401b03928382116200050a570160c0818303126200050a576040519262004f888462000f2a565b81518452602082015162004f9c81620005d5565b602085015262004faf60408301620037b8565b604085015260608201519081116200050a5760a09262004fd191830162004ec3565b606084015260808101516080840152015160a082015290565b6000805160206200560383398151915260005260c960205260ff6200501f33600080516020620056e383398151915262000ccc565b5416156200502957565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff16620050a957816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491620050ea8162004539565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062005137828520620045de565b845b8151811015620051ca576200515b62000b9762000b9762001c62848662003d18565b90813b15620051c6578685518093631914f67160e21b8252818381620051858a6004830162000d18565b03925af19182156200083057620051a292620051a8575062003d08565b62005139565b80620051b8620051bf9262000f9a565b806200050f565b3862001cb4565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a2646970667358221220f188929cd53be135d5092dbf639902589375592e211f9b10901618b7626cc1ce64736f6c63430008130033","sourceMap":"1403:23955:103:-:0;;;;;;;1088:4:61;1080:13;;1403:23955:103;;;;;;1080:13:61;1403:23955:103;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004af5780630331383c14620003d157806308386eba14620004a95780630d12bbdb14620004a35780630d4a8b49146200049d578063175188e814620004975780631b71f0e414620004915780631f787d28146200048b578063223e5479146200048557806322bcf999146200047f578063248a9ca3146200047957806328c309e914620004735780632b38c69c146200046d5780632c611c4a14620004675780632f2ff15d146200046157806331f61bca146200045b57806333960459146200045557806334196355146200044f5780633517aa7d146200044957806336568abe14620004435780633659cfe6146200043d578063397e254314620004375780633a871fe11462000431578063477a5cc0146200042b5780634f1ef2861462000425578063524e59e8146200041f57806352d1902d1462000419578063559de05d14620004135780635c94e4d2146200040d5780635ecf71c5146200040757806365e3864c14620003d75780636871eb4d146200040157806368decabb14620003fb5780636c53db9a14620003f5578063715018a614620003ef57806373265c3714620003e9578063733a2d1f14620003e357806377122d5614620003dd5780637817ee4f14620003d757806378a0b8a914620003d15780637b10399914620003cb57806382d6a1e714620003c557806388cfe68414620003bf5780638961be6b14620003b95780638da5cb5b14620003b357806391d1485414620003ad578063a0cf0aea14620003a7578063a217fddf14620003a1578063a230c524146200039b578063b0d3713a1462000395578063b3f00674146200038f578063b5058c501462000389578063b64e39af1462000383578063b99b4370146200037d578063bc063e1a1462000377578063c4d66de81462000371578063c6d572ae146200036b578063d547741f1462000365578063d6d8428d146200035f578063d7050f071462000359578063db61d65c1462000353578063e16d0e32146200034d578063ebd7dc521462000347578063f2fde38b1462000341578063f86c5f89146200033b5763ffa1ad74146200033557600080fd5b62002d29565b62002cfd565b62002c63565b62002c18565b62002b09565b62002add565b62002abe565b62002a92565b62002a48565b620029b2565b62002974565b62002954565b62002828565b62002756565b62002633565b62002604565b620025b7565b6200254a565b6200252c565b620024fb565b620024bd565b6200248c565b6200246c565b6200240a565b62002354565b62002328565b6200051b565b6200203f565b620022fc565b620022d0565b62002234565b620021e3565b620021b7565b6200218b565b6200207e565b62001dc7565b62001d9b565b62001bfa565b62001b36565b620019f1565b62001716565b620016d2565b6200168b565b620015fe565b62001530565b62001493565b6200123c565b620010cf565b62000ed2565b62000e82565b62000dd5565b62000d90565b62000d2b565b62000b72565b62000b41565b62000a50565b62000a1b565b620009f7565b620009aa565b62000973565b62000680565b6200055b565b6200053b565b346200050a5760203660031901126200050a5760043563ffffffff60e01b81168091036200050a57602090637965db0b60e01b8114908115620004f8575b506040519015158152f35b6301ffc9a760e01b14905038620004ed565b600080fd5b60009103126200050a57565b346200050a5760003660031901126200050a57602060fb54604051908152f35b346200050a5760003660031901126200050a57602060fe54604051908152f35b346200050a5760203660031901126200050a576004356200057b62004fea565b620186a08111620005b7576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fc55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b038116036200050a57565b60243590620005f682620005d5565b565b60443590620005f682620005d5565b60643590620005f682620005d5565b6101c43590620005f682620005d5565b6101e43590620005f682620005d5565b6102043590620005f682620005d5565b3590620005f682620005d5565b60409060031901126200050a576004356200066e81620005d5565b906024356200067d81620005d5565b90565b346200050a57620006913662000653565b6200069c82620049f5565b620006a78162004a42565b620006b28162004539565b620006d3620006cc82620006c68562000c60565b62000ccc565b5460ff1690565b620009615760209081620006f1620006eb8562000c7b565b6200490f565b015160fb5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af1801562000830576003918a916200093f575b506200073e8162004664565b036200083657505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af1801562000830576000805160206200564383398151915294620007f6928792620007fc575b50505b80620007b185620006c68662000c96565b55620007d3620007c685620006c68662000c60565b805460ff19166001179055565b620007e984620007e38562000cb1565b62004999565b60405193849384620049d3565b0390a180f35b620008209250803d1062000828575b62000817818362000fae565b81019062003292565b38806200079d565b503d6200080b565b620032a2565b604096919392965193845282846004818b865af180156200083057889485916200090b575b50620008678162004664565b6200088c575b50505050620007f66000805160206200564383398151915293620007a0565b8293965090620008b49160405197888094819363782aadff60e01b835289600484016200495f565b03925af1801562000830576000805160206200564383398151915294620007f6928792620008e9575b5050938591386200086d565b620009039250803d10620008285762000817818362000fae565b3880620008dd565b620009309150843d861162000937575b62000927818362000fae565b81019062004947565b386200085b565b503d6200091b565b6200095a9150863d8811620009375762000927818362000fae565b3862000732565b604051636adcde4b60e11b8152600490fd5b346200050a5760203660031901126200050a57620009a86004356200099881620005d5565b620009a262004fea565b620050bb565b005b346200050a5760203660031901126200050a57600435620009cb81620005d5565b620009d562002fda565b61010280546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a57602060ff8054166040519015158152f35b346200050a5760203660031901126200050a57620009a860043562000a4081620005d5565b62000a4a62004fea565b62005041565b346200050a5762000a613662000653565b62000a6c82620049f5565b62000a778162004539565b6001600160a01b038116330362000b2f5762000aa462000aa0620006cc83620006c68662000c60565b1590565b62000b1d578162000ae862000ade83620006c67ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000c60565b805460ff19169055565b600062000afa83620006c68462000c96565b5562000b07828262004abe565b62000b186040519283928362003847565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b346200050a5760203660031901126200050a5760043560005260c96020526020600160406000200154604051908152f35b346200050a5760003660031901126200050a5762000b9d62000b9761010054620005c9565b620005c9565b60fb549062000bbc62000bb360fc54846200293a565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000bdf306004830162000d18565b03916001600160a01b03165afa918215620008305762000c399362000c1c62000bb362000c299562000c239460009162000c3d575b50856200293a565b9262003083565b62003083565b6040519081529081906020820190565b0390f35b62000c59915060203d8111620008285762000817818362000fae565b3862000c14565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000d125760005260206000200190600090565b62000ce3565b6001600160a01b03909116815260200190565b346200050a5760403660031901126200050a5760043562000d4c81620005d5565b6024359060018060a01b0380911660005261010d602052604060002080548310156200050a5760209262000d809162000cf9565b9190546040519260031b1c168152f35b346200050a5760203660031901126200050a5760043562000db181620005d5565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b346200050a5760403660031901126200050a5760043560243562000df981620005d5565b60009180835260c960205262000e16600160408520015462002d73565b80835260c960205260ff62000e2f836040862062000ccc565b54161562000e3b578280f35b80835260c960205262000e52826040852062000ccc565b805460ff1916600117905533916001600160a01b031690600080516020620055e38339815191528480a438808280f35b346200050a5760203660031901126200050a577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000ec562004fea565b8060fb55604051908152a1005b346200050a5760003660031901126200050a57602060fd54604051908152f35b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111762000f2457604052565b62000ef2565b60c081019081106001600160401b0382111762000f2457604052565b60e081019081106001600160401b0382111762000f2457604052565b608081019081106001600160401b0382111762000f2457604052565b606081019081106001600160401b0382111762000f2457604052565b6001600160401b03811162000f2457604052565b601f909101601f19168101906001600160401b0382119082101762000f2457604052565b6040519061018082016001600160401b0381118382101762000f2457604052565b6001600160401b03811162000f2457601f01601f191660200190565b9291926200101d8262000ff3565b916200102d604051938462000fae565b8294818452818301116200050a578281602093846000960137010152565b9080601f830112156200050a578160206200067d933591016200100f565b91906040838203126200050a5760405190620010858262000f08565b8335825290928391602082013591906001600160401b0383116200050a57602092620010b292016200104b565b910152565b801515036200050a57565b3590620005f682620010b7565b346200050a576003196080368201126200050a57600435906001600160401b03908183116200050a576101809083360301126200050a576200111062000fd2565b906200111f8360040162000646565b82526200112f6024840162000646565b60208301526044830135604083015260648301356060830152608483013560808301526200116060a4840162000646565b60a08301526200117360c4840162000646565b60c083015260e48301358181116200050a5762001197906004369186010162001069565b60e0830152620011ab610104840162000646565b6101008301526101248301358181116200050a57620011d190600436918601016200104b565b610120830152620011e66101448401620010c2565b6101408301526101648301359081116200050a57620009a89260046200121092369201016200104b565b61016082015262001220620005e7565b6200122a620005f8565b906200123562000607565b9262003861565b346200050a5760008060031936011262001490576200125a62004b76565b620012653362000c7b565b6200127762000b9761010054620005c9565b60fb54916200128d62000bb360fc54856200293a565b6040516302a64b8360e21b815260209491936001600160a01b03169190858180620012bc306004830162000d18565b0381865afa80156200083057620012e19262000bb39289926200146c575b506200293a565b926200130262000aa06040620012fb620006eb3362000c7b565b0151151590565b62001317575b85620013146001606555565b80f35b826200132f600260019501600160ff19825416179055565b60fb54938491015562001367610105936200135c8662000c2385620013558954620005c9565b9462003083565b903090339062004bcd565b806200143e575b5082620013be575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689620013b060fb5460405191829133836200495f565b0390a1388080808062001308565b83620013cd60049354620005c9565b9160405193848092634c3a1adf60e11b82525afa9182156200083057620013fe94869362001408575b505062004d4a565b3880808062001376565b6200142d929350803d1062001436575b62001424818362000fae565b810190620037c5565b903880620013f6565b503d62001418565b62001465906200144f8454620005c9565b60ff5460081c6001600160a01b03169062004d4a565b386200136e565b62001488919250883d8a11620008285762000817818362000fae565b9038620012da565b80fd5b346200050a5760403660031901126200050a57602435620014b481620005d5565b336001600160a01b03821603620014d357620009a89060043562002f61565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346200050a5760203660031901126200050a576004356200155181620005d5565b6001600160a01b03620015a87f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b826000805160206200568383398151915254161462003241565b620015b2620037dd565b33911603620015d157620009a890620015ca62003091565b906200335c565b620015fa620015df620037dd565b60405163163678e960e01b8152918291336004840162003847565b0390fd5b346200050a5760203660031901126200050a577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf860406004356200164281620005d5565b6200164c62004fea565b6001600160a01b0390811690620016638262004539565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b346200050a5760203660031901126200050a57600435620016ac81620005d5565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b346200050a57602060ff6200170a620016eb3662000653565b6001600160a01b03909116600090815261010e85526040902062000ccc565b54166040519015158152f35b60403660031901126200050a576004356200173181620005d5565b6024356001600160401b0381116200050a57366023820112156200050a57620017659036906024816004013591016200100f565b6001600160a01b03620017a27f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b620017ac620037dd565b33911603620015d157620009a89162003420565b60a4359060038210156200050a57565b60c4359060038210156200050a57565b600411156200050a57565b60c43590620005f682620017e0565b60e43590620005f682620017e0565b60209060e31901126200050a5760405190602082016001600160401b0381118382101762000f245760405260e4358252565b6020906101031901126200050a5760405190602082016001600160401b0381118382101762000f2457604052610104358252565b60c0906101031901126200050a57604051906200188c8262000f2a565b81610104356200189c81620005d5565b815261012435620018ad81620005d5565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c0906101231901126200050a5760405190620018f58262000f2a565b81610124356200190581620005d5565b8152610144356200191681620005d5565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e083126200050a5760405190620019618262000f46565b60808294126200050a57620019d1906040516200197e8162000f62565b60243581526044356020820152606435604082015260843560608201528352620019a7620017c0565b6020840152620019b6620017eb565b6040840152620019c68162001809565b60608401526200186f565b6080820152620019e062000616565b60a082015260c0620010b262000626565b346200050a576102203660031901126200050a5760043562001a1381620005d5565b62001a1e3662001941565b6001600160401b0390610204358281116200050a5762001a4390369060040162001069565b9162001a5261010254620005c9565b9062001a6562000b9761010754620005c9565b9162001acf62001a7861010154620005c9565b9362001ac062001a87620037dd565b60405163184b955960e01b60208201526001600160a01b0393841660248201529683166044880152909116606486015284906084820190565b03601f19810185528462000fae565b6040519261041091828501938585109085111762000f2457849362001afa93620051d386396200455c565b03906000f0928315620008305762001b1b936001600160a01b0316620047f2565b604080519283526001600160a01b0391909116602083015290f35b346200050a5760003660031901126200050a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001b9457604051600080516020620056838339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b346200050a576020806003193601126200050a5760049081359162001c1e62004b76565b62001c2862004cfb565b62001c3d62001c373362000cb1565b620045de565b60005b815181101562001d1f5762001c6f62000b9762000b9762001c62848662003d18565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001c938c338c84016200495f565b03925af18015620008305762001cbb9260009162001cfd575b508062001cc1575b5062003d08565b62001c40565b62001cf462001ceb62001cd43362000c96565b62001ce462001c62868962003d18565b9062000ccc565b91825462003083565b90553862001cb4565b62001d189150863d8811620008285762000817818362000fae565b3862001cac565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001d8d8662001d628162001d5861010554620005c9565b3090339062004bcd565b600162001d6f3362000c7b565b0162001d7d82825462003083565b905560405191829133836200495f565b0390a1620009a86001606555565b346200050a5760003660031901126200050a57610102546040516001600160a01b039091168152602090f35b346200050a576020806003193601126200050a5760049081359062001deb62004b76565b62001df562004cfb565b62001e003362000cb1565b9060019362001e1d848662001e153362000c7b565b015462003d4d565b60fb5411620020305790849262001e43853362001e3d61010554620005c9565b62004d4a565b6000935b62001e8d575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001d8d868862001e7f3362000c7b565b0162001d7d82825462003d4d565b9091929481549485871015620020275762001ec262001ead888562000cf9565b905460039190911b1c6001600160a01b031690565b9562001ece8762004d75565b1562001fd657506040928484518098632ed04b2b60e01b82528160008162001efb888d339084016200495f565b03926001600160a01b03165af1968715620008305760009762001fb2575b5062001f3962001f293362000c96565b62001ce462001ead8b8562000cf9565b54948588111562001f665784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001fa79162001f9f62001f9662001f863362000c96565b62001ce462001ead868c62000cf9565b91825462003d4d565b905562003d08565b939092919262001e47565b62001fce919750853d8711620008285762000817818362000fae565b953862001f19565b966200202162001fa79297620020166200200362001ead62001ffc889d9b999b62003d2d565b8b62000cf9565b6200200f858b62000cf9565b906200497a565b620009a28862004a78565b62003d08565b94509462001e4d565b604051634e23e81760e11b8152fd5b346200050a57602062002075620020563662000653565b6001600160a01b03909116600090815261010b84526040902062000ccc565b54604051908152f35b346200050a576200208f3662000653565b6200209962004b76565b620020a362004fea565b620020b462000aa060ff5460ff1690565b6200217957620020d262000aa06040620012fb620006eb8662000c7b565b62002167578162001d8d6200210c620006eb7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39562000c7b565b620021178362005112565b62002138620021268462000c7b565b60026000918281558260018201550155565b6200215960206200214c61010554620005c9565b9201918583519162004d4a565b5160405193849384620049d3565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b346200050a5760003660031901126200050a57610103546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610106546040516001600160a01b039091168152602090f35b346200050a5760008060031936011262001490576200220162002fda565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020620056a38339815191528280a380f35b346200050a5760203660031901126200050a576200225162004fea565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa9182156200083057620009a892602091600091620022aa575b50015116620009a28162004539565b620022c9913d8091833e620022c0818362000fae565b81019062004f4e565b386200229b565b346200050a5760003660031901126200050a576020604051600080516020620056038339815191528152f35b346200050a5760003660031901126200050a57610101546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610104546040516001600160a01b039091168152602090f35b346200050a5760203660031901126200050a576200237162004fea565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa80156200083057602062000b9791620023c593600091620023ed575b500151620005c9565b620023d08162004539565b620023db8162004d75565b620023e257005b620009a89062005041565b62002403913d8091833e620022c0818362000fae565b38620023bc565b346200050a5760203660031901126200050a5760606004356200242d81620005d5565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b346200050a5760003660031901126200050a57602060fc54604051908152f35b346200050a5760003660031901126200050a576020620024ab620037dd565b6040516001600160a01b039091168152f35b346200050a5760403660031901126200050a57602060ff6200170a602435620024e681620005d5565b60043560005260c98452604060002062000ccc565b346200050a5760003660031901126200050a57602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b346200050a5760003660031901126200050a57602060405160008152f35b346200050a5760203660031901126200050a57602060406004356200256f81620005d5565b60018060a01b0380911660005261010c835260ff600283600020845193620025978562000f7e565b815416845260018101548685015201541615159182910152604051908152f35b346200050a5760203660031901126200050a57600435620025d881620005d5565b620025e262002fda565b61010180546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a5760ff5460405160089190911c6001600160a01b03168152602090f35b346200050a57600080600319360112620014905761010380546001600160a01b0381169033829003620026a85761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620026ec575b6020831014620026d657565b634e487b7160e01b600052602260045260246000fd5b91607f1691620026ca565b60005b8381106200270b5750506000910152565b8181015183820152602001620026fa565b906020916200273781518092818552858086019101620026f7565b601f01601f1916010190565b9060206200067d9281815201906200271c565b346200050a5760008060031936011262001490576040518161010980546200277e81620026ba565b80855291600191808316908115620027fa5750600114620027ba575b62000c3985620027ad8189038262000fae565b6040519182918262002743565b835260208084209095505b828410620027e6575050508162000c3993620027ad9282010193386200279a565b8054858501870152928501928101620027c5565b905062000c399650620027ad9450602092508593915060ff191682840152151560051b82010193386200279a565b346200050a5760008060031936011262001490576200284662004b76565b6200285133620049f5565b6200285c3362005112565b33815261010c6020527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f462002916604083206040516200289c8162000f7e565b81546001600160a01b0316815260018201546020820190815260029092015460ff161515604090910152620028d5620021263362000c7b565b620028ea620028e43362000cb1565b62003eaa565b62002907620028fc61010554620005c9565b825190339062004d4a565b5160405191829133836200495f565b0390a1620013146001606555565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200294e57565b62002924565b346200050a5760003660031901126200050a576020604051620186a08152f35b346200050a5760203660031901126200050a57620009a86004356200299981620005d5565b620029ac60ff60005460081c166200373f565b6200303c565b346200050a576000806003193601126200149057604051816101088054620029da81620026ba565b80855291600191808316908115620027fa575060011462002a085762000c3985620027ad8189038262000fae565b835260208084209095505b82841062002a34575050508162000c3993620027ad9282010193386200279a565b805485850187015292850192810162002a13565b346200050a5760403660031901126200050a57620009a860243560043562002a7082620005d5565b8060005260c960205262002a8c60016040600020015462002d73565b62002f61565b346200050a5760003660031901126200050a57610107546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5760206040516127108152f35b346200050a5760003660031901126200050a57610105546040516001600160a01b039091168152602090f35b346200050a576102403660031901126200050a5760043562002b2b81620005d5565b6024359062002b3a82620005d5565b36604319016101e081126200050a5760806040519162002b5a8362000f46565b126200050a5760405162002b6e8162000f62565b60443581526064356020820152608435604082015260a4356060820152815262002b97620017d0565b602082015262002ba6620017fa565b604082015262002bb6366200183b565b606082015262002bc636620018d8565b608082015262002bd562000626565b60a082015262002be462000636565b60c082015261022435926001600160401b0384116200050a5762002c1162001b1b94369060040162001069565b92620047f2565b346200050a5760203660031901126200050a57602060ff6200170a60043562002c4181620005d5565b6000805160206200560383398151915260005260c98452604060002062000ccc565b346200050a5760203660031901126200050a5760043562002c8481620005d5565b62002c8e62002fda565b6001600160a01b0381161562002ca957620009a8906200303c565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200050a5760003660031901126200050a57610100546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5762000c3960405162002d4e8162000f08565b60038152620302e360ec1b60208201526040519182916020835260208301906200271c565b8060005260c960205260ff62002d8e33604060002062000ccc565b54161562002d995750565b339062002da5620030ba565b91603062002db384620030d7565b53607862002dc184620030e5565b5360295b6001811162002e7857620015fa62002e3362002e5f8662002e5062002df68862002df0891562003116565b62003162565b62002e2c60405195869462002e2c6020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002ec0565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262000fae565b60405162461bcd60e51b81529182916004830162002743565b90600f811690601082101562000d125762002eba916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8487620030f6565b5360041c9162003108565b62002dc5565b9062002ed560209282815194859201620026f7565b0190565b60008051602062005603833981519152600081815260c96020529060ff62002f1184600080516020620056e383398151915262000ccc565b54161562002f1e57505050565b80825260c960205262002f35836040842062000ccc565b805460ff1916600117905533926001600160a01b031691600080516020620055e38339815191529080a4565b60009080825260c960205260ff62002f7d846040852062000ccc565b541662002f8957505050565b80825260c960205262002fa0836040842062000ccc565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b62002fe4620037dd565b336001600160a01b039091160362002ff857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620056a3833981519152600080a3565b90600282018092116200294e57565b919082018092116200294e57565b604051602081016001600160401b0381118282101762000f245760405260008152906000368137565b60405190620030c98262000f7e565b602a82526040366020840137565b80511562000d125760200190565b80516001101562000d125760210190565b90815181101562000d12570160200190565b80156200294e576000190190565b156200311e57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190620031718262000f62565b60428252606036602084013760306200318a83620030d7565b5360786200319883620030e5565b536041905b60018211620031b3576200067d91501562003116565b600f811690601082101562000d1257620031e9916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8486620030f6565b906200319d565b15620031f857565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200324957565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b908160209103126200050a575190565b6040513d6000823e3d90fd5b15620032b657565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b9062003378600080516020620056238339815191525460ff1690565b156200338a5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620033fb575b50620033d55760405162461bcd60e51b815280620015fa600482016200330d565b620033f560008051602062005683833981519152620005f69414620032ae565b62003576565b6200341891945060203d8111620008285762000817818362000fae565b9238620033b4565b906200343c600080516020620056238339815191525460ff1690565b156200344e5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620034bf575b50620034995760405162461bcd60e51b815280620015fa600482016200330d565b620034b960008051602062005683833981519152620005f69414620032ae565b6200362c565b620034dc91945060203d8111620008285762000817818362000fae565b923862003478565b803b156200351b576000805160206200568383398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b906200358282620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a280511580159062003623575b620035b5575050565b620036209160008060405193620035cc8562000f7e565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200361962003673565b91620036a8565b50565b506000620035ac565b906200363882620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a28051158015906200366a57620035b5575050565b506001620035ac565b3d15620036a3573d90620036878262000ff3565b9162003697604051938462000fae565b82523d6000602084013e565b606090565b919290156200370d5750815115620036be575090565b3b15620036c85790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620037215750805190602001fd5b60405162461bcd60e51b8152908190620015fa906004830162002743565b156200374757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b620005f690620029ac60ff60005460081c166200373f565b5190620005f682620005d5565b908160209103126200050a57516200067d81620005d5565b6033546001600160a01b0316803b620037f35790565b604051638da5cb5b60e01b8152602081600481855afa6000918162003822575b506200381d575090565b905090565b6200383f91925060203d8111620014365762001424818362000fae565b903862003813565b6001600160a01b0391821681529116602082015260400190565b919290926000549360ff8560081c16158095819662003994575b811562003971575b50156200391557620038ae9385620038a3600160ff196000541617600055565b620038fa5762003fa5565b620038b557565b620038c661ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200390f61010061ff00196000541617600055565b62003fa5565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003985575b503862003883565b6001915060ff1614386200397d565b600160ff82161091506200387b565b818110620039af575050565b60008155600101620039a3565b90601f8211620039ca575050565b620005f6916101086000526020600020906020601f840160051c83019310620039fc575b601f0160051c0190620039a3565b9091508190620039ee565b90601f821162003a15575050565b620005f6916101096000526020600020906020601f840160051c83019310620039fc57601f0160051c0190620039a3565b80519091906001600160401b03811162000f24576101089062003a758162003a6f8454620026ba565b620039bc565b602080601f831160011462003ab457508192939460009262003aa8575b50508160011b916000199060031b1c1916179055565b01519050388062003a92565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b88821062003b245750508360019596971062003b0a575b505050811b019055565b015160001960f88460031b161c1916905538808062003b00565b8060018596829496860151815501950193019062003ae9565b80519091906001600160401b03811162000f24576101099062003b6c8162003b668454620026ba565b62003a07565b602080601f831160011462003b9e57508192939460009262003aa85750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b88821062003bf35750508360019596971062003b0a57505050811b019055565b8060018596829496860151815501950193019062003bd3565b6001600160401b03811162000f245760051b60200190565b60209081818403126200050a578051906001600160401b0382116200050a57019180601f840112156200050a57825162003c5e8162003c0c565b9362003c6e604051958662000fae565b818552838086019260051b8201019283116200050a578301905b82821062003c97575050505090565b838091835162003ca781620005d5565b81520191019062003c88565b6040519062003cc28262000f62565b600382526060366020840137565b9062003cdc8262003c0c565b62003ceb604051918262000fae565b828152809262003cfe601f199162003c0c565b0190602036910137565b60001981146200294e5760010190565b805182101562000d125760209160051b010190565b6000198101919082116200294e57565b6001198101919082116200294e57565b919082039182116200294e57565b9060009161010880549162003d7083620026ba565b91828252600193848116908160001462003dd7575060011462003d94575b50505050565b90919394506000526020928360002092846000945b83861062003dc257505050500101903880808062003d8e565b80548587018301529401938590820162003da9565b9294505050602093945060ff191683830152151560051b0101903880808062003d8e565b90604060206200067d938051845201519181602082015201906200271c565b90815180825260208080930193019160005b82811062003e3b575050505090565b83516001600160a01b03168552938101939281019260010162003e2c565b906200067d949262003e8b91835260a0602084015262003e7c60a0840162003d5b565b90838203604085015262003dfb565b6001600160a01b03909316606082015280830360809091015262003e1a565b8054600082558062003eba575050565b620005f691600052602060002090810190620039a3565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b03821162000f2457600160401b821162000f245761010f90815483835580841062003f57575b50602080910191600052806000209060005b84811062003f3b575050505050565b83516001600160a01b0316838201559281019260010162003f2c565b62003f7190836000528460206000209182019101620039a3565b3862003f1a565b90916200067d9282526060602083015262003f966060830162003d5b565b91604081840391015262003dfb565b909262003fb290620037a0565b62003fbc62004514565b62003fc662004498565b62003fd0620044ab565b60208082019262003ff062003fea62000b978651620005c9565b62004539565b61010083016200400962003fea62000b978351620005c9565b6200401962003fea8551620005c9565b60a084016200402d62003fea8251620005c9565b620040a16200407f606087019788516200447f575b620040786200405662000b978a51620005c9565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b51620005c9565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b6040958686018051156200446e5792620041416200411f6200417b94620040db62000b9795620040d56200419d995160fb55565b5160fc55565b620040ff620040ee6101408c0151151590565b60ff8019815416911515161760ff55565b6200410f6101208b015162003a46565b620040786101608b015162003b3d565b61010080546001600160a01b0319166001600160a01b03909216919091179055565b620040786200415460c0890151620005c9565b60ff8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b03831617905562002ed9565b600482620041b262000b9761010754620005c9565b8651635ab1bd5360e01b815292839182905afa80156200083057620041fe916000916200444c575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b6000946200421362000b9761010654620005c9565b95863b6200438e5750620042bc90620042666200422f62003cb3565b976200424f33620042408b620030d7565b6001600160a01b039091169052565b620042406200425f8a5162003d2d565b8a62003d18565b6200427b30620042406200425f8a5162003d3d565b83876200428f62000b9761010454620005c9565b60e06080890151980197600089518b5197889586948593633a92f65f60e01b855230916004860162003e59565b03925af191821562000830577f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205976200430d6200433594620043139362004357986000926200436c575b505060fe55565b62003eea565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b620038f560fe54915192519283928362003f78565b620043869250803d10620008285762000817818362000fae565b388062004306565b94929095969391835163a0e67e2b60e01b815286816004818c5afa9687156200083057809762004422575b5050620043d1620043cb875162003074565b62003cd0565b9660005b87518110156200440a578062002021620043f862001c6262004404948c62003d18565b62004240838d62003d18565b620043d5565b5090929497620042bc9294965062004266906200424f565b620044439297503d8091833e6200443a818362000fae565b81019062003c24565b943880620043b9565b620044679150843d8611620014365762001424818362000fae565b38620041da565b87516363868c5560e11b8152600490fd5b6200449262003fea60c08a0151620005c9565b62004042565b620005f660ff60005460081c166200373f565b60008051602062005603833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b6200453260ff60005460081c166200452c816200373f565b6200373f565b6001606555565b6001600160a01b0316156200454a57565b6040516303988b8160e61b8152600490fd5b6001600160a01b0390911681526040602082018190526200067d929101906200271c565b6040519061010f828154918282526020928383019160005283600020936000905b828210620045ba57505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045a1565b9060405191828154918282526020928383019160005283600020936000905b8282106200461657505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045fd565b634e487b7160e01b600052602160045260246000fd5b9060038210156200465e5752565b6200463a565b600411156200465e57565b9060048210156200465e5752565b620005f6909291926101c060c06101e08301956060815180518652602081015160208701526040810151604087015201516060850152620046c76020820151608086019062004650565b620046db604082015160a08601906200466f565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b9490916200478d620047a9946200067d989694885260018060a01b03809316602089015260e0604089015260e08801906200271c565b921660608601526000608086015284820360a086015262003dfb565b9160c081840391015262003e1a565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a0608082018190526200067d9291019062003dfb565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b03861662004906575b60206200486082968360006200483162004580565b926200488e6200484862000b9761010754620005c9565b946200486f60fe54936040519889918b83016200467d565b03601f19810189528862000fae565b896040519b8c98899788966370803ea560e11b88526004880162004757565b03925af191821562000830577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620048dc575b50620038f5908397604051948594309186620047b8565b620038f5919350620048fe9060203d8111620008285762000817818362000fae565b9290620048c5565b8592506200481c565b906040516200491e8162000f7e565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b908160209103126200050a57516200067d81620017e0565b6001600160a01b039091168152602081019190915260400190565b8054909262004995926001600160a01b039091169162003ed1565b9055565b805490600160401b82101562000f245781620049bf916001620049959401815562000cf9565b815491936001600160a01b03169162003ed1565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff600260406000206040519362004a208562000f7e565b8154168452600181015460208501520154161590604082159101526200216757565b6001600160a01b0316600090815261010a602052604090205460ff161562004a6657565b6040516346c26e4b60e01b8152600490fd5b8054801562004aa857600019019062004a92828262000cf9565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b8154908181101562004b6e5762004af3818462000cf9565b905460039391841b1c86168787161462004b1b575b5062004b15915062003d08565b62004adb565b60001981019081116200294e5762004b159262004b3a87928662000cf9565b9054911b1c1662004b5a62004b50838662000cf9565b8193915462003ed1565b905562004b678362004a78565b3862004b08565b505050915050565b60026065541462004b88576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9062004c089062004bf9620005f6956040519586936323b872dd60e01b602086015260248501620049d3565b03601f19810184528362000fae565b60405162004c65916001600160a01b031662004c248262000f08565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200361962003673565b805182811591821562004cd7575b505090501562004c805750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b83809293500103126200050a5781015162004cf281620010b7565b80823862004c73565b3360005261010c602052604060002060ff60026040519262004d1d8462000f7e565b80546001600160a01b03168452600181015460208501520154161580156040909201919091526200216757565b62004c08620005f6939262004bf960405194859263a9059cbb60e01b6020850152602484016200495f565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004da28162000f7e565b51617530938685fa933d600051908662004e55575b508562004e4a575b508462004de0575b5050508162004dd4575090565b6200067d915062004e61565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004e0e8162000f7e565b5192fa60005190913d8362004e3e575b50508162004e33575b50159038808062004dc7565b905015153862004e27565b10159150388062004e1e565b151594503862004dbf565b84111595503862004db7565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004e938162000f7e565b5191617530fa6000513d8262004eb6575b508162004eaf575090565b9050151590565b6020111591503862004ea4565b91906040838203126200050a5760405162004ede8162000f08565b83518152602084015190938491906001600160401b0382116200050a57019082601f830112156200050a5781519162004f178362000ff3565b9362004f27604051958662000fae565b838552602084830101116200050a5760209262004f4a91848087019101620026f7565b0152565b906020828203126200050a5781516001600160401b03928382116200050a570160c0818303126200050a576040519262004f888462000f2a565b81518452602082015162004f9c81620005d5565b602085015262004faf60408301620037b8565b604085015260608201519081116200050a5760a09262004fd191830162004ec3565b606084015260808101516080840152015160a082015290565b6000805160206200560383398151915260005260c960205260ff6200501f33600080516020620056e383398151915262000ccc565b5416156200502957565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff16620050a957816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491620050ea8162004539565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062005137828520620045de565b845b8151811015620051ca576200515b62000b9762000b9762001c62848662003d18565b90813b15620051c6578685518093631914f67160e21b8252818381620051858a6004830162000d18565b03925af19182156200083057620051a292620051a8575062003d08565b62005139565b80620051b8620051bf9262000f9a565b806200050f565b3862001cb4565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a2646970667358221220f188929cd53be135d5092dbf639902589375592e211f9b10901618b7626cc1ce64736f6c63430008130033","sourceMap":"1403:23955:103:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3158:58:40;;;:98;;;;1403:23955:103;;;;;;;;;;3158:98:40;-1:-1:-1;;;1189:51:50;;-1:-1:-1;3158:98:40;;;1403:23955:103;-1:-1:-1;1403:23955:103;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;23092:19;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;5123:24;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;23320:288;;:::i;:::-;4610:7;23427:26;;23423:86;;1403:23955;;23564:37;1403:23955;23518:31;1403:23955;;;;;;23564:37;1403:23955;23423:86;1403:23955;;-1:-1:-1;;;23476:22:103;;1403:23955;;23476:22;1403:23955;-1:-1:-1;;;;;1403:23955:103;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;:::i;:::-;13186:7;;;:::i;:::-;13224:9;;;:::i;:::-;13263;;;:::i;:::-;13288:47;;:36;;;;:::i;:::-;:47;:::i;:::-;1403:23955;;;;;13288:47;13284:107;;13491:19;13424:28;;1403:23955;13424:28;;;:::i;:::-;1403:23955;:::i;:::-;13491:19;1403:23955;13547:19;1403:23955;;;-1:-1:-1;;;13581:42:103;;;-1:-1:-1;;;;;;;1403:23955:103;;;;;;;;;;;;-1:-1:-1;1403:23955:103;13581:42;;;;;;13627:36;13581:42;;;;;1403:23955;;;;;:::i;:::-;13581:82;13627:36;;-1:-1:-1;;1403:23955:103;;-1:-1:-1;;;13698:51:103;;-1:-1:-1;;;;;1403:23955:103;;;13698:51;;1403:23955;-1:-1:-1;1403:23955:103;;;;;;;-1:-1:-1;1403:23955:103;;;;;;13698:51;;;;;;;;-1:-1:-1;;;;;;;;;;;13698:51:103;14184:61;13698:51;;;;;13577:384;13679:70;;13577:384;13971:30;:41;:30;;;;:::i;:41::-;1403:23955;14060:54;:47;:36;;;;:::i;:47::-;1403:23955;;-1:-1:-1;;1403:23955:103;14110:4;1403:23955;;;;14060:54;14125:43;:27;;;;:::i;:::-;:43;:::i;:::-;1403:23955;;14184:61;;;;;:::i;:::-;;;;1403:23955;;13698:51;;;;;;-1:-1:-1;13698:51:103;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;13577:384::-;1403:23955;;;;;;;13770:42;;;;;1403:23955;13770:42;;;;;;;;;;;;;;;13577:384;1403:23955;;;;:::i;:::-;13766:195;;13577:384;;;;;14184:61;-1:-1:-1;;;;;;;;;;;13577:384:103;;;13766:195;1403:23955;;;;;13883:67;1403:23955;;;689:66:57;;;;;;;;;13883:67:103;;;1403:23955;13883:67;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;;;;;;13883:67:103;14184:61;13883:67;;;;;13766:195;13864:86;;13766:195;;;;;;13883:67;;;;;;-1:-1:-1;13883:67:103;;;;;;:::i;:::-;;;;;13770:42;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;13581;;;;;;;;;;;;;;:::i;:::-;;;;13284:107;1403:23955;;-1:-1:-1;;;13358:22:103;;1403:23955;;13358:22;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;19731:9;1403:23955;;;;;:::i;:::-;19620:128;;:::i;:::-;19731:9;:::i;:::-;1403:23955;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;9188:27:103;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;5204:25;1403:23955;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;18893:12;1403:23955;;;;;:::i;:::-;18785:128;;:::i;:::-;18893:12;:::i;1403:23955::-;;;;;;;:::i;:::-;14381:7;;;:::i;:::-;14418:9;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;14458:10;8358:20;8354:77;;14495:48;14496:47;;:36;;;;:::i;:47::-;14495:48;;1403:23955;14495:48;14491:110;;14611:36;:55;:47;:36;;14905:45;14611:36;;:::i;:47::-;1403:23955;;-1:-1:-1;;1403:23955:103;;;;14611:55;14661:5;14676:41;:30;;;;:::i;:41::-;1403:23955;14765:9;;;;:::i;:::-;14905:45;1403:23955;;14905:45;;;;;:::i;:::-;;;;1403:23955;14491:110;1403:23955;;-1:-1:-1;;;14566:24:103;;1403:23955;;14566:24;8354:77;1403:23955;;-1:-1:-1;;;8401:19:103;;1403:23955;;8401:19;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;;;-1:-1:-1;1403:23955:103;4955:6:40;1403:23955:103;;;4955:22:40;1403:23955:103;-1:-1:-1;1403:23955:103;4955:22:40;1403:23955:103;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;22636:33;1403:23955;22653:15;1403:23955;;:::i;:::-;22636:33;:::i;:::-;22709:19;1403:23955;;22708:62;22709:34;22731:12;1403:23955;22709:34;;:::i;:::-;4610:7;1403:23955;;;;22708:62;1403:23955;22842:44;1403:23955;;689:66:57;;;;;22842:44:103;;22880:4;;22842:44;22880:4;1403:23955;22842:44;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;22842:44;;;;;;;1403:23955;22842:44;22819:94;22820:66;22931:59;22842:44;22931:40;22842:44;1403:23955;22842:44;;;1403:23955;22820:66;;;:::i;22819:94::-;22931:40;;:::i;:::-;:59;:::i;:::-;1403:23955;;;;;;;;;;;;;;;;;22842:44;;;;;;;;;;;;;;:::i;:::-;;;;1403:23955;-1:-1:-1;;;;;1403:23955:103;;;;;13288:27;1403:23955;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;13424:19;1403:23955;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;13971:21;1403:23955;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;14125:18;1403:23955;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;-1:-1:-1;1403:23955:103;:::o;:::-;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1403:23955:103;6760:82;1403:23955;;;-1:-1:-1;1403:23955:103;;;6760:82;;;;;1403:23955;6760:82;;;;:::i;:::-;1403:23955;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1403:23955:103;18404:19;1403:23955;;;;;-1:-1:-1;1403:23955:103;18404:41;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;:::i;:::-;-1:-1:-1;1403:23955:103;;;;4955:6:40;1403:23955:103;;2809:4:40;4955:22;1403:23955:103;;;4955:22:40;1403:23955:103;2809:4:40;:::i;:::-;1403:23955:103;;;4955:6:40;1403:23955:103;;;3459:29:40;1403:23955:103;;;;3459:29:40;:::i;:::-;1403:23955:103;;8020:23:40;8016:149;;1403:23955:103;;;8016:149:40;1403:23955:103;;;4955:6:40;1403:23955:103;;8059:29:40;1403:23955:103;;;;8059:29:40;:::i;:::-;1403:23955:103;;-1:-1:-1;;1403:23955:103;4955:22:40;1403:23955:103;;;965:10:48;;-1:-1:-1;;;;;1403:23955:103;;-1:-1:-1;;;;;;;;;;;8114:40:40;;;8016:149;;1403:23955:103;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;23275:32;1403:23955;;;23124:190;;:::i;:::-;1403:23955;23228:32;1403:23955;;;;;;23275:32;1403:23955;;;;;;;-1:-1:-1;;1403:23955:103;;;;;5024:25;1403:23955;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;:::o;:::-;;;;;-1:-1:-1;;1403:23955:103;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;-1:-1:-1;;1403:23955:103;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;9358:2496;1403:23955;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;9358:2496;;:::i;1403:23955::-;;;;;;;;;;;;;2492:103:45;;:::i;:::-;20719:28:103;20672:10;20719:28;:::i;:::-;20791:33;1403:23955;20808:15;1403:23955;;:::i;20791:33::-;20864:19;1403:23955;;20863:62;20864:34;20886:12;1403:23955;20864:34;;:::i;20863:62::-;1403:23955;;-1:-1:-1;;;20997:44:103;;;;1403:23955;;-1:-1:-1;;;;;1403:23955:103;;689:66:57;20997:44:103;1403:23955;;20997:44;21035:4;1403:23955;20997:44;;;:::i;:::-;;;;;;;;;;20974:94;20997:44;20975:66;20997:44;;;;;1403:23955;20975:66;;:::i;20974:94::-;20672:10;21082:18;20547:22;1403:23955;;20502:28;20672:10;20502:28;:::i;1403:23955::-;20547:22;1403:23955;;;;;21082:18;21078:1430;;1403:23955;2557:1:45;;1808;2086:22;1403:23955:103;2006:109:45;2557:1;1403:23955:103;;21078:1430;21116:22;:29;:22;1403:23955;21116:22;;14110:4;1403:23955;;;;;;;;;21116:29;20864:19;1403:23955;21160:22;;;;1403:23955;21426:59;21356:11;1403:23955;21426:59;1403:23955;21426:40;1403:23955;;;;;:::i;:::-;21426:40;;:::i;:59::-;21035:4;;20672:10;;21426:59;;:::i;:::-;21924:22;21920:178;;21078:1430;22181:20;;22177:255;;21078:1430;1403:23955;;;;22451:46;;20864:19;1403:23955;;;20672:10;;;;22451:46;;:::i;:::-;;;;21078:1430;;;;;;;22177:255;1403:23955;;;;;;:::i;:::-;;;;689:66:57;;;;;;;22360:38:103;;;;;;;;;22400:16;22360:38;;;;;22177:255;22400:16;;;:::i;:::-;22177:255;;;;;;22360:38;;;;;;;-1:-1:-1;22360:38:103;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;21920:178;22064:18;1403:23955;;;;;:::i;:::-;22051:11;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;22064:18;;:::i;:::-;21920:178;;;20997:44;;;;;;;;;;;;;;;:::i;:::-;;;;;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;965:10:48;-1:-1:-1;;;;;1403:23955:103;;6484:23:40;1403:23955:103;;6588:7:40;1403:23955:103;;;6588:7:40;:::i;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1719:87:61;1654:6;1403:23955:103;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1403:23955:103;-1:-1:-1;;;;;;;;;;;1403:23955:103;;1727:30:61;1719:87;:::i;:::-;1208:7:102;;:::i;:::-;1219:10;1403:23955:103;;1208:21:102;1204:94;;3325:5:61;3311:12;;;:::i;:::-;3325:5;;:::i;1204:94:102:-;1252:35;1279:7;;:::i;:::-;1403:23955:103;;-1:-1:-1;;;1252:35:102;;1403:23955:103;;;1219:10:102;1403:23955:103;1252:35:102;;;:::i;:::-;;;;1403:23955:103;;;;;;-1:-1:-1;;1403:23955:103;;;;19929:66;1403:23955;;;;;;:::i;:::-;19754:248;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;19853:25;1403:23955;19853:25;:::i;:::-;19888:26;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;;;;;19962:11;1403:23955;;;;;;;;;;;;;;19929:66;1403:23955;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1403:23955:103;6295:68;1403:23955;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;6920:107;1403:23955;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;6920:107;1403:23955;;;6920:107;1403:23955;;;;;6920:107;:::i;:::-;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1719:87:61;1654:6;1403:23955:103;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;1719:87::-;1208:7:102;;:::i;:::-;1219:10;1403:23955:103;;1208:21:102;1204:94;;3865:4:61;;;:::i;1403:23955:103:-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;-1:-1:-1;1403:23955:103;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;:::i;:::-;;;12154:16;1403:23955;;:::i;:::-;;12242:13;1403:23955;12250:4;1403:23955;;:::i;12242:13::-;1403:23955;12189:101;1403:23955;12257:23;1403:23955;;:::i;:::-;12282:7;12189:101;12282:7;;:::i;:::-;1403:23955;;-1:-1:-1;;;1403:23955:103;12189:101;;;-1:-1:-1;;;;;1403:23955:103;;;;12189:101;;1403:23955;;;;;;;;;;;;;;;;;;;;;;12189:101;;1403:23955;;12189:101;;;;;;:::i;:::-;1403:23955;;12112:192;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;12112:192:103;;;;;;12332:53;;-1:-1:-1;;;;;1403:23955:103;12332:53;:::i;:::-;1403:23955;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;2089:6:61;-1:-1:-1;;;;;1403:23955:103;2080:4:61;2072:23;1403:23955:103;;;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;2492:103:45;;;:::i;:::-;15402:1009:103;;:::i;:::-;1403:23955;15595:26;15539:10;15595:26;:::i;:::-;1403:23955;:::i;:::-;-1:-1:-1;15716:3:103;1403:23955;;15687:27;;;;;15859:49;:35;15874:19;;;;;:::i;:::-;1403:23955;-1:-1:-1;;;;;1403:23955:103;;;15859:49;1403:23955;;;;689:66:57;;;;;15859:72:103;;15539:10;-1:-1:-1;15539:10:103;15859:72;15539:10;;15859:72;;;;:::i;:::-;;;;;;;;;15716:3;15859:72;-1:-1:-1;15859:72:103;;;15716:3;15949:21;;15945:232;;15716:3;;;:::i;:::-;15672:13;;15945:232;15990:70;:50;:29;15539:10;15990:29;:::i;:::-;16020:19;;;;;:::i;:::-;15990:50;;:::i;:::-;1403:23955;;;15990:70;:::i;:::-;1403:23955;;15945:232;;;15859:72;;;;;;;;;;;;;;:::i;:::-;;;;15687:27;16361:43;;15687:27;16265:13;1403:23955;;16213:11;1403:23955;;:::i;:::-;16258:4;15539:10;;16265:13;;:::i;:::-;16289:40;:27;15539:10;16289:27;:::i;:::-;:40;:57;1403:23955;;;16289:57;:::i;:::-;1403:23955;;;;15539:10;;;;16361:43;;:::i;:::-;;;;2557:1:45;1808;2086:22;1403:23955:103;2006:109:45;1403:23955:103;;;;;;-1:-1:-1;;1403:23955:103;;;;5574:31;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:45;;;:::i;:::-;16554:1562:103;;:::i;:::-;16750:26;16693:10;16750:26;:::i;:::-;16826:40;;16693:10;16826:58;16693:10;;16826:27;16693:10;16826:27;:::i;:::-;:40;1403:23955;16826:58;:::i;:::-;16887:19;1403:23955;-1:-1:-1;16822:140:103;;16693:10;;;17004:15;16693:10;;1403:23955;16971:11;1403:23955;;:::i;:::-;17004:15;:::i;:::-;-1:-1:-1;17030:951:103;16826:40;;;17030:951;18064:45;;16693:10;;17990:27;16693:10;17990:27;:::i;:::-;:40;:59;1403:23955;;;17990:59;:::i;17079:3::-;1403:23955;;;;;;17050:27;;;;;;;1403:23955;17117:19;;;;:::i;:::-;1403:23955;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;17154:60;;;;:::i;:::-;;;;1403:23955;;;;;;689:66:57;;;;;17253:63:103;;16693:10;-1:-1:-1;16693:10:103;17253:63;16693:10;;;17253:63;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;17253:63;;;;;;;-1:-1:-1;17253:63:103;;;17150:804;16693:10;17357:50;:29;16693:10;17357:29;:::i;:::-;1403:23955;17387:19;;;;:::i;17357:50::-;1403:23955;;17429:31;;;;;;1403:23955;;-1:-1:-1;;;17491:57:103;;;;;1403:23955;;;;;;;;;;;;;1252:35:102;;;17425:259:103;16693:10;;;;;;;;17079:3;16693:10;17595:70;:50;:29;16693:10;17595:29;:::i;:::-;1403:23955;17625:19;;;;:::i;17595:50::-;1403:23955;;;17595:70;:::i;:::-;1403:23955;;17079:3;:::i;:::-;17035:13;;;;;;;17253:63;;;;;;;;;;;;;;;:::i;:::-;;;;;17150:804;17828:27;17930:8;17079:3;17828:27;;17789:67;1403:23955;17811:45;17828:27;;;;;;;:::i;:::-;17811:45;;:::i;1403:23955::-;17789:19;;;;:::i;:::-;:67;;:::i;:::-;17874:20;;;:::i;17930:8::-;17079:3;:::i;17050:27::-;;;;;;16822:140;1403:23955;;-1:-1:-1;;;16929:22:103;;;1403:23955;;;;;6431:98;1403:23955;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;6431:98;1403:23955;;;6431:98;1403:23955;;;;;6431:98;:::i;:::-;1403:23955;;;;;;;;;;;;;;:::i;:::-;2492:103:45;;:::i;:::-;24741:583:103;;:::i;:::-;24873:14;1403:23955;24874:13;1403:23955;;;;;24873:14;24869:68;;24950:18;20547:22;;1403:23955;20502:28;;;:::i;24950:18::-;24946:75;;25053:28;25257:60;1403:23955;25053:28;25257:60;25053:28;;:::i;1403:23955::-;25115:7;;;:::i;:::-;25133:35;25140:28;;;:::i;:::-;1403:23955;25133:35;1403:23955;;;;;;;;;;;;25133:35;25222:19;;1403:23955;25179:11;1403:23955;;:::i;:::-;25222:19;;1403:23955;;;;25222:19;;:::i;:::-;1403:23955;20547:22;1403:23955;25257:60;;;;;:::i;24946:75::-;20547:22;1403:23955;-1:-1:-1;;;24991:19:103;;1403:23955;;24991:19;24869:68;1403:23955;;-1:-1:-1;;;24910:16:103;;1403:23955;;24910:16;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;5673:41;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5933:24;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;1324:62:42;;:::i;:::-;2779:6;1403:23955:103;;-1:-1:-1;;;;;;1403:23955:103;;;;;;;-1:-1:-1;;;;;1403:23955:103;-1:-1:-1;;;;;;;;;;;1403:23955:103;;2827:40:42;1403:23955:103;;;;;;;;-1:-1:-1;;1403:23955:103;;;;19177:237;;:::i;:::-;19304:4;1403:23955;;;-1:-1:-1;;;19304:20:103;;1403:23955;;;19304:20;;;1403:23955;;-1:-1:-1;;;;;1403:23955:103;-1:-1:-1;;1403:23955:103;;;;;;;;19304:20;;;;;;;19398:8;19304:20;1403:23955;19304:20;-1:-1:-1;19304:20:103;;;1403:23955;19304:29;;1403:23955;;19363:8;;;:::i;19304:20::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5477:38;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5764:25;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;18458:321;;:::i;:::-;18582:4;1403:23955;;;-1:-1:-1;;;18582:20:103;;1403:23955;;;18582:20;;;1403:23955;;-1:-1:-1;;1403:23955:103;;;;;;-1:-1:-1;;;;;1403:23955:103;18582:20;;;;;;1403:23955;;18582:20;18574:38;18582:20;-1:-1:-1;18582:20:103;;;1403:23955;18582:29;;1403:23955;;:::i;18574:38::-;18641:8;;;:::i;:::-;18664:60;;;:::i;:::-;18660:113;;1403:23955;18660:113;18753:8;;;:::i;18582:20::-;;;;;;;;;;;;:::i;:::-;;;;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1403:23955:103;6629:60;1403:23955;;;-1:-1:-1;1403:23955:103;;;;;6629:60;1403:23955;6629:60;1403:23955;6629:60;;1403:23955;6629:60;;1403:23955;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;4930:27;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;3459:29:40;1403:23955:103;;;;;:::i;:::-;;;-1:-1:-1;1403:23955:103;3459:6:40;1403:23955:103;;;-1:-1:-1;1403:23955:103;3459:29:40;:::i;1403:23955:103:-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;4436:42;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;20547:22;1403:23955;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1403:23955:103;20502:19;1403:23955;;;;;-1:-1:-1;1403:23955:103;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;20547:22;1403:23955;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;9311:34:103;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5296:26;1403:23955;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;20273:18;1403:23955;;-1:-1:-1;;;;;1403:23955:103;;;20259:10;:32;;;20255:89;;20065:39;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;;;;;;;;;;;;;;;;20154:34;;1403:23955;;20154:34;1403:23955;;20255:89;1403:23955;;-1:-1:-1;;;20314:19:103;;1403:23955;;20314:19;1403:23955;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1403:23955:103;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6149:30;1403:23955;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:45;;:::i;:::-;23920:7:103;23874:10;23920:7;:::i;:::-;23962;23874:10;23962:7;:::i;:::-;23874:10;1403:23955;;24003:19;1403:23955;;24200:48;;1403:23955;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;24041:35;24048:28;23874:10;24048:28;:::i;24041:35::-;1403:23955;24093:27;23874:10;24093:27;:::i;:::-;1403:23955;:::i;:::-;24165:19;1403:23955;24131:11;1403:23955;;:::i;:::-;;;23874:10;;24165:19;;:::i;:::-;1403:23955;;;23874:10;;;;24200:48;;:::i;:::-;;;;2557:1:45;1808;2086:22;1403:23955:103;2006:109:45;4610:7:103;1403:23955;;;4610:7;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;1403:23955::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;4610:7;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;499:12:102;1403:23955:103;;;;;:::i;:::-;5366:69:44;1403:23955:103;-1:-1:-1;1403:23955:103;;;;5366:69:44;:::i;:::-;499:12:102;:::i;1403:23955:103:-;;;;;;;;;;;;;;;;6064:27;1403:23955;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5837:7:40;1403:23955:103;;;;;;;:::i;:::-;;-1:-1:-1;1403:23955:103;4955:6:40;1403:23955:103;;2809:4:40;4955:22;1403:23955:103;-1:-1:-1;1403:23955:103;4955:22:40;1403:23955:103;2809:4:40;:::i;:::-;5837:7;:::i;1403:23955:103:-;;;;;;-1:-1:-1;;1403:23955:103;;;;6005:17;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;4610:7;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5852:25;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;3459:29:40;1403:23955:103;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;1403:23955:103;3459:6:40;1403:23955:103;;;-1:-1:-1;1403:23955:103;3459:29:40;:::i;1403:23955:103:-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;2423:22:42;1403:23955:103;;2517:8:42;;;:::i;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5380:30;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;:::i;3789:103:40:-;1403:23955:103;-1:-1:-1;1403:23955:103;3459:6:40;1403:23955:103;;;3459:29:40;965:10:48;1403:23955:103;-1:-1:-1;1403:23955:103;3459:29:40;:::i;:::-;1403:23955:103;;4260:23:40;4256:412;;3789:103;:::o;4256:412::-;965:10:48;2006:25:49;;;:::i;:::-;2041:15;;;;;:::i;:::-;;2066;;;;:::i;:::-;;1403:23955:103;2124:5:49;4610:7:103;2124:5:49;;;;4299:358:40;1403:23955:103;4351:274:40;2236:10:49;1403:23955:103;4554:49:40;2236:10:49;2228:55;2236:10;;2228:55;:::i;:::-;4554:49:40;:::i;:::-;1403:23955:103;;;4351:274:40;;;1403:23955:103;;4351:274:40;;1403:23955:103;;-1:-1:-1;;;1403:23955:103;;;;;;;;:::i;:::-;-1:-1:-1;;;1403:23955:103;;;;;;;4351:274:40;1403:23955:103;;4351:274:40;;;;;;:::i;:::-;1403:23955:103;;-1:-1:-1;;;4299:358:40;;1403:23955:103;;;;4299:358:40;;;:::i;2131:3:49:-;2171:11;2179:3;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;1403:23955:103;;2131:3:49;;:::i;:::-;2096:26;;1403:23955:103;;;;;;;;;;;;;:::i;:::-;;;:::o;7938:233:40:-;-1:-1:-1;;;;;;;;;;;;1403:23955:103;;;3459:6:40;1403:23955:103;;-1:-1:-1;1403:23955:103;3459:29:40;1403:23955:103;-1:-1:-1;;;;;;;;;;;3459:29:40;:::i;:::-;1403:23955:103;;8020:23:40;8016:149;;7938:233;;;:::o;8016:149::-;1403:23955:103;;;3459:6:40;1403:23955:103;;8059:29:40;1403:23955:103;;;;8059:29:40;:::i;:::-;1403:23955:103;;-1:-1:-1;;1403:23955:103;8091:4:40;1403:23955:103;;;965:10:48;;-1:-1:-1;;;;;1403:23955:103;;-1:-1:-1;;;;;;;;;;;8114:40:40;;;7938:233::o;8342:234::-;-1:-1:-1;1403:23955:103;;;;3459:6:40;1403:23955:103;;;3459:29:40;1403:23955:103;;;;3459:29:40;:::i;:::-;1403:23955:103;;8421:149:40;;8342:234;;;:::o;8421:149::-;1403:23955:103;;;3459:6:40;1403:23955:103;;8463:29:40;1403:23955:103;;;;8463:29:40;:::i;:::-;1403:23955:103;;-1:-1:-1;;1403:23955:103;;;965:10:48;;-1:-1:-1;;;;;1403:23955:103;;8519:40:40;;;;8342:234::o;1620:130:42:-;1683:7;;:::i;:::-;965:10:48;-1:-1:-1;;;;;1403:23955:103;;;1683:23:42;1403:23955:103;;1620:130:42:o;1403:23955:103:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;1403:23955:103;;-1:-1:-1;;;;;1403:23955:103;;;-1:-1:-1;;;;;;1403:23955:103;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;1403:23955:103:-;;2016:1:49;1403:23955:103;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;3321:1:61;1403:23955:103;;;3321:1:61;1403:23955:103;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;2073:1:49;1403:23955:103;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;1403:23955:103;;:::o;311:18:49:-;;;;:::o;:::-;;1403:23955:103;;;;;311:18:49;;;;;;;;;;;1403:23955:103;311:18:49;1403:23955:103;;;311:18:49;;1884:437;1403:23955:103;;;;;;:::i;:::-;;;;;;;;;;2041:15:49;;;;:::i;:::-;;2066;;;;:::i;:::-;;1403:23955:103;2091:128:49;2124:5;2073:1;2124:5;;;;2228:55;2236:10;;;2228:55;:::i;2131:3::-;2179;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;2131:3::-;2096:26;;;1403:23955:103;;;;:::o;:::-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;-1:-1:-1;;;1403:23955:103;;;;;;;689:66:57;;;;;;;;;;;:::o;:::-;1403:23955:103;;689:66:57;;;;;;;;;;;:::o;:::-;1403:23955:103;;-1:-1:-1;;;689:66:57;;;;;;;;;;;1403:23955:103;689:66:57;1403:23955:103;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;;;;;;;;;;;1403:23955:103;689:66:57;1403:23955:103;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;:::o;2494:922::-;;1403:23955:103;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;;;689:66:57;;;2993:17;;;;:::i;2906:504::-;1403:23955:103;;-1:-1:-1;;;3046:52:57;;1403:23955:103;3046:52:57;1403:23955:103;3046:52:57;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;3046:52:57;;3321:1:61;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;1403:23955:103;;-1:-1:-1;;;3262:56:57;;1403:23955:103;3262:56:57;3046:52;3262:56;;;:::i;3042:291::-;3140:82;-1:-1:-1;;;;;;;;;;;3389:9:57;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;;;;;;;;;;;:::i;:::-;;;;;2494:922;;1403:23955:103;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;;;689:66:57;;;2993:17;;;;:::i;2906:504::-;1403:23955:103;;-1:-1:-1;;;3046:52:57;;1403:23955:103;3046:52:57;1403:23955:103;3046:52:57;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;3046:52:57;;;;;;;2906:504;-1:-1:-1;3042:291:57;;1403:23955:103;;-1:-1:-1;;;3262:56:57;;1403:23955:103;3262:56:57;3046:52;3262:56;;;:::i;3042:291::-;3140:82;-1:-1:-1;;;;;;;;;;;3389:9:57;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;;;;;;;;;;;:::i;:::-;;;;;1406:259;1702:19:73;;:23;1403:23955:103;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;1406:259:57:o;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;2057:265:57;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;-1:-1:-1;;;;;;;;;;;3321:1:61;;1889:27:57;1403:23955:103;;2208:15:57;;;:28;;;2057:265;2204:112;;2057:265;;:::o;2204:112::-;7307:69:73;1403:23955:103;3321:1:61;1403:23955:103;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;7265:25:73;;;;;;;;;:::i;:::-;7307:69;;:::i;:::-;;2057:265:57:o;2208:28::-;;3321:1:61;2208:28:57;;2057:265;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;-1:-1:-1;;;;;;;;;;;1889:27:57;;;1403:23955:103;;2208:15:57;;;:28;;;2204:112;;2057:265;;:::o;2208:28::-;;1403:23955:103;2208:28:57;;1403:23955:103;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1403:23955:103;;;;:::o;:::-;;;:::o;7671:628:73:-;;;;7875:418;;;1403:23955:103;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;1403:23955:103;;8201:17:73;:::o;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;7875:418:73;1403:23955:103;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;1403:23955:103;;-1:-1:-1;;;9324:20:73;;1403:23955:103;;;9324:20:73;;;;;;:::i;1403:23955:103:-;;;;:::o;:::-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;5328:125:44;499:12:102;5328:125:44;5366:69;1403:23955:103;5374:13:44;1403:23955:103;;;;5366:69:44;:::i;1403:23955:103:-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;525:604:102:-;1534:6:42;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;707:33:102;;;;822:19;:::o;703:420::-;1403:23955:103;;-1:-1:-1;;;876:40:102;;;1403:23955:103;876:40:102;1403:23955:103;876:40:102;;;744:1;;876:40;;;703:420;-1:-1:-1;872:241:102;;1079:19;;:::o;872:241::-;960:13;;;:::o;876:40::-;;;;;;;;;;;;;;;:::i;:::-;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;:::o;3246:506:44:-;;;;;3302:13;1403:23955:103;;;;;;;3301:14:44;3347:34;;;;;;3246:506;3346:108;;;;3246:506;1403:23955:103;;;;3636:1:44;3536:16;;;1403:23955:103;;;3302:13:44;1403:23955:103;;;3302:13:44;1403:23955:103;;3536:16:44;3562:65;;3636:1;:::i;:::-;3647:99;;3246:506::o;3647:99::-;3681:21;1403:23955:103;;3302:13:44;1403:23955:103;;3302:13:44;1403:23955:103;;3681:21:44;1403:23955:103;;3551:1:44;1403:23955:103;;3721:14:44;;1403:23955:103;;;;3721:14:44;;;;3246:506::o;3562:65::-;3596:20;1403:23955:103;;;3302:13:44;1403:23955:103;;;3302:13:44;1403:23955:103;;3596:20:44;3636:1;:::i;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;3346:108:44;3426:4;1702:19:73;:23;;-1:-1:-1;1702:23:73;3387:66:44;;3346:108;;;;;3387:66;3452:1;1403:23955:103;;;;3436:17:44;3387:66;;;3347:34;3380:1;1403:23955:103;;;3365:16:44;;-1:-1:-1;3347:34:44;;1403:23955:103;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;10370:37;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;:::o;:::-;;;10417:42;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;10370:37;1403:23955;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1403:23955:103;;;;;10370:37;1403:23955;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;10417:42;1403:23955;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;10417:42;1403:23955;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;10901:1;1403:23955;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;-1:-1:-1;;1403:23955:103;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1403:23955:103;;;;;;;;:::o;:::-;-1:-1:-1;;1403:23955:103;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;10370:37;1403:23955;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;1403:23955:103;;;;-1:-1:-1;1403:23955:103;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1403:23955:103;;;;-1:-1:-1;;;1403:23955:103;;;;11625:36;1403:23955;;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;;-1:-1:-1;1403:23955:103;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;9358:2496::-;;;404:115:102;9358:2496:103;404:115:102;:::i;:::-;1889:111:45;;:::i;:::-;2838:65:40;;:::i;:::-;9705:18:103;;:::i;:::-;9762:19;;;;1403:23955;9754:28;;1403:23955;;;;:::i;9754:28::-;;:::i;:::-;9812:19;;;9793:39;;1403:23955;;;;:::i;9793:39::-;9861:12;1403:23955;;;;:::i;9861:12::-;9903:23;;;;1403:23955;;;;:::i;9903:23::-;10078:33;1403:23955;9942:20;;;1403:23955;;;9938:95;;9358:2496;10042:26;10049:19;1403:23955;;;;:::i;10049:19::-;10042:26;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;10042:26;1403:23955;;:::i;:::-;10078:33;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;10078:33;10125:27;;;;;1403:23955;;10125:32;10121:89;;1403:23955;10470:41;1403:23955;10578:26;1403:23955;10278:35;1403:23955;;10219:49;10615:47;1403:23955;;10219:49;1403:23955;;10219:49;1403:23955;10278:35;1403:23955;;10278:35;10323:37;1403:23955;10339:21;;;1403:23955;;;;;;;;;;;;;;;;;;;;10323:37;1403:23955;10386:21;;;;1403:23955;:::i;:::-;;10436:23;;;;1403:23955;:::i;:::-;9812:19;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;10470:41;10521:33;1403:23955;10535:19;;;1403:23955;;:::i;:::-;10323:37;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;10578:26;10564:40;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;10615:47;:::i;:::-;10694:18;1403:23955;10694:16;1403:23955;10042:26;1403:23955;;:::i;10694:16::-;1403:23955;;-1:-1:-1;;;10694:18:103;;1403:23955;;;;;10694:18;;;;;;10673:40;10694:18;2365:4:40;10694:18:103;;;9358:2496;-1:-1:-1;10673:40:103;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;10673:40;2365:4:40;1403:23955:103;10812:20;1403:23955;10564:40;1403:23955;;:::i;10812:20::-;:32;;;:20;;10887:16;11508:106;10887:16;11245:74;10887:16;;:::i;:::-;10942:10;10917:35;10942:10;10917:35;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;10917:35;11245:74;11265:30;1403:23955;;11265:30;:::i;:::-;11245:74;;:::i;:::-;11329:67;11391:4;11329:67;11349:30;1403:23955;;11349:30;:::i;11329:67::-;1403:23955;;11508:22;1403:23955;10673:40;1403:23955;;:::i;11508:22::-;689:66:57;11531:13:103;;;1403:23955;11561:16;;;2365:4:40;11561:16:103;;1403:23955;;689:66:57;;;;;;;;;;11508:106:103;;11391:4;11508:106;10694:18;11508:106;;;:::i;:::-;;;;;;;;;;11784:63;11508:106;11484:130;11672:36;11508:106;1403:23955;11508:106;11718:50;11508:106;2365:4:40;11508:106:103;;;10808:427;11484:130;;;1403:23955;;11484:130;1403:23955;:::i;:::-;11672:36;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;11672:36;11718:50;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;11718:50;11784:63;11484:130;1403:23955;11830:16;;1403:23955;;11784:63;;;;;:::i;11508:106::-;;;;;;-1:-1:-1;11508:106:103;;;;;;:::i;:::-;;;;;10808:427;1403:23955;;;;;;;;;689:66:57;;;11009:23:103;;;;10694:18;11009:23;;;;;;;;;;;;;10808:427;1403:23955;;11068:32;11082:17;1403:23955;;11082:17;:::i;:::-;11068:32;:::i;:::-;11119:13;2365:4:40;11153:3:103;1403:23955;;11134:17;;;;;11201:9;11176:34;11201:9;;11153:3;11201:9;;;:::i;:::-;11176:34;;;;:::i;11153:3::-;11119:13;;11134:17;;;;;;11508:106;11134:17;;;;11245:74;11134:17;10808:427;;11009:23;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;10694:18;;;;;;;;;;;;;;:::i;:::-;;;;10121:89;1403:23955;;-1:-1:-1;;;10180:19:103;;;;;9938:95;10002:19;1403:23955;10002:19;;;1403:23955;;:::i;10002:19::-;9938:95;;5328:125:44;5366:69;1403:23955:103;5374:13:44;1403:23955:103;;;;5366:69:44;:::i;7523:247:40:-;-1:-1:-1;;;;;;;;;;;2365:4:40;1403:23955:103;;;4955:6:40;1403:23955:103;;4955:22:40;1403:23955:103;;;;;;2365:4:40;;7711:52;2365:4;;7711:52;7523:247::o;5328:125:44:-;5366:69;1403:23955:103;5374:13:44;1403:23955:103;;;;5366:69:44;;;:::i;:::-;;:::i;:::-;1808:1:45;2086:22;1403:23955:103;5328:125:44:o;8639:133:103:-;-1:-1:-1;;;;;1403:23955:103;8713:22;8709:56;;8639:133::o;8709:56::-;1403:23955;;-1:-1:-1;;;8744:21:103;;;;;1403:23955;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12805:14;1403:23955;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;-1:-1:-1;1403:23955:103;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;12688:1;1403:23955;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12398:661::-;;;;;4436:42;;-1:-1:-1;;;;;1403:23955:103;;12666:65;;12398:661;12907:19;;12740:20;1403:23955;;12688:1;1403:23955;;:::i;:::-;;12839:134;:33;1403:23955;12839:4;1403:23955;;:::i;12839:33::-;1403:23955;12907:19;12886:9;1403:23955;;;;12907:19;;;;;;;:::i;:::-;;1403:23955;;12907:19;;;;;;:::i;:::-;1403:23955;;;689:66:57;;;;;;;;;;12839:134:103;;;;;;:::i;:::-;;;;;;;;;;12989:63;12839:134;12688:1;12839:134;;;12398:661;12830:143;12989:63;12830:143;;1403:23955;;;13027:4;;;;12989:63;;;:::i;12839:134::-;12989:63;12839:134;;;;;12907:19;12839:134;;;;;;;;;:::i;:::-;;;;;12666:65;12706:14;;-1:-1:-1;12666:65:103;;1403:23955;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;:::i;:::-;;;:::o;:::-;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1403:23955:103;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;:::o;7933:157::-;1403:23955;;;;;;;;-1:-1:-1;1403:23955:103;20502:19;1403:23955;;;;20547:22;-1:-1:-1;1403:23955:103;20547:22;1403:23955;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20547:22;1403:23955;;;;;8009:75;;7933:157::o;8096:163::-;-1:-1:-1;;;;;1403:23955:103;-1:-1:-1;1403:23955:103;;;8173:17;1403:23955;;;;;;;;8172:29;8168:85;;8096:163::o;8168:85::-;1403:23955;;-1:-1:-1;;;8224:18:103;;;;;1403:23955;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;14963:433;;;1403:23955;;;;;;;;-1:-1:-1;1403:23955:103;15097:18;1403:23955;;;-1:-1:-1;1403:23955:103;-1:-1:-1;15183:3:103;1403:23955;;15154:27;;;;;;;15206:19;;;;:::i;:::-;1403:23955;;;;;;;;;;;;;15206:32;15202:178;;15183:3;;;;;;:::i;:::-;15139:13;;15202:178;-1:-1:-1;;1403:23955:103;;;;;;;15183:3;15280:45;;;;;;:::i;:::-;1403:23955;;;;;;;15258:19;;;;:::i;:::-;1403:23955;;;;;:::i;:::-;;;15343:20;;;:::i;:::-;15202:178;;;15154:27;;;;;;;14963:433::o;2601:287:45:-;1851:1;2733:7;1403:23955:103;2733:19:45;1851:1;;;2733:7;1403:23955:103;2601:287:45:o;1851:1::-;1403:23955:103;;-1:-1:-1;;;1851:1:45;;;;;;;;;;;1403:23955:103;1851:1:45;1403:23955:103;;;1851:1:45;;;;1355:203:70;;1482:68;1355:203;1482:68;;1355:203;1403:23955:103;;689:66:57;;;;;;1482:68:70;;;;;;;;:::i;:::-;;1403:23955:103;;1482:68:70;;;;;;:::i;:::-;1403:23955:103;;5535:69:73;;-1:-1:-1;;;;;1403:23955:103;;;;:::i;:::-;-1:-1:-1;1403:23955:103;;;;;;;;;;;5487:31:73;;;;;;;;;;;:::i;5535:69::-;1403:23955:103;;5705:22:70;;;:56;;;;;5173:642;1403:23955:103;;;;;;;5173:642:70;:::o;1403:23955:103:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;5705:56:70;5731:30;;;;;;1403:23955:103;;;;5731:30:70;;1403:23955:103;;;;:::i;:::-;5705:56:70;;;;;7775:152:103;7857:10;-1:-1:-1;1403:23955:103;20502:19;1403:23955;;20547:22;-1:-1:-1;1403:23955:103;;;20547:22;1403:23955;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;20547:22;1403:23955;;;;;;;7843:78;;7775:152::o;941:175:70:-;1050:58;;941:175;;1050:58;1403:23955:103;;689:66:57;;;;;;1050:58:70;;;;;;;;:::i;1349:282:78:-;1403:23955:103;;4592:71:78;;;;;1204:36:50;-1:-1:-1;1204:36:50;;;4592:71:78;;;;;;;;1403:23955:103;4592:71:78;;;;;;:::i;:::-;4784:212;;;;;;;;-1:-1:-1;4784:212:78;5013:29;;;;1349:282;5013:48;;;;1349:282;975:149;;;;1349:282;1543:81;;;;;;1536:88;1349:282;:::o;1543:81::-;1570:54;;;;:::i;975:149::-;1403:23955:103;;;;-1:-1:-1;1403:23955:103;;;;;4592:71:78;;;;;;1403:23955:103;;;4592:71:78;;;1403:23955:103;4592:71:78;;;;;;:::i;:::-;4784:212;;;-1:-1:-1;4784:212:78;;;;;5013:29;;975:149;5013:48;;;;;975:149;1059:65;;975:149;;;;;;5013:48;5046:15;;;;5013:48;;;:29;5024:18;;;-1:-1:-1;5013:29:78;;;;:48;5046:15;;;-1:-1:-1;5013:48:78;;;:29;5024:18;-1:-1:-1;5024:18:78;;-1:-1:-1;5013:29:78;;;4421:647;-1:-1:-1;4592:71:78;4421:647;1403:23955:103;;4592:71:78;;;1204:36:50;;;;4592:71:78;;17181:32:103;;;4592:71:78;;;1403:23955:103;4592:71:78;;;;;;:::i;:::-;4784:212;;;;-1:-1:-1;4784:212:78;;5013:29;;;4421:647;5013:48;;;;5006:55;4421:647;:::o;5013:48::-;5046:15;;;;4421:647;:::o;5013:29::-;4592:71;-1:-1:-1;5024:18:78;;-1:-1:-1;5013:29:78;;;1403:23955:103;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:66:57;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;689:66:57;1403:23955:103;;;;;689:66:57;1403:23955:103;;;;;:::o;7602:167::-;-1:-1:-1;;;;;;;;;;;;1403:23955:103;3459:6:40;1403:23955:103;;;3459:29:40;7690:10:103;-1:-1:-1;;;;;;;;;;;3459:29:40;:::i;:::-;1403:23955:103;;7665:36;7661:102;;7602:167::o;7661:102::-;1403:23955;;-1:-1:-1;;;7724:28:103;;7690:10;7724:28;;;1403:23955;;;7724:28;18919:252;-1:-1:-1;;;;;1403:23955:103;-1:-1:-1;1403:23955:103;;;18994:17;1403:23955;;;;;;;;;;;18990:85;;1403:23955;;;19137:27;1403:23955;-1:-1:-1;1403:23955:103;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;19137:27;18919:252::o;18990:85::-;1403:23955;;-1:-1:-1;;;19048:16:103;;;;;19420:194;1403:23955;19581:26;19420:194;19510:9;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;19561:5;1403:23955;;;19530:17;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;19581:26;19420:194::o;24261:474::-;;-1:-1:-1;1403:23955:103;;;;;;;;;;24374:18;1403:23955;;;;;;;;;:::i;:::-;24482:13;24526:3;1403:23955;;24497:27;;;;;24657:52;:35;24672:19;;;;;:::i;24657:52::-;:61;;;;;;1403:23955;;;689:66:57;;;;;24657:61:103;;;;;;;;;;;:::i;:::-;;;;;;;;;;24526:3;24657:61;;;24526:3;;:::i;:::-;24482:13;;24657:61;;;;;;:::i;:::-;;;:::i;:::-;;;;;1403:23955;;;24497:27;;;;;;;24261:474::o","linkReferences":{},"immutableReferences":{"54869":[{"start":5471,"length":32},{"start":6003,"length":32},{"start":6987,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","VERSION()":"ffa1ad74","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","collateralVaultTemplate()":"77122d56","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"524e59e8","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"e16d0e32","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string),address,address,address)":"34196355","initialize(address)":"c4d66de8","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","setStrategyTemplate(address)":"1b71f0e4","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"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\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryCommunityV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"collateralVaultTemplate()\":{\"notice\":\"The address of the collateral vault template\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":\"RegistryCommunityV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"collateralVaultTemplate()":{"notice":"The address of the collateral vault template"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":"RegistryCommunityV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":52464,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":52533,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53266,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":51686,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)"},{"astId":51993,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":70248,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registerStakeAmount","offset":0,"slot":"251","type":"t_uint256"},{"astId":70251,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityFee","offset":0,"slot":"252","type":"t_uint256"},{"astId":70254,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"cloneNonce","offset":0,"slot":"253","type":"t_uint256"},{"astId":70257,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"profileId","offset":0,"slot":"254","type":"t_bytes32"},{"astId":70260,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isKickEnabled","offset":0,"slot":"255","type":"t_bool"},{"astId":70263,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"feeReceiver","offset":1,"slot":"255","type":"t_address"},{"astId":70266,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registryFactory","offset":0,"slot":"256","type":"t_address"},{"astId":70269,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"collateralVaultTemplate","offset":0,"slot":"257","type":"t_address"},{"astId":70272,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategyTemplate","offset":0,"slot":"258","type":"t_address"},{"astId":70275,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":70279,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":70283,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)55825"},{"astId":70287,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)73057"},{"astId":70291,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)72790"},{"astId":70294,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":70297,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":70302,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":70309,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":70315,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)70456_storage)"},{"astId":70321,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":70328,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":70332,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":71973,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)72790":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)55825":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)73057":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)70456_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunityV0_0.Member)","numberOfBytes":"32","value":"t_struct(Member)70456_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)51681_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)70456_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_0.Member","numberOfBytes":"96","members":[{"astId":70451,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":70453,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":70455,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)51681_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":51678,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":51680,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","id":71975,"exportedSymbols":{"AccessControlUpgradeable":[51994],"CVStrategyV0_0":[69064],"Clone":[3002],"ERC165Checker":[57216],"ERC1967Proxy":[54318],"FAllo":[72790],"IAllo":[2610],"IERC20":[55825],"IPointStrategy":[65390],"IRegistry":[2802],"IRegistryFactory":[69327],"ISafe":[73057],"Metadata":[3098],"ProxyOwnableUpgrader":[70005],"ReentrancyGuardUpgradeable":[52534],"RegistryCommunityV0_0":[71974],"SafeERC20":[56262],"StrategyStruct":[65512],"UUPSUpgradeable":[54969],"Upgrades":[60473]},"nodeType":"SourceUnit","src":"42:25317:103","nodes":[{"id":70007,"nodeType":"PragmaDirective","src":"42:24:103","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70009,"nodeType":"ImportDirective","src":"68:70:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":55826,"symbolAliases":[{"foreign":{"id":70008,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55825,"src":"76:6:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70011,"nodeType":"ImportDirective","src":"139:82:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":56263,"symbolAliases":[{"foreign":{"id":70010,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56262,"src":"147:9:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70013,"nodeType":"ImportDirective","src":"222:92:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":57217,"symbolAliases":[{"foreign":{"id":70012,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57216,"src":"230:13:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70015,"nodeType":"ImportDirective","src":"315:88:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":70014,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"323:15:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70017,"nodeType":"ImportDirective","src":"405:132:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":52535,"symbolAliases":[{"foreign":{"id":70016,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52534,"src":"413:26:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70019,"nodeType":"ImportDirective","src":"538:126:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":51995,"symbolAliases":[{"foreign":{"id":70018,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51994,"src":"546:24:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70021,"nodeType":"ImportDirective","src":"666:66:103","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":70020,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"674:5:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70023,"nodeType":"ImportDirective","src":"733:65:103","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":70022,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"741:5:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70026,"nodeType":"ImportDirective","src":"799:84:103","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":70024,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"807:9:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70025,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"818:8:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70028,"nodeType":"ImportDirective","src":"884:46:103","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","file":"../interfaces/FAllo.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":72791,"symbolAliases":[{"foreign":{"id":70027,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"892:5:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70030,"nodeType":"ImportDirective","src":"931:46:103","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"../interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":73074,"symbolAliases":[{"foreign":{"id":70029,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73057,"src":"939:5:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70032,"nodeType":"ImportDirective","src":"978:57:103","nodes":[],"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","file":"../IRegistryFactory.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":69328,"symbolAliases":[{"foreign":{"id":70031,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69327,"src":"986:16:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70036,"nodeType":"ImportDirective","src":"1036:96:103","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":69065,"symbolAliases":[{"foreign":{"id":70033,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69064,"src":"1044:14:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70034,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"1060:14:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70035,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"1076:14:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70038,"nodeType":"ImportDirective","src":"1133:66:103","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":60594,"symbolAliases":[{"foreign":{"id":70037,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60473,"src":"1141:8:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70040,"nodeType":"ImportDirective","src":"1200:84:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":54319,"symbolAliases":[{"foreign":{"id":70039,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54318,"src":"1208:12:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70042,"nodeType":"ImportDirective","src":"1285:65:103","nodes":[],"absolutePath":"pkg/contracts/src/ProxyOwnableUpgrader.sol","file":"../ProxyOwnableUpgrader.sol","nameLocation":"-1:-1:-1","scope":71975,"sourceUnit":70006,"symbolAliases":[{"foreign":{"id":70041,"name":"ProxyOwnableUpgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70005,"src":"1293:20:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71974,"nodeType":"ContractDefinition","src":"1403:23955:103","nodes":[{"id":70053,"nodeType":"EventDefinition","src":"1684:29:103","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"1690:7:103","parameters":{"id":70052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70051,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"1706:5:103","nodeType":"VariableDeclaration","scope":70053,"src":"1698:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70050,"name":"address","nodeType":"ElementaryTypeName","src":"1698:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1697:15:103"}},{"id":70057,"nodeType":"EventDefinition","src":"1718:36:103","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"1724:14:103","parameters":{"id":70056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70055,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"1747:5:103","nodeType":"VariableDeclaration","scope":70057,"src":"1739:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70054,"name":"address","nodeType":"ElementaryTypeName","src":"1739:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1738:15:103"}},{"id":70063,"nodeType":"EventDefinition","src":"1759:74:103","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"1765:24:103","parameters":{"id":70062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70059,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"1798:10:103","nodeType":"VariableDeclaration","scope":70063,"src":"1790:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70058,"name":"address","nodeType":"ElementaryTypeName","src":"1790:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70061,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"1818:13:103","nodeType":"VariableDeclaration","scope":70063,"src":"1810:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70060,"name":"address","nodeType":"ElementaryTypeName","src":"1810:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1789:43:103"}},{"id":70069,"nodeType":"EventDefinition","src":"1838:63:103","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"1844:16:103","parameters":{"id":70068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70065,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1869:7:103","nodeType":"VariableDeclaration","scope":70069,"src":"1861:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70064,"name":"address","nodeType":"ElementaryTypeName","src":"1861:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70067,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"1886:13:103","nodeType":"VariableDeclaration","scope":70069,"src":"1878:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70066,"name":"uint256","nodeType":"ElementaryTypeName","src":"1878:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1860:40:103"}},{"id":70075,"nodeType":"EventDefinition","src":"1906:67:103","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"1912:18:103","parameters":{"id":70074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70071,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1939:7:103","nodeType":"VariableDeclaration","scope":70075,"src":"1931:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70070,"name":"address","nodeType":"ElementaryTypeName","src":"1931:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70073,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"1956:15:103","nodeType":"VariableDeclaration","scope":70075,"src":"1948:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70072,"name":"uint256","nodeType":"ElementaryTypeName","src":"1948:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1930:42:103"}},{"id":70083,"nodeType":"EventDefinition","src":"1978:87:103","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"1984:12:103","parameters":{"id":70082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70077,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2005:7:103","nodeType":"VariableDeclaration","scope":70083,"src":"1997:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70076,"name":"address","nodeType":"ElementaryTypeName","src":"1997:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70079,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"2022:16:103","nodeType":"VariableDeclaration","scope":70083,"src":"2014:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70078,"name":"address","nodeType":"ElementaryTypeName","src":"2014:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70081,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"2048:15:103","nodeType":"VariableDeclaration","scope":70083,"src":"2040:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70080,"name":"uint256","nodeType":"ElementaryTypeName","src":"2040:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:68:103"}},{"id":70087,"nodeType":"EventDefinition","src":"2070:43:103","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"2076:19:103","parameters":{"id":70086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70085,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"2104:7:103","nodeType":"VariableDeclaration","scope":70087,"src":"2096:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70084,"name":"uint256","nodeType":"ElementaryTypeName","src":"2096:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2095:17:103"}},{"id":70096,"nodeType":"EventDefinition","src":"2118:89:103","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"2124:19:103","parameters":{"id":70095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70089,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"2152:10:103","nodeType":"VariableDeclaration","scope":70096,"src":"2144:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2144:7:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70091,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"2171:14:103","nodeType":"VariableDeclaration","scope":70096,"src":"2164:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70090,"name":"string","nodeType":"ElementaryTypeName","src":"2164:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70094,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2196:9:103","nodeType":"VariableDeclaration","scope":70096,"src":"2187:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":70093,"nodeType":"UserDefinedTypeName","pathNode":{"id":70092,"name":"Metadata","nameLocations":["2187:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2187:8:103"},"referencedDeclaration":3098,"src":"2187:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2143:63:103"}},{"id":70100,"nodeType":"EventDefinition","src":"2212:39:103","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"2218:13:103","parameters":{"id":70099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70098,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2240:9:103","nodeType":"VariableDeclaration","scope":70100,"src":"2232:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70097,"name":"address","nodeType":"ElementaryTypeName","src":"2232:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2231:19:103"}},{"id":70104,"nodeType":"EventDefinition","src":"2256:41:103","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"2262:15:103","parameters":{"id":70103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70102,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2286:9:103","nodeType":"VariableDeclaration","scope":70104,"src":"2278:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70101,"name":"address","nodeType":"ElementaryTypeName","src":"2278:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2277:19:103"}},{"id":70112,"nodeType":"EventDefinition","src":"2302:93:103","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"2308:23:103","parameters":{"id":70111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70106,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2340:7:103","nodeType":"VariableDeclaration","scope":70112,"src":"2332:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70105,"name":"address","nodeType":"ElementaryTypeName","src":"2332:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70108,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2357:9:103","nodeType":"VariableDeclaration","scope":70112,"src":"2349:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70107,"name":"address","nodeType":"ElementaryTypeName","src":"2349:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70110,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"2376:17:103","nodeType":"VariableDeclaration","scope":70112,"src":"2368:25:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70109,"name":"uint256","nodeType":"ElementaryTypeName","src":"2368:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2331:63:103"}},{"id":70118,"nodeType":"EventDefinition","src":"2400:68:103","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"2406:25:103","parameters":{"id":70117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70114,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2440:7:103","nodeType":"VariableDeclaration","scope":70118,"src":"2432:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70113,"name":"address","nodeType":"ElementaryTypeName","src":"2432:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70116,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2457:9:103","nodeType":"VariableDeclaration","scope":70118,"src":"2449:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70115,"name":"address","nodeType":"ElementaryTypeName","src":"2449:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2431:36:103"}},{"id":70122,"nodeType":"EventDefinition","src":"2473:47:103","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"2479:20:103","parameters":{"id":70121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70120,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"2508:10:103","nodeType":"VariableDeclaration","scope":70122,"src":"2500:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70119,"name":"uint256","nodeType":"ElementaryTypeName","src":"2500:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2499:20:103"}},{"id":70128,"nodeType":"EventDefinition","src":"2525:67:103","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"2531:20:103","parameters":{"id":70127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70124,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2560:7:103","nodeType":"VariableDeclaration","scope":70128,"src":"2552:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70123,"name":"address","nodeType":"ElementaryTypeName","src":"2552:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70126,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"2577:13:103","nodeType":"VariableDeclaration","scope":70128,"src":"2569:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70125,"name":"uint256","nodeType":"ElementaryTypeName","src":"2569:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2551:40:103"}},{"id":70134,"nodeType":"EventDefinition","src":"2597:69:103","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"2603:20:103","parameters":{"id":70133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70130,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2632:7:103","nodeType":"VariableDeclaration","scope":70134,"src":"2624:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70129,"name":"address","nodeType":"ElementaryTypeName","src":"2624:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70132,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"2649:15:103","nodeType":"VariableDeclaration","scope":70134,"src":"2641:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70131,"name":"uint256","nodeType":"ElementaryTypeName","src":"2641:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2623:42:103"}},{"id":70147,"nodeType":"EventDefinition","src":"2671:110:103","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"2677:11:103","parameters":{"id":70146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70136,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"2697:7:103","nodeType":"VariableDeclaration","scope":70147,"src":"2689:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70135,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70138,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2714:9:103","nodeType":"VariableDeclaration","scope":70147,"src":"2706:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70137,"name":"address","nodeType":"ElementaryTypeName","src":"2706:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70140,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"2733:10:103","nodeType":"VariableDeclaration","scope":70147,"src":"2725:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70139,"name":"address","nodeType":"ElementaryTypeName","src":"2725:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70142,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"2753:6:103","nodeType":"VariableDeclaration","scope":70147,"src":"2745:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70141,"name":"address","nodeType":"ElementaryTypeName","src":"2745:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70145,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2770:9:103","nodeType":"VariableDeclaration","scope":70147,"src":"2761:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":70144,"nodeType":"UserDefinedTypeName","pathNode":{"id":70143,"name":"Metadata","nameLocations":["2761:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2761:8:103"},"referencedDeclaration":3098,"src":"2761:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2688:92:103"}},{"id":70149,"nodeType":"ErrorDefinition","src":"2967:28:103","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"2973:19:103","parameters":{"id":70148,"nodeType":"ParameterList","parameters":[],"src":"2992:2:103"}},{"id":70151,"nodeType":"ErrorDefinition","src":"3000:29:103","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3006:20:103","parameters":{"id":70150,"nodeType":"ParameterList","parameters":[],"src":"3026:2:103"}},{"id":70155,"nodeType":"ErrorDefinition","src":"3034:38:103","nodes":[],"errorSelector":"fc4be72f","name":"UserNotInCouncil","nameLocation":"3040:16:103","parameters":{"id":70154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70153,"mutability":"mutable","name":"_user","nameLocation":"3065:5:103","nodeType":"VariableDeclaration","scope":70155,"src":"3057:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70152,"name":"address","nodeType":"ElementaryTypeName","src":"3057:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3056:15:103"}},{"id":70157,"nodeType":"ErrorDefinition","src":"3077:26:103","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3083:17:103","parameters":{"id":70156,"nodeType":"ParameterList","parameters":[],"src":"3100:2:103"}},{"id":70159,"nodeType":"ErrorDefinition","src":"3108:30:103","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"3114:21:103","parameters":{"id":70158,"nodeType":"ParameterList","parameters":[],"src":"3135:2:103"}},{"id":70161,"nodeType":"ErrorDefinition","src":"3143:27:103","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"3149:18:103","parameters":{"id":70160,"nodeType":"ParameterList","parameters":[],"src":"3167:2:103"}},{"id":70163,"nodeType":"ErrorDefinition","src":"3175:29:103","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"3181:20:103","parameters":{"id":70162,"nodeType":"ParameterList","parameters":[],"src":"3201:2:103"}},{"id":70165,"nodeType":"ErrorDefinition","src":"3209:31:103","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"3215:22:103","parameters":{"id":70164,"nodeType":"ParameterList","parameters":[],"src":"3237:2:103"}},{"id":70167,"nodeType":"ErrorDefinition","src":"3245:23:103","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"3251:14:103","parameters":{"id":70166,"nodeType":"ParameterList","parameters":[],"src":"3265:2:103"}},{"id":70169,"nodeType":"ErrorDefinition","src":"3273:25:103","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"3279:16:103","parameters":{"id":70168,"nodeType":"ParameterList","parameters":[],"src":"3295:2:103"}},{"id":70171,"nodeType":"ErrorDefinition","src":"3303:26:103","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"3309:17:103","parameters":{"id":70170,"nodeType":"ParameterList","parameters":[],"src":"3326:2:103"}},{"id":70173,"nodeType":"ErrorDefinition","src":"3334:26:103","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"3340:17:103","parameters":{"id":70172,"nodeType":"ParameterList","parameters":[],"src":"3357:2:103"}},{"id":70175,"nodeType":"ErrorDefinition","src":"3365:26:103","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"3371:17:103","parameters":{"id":70174,"nodeType":"ParameterList","parameters":[],"src":"3388:2:103"}},{"id":70177,"nodeType":"ErrorDefinition","src":"3396:29:103","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"3402:20:103","parameters":{"id":70176,"nodeType":"ParameterList","parameters":[],"src":"3422:2:103"}},{"id":70179,"nodeType":"ErrorDefinition","src":"3430:23:103","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"3436:14:103","parameters":{"id":70178,"nodeType":"ParameterList","parameters":[],"src":"3450:2:103"}},{"id":70181,"nodeType":"ErrorDefinition","src":"3458:26:103","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"3464:17:103","parameters":{"id":70180,"nodeType":"ParameterList","parameters":[],"src":"3481:2:103"}},{"id":70183,"nodeType":"ErrorDefinition","src":"3489:29:103","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"3495:20:103","parameters":{"id":70182,"nodeType":"ParameterList","parameters":[],"src":"3515:2:103"}},{"id":70189,"nodeType":"ErrorDefinition","src":"3523:80:103","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"3529:25:103","parameters":{"id":70188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70185,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"3563:15:103","nodeType":"VariableDeclaration","scope":70189,"src":"3555:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70184,"name":"uint256","nodeType":"ElementaryTypeName","src":"3555:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70187,"mutability":"mutable","name":"_currentPower","nameLocation":"3588:13:103","nodeType":"VariableDeclaration","scope":70189,"src":"3580:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70186,"name":"uint256","nodeType":"ElementaryTypeName","src":"3580:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3554:48:103"}},{"id":70216,"nodeType":"StructDefinition","src":"3775:399:103","nodes":[],"canonicalName":"RegistryCommunityV0_0.InitializeParams","members":[{"constant":false,"id":70191,"mutability":"mutable","name":"_allo","nameLocation":"3817:5:103","nodeType":"VariableDeclaration","scope":70216,"src":"3809:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70190,"name":"address","nodeType":"ElementaryTypeName","src":"3809:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70194,"mutability":"mutable","name":"_gardenToken","nameLocation":"3839:12:103","nodeType":"VariableDeclaration","scope":70216,"src":"3832:19:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":70193,"nodeType":"UserDefinedTypeName","pathNode":{"id":70192,"name":"IERC20","nameLocations":["3832:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3832:6:103"},"referencedDeclaration":55825,"src":"3832:6:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":70196,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"3869:20:103","nodeType":"VariableDeclaration","scope":70216,"src":"3861:28:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70195,"name":"uint256","nodeType":"ElementaryTypeName","src":"3861:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70198,"mutability":"mutable","name":"_communityFee","nameLocation":"3907:13:103","nodeType":"VariableDeclaration","scope":70216,"src":"3899:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70197,"name":"uint256","nodeType":"ElementaryTypeName","src":"3899:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70200,"mutability":"mutable","name":"_nonce","nameLocation":"3938:6:103","nodeType":"VariableDeclaration","scope":70216,"src":"3930:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70199,"name":"uint256","nodeType":"ElementaryTypeName","src":"3930:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70202,"mutability":"mutable","name":"_registryFactory","nameLocation":"3962:16:103","nodeType":"VariableDeclaration","scope":70216,"src":"3954:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70201,"name":"address","nodeType":"ElementaryTypeName","src":"3954:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70204,"mutability":"mutable","name":"_feeReceiver","nameLocation":"3996:12:103","nodeType":"VariableDeclaration","scope":70216,"src":"3988:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70203,"name":"address","nodeType":"ElementaryTypeName","src":"3988:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70207,"mutability":"mutable","name":"_metadata","nameLocation":"4027:9:103","nodeType":"VariableDeclaration","scope":70216,"src":"4018:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":70206,"nodeType":"UserDefinedTypeName","pathNode":{"id":70205,"name":"Metadata","nameLocations":["4018:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4018:8:103"},"referencedDeclaration":3098,"src":"4018:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":70209,"mutability":"mutable","name":"_councilSafe","nameLocation":"4062:12:103","nodeType":"VariableDeclaration","scope":70216,"src":"4046:28:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":70208,"name":"address","nodeType":"ElementaryTypeName","src":"4046:15:103","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":70211,"mutability":"mutable","name":"_communityName","nameLocation":"4091:14:103","nodeType":"VariableDeclaration","scope":70216,"src":"4084:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":70210,"name":"string","nodeType":"ElementaryTypeName","src":"4084:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70213,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"4120:14:103","nodeType":"VariableDeclaration","scope":70216,"src":"4115:19:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70212,"name":"bool","nodeType":"ElementaryTypeName","src":"4115:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":70215,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"4151:16:103","nodeType":"VariableDeclaration","scope":70216,"src":"4144:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":70214,"name":"string","nodeType":"ElementaryTypeName","src":"4144:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3782:16:103","scope":71974,"visibility":"public"},{"id":70219,"nodeType":"UsingForDirective","src":"4180:32:103","nodes":[],"global":false,"libraryName":{"id":70217,"name":"ERC165Checker","nameLocations":["4186:13:103"],"nodeType":"IdentifierPath","referencedDeclaration":57216,"src":"4186:13:103"},"typeName":{"id":70218,"name":"address","nodeType":"ElementaryTypeName","src":"4204:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":70223,"nodeType":"UsingForDirective","src":"4217:27:103","nodes":[],"global":false,"libraryName":{"id":70220,"name":"SafeERC20","nameLocations":["4223:9:103"],"nodeType":"IdentifierPath","referencedDeclaration":56262,"src":"4223:9:103"},"typeName":{"id":70222,"nodeType":"UserDefinedTypeName","pathNode":{"id":70221,"name":"IERC20","nameLocations":["4237:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"4237:6:103"},"referencedDeclaration":55825,"src":"4237:6:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}},{"id":70226,"nodeType":"UsingForDirective","src":"4249:24:103","nodes":[],"global":false,"libraryName":{"id":70224,"name":"Clone","nameLocations":["4255:5:103"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"4255:5:103"},"typeName":{"id":70225,"name":"address","nodeType":"ElementaryTypeName","src":"4265:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":70229,"nodeType":"VariableDeclaration","src":"4279:38:103","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"4302:7:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70227,"name":"string","nodeType":"ElementaryTypeName","src":"4279:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":70228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4312:5:103","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":70233,"nodeType":"VariableDeclaration","src":"4403:75:103","nodes":[],"constant":true,"documentation":{"id":70230,"nodeType":"StructuredDocumentation","src":"4323:75:103","text":"@notice The native address to represent native token eg: ETH in mainnet"},"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"4427:6:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70231,"name":"address","nodeType":"ElementaryTypeName","src":"4403:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":70232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4436:42:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":70239,"nodeType":"VariableDeclaration","src":"4568:49:103","nodes":[],"constant":true,"documentation":{"id":70234,"nodeType":"StructuredDocumentation","src":"4484:79:103","text":"@notice The precision scale used in the contract to avoid loss of precision"},"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"4592:15:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70235,"name":"uint256","nodeType":"ElementaryTypeName","src":"4568:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":70238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":70236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4610:2:103","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":70237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4616:1:103","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"4610:7:103","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":70245,"nodeType":"VariableDeclaration","src":"4692:54:103","nodes":[],"constant":true,"documentation":{"id":70240,"nodeType":"StructuredDocumentation","src":"4623:64:103","text":"@notice The maximum fee that can be charged to the community"},"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"4716:7:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70241,"name":"uint256","nodeType":"ElementaryTypeName","src":"4692:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":70242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4726:2:103","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":70243,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70239,"src":"4731:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4726:20:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":70248,"nodeType":"VariableDeclaration","src":"4819:34:103","nodes":[],"constant":false,"documentation":{"id":70246,"nodeType":"StructuredDocumentation","src":"4752:62:103","text":"@notice The amount of tokens required to register a member"},"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"4834:19:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70247,"name":"uint256","nodeType":"ElementaryTypeName","src":"4819:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":70251,"nodeType":"VariableDeclaration","src":"4930:27:103","nodes":[],"constant":false,"documentation":{"id":70249,"nodeType":"StructuredDocumentation","src":"4859:66:103","text":"@notice The fee charged to the community for each registration"},"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"4945:12:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70250,"name":"uint256","nodeType":"ElementaryTypeName","src":"4930:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":70254,"nodeType":"VariableDeclaration","src":"5024:25:103","nodes":[],"constant":false,"documentation":{"id":70252,"nodeType":"StructuredDocumentation","src":"4963:56:103","text":"@notice The nonce used to create new strategy clones"},"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"5039:10:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70253,"name":"uint256","nodeType":"ElementaryTypeName","src":"5024:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":70257,"nodeType":"VariableDeclaration","src":"5123:24:103","nodes":[],"constant":false,"documentation":{"id":70255,"nodeType":"StructuredDocumentation","src":"5055:63:103","text":"@notice The profileId of the community in the Allo Registry"},"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"5138:9:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5123:7:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":70260,"nodeType":"VariableDeclaration","src":"5204:25:103","nodes":[],"constant":false,"documentation":{"id":70258,"nodeType":"StructuredDocumentation","src":"5153:46:103","text":"@notice Enable or disable the kick feature"},"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"5216:13:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70259,"name":"bool","nodeType":"ElementaryTypeName","src":"5204:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":70263,"nodeType":"VariableDeclaration","src":"5296:26:103","nodes":[],"constant":false,"documentation":{"id":70261,"nodeType":"StructuredDocumentation","src":"5236:55:103","text":"@notice The address that receives the community fee"},"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"5311:11:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70262,"name":"address","nodeType":"ElementaryTypeName","src":"5296:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":70266,"nodeType":"VariableDeclaration","src":"5380:30:103","nodes":[],"constant":false,"documentation":{"id":70264,"nodeType":"StructuredDocumentation","src":"5328:47:103","text":"@notice The address of the registry factory"},"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"5395:15:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70265,"name":"address","nodeType":"ElementaryTypeName","src":"5380:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":70269,"nodeType":"VariableDeclaration","src":"5477:38:103","nodes":[],"constant":false,"documentation":{"id":70267,"nodeType":"StructuredDocumentation","src":"5416:56:103","text":"@notice The address of the collateral vault template"},"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"5492:23:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70268,"name":"address","nodeType":"ElementaryTypeName","src":"5477:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":70272,"nodeType":"VariableDeclaration","src":"5574:31:103","nodes":[],"constant":false,"documentation":{"id":70270,"nodeType":"StructuredDocumentation","src":"5521:48:103","text":"@notice The address of the strategy template"},"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"5589:16:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70271,"name":"address","nodeType":"ElementaryTypeName","src":"5574:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":70275,"nodeType":"VariableDeclaration","src":"5673:41:103","nodes":[],"constant":false,"documentation":{"id":70273,"nodeType":"StructuredDocumentation","src":"5611:57:103","text":"@notice The address of the pending council safe owner"},"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"5696:18:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":70274,"name":"address","nodeType":"ElementaryTypeName","src":"5673:15:103","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":70279,"nodeType":"VariableDeclaration","src":"5764:25:103","nodes":[],"constant":false,"documentation":{"id":70276,"nodeType":"StructuredDocumentation","src":"5721:38:103","text":"@notice The Registry Allo contract"},"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"5781:8:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":70278,"nodeType":"UserDefinedTypeName","pathNode":{"id":70277,"name":"IRegistry","nameLocations":["5764:9:103"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5764:9:103"},"referencedDeclaration":2802,"src":"5764:9:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":70283,"nodeType":"VariableDeclaration","src":"5852:25:103","nodes":[],"constant":false,"documentation":{"id":70280,"nodeType":"StructuredDocumentation","src":"5795:52:103","text":"@notice The token used to stake in the community"},"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"5866:11:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":70282,"nodeType":"UserDefinedTypeName","pathNode":{"id":70281,"name":"IERC20","nameLocations":["5852:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"5852:6:103"},"referencedDeclaration":55825,"src":"5852:6:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"public"},{"id":70287,"nodeType":"VariableDeclaration","src":"5933:24:103","nodes":[],"constant":false,"documentation":{"id":70284,"nodeType":"StructuredDocumentation","src":"5883:45:103","text":"@notice The council safe contract address"},"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"5946:11:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"},"typeName":{"id":70286,"nodeType":"UserDefinedTypeName","pathNode":{"id":70285,"name":"ISafe","nameLocations":["5933:5:103"],"nodeType":"IdentifierPath","referencedDeclaration":73057,"src":"5933:5:103"},"referencedDeclaration":73057,"src":"5933:5:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}},"visibility":"public"},{"id":70291,"nodeType":"VariableDeclaration","src":"6005:17:103","nodes":[],"constant":false,"documentation":{"id":70288,"nodeType":"StructuredDocumentation","src":"5963:37:103","text":"@notice The Allo contract address"},"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"6018:4:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"},"typeName":{"id":70290,"nodeType":"UserDefinedTypeName","pathNode":{"id":70289,"name":"FAllo","nameLocations":["6005:5:103"],"nodeType":"IdentifierPath","referencedDeclaration":72790,"src":"6005:5:103"},"referencedDeclaration":72790,"src":"6005:5:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}},"visibility":"public"},{"id":70294,"nodeType":"VariableDeclaration","src":"6064:27:103","nodes":[],"constant":false,"documentation":{"id":70292,"nodeType":"StructuredDocumentation","src":"6029:30:103","text":"@notice The community name"},"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"6078:13:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":70293,"name":"string","nodeType":"ElementaryTypeName","src":"6064:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":70297,"nodeType":"VariableDeclaration","src":"6149:30:103","nodes":[],"constant":false,"documentation":{"id":70295,"nodeType":"StructuredDocumentation","src":"6097:47:103","text":"@notice The covenant IPFS hash of community"},"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"6163:16:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":70296,"name":"string","nodeType":"ElementaryTypeName","src":"6149:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":70302,"nodeType":"VariableDeclaration","src":"6295:68:103","nodes":[],"constant":false,"documentation":{"id":70298,"nodeType":"StructuredDocumentation","src":"6243:47:103","text":"@notice List of enabled/disabled strategies"},"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"6346:17:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":70301,"keyName":"strategy","keyNameLocation":"6311:8:103","keyType":{"id":70299,"name":"address","nodeType":"ElementaryTypeName","src":"6303:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6295:43:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"6328:9:103","valueType":{"id":70300,"name":"bool","nodeType":"ElementaryTypeName","src":"6323:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":70309,"nodeType":"VariableDeclaration","src":"6431:98:103","nodes":[],"constant":false,"documentation":{"id":70303,"nodeType":"StructuredDocumentation","src":"6369:57:103","text":"@notice Power points for each member in each strategy"},"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"6508:21:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":70308,"keyName":"strategy","keyNameLocation":"6447:8:103","keyType":{"id":70304,"name":"address","nodeType":"ElementaryTypeName","src":"6439:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6431:69:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":70307,"keyName":"member","keyNameLocation":"6475:6:103","keyType":{"id":70305,"name":"address","nodeType":"ElementaryTypeName","src":"6467:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6459:40:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"6493:5:103","valueType":{"id":70306,"name":"uint256","nodeType":"ElementaryTypeName","src":"6485:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":70315,"nodeType":"VariableDeclaration","src":"6629:60:103","nodes":[],"constant":false,"documentation":{"id":70310,"nodeType":"StructuredDocumentation","src":"6535:89:103","text":"@notice Member information as the staked amount and if is registered in the community"},"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"6670:19:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"typeName":{"id":70314,"keyName":"member","keyNameLocation":"6645:6:103","keyType":{"id":70311,"name":"address","nodeType":"ElementaryTypeName","src":"6637:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6629:33:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":70313,"nodeType":"UserDefinedTypeName","pathNode":{"id":70312,"name":"Member","nameLocations":["6655:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":70456,"src":"6655:6:103"},"referencedDeclaration":70456,"src":"6655:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}}},"visibility":"public"},{"id":70321,"nodeType":"VariableDeclaration","src":"6760:82:103","nodes":[],"constant":false,"documentation":{"id":70316,"nodeType":"StructuredDocumentation","src":"6695:60:103","text":"@notice List of strategies for each member are activated"},"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"6824:18:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":70320,"keyName":"member","keyNameLocation":"6776:6:103","keyType":{"id":70317,"name":"address","nodeType":"ElementaryTypeName","src":"6768:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6760:56:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"6796:19:103","valueType":{"baseType":{"id":70318,"name":"address","nodeType":"ElementaryTypeName","src":"6786:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70319,"nodeType":"ArrayTypeName","src":"6786:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":70328,"nodeType":"VariableDeclaration","src":"6920:107:103","nodes":[],"constant":false,"documentation":{"id":70322,"nodeType":"StructuredDocumentation","src":"6848:67:103","text":"@notice Mapping to check if a member is activated in a strategy"},"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"7000:27:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":70327,"keyName":"member","keyNameLocation":"6936:6:103","keyType":{"id":70323,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6920:72:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":70326,"keyName":"strategy","keyNameLocation":"6962:8:103","keyType":{"id":70324,"name":"address","nodeType":"ElementaryTypeName","src":"6954:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6946:45:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"6979:11:103","valueType":{"id":70325,"name":"bool","nodeType":"ElementaryTypeName","src":"6974:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":70332,"nodeType":"VariableDeclaration","src":"7120:24:103","nodes":[],"constant":false,"documentation":{"id":70329,"nodeType":"StructuredDocumentation","src":"7034:81:103","text":"@notice List of initial members to be added as pool managers in the Allo Pool"},"mutability":"mutable","name":"initialMembers","nameLocation":"7130:14:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":70330,"name":"address","nodeType":"ElementaryTypeName","src":"7120:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70331,"nodeType":"ArrayTypeName","src":"7120:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":70338,"nodeType":"VariableDeclaration","src":"7361:68:103","nodes":[],"constant":true,"documentation":{"id":70333,"nodeType":"StructuredDocumentation","src":"7316:40:103","text":"@notice Role to council safe members"},"functionSelector":"733a2d1f","mutability":"constant","name":"COUNCIL_MEMBER","nameLocation":"7385:14:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7361:7:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d424552","id":70336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7412:16:103","typeDescriptions":{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""},"value":"COUNCIL_MEMBER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""}],"id":70335,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7402:9:103","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":70337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7402:27:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":70355,"nodeType":"FunctionDefinition","src":"7602:167:103","nodes":[],"body":{"id":70354,"nodeType":"Block","src":"7651:118:103","nodes":[],"statements":[{"condition":{"id":70346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7665:36:103","subExpression":{"arguments":[{"id":70342,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70338,"src":"7674:14:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":70343,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7690:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7694:6:103","memberName":"sender","nodeType":"MemberAccess","src":"7690:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70341,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"7666:7:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":70345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7666:35:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70353,"nodeType":"IfStatement","src":"7661:102:103","trueBody":{"id":70352,"nodeType":"Block","src":"7703:60:103","statements":[{"errorCall":{"arguments":[{"expression":{"id":70348,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7741:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7745:6:103","memberName":"sender","nodeType":"MemberAccess","src":"7741:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70347,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70155,"src":"7724:16:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7724:28:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70351,"nodeType":"RevertStatement","src":"7717:35:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"7611:15:103","parameters":{"id":70339,"nodeType":"ParameterList","parameters":[],"src":"7626:2:103"},"returnParameters":{"id":70340,"nodeType":"ParameterList","parameters":[],"src":"7651:0:103"},"scope":71974,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":70369,"nodeType":"FunctionDefinition","src":"7775:152:103","nodes":[],"body":{"id":70368,"nodeType":"Block","src":"7833:94:103","nodes":[],"statements":[{"condition":{"id":70362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7847:21:103","subExpression":{"arguments":[{"expression":{"id":70359,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7857:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7861:6:103","memberName":"sender","nodeType":"MemberAccess","src":"7857:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70358,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71591,"src":"7848:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":70361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7848:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70367,"nodeType":"IfStatement","src":"7843:78:103","trueBody":{"id":70366,"nodeType":"Block","src":"7870:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70363,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70157,"src":"7891:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7891:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70365,"nodeType":"RevertStatement","src":"7884:26:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"7784:24:103","parameters":{"id":70356,"nodeType":"ParameterList","parameters":[],"src":"7808:2:103"},"returnParameters":{"id":70357,"nodeType":"ParameterList","parameters":[],"src":"7833:0:103"},"scope":71974,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":70384,"nodeType":"FunctionDefinition","src":"7933:157:103","nodes":[],"body":{"id":70383,"nodeType":"Block","src":"7999:91:103","nodes":[],"statements":[{"condition":{"id":70377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8013:18:103","subExpression":{"arguments":[{"id":70375,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70371,"src":"8023:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70374,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71591,"src":"8014:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":70376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8014:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70382,"nodeType":"IfStatement","src":"8009:75:103","trueBody":{"id":70381,"nodeType":"Block","src":"8033:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70378,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70157,"src":"8054:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8054:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70380,"nodeType":"RevertStatement","src":"8047:26:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"7942:25:103","parameters":{"id":70372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70371,"mutability":"mutable","name":"_sender","nameLocation":"7976:7:103","nodeType":"VariableDeclaration","scope":70384,"src":"7968:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70370,"name":"address","nodeType":"ElementaryTypeName","src":"7968:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7967:17:103"},"returnParameters":{"id":70373,"nodeType":"ParameterList","parameters":[],"src":"7999:0:103"},"scope":71974,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":70399,"nodeType":"FunctionDefinition","src":"8096:163:103","nodes":[],"body":{"id":70398,"nodeType":"Block","src":"8158:101:103","nodes":[],"statements":[{"condition":{"id":70392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8172:29:103","subExpression":{"baseExpression":{"id":70389,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70302,"src":"8173:17:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":70391,"indexExpression":{"id":70390,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70386,"src":"8191:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8173:28:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70397,"nodeType":"IfStatement","src":"8168:85:103","trueBody":{"id":70396,"nodeType":"Block","src":"8203:50:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70393,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70169,"src":"8224:16:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8224:18:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70395,"nodeType":"RevertStatement","src":"8217:25:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"8105:19:103","parameters":{"id":70387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70386,"mutability":"mutable","name":"_strategy","nameLocation":"8133:9:103","nodeType":"VariableDeclaration","scope":70399,"src":"8125:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70385,"name":"address","nodeType":"ElementaryTypeName","src":"8125:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8124:19:103"},"returnParameters":{"id":70388,"nodeType":"ParameterList","parameters":[],"src":"8158:0:103"},"scope":71974,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":70415,"nodeType":"FunctionDefinition","src":"8265:172:103","nodes":[],"body":{"id":70414,"nodeType":"Block","src":"8344:93:103","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70406,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70401,"src":"8358:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":70407,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70403,"src":"8369:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8358:20:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70413,"nodeType":"IfStatement","src":"8354:77:103","trueBody":{"id":70412,"nodeType":"Block","src":"8380:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70409,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70173,"src":"8401:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8401:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70411,"nodeType":"RevertStatement","src":"8394:26:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"8274:19:103","parameters":{"id":70404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70401,"mutability":"mutable","name":"_sender","nameLocation":"8302:7:103","nodeType":"VariableDeclaration","scope":70415,"src":"8294:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70400,"name":"address","nodeType":"ElementaryTypeName","src":"8294:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70403,"mutability":"mutable","name":"_strategy","nameLocation":"8319:9:103","nodeType":"VariableDeclaration","scope":70415,"src":"8311:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70402,"name":"address","nodeType":"ElementaryTypeName","src":"8311:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8293:36:103"},"returnParameters":{"id":70405,"nodeType":"ParameterList","parameters":[],"src":"8344:0:103"},"scope":71974,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":70433,"nodeType":"FunctionDefinition","src":"8443:190:103","nodes":[],"body":{"id":70432,"nodeType":"Block","src":"8509:124:103","nodes":[],"statements":[{"condition":{"id":70426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8523:51:103","subExpression":{"baseExpression":{"baseExpression":{"id":70420,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70328,"src":"8524:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":70423,"indexExpression":{"expression":{"id":70421,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8552:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8556:6:103","memberName":"sender","nodeType":"MemberAccess","src":"8552:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8524:39:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":70425,"indexExpression":{"id":70424,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70417,"src":"8564:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8524:50:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70431,"nodeType":"IfStatement","src":"8519:108:103","trueBody":{"id":70430,"nodeType":"Block","src":"8576:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70427,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70181,"src":"8597:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8597:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70429,"nodeType":"RevertStatement","src":"8590:26:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"8452:23:103","parameters":{"id":70418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70417,"mutability":"mutable","name":"_strategy","nameLocation":"8484:9:103","nodeType":"VariableDeclaration","scope":70433,"src":"8476:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70416,"name":"address","nodeType":"ElementaryTypeName","src":"8476:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8475:19:103"},"returnParameters":{"id":70419,"nodeType":"ParameterList","parameters":[],"src":"8509:0:103"},"scope":71974,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":70449,"nodeType":"FunctionDefinition","src":"8639:133:103","nodes":[],"body":{"id":70448,"nodeType":"Block","src":"8699:73:103","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70438,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70435,"src":"8713:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":70441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8733:1:103","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":70440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8725:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70439,"name":"address","nodeType":"ElementaryTypeName","src":"8725:7:103","typeDescriptions":{}}},"id":70442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8725:10:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8713:22:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70447,"nodeType":"IfStatement","src":"8709:56:103","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70444,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70149,"src":"8744:19:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8744:21:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70446,"nodeType":"RevertStatement","src":"8737:28:103"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"8648:18:103","parameters":{"id":70436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70435,"mutability":"mutable","name":"_address","nameLocation":"8675:8:103","nodeType":"VariableDeclaration","scope":70449,"src":"8667:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70434,"name":"address","nodeType":"ElementaryTypeName","src":"8667:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8666:18:103"},"returnParameters":{"id":70437,"nodeType":"ParameterList","parameters":[],"src":"8699:0:103"},"scope":71974,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":70456,"nodeType":"StructDefinition","src":"8943:102:103","nodes":[],"canonicalName":"RegistryCommunityV0_0.Member","members":[{"constant":false,"id":70451,"mutability":"mutable","name":"member","nameLocation":"8975:6:103","nodeType":"VariableDeclaration","scope":70456,"src":"8967:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70450,"name":"address","nodeType":"ElementaryTypeName","src":"8967:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70453,"mutability":"mutable","name":"stakedAmount","nameLocation":"8999:12:103","nodeType":"VariableDeclaration","scope":70456,"src":"8991:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70452,"name":"uint256","nodeType":"ElementaryTypeName","src":"8991:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70455,"mutability":"mutable","name":"isRegistered","nameLocation":"9026:12:103","nodeType":"VariableDeclaration","scope":70456,"src":"9021:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70454,"name":"bool","nodeType":"ElementaryTypeName","src":"9021:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"8950:6:103","scope":71974,"visibility":"public"},{"id":70460,"nodeType":"StructDefinition","src":"9051:55:103","nodes":[],"canonicalName":"RegistryCommunityV0_0.Strategies","members":[{"constant":false,"id":70459,"mutability":"mutable","name":"strategies","nameLocation":"9089:10:103","nodeType":"VariableDeclaration","scope":70460,"src":"9079:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70457,"name":"address","nodeType":"ElementaryTypeName","src":"9079:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70458,"nodeType":"ArrayTypeName","src":"9079:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"9058:10:103","scope":71974,"visibility":"public"},{"id":70472,"nodeType":"FunctionDefinition","src":"9112:110:103","nodes":[],"body":{"id":70471,"nodeType":"Block","src":"9178:44:103","nodes":[],"statements":[{"expression":{"id":70469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70467,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70272,"src":"9188:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70468,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70462,"src":"9207:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9188:27:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70470,"nodeType":"ExpressionStatement","src":"9188:27:103"}]},"functionSelector":"1b71f0e4","implemented":true,"kind":"function","modifiers":[{"id":70465,"kind":"modifierInvocation","modifierName":{"id":70464,"name":"onlyOwner","nameLocations":["9168:9:103"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"9168:9:103"},"nodeType":"ModifierInvocation","src":"9168:9:103"}],"name":"setStrategyTemplate","nameLocation":"9121:19:103","parameters":{"id":70463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70462,"mutability":"mutable","name":"template","nameLocation":"9149:8:103","nodeType":"VariableDeclaration","scope":70472,"src":"9141:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70461,"name":"address","nodeType":"ElementaryTypeName","src":"9141:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9140:18:103"},"returnParameters":{"id":70466,"nodeType":"ParameterList","parameters":[],"src":"9178:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70484,"nodeType":"FunctionDefinition","src":"9228:124:103","nodes":[],"body":{"id":70483,"nodeType":"Block","src":"9301:51:103","nodes":[],"statements":[{"expression":{"id":70481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70479,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70269,"src":"9311:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70480,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70474,"src":"9337:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9311:34:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70482,"nodeType":"ExpressionStatement","src":"9311:34:103"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":70477,"kind":"modifierInvocation","modifierName":{"id":70476,"name":"onlyOwner","nameLocations":["9291:9:103"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"9291:9:103"},"nodeType":"ModifierInvocation","src":"9291:9:103"}],"name":"setCollateralVaultTemplate","nameLocation":"9237:26:103","parameters":{"id":70475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70474,"mutability":"mutable","name":"template","nameLocation":"9272:8:103","nodeType":"VariableDeclaration","scope":70484,"src":"9264:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70473,"name":"address","nodeType":"ElementaryTypeName","src":"9264:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9263:18:103"},"returnParameters":{"id":70478,"nodeType":"ParameterList","parameters":[],"src":"9301:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70759,"nodeType":"FunctionDefinition","src":"9358:2496:103","nodes":[],"body":{"id":70758,"nodeType":"Block","src":"9565:2289:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":70501,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70493,"src":"9592:5:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":70498,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9575:5:103","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RegistryCommunityV0_0_$71974_$","typeString":"type(contract super RegistryCommunityV0_0)"}},"id":70500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9581:10:103","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":69940,"src":"9575:16:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9575:23:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70503,"nodeType":"ExpressionStatement","src":"9575:23:103"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":70504,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52473,"src":"9608:22:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":70505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9608:24:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70506,"nodeType":"ExpressionStatement","src":"9608:24:103"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":70507,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51706,"src":"9642:20:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":70508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9642:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70509,"nodeType":"ExpressionStatement","src":"9642:22:103"},{"expression":{"arguments":[{"id":70511,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70338,"src":"9689:14:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":70512,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51689,"src":"9705:18:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":70510,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51925,"src":"9675:13:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":70513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9675:49:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70514,"nodeType":"ExpressionStatement","src":"9675:49:103"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":70518,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"9762:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70519,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9769:12:103","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":70194,"src":"9762:19:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":70517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9754:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70516,"name":"address","nodeType":"ElementaryTypeName","src":"9754:7:103","typeDescriptions":{}}},"id":70520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9754:28:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70515,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"9735:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9735:48:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70522,"nodeType":"ExpressionStatement","src":"9735:48:103"},{"expression":{"arguments":[{"expression":{"id":70524,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"9812:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70525,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9819:12:103","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70209,"src":"9812:19:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":70523,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"9793:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9793:39:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70527,"nodeType":"ExpressionStatement","src":"9793:39:103"},{"expression":{"arguments":[{"expression":{"id":70529,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"9861:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9868:5:103","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":70191,"src":"9861:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70528,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"9842:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9842:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70532,"nodeType":"ExpressionStatement","src":"9842:32:103"},{"expression":{"arguments":[{"expression":{"id":70534,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"9903:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9910:16:103","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70202,"src":"9903:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70533,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"9884:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9884:43:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70537,"nodeType":"ExpressionStatement","src":"9884:43:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70538,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"9942:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9949:13:103","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":70198,"src":"9942:20:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":70540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9966:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:25:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70548,"nodeType":"IfStatement","src":"9938:95:103","trueBody":{"id":70547,"nodeType":"Block","src":"9969:64:103","statements":[{"expression":{"arguments":[{"expression":{"id":70543,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10002:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10009:12:103","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":70204,"src":"10002:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70542,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"9983:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9983:39:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70546,"nodeType":"ExpressionStatement","src":"9983:39:103"}]}},{"expression":{"id":70554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70549,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70291,"src":"10042:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":70551,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10055:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10062:5:103","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":70191,"src":"10055:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70550,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"10049:5:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$72790_$","typeString":"type(contract FAllo)"}},"id":70553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10049:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}},"src":"10042:26:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}},"id":70555,"nodeType":"ExpressionStatement","src":"10042:26:103"},{"expression":{"id":70559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70556,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70283,"src":"10078:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70557,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10092:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10099:12:103","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":70194,"src":"10092:19:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"src":"10078:33:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":70560,"nodeType":"ExpressionStatement","src":"10078:33:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70561,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10125:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10132:20:103","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":70196,"src":"10125:27:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":70563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10156:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10125:32:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70569,"nodeType":"IfStatement","src":"10121:89:103","trueBody":{"id":70568,"nodeType":"Block","src":"10159:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70565,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70175,"src":"10180:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10180:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70567,"nodeType":"RevertStatement","src":"10173:26:103"}]}},{"expression":{"id":70573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70570,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"10219:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70571,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10241:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10248:20:103","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":70196,"src":"10241:27:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10219:49:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70574,"nodeType":"ExpressionStatement","src":"10219:49:103"},{"expression":{"id":70578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70575,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70251,"src":"10278:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70576,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10293:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10300:13:103","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":70198,"src":"10293:20:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10278:35:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70579,"nodeType":"ExpressionStatement","src":"10278:35:103"},{"expression":{"id":70583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70580,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70260,"src":"10323:13:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70581,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10339:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10346:14:103","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":70213,"src":"10339:21:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10323:37:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70584,"nodeType":"ExpressionStatement","src":"10323:37:103"},{"expression":{"id":70588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70585,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70294,"src":"10370:13:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70586,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10386:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70587,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10393:14:103","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":70211,"src":"10386:21:103","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10370:37:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":70589,"nodeType":"ExpressionStatement","src":"10370:37:103"},{"expression":{"id":70593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70590,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70297,"src":"10417:16:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70591,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10436:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10443:16:103","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":70215,"src":"10436:23:103","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10417:42:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":70594,"nodeType":"ExpressionStatement","src":"10417:42:103"},{"expression":{"id":70598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70595,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70266,"src":"10470:15:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70596,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10488:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10495:16:103","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70202,"src":"10488:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10470:41:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70599,"nodeType":"ExpressionStatement","src":"10470:41:103"},{"expression":{"id":70603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70600,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70263,"src":"10521:11:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70601,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10535:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10542:12:103","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":70204,"src":"10535:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10521:33:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70604,"nodeType":"ExpressionStatement","src":"10521:33:103"},{"expression":{"id":70610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70605,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70287,"src":"10564:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":70607,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10584:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70608,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10591:12:103","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70209,"src":"10584:19:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":70606,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73057,"src":"10578:5:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$73057_$","typeString":"type(contract ISafe)"}},"id":70609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10578:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}},"src":"10564:40:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}},"id":70611,"nodeType":"ExpressionStatement","src":"10564:40:103"},{"expression":{"arguments":[{"id":70613,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70338,"src":"10626:14:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":70614,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"10642:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10649:12:103","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70209,"src":"10642:19:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":70612,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"10615:10:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":70616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10615:47:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70617,"nodeType":"ExpressionStatement","src":"10615:47:103"},{"expression":{"id":70624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70618,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70279,"src":"10673:8:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":70620,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70291,"src":"10694:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}},"id":70621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10699:11:103","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":72781,"src":"10694:16:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":70622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10694:18:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70619,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"10684:9:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":70623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10684:29:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"10673:40:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":70625,"nodeType":"ExpressionStatement","src":"10673:40:103"},{"assignments":[70630],"declarations":[{"constant":false,"id":70630,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"10741:19:103","nodeType":"VariableDeclaration","scope":70758,"src":"10724:36:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70628,"name":"address","nodeType":"ElementaryTypeName","src":"10724:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70629,"nodeType":"ArrayTypeName","src":"10724:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":70631,"nodeType":"VariableDeclarationStatement","src":"10724:36:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":70634,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70287,"src":"10820:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":70633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10812:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70632,"name":"address","nodeType":"ElementaryTypeName","src":"10812:7:103","typeDescriptions":{}}},"id":70635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10812:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10833:4:103","memberName":"code","nodeType":"MemberAccess","src":"10812:25:103","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":70637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10838:6:103","memberName":"length","nodeType":"MemberAccess","src":"10812:32:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":70638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10848:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10812:37:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70697,"nodeType":"Block","src":"10969:266:103","statements":[{"assignments":[70660],"declarations":[{"constant":false,"id":70660,"mutability":"mutable","name":"owners","nameLocation":"11000:6:103","nodeType":"VariableDeclaration","scope":70697,"src":"10983:23:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70658,"name":"address","nodeType":"ElementaryTypeName","src":"10983:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70659,"nodeType":"ArrayTypeName","src":"10983:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":70664,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":70661,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70287,"src":"11009:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}},"id":70662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11021:9:103","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":72972,"src":"11009:21:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":70663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11009:23:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10983:49:103"},{"expression":{"id":70674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70665,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"11046:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70669,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70660,"src":"11082:6:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11089:6:103","memberName":"length","nodeType":"MemberAccess","src":"11082:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":70671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11098:1:103","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11082:17:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11068:13:103","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":70666,"name":"address","nodeType":"ElementaryTypeName","src":"11072:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70667,"nodeType":"ArrayTypeName","src":"11072:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":70673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11068:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11046:54:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70675,"nodeType":"ExpressionStatement","src":"11046:54:103"},{"body":{"id":70695,"nodeType":"Block","src":"11158:67:103","statements":[{"expression":{"id":70693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70687,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"11176:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70689,"indexExpression":{"id":70688,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70677,"src":"11196:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11176:22:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":70690,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70660,"src":"11201:6:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70692,"indexExpression":{"id":70691,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70677,"src":"11208:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11201:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11176:34:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70694,"nodeType":"ExpressionStatement","src":"11176:34:103"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70680,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70677,"src":"11134:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":70681,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70660,"src":"11138:6:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11145:6:103","memberName":"length","nodeType":"MemberAccess","src":"11138:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11134:17:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70696,"initializationExpression":{"assignments":[70677],"declarations":[{"constant":false,"id":70677,"mutability":"mutable","name":"i","nameLocation":"11127:1:103","nodeType":"VariableDeclaration","scope":70696,"src":"11119:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70676,"name":"uint256","nodeType":"ElementaryTypeName","src":"11119:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":70679,"initialValue":{"hexValue":"30","id":70678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11131:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11119:13:103"},"loopExpression":{"expression":{"id":70685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11153:3:103","subExpression":{"id":70684,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70677,"src":"11153:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70686,"nodeType":"ExpressionStatement","src":"11153:3:103"},"nodeType":"ForStatement","src":"11114:111:103"}]},"id":70698,"nodeType":"IfStatement","src":"10808:427:103","trueBody":{"id":70655,"nodeType":"Block","src":"10851:112:103","statements":[{"expression":{"id":70646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70640,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"10865:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":70644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10901:1:103","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":70643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10887:13:103","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":70641,"name":"address","nodeType":"ElementaryTypeName","src":"10891:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70642,"nodeType":"ArrayTypeName","src":"10891:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":70645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10887:16:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"10865:38:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70647,"nodeType":"ExpressionStatement","src":"10865:38:103"},{"expression":{"id":70653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70648,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"10917:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70650,"indexExpression":{"hexValue":"30","id":70649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10937:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10917:22:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":70651,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10942:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10946:6:103","memberName":"sender","nodeType":"MemberAccess","src":"10942:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10917:35:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70654,"nodeType":"ExpressionStatement","src":"10917:35:103"}]}},{"expression":{"id":70709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70699,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"11245:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70704,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70700,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"11265:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11285:6:103","memberName":"length","nodeType":"MemberAccess","src":"11265:26:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":70702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11294:1:103","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11265:30:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11245:51:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":70707,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70287,"src":"11307:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":70706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11299:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70705,"name":"address","nodeType":"ElementaryTypeName","src":"11299:7:103","typeDescriptions":{}}},"id":70708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11299:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11245:74:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70710,"nodeType":"ExpressionStatement","src":"11245:74:103"},{"expression":{"id":70721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70711,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"11329:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70716,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70712,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"11349:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11369:6:103","memberName":"length","nodeType":"MemberAccess","src":"11349:26:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":70714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11378:1:103","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11349:30:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11329:51:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":70719,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11391:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":70718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11383:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70717,"name":"address","nodeType":"ElementaryTypeName","src":"11383:7:103","typeDescriptions":{}}},"id":70720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11383:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11329:67:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70722,"nodeType":"ExpressionStatement","src":"11329:67:103"},{"expression":{"id":70737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70723,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70257,"src":"11484:9:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":70726,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"11531:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11538:6:103","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":70200,"src":"11531:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":70728,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70294,"src":"11546:13:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":70729,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"11561:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11568:9:103","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":70207,"src":"11561:16:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":70733,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11587:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":70732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11579:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70731,"name":"address","nodeType":"ElementaryTypeName","src":"11579:7:103","typeDescriptions":{}}},"id":70734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11579:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70735,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"11594:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":70724,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70279,"src":"11508:8:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":70725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11517:13:103","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"11508:22:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":70736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11508:106:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11484:130:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":70738,"nodeType":"ExpressionStatement","src":"11484:130:103"},{"expression":{"id":70741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70739,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70332,"src":"11625:14:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70740,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70630,"src":"11642:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11625:36:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":70742,"nodeType":"ExpressionStatement","src":"11625:36:103"},{"expression":{"id":70745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70743,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70272,"src":"11672:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70744,"name":"_strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70489,"src":"11691:17:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11672:36:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70746,"nodeType":"ExpressionStatement","src":"11672:36:103"},{"expression":{"id":70749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70747,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70269,"src":"11718:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70748,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70491,"src":"11744:24:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11718:50:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70750,"nodeType":"ExpressionStatement","src":"11718:50:103"},{"eventCall":{"arguments":[{"id":70752,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70257,"src":"11804:9:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":70753,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70294,"src":"11815:13:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":70754,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"11830:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":70755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11837:9:103","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":70207,"src":"11830:16:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":70751,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70096,"src":"11784:19:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":70756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11784:63:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70757,"nodeType":"EmitStatement","src":"11779:68:103"}]},"functionSelector":"34196355","implemented":true,"kind":"function","modifiers":[{"id":70496,"kind":"modifierInvocation","modifierName":{"id":70495,"name":"initializer","nameLocations":["9553:11:103"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"9553:11:103"},"nodeType":"ModifierInvocation","src":"9553:11:103"}],"name":"initialize","nameLocation":"9367:10:103","parameters":{"id":70494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70487,"mutability":"mutable","name":"params","nameLocation":"9433:6:103","nodeType":"VariableDeclaration","scope":70759,"src":"9387:52:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":70486,"nodeType":"UserDefinedTypeName","pathNode":{"id":70485,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["9387:21:103","9409:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":70216,"src":"9387:38:103"},"referencedDeclaration":70216,"src":"9387:38:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":70489,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"9457:17:103","nodeType":"VariableDeclaration","scope":70759,"src":"9449:25:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70488,"name":"address","nodeType":"ElementaryTypeName","src":"9449:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70491,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"9492:24:103","nodeType":"VariableDeclaration","scope":70759,"src":"9484:32:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70490,"name":"address","nodeType":"ElementaryTypeName","src":"9484:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70493,"mutability":"mutable","name":"owner","nameLocation":"9534:5:103","nodeType":"VariableDeclaration","scope":70759,"src":"9526:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70492,"name":"address","nodeType":"ElementaryTypeName","src":"9526:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9377:168:103"},"returnParameters":{"id":70497,"nodeType":"ParameterList","parameters":[],"src":"9565:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":70809,"nodeType":"FunctionDefinition","src":"11860:532:103","nodes":[],"body":{"id":70808,"nodeType":"Block","src":"12057:335:103","nodes":[],"statements":[{"assignments":[70775],"declarations":[{"constant":false,"id":70775,"mutability":"mutable","name":"strategyProxy","nameLocation":"12075:13:103","nodeType":"VariableDeclaration","scope":70808,"src":"12067:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70774,"name":"address","nodeType":"ElementaryTypeName","src":"12067:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":70800,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":70783,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70272,"src":"12154:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12146:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70781,"name":"address","nodeType":"ElementaryTypeName","src":"12146:7:103","typeDescriptions":{}}},"id":70784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12146:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":70787,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69064,"src":"12212:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$69064_$","typeString":"type(contract CVStrategyV0_0)"}},"id":70788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12227:4:103","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":65847,"src":"12212:19:103","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address,address,address)"}},"id":70789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12232:8:103","memberName":"selector","nodeType":"MemberAccess","src":"12212:28:103","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":70792,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70291,"src":"12250:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}],"id":70791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12242:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70790,"name":"address","nodeType":"ElementaryTypeName","src":"12242:7:103","typeDescriptions":{}}},"id":70793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12242:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70794,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70269,"src":"12257:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":70795,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[69983],"referencedDeclaration":69983,"src":"12282:5:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":70796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:7:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":70785,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12189:3:103","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":70786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12193:18:103","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12189:22:103","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":70797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12189:101:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":70780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"12112:16:103","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$54318_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":70779,"nodeType":"UserDefinedTypeName","pathNode":{"id":70778,"name":"ERC1967Proxy","nameLocations":["12116:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":54318,"src":"12116:12:103"},"referencedDeclaration":54318,"src":"12116:12:103","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}}},"id":70798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12112:192:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}],"id":70777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12091:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70776,"name":"address","nodeType":"ElementaryTypeName","src":"12091:7:103","typeDescriptions":{}}},"id":70799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12091:223:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12067:247:103"},{"expression":{"arguments":[{"id":70802,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70775,"src":"12343:13:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70803,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70761,"src":"12358:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70804,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70764,"src":"12366:7:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":70805,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70767,"src":"12375:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":70801,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[70809,70881],"referencedDeclaration":70881,"src":"12332:10:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$65511_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":70806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12332:53:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":70773,"id":70807,"nodeType":"Return","src":"12325:60:103"}]},"functionSelector":"524e59e8","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"11869:10:103","parameters":{"id":70768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70761,"mutability":"mutable","name":"_token","nameLocation":"11888:6:103","nodeType":"VariableDeclaration","scope":70809,"src":"11880:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70760,"name":"address","nodeType":"ElementaryTypeName","src":"11880:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70764,"mutability":"mutable","name":"_params","nameLocation":"11935:7:103","nodeType":"VariableDeclaration","scope":70809,"src":"11896:46:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":70763,"nodeType":"UserDefinedTypeName","pathNode":{"id":70762,"name":"StrategyStruct.InitializeParams","nameLocations":["11896:14:103","11911:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"11896:31:103"},"referencedDeclaration":65511,"src":"11896:31:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":70767,"mutability":"mutable","name":"_metadata","nameLocation":"11960:9:103","nodeType":"VariableDeclaration","scope":70809,"src":"11944:25:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":70766,"nodeType":"UserDefinedTypeName","pathNode":{"id":70765,"name":"Metadata","nameLocations":["11944:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"11944:8:103"},"referencedDeclaration":3098,"src":"11944:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"11879:91:103"},"returnParameters":{"id":70773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70770,"mutability":"mutable","name":"poolId","nameLocation":"12027:6:103","nodeType":"VariableDeclaration","scope":70809,"src":"12019:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70769,"name":"uint256","nodeType":"ElementaryTypeName","src":"12019:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70772,"mutability":"mutable","name":"strategy","nameLocation":"12043:8:103","nodeType":"VariableDeclaration","scope":70809,"src":"12035:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70771,"name":"address","nodeType":"ElementaryTypeName","src":"12035:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12018:34:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70881,"nodeType":"FunctionDefinition","src":"12398:661:103","nodes":[],"body":{"id":70880,"nodeType":"Block","src":"12624:435:103","nodes":[],"statements":[{"assignments":[70827],"declarations":[{"constant":false,"id":70827,"mutability":"mutable","name":"token","nameLocation":"12642:5:103","nodeType":"VariableDeclaration","scope":70880,"src":"12634:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70826,"name":"address","nodeType":"ElementaryTypeName","src":"12634:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":70829,"initialValue":{"id":70828,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70233,"src":"12650:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12634:22:103"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70830,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70813,"src":"12670:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":70833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12688:1:103","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":70832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12680:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70831,"name":"address","nodeType":"ElementaryTypeName","src":"12680:7:103","typeDescriptions":{}}},"id":70834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12680:10:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12670:20:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70841,"nodeType":"IfStatement","src":"12666:65:103","trueBody":{"id":70840,"nodeType":"Block","src":"12692:39:103","statements":[{"expression":{"id":70838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70836,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70827,"src":"12706:5:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70837,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70813,"src":"12714:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12706:14:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70839,"nodeType":"ExpressionStatement","src":"12706:14:103"}]}},{"expression":{"id":70844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70842,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70824,"src":"12740:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70843,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70811,"src":"12751:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12740:20:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70845,"nodeType":"ExpressionStatement","src":"12740:20:103"},{"assignments":[70850],"declarations":[{"constant":false,"id":70850,"mutability":"mutable","name":"_pool_managers","nameLocation":"12788:14:103","nodeType":"VariableDeclaration","scope":70880,"src":"12771:31:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70848,"name":"address","nodeType":"ElementaryTypeName","src":"12771:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70849,"nodeType":"ArrayTypeName","src":"12771:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":70852,"initialValue":{"id":70851,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70332,"src":"12805:14:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12771:48:103"},{"expression":{"id":70867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70853,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70822,"src":"12830:6:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":70856,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70257,"src":"12886:9:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":70857,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70824,"src":"12897:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":70860,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70816,"src":"12918:7:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":70858,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12907:3:103","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":70859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12911:6:103","memberName":"encode","nodeType":"MemberAccess","src":"12907:10:103","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":70861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12907:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":70862,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70827,"src":"12928:5:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":70863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12935:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":70864,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70819,"src":"12938:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":70865,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70850,"src":"12949:14:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":70854,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70291,"src":"12839:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}},"id":70855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12844:28:103","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":72776,"src":"12839:33:103","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":70866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12839:134:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12830:143:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70868,"nodeType":"ExpressionStatement","src":"12830:143:103"},{"eventCall":{"arguments":[{"id":70870,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70822,"src":"13001:6:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":70871,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70824,"src":"13009:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":70874,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13027:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":70873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13019:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70872,"name":"address","nodeType":"ElementaryTypeName","src":"13019:7:103","typeDescriptions":{}}},"id":70875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13019:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70876,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70813,"src":"13034:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70877,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70819,"src":"13042:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":70869,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70147,"src":"12989:11:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":70878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12989:63:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70879,"nodeType":"EmitStatement","src":"12984:68:103"}]},"functionSelector":"e16d0e32","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"12407:10:103","parameters":{"id":70820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70811,"mutability":"mutable","name":"_strategy","nameLocation":"12435:9:103","nodeType":"VariableDeclaration","scope":70881,"src":"12427:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70810,"name":"address","nodeType":"ElementaryTypeName","src":"12427:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70813,"mutability":"mutable","name":"_token","nameLocation":"12462:6:103","nodeType":"VariableDeclaration","scope":70881,"src":"12454:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70812,"name":"address","nodeType":"ElementaryTypeName","src":"12454:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70816,"mutability":"mutable","name":"_params","nameLocation":"12517:7:103","nodeType":"VariableDeclaration","scope":70881,"src":"12478:46:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":70815,"nodeType":"UserDefinedTypeName","pathNode":{"id":70814,"name":"StrategyStruct.InitializeParams","nameLocations":["12478:14:103","12493:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":65511,"src":"12478:31:103"},"referencedDeclaration":65511,"src":"12478:31:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65511_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":70819,"mutability":"mutable","name":"_metadata","nameLocation":"12550:9:103","nodeType":"VariableDeclaration","scope":70881,"src":"12534:25:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":70818,"nodeType":"UserDefinedTypeName","pathNode":{"id":70817,"name":"Metadata","nameLocations":["12534:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12534:8:103"},"referencedDeclaration":3098,"src":"12534:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12417:148:103"},"returnParameters":{"id":70825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70822,"mutability":"mutable","name":"poolId","nameLocation":"12598:6:103","nodeType":"VariableDeclaration","scope":70881,"src":"12590:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70821,"name":"uint256","nodeType":"ElementaryTypeName","src":"12590:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70824,"mutability":"mutable","name":"strategy","nameLocation":"12614:8:103","nodeType":"VariableDeclaration","scope":70881,"src":"12606:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70823,"name":"address","nodeType":"ElementaryTypeName","src":"12606:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12589:34:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":70998,"nodeType":"FunctionDefinition","src":"13065:1187:103","nodes":[],"body":{"id":70997,"nodeType":"Block","src":"13150:1102:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":70889,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70883,"src":"13186:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70888,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70384,"src":"13160:25:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":70890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13160:34:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70891,"nodeType":"ExpressionStatement","src":"13160:34:103"},{"expression":{"arguments":[{"id":70893,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"13224:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70892,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70399,"src":"13204:19:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":70894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13204:30:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70895,"nodeType":"ExpressionStatement","src":"13204:30:103"},{"expression":{"arguments":[{"id":70897,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"13263:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70896,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"13244:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13244:29:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70899,"nodeType":"ExpressionStatement","src":"13244:29:103"},{"condition":{"baseExpression":{"baseExpression":{"id":70900,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70328,"src":"13288:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":70902,"indexExpression":{"id":70901,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70883,"src":"13316:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13288:36:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":70904,"indexExpression":{"id":70903,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"13325:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13288:47:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70909,"nodeType":"IfStatement","src":"13284:107:103","trueBody":{"id":70908,"nodeType":"Block","src":"13337:54:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70905,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70163,"src":"13358:20:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13358:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70907,"nodeType":"RevertStatement","src":"13351:29:103"}]}},{"assignments":[70912],"declarations":[{"constant":false,"id":70912,"mutability":"mutable","name":"member","nameLocation":"13415:6:103","nodeType":"VariableDeclaration","scope":70997,"src":"13401:20:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":70911,"nodeType":"UserDefinedTypeName","pathNode":{"id":70910,"name":"Member","nameLocations":["13401:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":70456,"src":"13401:6:103"},"referencedDeclaration":70456,"src":"13401:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":70916,"initialValue":{"baseExpression":{"id":70913,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"13424:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":70915,"indexExpression":{"id":70914,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70883,"src":"13444:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13424:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13401:51:103"},{"assignments":[70918],"declarations":[{"constant":false,"id":70918,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"13471:17:103","nodeType":"VariableDeclaration","scope":70997,"src":"13463:25:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70917,"name":"uint256","nodeType":"ElementaryTypeName","src":"13463:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":70921,"initialValue":{"expression":{"id":70919,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70912,"src":"13491:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":70920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13498:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"13491:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13463:47:103"},{"assignments":[70923],"declarations":[{"constant":false,"id":70923,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13528:16:103","nodeType":"VariableDeclaration","scope":70997,"src":"13520:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70922,"name":"uint256","nodeType":"ElementaryTypeName","src":"13520:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":70925,"initialValue":{"id":70924,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"13547:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13520:46:103"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":70934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":70927,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"13596:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70926,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"13581:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}},"id":70928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13581:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65390","typeString":"contract IPointStrategy"}},"id":70929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13607:14:103","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":65389,"src":"13581:40:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$65399_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":70930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13581:42:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":70931,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"13627:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":70932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13642:11:103","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"13627:26:103","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":70933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13654:9:103","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65398,"src":"13627:36:103","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"13581:82:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"},"id":70954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":70947,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"13785:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70946,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"13770:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}},"id":70948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13770:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65390","typeString":"contract IPointStrategy"}},"id":70949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13796:14:103","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":65389,"src":"13770:40:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$65399_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":70950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13770:42:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":70951,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65512,"src":"13816:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65512_$","typeString":"type(library StrategyStruct)"}},"id":70952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13831:11:103","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65399,"src":"13816:26:103","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65399_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":70953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13843:5:103","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":65395,"src":"13816:32:103","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65399","typeString":"enum StrategyStruct.PointSystem"}},"src":"13770:78:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70966,"nodeType":"IfStatement","src":"13766:195:103","trueBody":{"id":70965,"nodeType":"Block","src":"13850:111:103","statements":[{"expression":{"id":70963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70955,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70923,"src":"13864:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":70960,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70883,"src":"13923:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70961,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70918,"src":"13932:17:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":70957,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"13898:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70956,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"13883:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}},"id":70958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13883:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65390","typeString":"contract IPointStrategy"}},"id":70959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13909:13:103","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":65374,"src":"13883:39:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":70962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13883:67:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13864:86:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70964,"nodeType":"ExpressionStatement","src":"13864:86:103"}]}},"id":70967,"nodeType":"IfStatement","src":"13577:384:103","trueBody":{"id":70945,"nodeType":"Block","src":"13665:95:103","statements":[{"expression":{"id":70943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70935,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70923,"src":"13679:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":70940,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70883,"src":"13738:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":70941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13747:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":70937,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"13713:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70936,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"13698:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}},"id":70938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13698:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65390","typeString":"contract IPointStrategy"}},"id":70939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13724:13:103","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":65374,"src":"13698:39:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":70942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13698:51:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13679:70:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70944,"nodeType":"ExpressionStatement","src":"13679:70:103"}]}},{"expression":{"id":70974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":70968,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70309,"src":"13971:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":70971,"indexExpression":{"id":70969,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70883,"src":"13993:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13971:30:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":70972,"indexExpression":{"id":70970,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"14002:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13971:41:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70973,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70923,"src":"14015:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13971:60:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70975,"nodeType":"ExpressionStatement","src":"13971:60:103"},{"expression":{"id":70982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":70976,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70328,"src":"14060:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":70979,"indexExpression":{"id":70977,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70883,"src":"14088:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14060:36:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":70980,"indexExpression":{"id":70978,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"14097:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14060:47:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":70981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14110:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14060:54:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70983,"nodeType":"ExpressionStatement","src":"14060:54:103"},{"expression":{"arguments":[{"id":70988,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"14158:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":70984,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70321,"src":"14125:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":70986,"indexExpression":{"id":70985,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70883,"src":"14144:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14125:27:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":70987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14153:4:103","memberName":"push","nodeType":"MemberAccess","src":"14125:32:103","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":70989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14125:43:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70990,"nodeType":"ExpressionStatement","src":"14125:43:103"},{"eventCall":{"arguments":[{"id":70992,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70883,"src":"14208:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70993,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70885,"src":"14217:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70994,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70923,"src":"14228:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70991,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70112,"src":"14184:23:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":70995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14184:61:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70996,"nodeType":"EmitStatement","src":"14179:66:103"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[],"name":"activateMemberInStrategy","nameLocation":"13074:24:103","parameters":{"id":70886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70883,"mutability":"mutable","name":"_member","nameLocation":"13107:7:103","nodeType":"VariableDeclaration","scope":70998,"src":"13099:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70882,"name":"address","nodeType":"ElementaryTypeName","src":"13099:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70885,"mutability":"mutable","name":"_strategy","nameLocation":"13124:9:103","nodeType":"VariableDeclaration","scope":70998,"src":"13116:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70884,"name":"address","nodeType":"ElementaryTypeName","src":"13116:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13098:36:103"},"returnParameters":{"id":70887,"nodeType":"ParameterList","parameters":[],"src":"13150:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71057,"nodeType":"FunctionDefinition","src":"14258:699:103","nodes":[],"body":{"id":71056,"nodeType":"Block","src":"14345:612:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":71006,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71000,"src":"14381:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71005,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70384,"src":"14355:25:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":71007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14355:34:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71008,"nodeType":"ExpressionStatement","src":"14355:34:103"},{"expression":{"arguments":[{"id":71010,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71002,"src":"14418:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71009,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"14399:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14399:29:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71012,"nodeType":"ExpressionStatement","src":"14399:29:103"},{"expression":{"arguments":[{"expression":{"id":71014,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14458:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14462:6:103","memberName":"sender","nodeType":"MemberAccess","src":"14458:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71016,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71002,"src":"14470:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71013,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70415,"src":"14438:19:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":71017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14438:42:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71018,"nodeType":"ExpressionStatement","src":"14438:42:103"},{"condition":{"id":71024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14495:48:103","subExpression":{"baseExpression":{"baseExpression":{"id":71019,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70328,"src":"14496:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71021,"indexExpression":{"id":71020,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71000,"src":"14524:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14496:36:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71023,"indexExpression":{"id":71022,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71002,"src":"14533:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14496:47:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71029,"nodeType":"IfStatement","src":"14491:110:103","trueBody":{"id":71028,"nodeType":"Block","src":"14545:56:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71025,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"14566:22:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14566:24:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71027,"nodeType":"RevertStatement","src":"14559:31:103"}]}},{"expression":{"id":71036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71030,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70328,"src":"14611:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71033,"indexExpression":{"id":71031,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71000,"src":"14639:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14611:36:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71034,"indexExpression":{"id":71032,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71002,"src":"14648:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14611:47:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":71035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14661:5:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"14611:55:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71037,"nodeType":"ExpressionStatement","src":"14611:55:103"},{"expression":{"id":71044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71038,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70309,"src":"14676:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71041,"indexExpression":{"id":71039,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71000,"src":"14698:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14676:30:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71042,"indexExpression":{"id":71040,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71002,"src":"14707:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14676:41:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":71043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14720:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14676:45:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71045,"nodeType":"ExpressionStatement","src":"14676:45:103"},{"expression":{"arguments":[{"id":71047,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71000,"src":"14756:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71048,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71002,"src":"14765:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71046,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71110,"src":"14731:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":71049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14731:44:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71050,"nodeType":"ExpressionStatement","src":"14731:44:103"},{"eventCall":{"arguments":[{"id":71052,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71000,"src":"14931:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71053,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71002,"src":"14940:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71051,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70118,"src":"14905:25:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":71054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14905:45:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71055,"nodeType":"EmitStatement","src":"14900:50:103"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"14267:26:103","parameters":{"id":71003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71000,"mutability":"mutable","name":"_member","nameLocation":"14302:7:103","nodeType":"VariableDeclaration","scope":71057,"src":"14294:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70999,"name":"address","nodeType":"ElementaryTypeName","src":"14294:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71002,"mutability":"mutable","name":"_strategy","nameLocation":"14319:9:103","nodeType":"VariableDeclaration","scope":71057,"src":"14311:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71001,"name":"address","nodeType":"ElementaryTypeName","src":"14311:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14293:36:103"},"returnParameters":{"id":71004,"nodeType":"ParameterList","parameters":[],"src":"14345:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71110,"nodeType":"FunctionDefinition","src":"14963:433:103","nodes":[],"body":{"id":71109,"nodeType":"Block","src":"15050:346:103","nodes":[],"statements":[{"assignments":[71068],"declarations":[{"constant":false,"id":71068,"mutability":"mutable","name":"memberStrategies","nameLocation":"15078:16:103","nodeType":"VariableDeclaration","scope":71109,"src":"15060:34:103","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71066,"name":"address","nodeType":"ElementaryTypeName","src":"15060:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71067,"nodeType":"ArrayTypeName","src":"15060:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71072,"initialValue":{"baseExpression":{"id":71069,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70321,"src":"15097:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71071,"indexExpression":{"id":71070,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71059,"src":"15116:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15097:27:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15060:64:103"},{"body":{"id":71107,"nodeType":"Block","src":"15188:202:103","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":71084,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71068,"src":"15206:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71086,"indexExpression":{"id":71085,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71074,"src":"15223:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15206:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":71087,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71061,"src":"15229:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15206:32:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71106,"nodeType":"IfStatement","src":"15202:178:103","trueBody":{"id":71105,"nodeType":"Block","src":"15240:140:103","statements":[{"expression":{"id":71098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71089,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71068,"src":"15258:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71091,"indexExpression":{"id":71090,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71074,"src":"15275:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15258:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":71092,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71068,"src":"15280:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71097,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71093,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71068,"src":"15297:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15314:6:103","memberName":"length","nodeType":"MemberAccess","src":"15297:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":71095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15323:1:103","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15297:27:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15280:45:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15258:67:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71099,"nodeType":"ExpressionStatement","src":"15258:67:103"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71100,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71068,"src":"15343:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15360:3:103","memberName":"pop","nodeType":"MemberAccess","src":"15343:20:103","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":71103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15343:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71104,"nodeType":"ExpressionStatement","src":"15343:22:103"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71077,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71074,"src":"15154:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71078,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71068,"src":"15158:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15175:6:103","memberName":"length","nodeType":"MemberAccess","src":"15158:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15154:27:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71108,"initializationExpression":{"assignments":[71074],"declarations":[{"constant":false,"id":71074,"mutability":"mutable","name":"i","nameLocation":"15147:1:103","nodeType":"VariableDeclaration","scope":71108,"src":"15139:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71073,"name":"uint256","nodeType":"ElementaryTypeName","src":"15139:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71076,"initialValue":{"hexValue":"30","id":71075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15151:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15139:13:103"},"loopExpression":{"expression":{"id":71082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15183:3:103","subExpression":{"id":71081,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71074,"src":"15183:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71083,"nodeType":"ExpressionStatement","src":"15183:3:103"},"nodeType":"ForStatement","src":"15134:256:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"14972:24:103","parameters":{"id":71062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71059,"mutability":"mutable","name":"_member","nameLocation":"15005:7:103","nodeType":"VariableDeclaration","scope":71110,"src":"14997:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71058,"name":"address","nodeType":"ElementaryTypeName","src":"14997:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71061,"mutability":"mutable","name":"_strategy","nameLocation":"15022:9:103","nodeType":"VariableDeclaration","scope":71110,"src":"15014:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71060,"name":"address","nodeType":"ElementaryTypeName","src":"15014:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14996:36:103"},"returnParameters":{"id":71063,"nodeType":"ParameterList","parameters":[],"src":"15050:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":71201,"nodeType":"FunctionDefinition","src":"15402:1009:103","nodes":[],"body":{"id":71200,"nodeType":"Block","src":"15476:935:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71117,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70369,"src":"15486:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15486:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71119,"nodeType":"ExpressionStatement","src":"15486:26:103"},{"assignments":[71121],"declarations":[{"constant":false,"id":71121,"mutability":"mutable","name":"member","nameLocation":"15530:6:103","nodeType":"VariableDeclaration","scope":71200,"src":"15522:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71120,"name":"address","nodeType":"ElementaryTypeName","src":"15522:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71124,"initialValue":{"expression":{"id":71122,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15539:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15543:6:103","memberName":"sender","nodeType":"MemberAccess","src":"15539:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15522:27:103"},{"assignments":[71129],"declarations":[{"constant":false,"id":71129,"mutability":"mutable","name":"memberStrategies","nameLocation":"15576:16:103","nodeType":"VariableDeclaration","scope":71200,"src":"15559:33:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71127,"name":"address","nodeType":"ElementaryTypeName","src":"15559:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71128,"nodeType":"ArrayTypeName","src":"15559:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71133,"initialValue":{"baseExpression":{"id":71130,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70321,"src":"15595:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71132,"indexExpression":{"id":71131,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71121,"src":"15614:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15595:26:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15559:62:103"},{"assignments":[71135],"declarations":[{"constant":false,"id":71135,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"15640:16:103","nodeType":"VariableDeclaration","scope":71200,"src":"15632:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71134,"name":"uint256","nodeType":"ElementaryTypeName","src":"15632:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71136,"nodeType":"VariableDeclarationStatement","src":"15632:24:103"},{"body":{"id":71175,"nodeType":"Block","src":"15721:482:103","statements":[{"expression":{"id":71158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71148,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71135,"src":"15840:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71155,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71121,"src":"15909:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71156,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71112,"src":"15917:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":71150,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71129,"src":"15874:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71152,"indexExpression":{"id":71151,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71138,"src":"15891:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15874:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71149,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"15859:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}},"id":71153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15859:35:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65390","typeString":"contract IPointStrategy"}},"id":71154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15895:13:103","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":65374,"src":"15859:49:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":71157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15859:72:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15840:91:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71159,"nodeType":"ExpressionStatement","src":"15840:91:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71160,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71135,"src":"15949:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":71161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15969:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15949:21:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71174,"nodeType":"IfStatement","src":"15945:232:103","trueBody":{"id":71173,"nodeType":"Block","src":"15972:205:103","statements":[{"expression":{"id":71171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71163,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70309,"src":"15990:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71168,"indexExpression":{"id":71164,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71121,"src":"16012:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15990:29:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71169,"indexExpression":{"baseExpression":{"id":71165,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71129,"src":"16020:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71167,"indexExpression":{"id":71166,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71138,"src":"16037:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16020:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15990:50:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":71170,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71135,"src":"16044:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15990:70:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71172,"nodeType":"ExpressionStatement","src":"15990:70:103"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71141,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71138,"src":"15687:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71142,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71129,"src":"15691:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15708:6:103","memberName":"length","nodeType":"MemberAccess","src":"15691:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15687:27:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71176,"initializationExpression":{"assignments":[71138],"declarations":[{"constant":false,"id":71138,"mutability":"mutable","name":"i","nameLocation":"15680:1:103","nodeType":"VariableDeclaration","scope":71176,"src":"15672:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71137,"name":"uint256","nodeType":"ElementaryTypeName","src":"15672:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71140,"initialValue":{"hexValue":"30","id":71139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15684:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15672:13:103"},"loopExpression":{"expression":{"id":71146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15716:3:103","subExpression":{"id":71145,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71138,"src":"15716:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71147,"nodeType":"ExpressionStatement","src":"15716:3:103"},"nodeType":"ForStatement","src":"15667:536:103"},{"expression":{"arguments":[{"id":71180,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71121,"src":"16242:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71183,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16258:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":71182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16250:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71181,"name":"address","nodeType":"ElementaryTypeName","src":"16250:7:103","typeDescriptions":{}}},"id":71184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16250:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71185,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71112,"src":"16265:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71177,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70283,"src":"16213:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":71179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16225:16:103","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":55946,"src":"16213:28:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":71186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16213:66:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71187,"nodeType":"ExpressionStatement","src":"16213:66:103"},{"expression":{"id":71193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":71188,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"16289:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71190,"indexExpression":{"id":71189,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71121,"src":"16309:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16289:27:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":71191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16317:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"16289:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":71192,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71112,"src":"16333:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16289:57:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71194,"nodeType":"ExpressionStatement","src":"16289:57:103"},{"eventCall":{"arguments":[{"id":71196,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71121,"src":"16382:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71197,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71112,"src":"16390:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71195,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70128,"src":"16361:20:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16361:43:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71199,"nodeType":"EmitStatement","src":"16356:48:103"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":71115,"kind":"modifierInvocation","modifierName":{"id":71114,"name":"nonReentrant","nameLocations":["15463:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"15463:12:103"},"nodeType":"ModifierInvocation","src":"15463:12:103"}],"name":"increasePower","nameLocation":"15411:13:103","parameters":{"id":71113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71112,"mutability":"mutable","name":"_amountStaked","nameLocation":"15433:13:103","nodeType":"VariableDeclaration","scope":71201,"src":"15425:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71111,"name":"uint256","nodeType":"ElementaryTypeName","src":"15425:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15424:23:103"},"returnParameters":{"id":71116,"nodeType":"ParameterList","parameters":[],"src":"15476:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71351,"nodeType":"FunctionDefinition","src":"16554:1562:103","nodes":[],"body":{"id":71350,"nodeType":"Block","src":"16630:1486:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71208,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70369,"src":"16640:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16640:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71210,"nodeType":"ExpressionStatement","src":"16640:26:103"},{"assignments":[71212],"declarations":[{"constant":false,"id":71212,"mutability":"mutable","name":"member","nameLocation":"16684:6:103","nodeType":"VariableDeclaration","scope":71350,"src":"16676:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71211,"name":"address","nodeType":"ElementaryTypeName","src":"16676:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71215,"initialValue":{"expression":{"id":71213,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16693:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16697:6:103","memberName":"sender","nodeType":"MemberAccess","src":"16693:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16676:27:103"},{"assignments":[71220],"declarations":[{"constant":false,"id":71220,"mutability":"mutable","name":"memberStrategies","nameLocation":"16731:16:103","nodeType":"VariableDeclaration","scope":71350,"src":"16713:34:103","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71218,"name":"address","nodeType":"ElementaryTypeName","src":"16713:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71219,"nodeType":"ArrayTypeName","src":"16713:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71224,"initialValue":{"baseExpression":{"id":71221,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70321,"src":"16750:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71223,"indexExpression":{"id":71222,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71212,"src":"16769:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16750:26:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16713:63:103"},{"assignments":[71226],"declarations":[{"constant":false,"id":71226,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"16795:16:103","nodeType":"VariableDeclaration","scope":71350,"src":"16787:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71225,"name":"uint256","nodeType":"ElementaryTypeName","src":"16787:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71227,"nodeType":"VariableDeclarationStatement","src":"16787:24:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":71228,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"16826:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71230,"indexExpression":{"id":71229,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71212,"src":"16846:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16826:27:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":71231,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16854:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"16826:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":71232,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71203,"src":"16869:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16826:58:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":71234,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"16887:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16826:80:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71240,"nodeType":"IfStatement","src":"16822:140:103","trueBody":{"id":71239,"nodeType":"Block","src":"16908:54:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71236,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70183,"src":"16929:20:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16929:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71238,"nodeType":"RevertStatement","src":"16922:29:103"}]}},{"expression":{"arguments":[{"id":71244,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71212,"src":"16996:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71245,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71203,"src":"17004:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71241,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70283,"src":"16971:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":71243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16983:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"16971:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":71246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16971:49:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71247,"nodeType":"ExpressionStatement","src":"16971:49:103"},{"body":{"id":71336,"nodeType":"Block","src":"17084:897:103","statements":[{"assignments":[71260],"declarations":[{"constant":false,"id":71260,"mutability":"mutable","name":"strategy","nameLocation":"17106:8:103","nodeType":"VariableDeclaration","scope":71336,"src":"17098:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71259,"name":"address","nodeType":"ElementaryTypeName","src":"17098:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71264,"initialValue":{"baseExpression":{"id":71261,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71220,"src":"17117:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71263,"indexExpression":{"id":71262,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71249,"src":"17134:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17117:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17098:38:103"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":71268,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"17186:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}],"id":71267,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"17181:4:103","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":71269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17181:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65390","typeString":"type(contract IPointStrategy)"}},"id":71270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17202:11:103","memberName":"interfaceId","nodeType":"MemberAccess","src":"17181:32:103","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":71265,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71260,"src":"17154:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17163:17:103","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57072,"src":"17154:26:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":71271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17154:60:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":71334,"nodeType":"Block","src":"17704:250:103","statements":[{"expression":{"id":71323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71314,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71220,"src":"17789:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71316,"indexExpression":{"id":71315,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71249,"src":"17806:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17789:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":71317,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71220,"src":"17811:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71322,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71318,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71220,"src":"17828:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17845:6:103","memberName":"length","nodeType":"MemberAccess","src":"17828:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":71320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17854:1:103","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17828:27:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17811:45:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17789:67:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71324,"nodeType":"ExpressionStatement","src":"17789:67:103"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71325,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71220,"src":"17874:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17891:3:103","memberName":"pop","nodeType":"MemberAccess","src":"17874:20:103","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":71328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17874:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71329,"nodeType":"ExpressionStatement","src":"17874:22:103"},{"expression":{"arguments":[{"id":71331,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71260,"src":"17930:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71330,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71502,"src":"17914:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17914:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71333,"nodeType":"ExpressionStatement","src":"17914:25:103"}]},"id":71335,"nodeType":"IfStatement","src":"17150:804:103","trueBody":{"id":71313,"nodeType":"Block","src":"17216:482:103","statements":[{"expression":{"id":71280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71272,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71226,"src":"17234:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71277,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71212,"src":"17292:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71278,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71203,"src":"17300:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":71274,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71260,"src":"17268:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71273,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"17253:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}},"id":71275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17253:24:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65390","typeString":"contract IPointStrategy"}},"id":71276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17278:13:103","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":65383,"src":"17253:38:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":71279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17253:63:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17234:82:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71281,"nodeType":"ExpressionStatement","src":"17234:82:103"},{"assignments":[71283],"declarations":[{"constant":false,"id":71283,"mutability":"mutable","name":"currentPower","nameLocation":"17342:12:103","nodeType":"VariableDeclaration","scope":71313,"src":"17334:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71282,"name":"uint256","nodeType":"ElementaryTypeName","src":"17334:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71291,"initialValue":{"baseExpression":{"baseExpression":{"id":71284,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70309,"src":"17357:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71286,"indexExpression":{"id":71285,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71212,"src":"17379:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17357:29:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71290,"indexExpression":{"baseExpression":{"id":71287,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71220,"src":"17387:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71289,"indexExpression":{"id":71288,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71249,"src":"17404:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17387:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17357:50:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17334:73:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71292,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71226,"src":"17429:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":71293,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71283,"src":"17448:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17429:31:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":71311,"nodeType":"Block","src":"17573:111:103","statements":[{"expression":{"id":71309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71301,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70309,"src":"17595:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71306,"indexExpression":{"id":71302,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71212,"src":"17617:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17595:29:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71307,"indexExpression":{"baseExpression":{"id":71303,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71220,"src":"17625:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71305,"indexExpression":{"id":71304,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71249,"src":"17642:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17625:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17595:50:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":71308,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71226,"src":"17649:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17595:70:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71310,"nodeType":"ExpressionStatement","src":"17595:70:103"}]},"id":71312,"nodeType":"IfStatement","src":"17425:259:103","trueBody":{"id":71300,"nodeType":"Block","src":"17462:105:103","statements":[{"errorCall":{"arguments":[{"id":71296,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71226,"src":"17517:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":71297,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71283,"src":"17535:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71295,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70189,"src":"17491:25:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":71298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17491:57:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71299,"nodeType":"RevertStatement","src":"17484:64:103"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71252,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71249,"src":"17050:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71253,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71220,"src":"17054:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17071:6:103","memberName":"length","nodeType":"MemberAccess","src":"17054:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17050:27:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71337,"initializationExpression":{"assignments":[71249],"declarations":[{"constant":false,"id":71249,"mutability":"mutable","name":"i","nameLocation":"17043:1:103","nodeType":"VariableDeclaration","scope":71337,"src":"17035:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71248,"name":"uint256","nodeType":"ElementaryTypeName","src":"17035:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71251,"initialValue":{"hexValue":"30","id":71250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17047:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17035:13:103"},"loopExpression":{"expression":{"id":71257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17079:3:103","subExpression":{"id":71256,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71249,"src":"17079:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71258,"nodeType":"ExpressionStatement","src":"17079:3:103"},"nodeType":"ForStatement","src":"17030:951:103"},{"expression":{"id":71343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":71338,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"17990:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71340,"indexExpression":{"id":71339,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71212,"src":"18010:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17990:27:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":71341,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18018:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"17990:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":71342,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71203,"src":"18034:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17990:59:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71344,"nodeType":"ExpressionStatement","src":"17990:59:103"},{"eventCall":{"arguments":[{"id":71346,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71212,"src":"18085:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71347,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71203,"src":"18093:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71345,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70134,"src":"18064:20:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18064:45:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71349,"nodeType":"EmitStatement","src":"18059:50:103"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":71206,"kind":"modifierInvocation","modifierName":{"id":71205,"name":"nonReentrant","nameLocations":["16617:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"16617:12:103"},"nodeType":"ModifierInvocation","src":"16617:12:103"}],"name":"decreasePower","nameLocation":"16563:13:103","parameters":{"id":71204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71203,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"16585:15:103","nodeType":"VariableDeclaration","scope":71351,"src":"16577:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71202,"name":"uint256","nodeType":"ElementaryTypeName","src":"16577:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16576:25:103"},"returnParameters":{"id":71207,"nodeType":"ParameterList","parameters":[],"src":"16630:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71367,"nodeType":"FunctionDefinition","src":"18122:173:103","nodes":[],"body":{"id":71366,"nodeType":"Block","src":"18230:65:103","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":71360,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70309,"src":"18247:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71362,"indexExpression":{"id":71361,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71353,"src":"18269:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18247:30:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71364,"indexExpression":{"id":71363,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71355,"src":"18278:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18247:41:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":71359,"id":71365,"nodeType":"Return","src":"18240:48:103"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"18131:24:103","parameters":{"id":71356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71353,"mutability":"mutable","name":"_member","nameLocation":"18164:7:103","nodeType":"VariableDeclaration","scope":71367,"src":"18156:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71352,"name":"address","nodeType":"ElementaryTypeName","src":"18156:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71355,"mutability":"mutable","name":"_strategy","nameLocation":"18181:9:103","nodeType":"VariableDeclaration","scope":71367,"src":"18173:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71354,"name":"address","nodeType":"ElementaryTypeName","src":"18173:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18155:36:103"},"returnParameters":{"id":71359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71358,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71367,"src":"18221:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71357,"name":"uint256","nodeType":"ElementaryTypeName","src":"18221:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18220:9:103"},"scope":71974,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71380,"nodeType":"FunctionDefinition","src":"18301:151:103","nodes":[],"body":{"id":71379,"nodeType":"Block","src":"18387:65:103","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":71374,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"18404:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71376,"indexExpression":{"id":71375,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71369,"src":"18424:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18404:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":71377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18433:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"18404:41:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":71373,"id":71378,"nodeType":"Return","src":"18397:48:103"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"18310:21:103","parameters":{"id":71370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71369,"mutability":"mutable","name":"_member","nameLocation":"18340:7:103","nodeType":"VariableDeclaration","scope":71380,"src":"18332:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71368,"name":"address","nodeType":"ElementaryTypeName","src":"18332:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18331:17:103"},"returnParameters":{"id":71373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71380,"src":"18378:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71371,"name":"uint256","nodeType":"ElementaryTypeName","src":"18378:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18377:9:103"},"scope":71974,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71417,"nodeType":"FunctionDefinition","src":"18458:321:103","nodes":[],"body":{"id":71416,"nodeType":"Block","src":"18518:261:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71385,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70355,"src":"18528:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18528:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71387,"nodeType":"ExpressionStatement","src":"18528:17:103"},{"assignments":[71389],"declarations":[{"constant":false,"id":71389,"mutability":"mutable","name":"strategy","nameLocation":"18563:8:103","nodeType":"VariableDeclaration","scope":71416,"src":"18555:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71388,"name":"address","nodeType":"ElementaryTypeName","src":"18555:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71398,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":71394,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71382,"src":"18595:6:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71392,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70291,"src":"18582:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}},"id":71393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18587:7:103","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":72789,"src":"18582:12:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":71395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18582:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":71396,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18603:8:103","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18582:29:103","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":71391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18574:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71390,"name":"address","nodeType":"ElementaryTypeName","src":"18574:7:103","typeDescriptions":{}}},"id":71397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18574:38:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18555:57:103"},{"expression":{"arguments":[{"id":71400,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71389,"src":"18641:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71399,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"18622:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18622:28:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71402,"nodeType":"ExpressionStatement","src":"18622:28:103"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":71406,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"18696:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}],"id":71405,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18691:4:103","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":71407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65390","typeString":"type(contract IPointStrategy)"}},"id":71408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18712:11:103","memberName":"interfaceId","nodeType":"MemberAccess","src":"18691:32:103","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":71403,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71389,"src":"18664:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18673:17:103","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57072,"src":"18664:26:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":71409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18664:60:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71415,"nodeType":"IfStatement","src":"18660:113:103","trueBody":{"id":71414,"nodeType":"Block","src":"18726:47:103","statements":[{"expression":{"arguments":[{"id":71411,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71389,"src":"18753:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71410,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"18740:12:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18740:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71413,"nodeType":"ExpressionStatement","src":"18740:22:103"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"18467:19:103","parameters":{"id":71383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71382,"mutability":"mutable","name":"poolId","nameLocation":"18495:6:103","nodeType":"VariableDeclaration","scope":71417,"src":"18487:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71381,"name":"uint256","nodeType":"ElementaryTypeName","src":"18487:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18486:16:103"},"returnParameters":{"id":71384,"nodeType":"ParameterList","parameters":[],"src":"18518:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71430,"nodeType":"FunctionDefinition","src":"18785:128:103","nodes":[],"body":{"id":71429,"nodeType":"Block","src":"18843:70:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71422,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70355,"src":"18853:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18853:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71424,"nodeType":"ExpressionStatement","src":"18853:17:103"},{"expression":{"arguments":[{"id":71426,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71419,"src":"18893:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71425,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"18880:12:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18880:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71428,"nodeType":"ExpressionStatement","src":"18880:26:103"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"18794:11:103","parameters":{"id":71420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71419,"mutability":"mutable","name":"_newStrategy","nameLocation":"18814:12:103","nodeType":"VariableDeclaration","scope":71430,"src":"18806:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71418,"name":"address","nodeType":"ElementaryTypeName","src":"18806:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18805:22:103"},"returnParameters":{"id":71421,"nodeType":"ParameterList","parameters":[],"src":"18843:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71454,"nodeType":"FunctionDefinition","src":"18919:252:103","nodes":[],"body":{"id":71453,"nodeType":"Block","src":"18980:191:103","nodes":[],"statements":[{"condition":{"baseExpression":{"id":71435,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70302,"src":"18994:17:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71437,"indexExpression":{"id":71436,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71432,"src":"19012:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18994:31:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71442,"nodeType":"IfStatement","src":"18990:85:103","trueBody":{"id":71441,"nodeType":"Block","src":"19027:48:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71438,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70167,"src":"19048:14:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19048:16:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71440,"nodeType":"RevertStatement","src":"19041:23:103"}]}},{"expression":{"id":71447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71443,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70302,"src":"19084:17:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71445,"indexExpression":{"id":71444,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71432,"src":"19102:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19084:31:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":71446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19118:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19084:38:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71448,"nodeType":"ExpressionStatement","src":"19084:38:103"},{"eventCall":{"arguments":[{"id":71450,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71432,"src":"19151:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71449,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70100,"src":"19137:13:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19137:27:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71452,"nodeType":"EmitStatement","src":"19132:32:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"18928:12:103","parameters":{"id":71433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71432,"mutability":"mutable","name":"_newStrategy","nameLocation":"18949:12:103","nodeType":"VariableDeclaration","scope":71454,"src":"18941:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71431,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18940:22:103"},"returnParameters":{"id":71434,"nodeType":"ParameterList","parameters":[],"src":"18980:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":71482,"nodeType":"FunctionDefinition","src":"19177:237:103","nodes":[],"body":{"id":71481,"nodeType":"Block","src":"19240:174:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71459,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70355,"src":"19250:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19250:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71461,"nodeType":"ExpressionStatement","src":"19250:17:103"},{"assignments":[71463],"declarations":[{"constant":false,"id":71463,"mutability":"mutable","name":"strategy","nameLocation":"19285:8:103","nodeType":"VariableDeclaration","scope":71481,"src":"19277:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71462,"name":"address","nodeType":"ElementaryTypeName","src":"19277:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71472,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":71468,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71456,"src":"19317:6:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71466,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70291,"src":"19304:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$72790","typeString":"contract FAllo"}},"id":71467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19309:7:103","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":72789,"src":"19304:12:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":71469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19304:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":71470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19325:8:103","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19304:29:103","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":71465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19296:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71464,"name":"address","nodeType":"ElementaryTypeName","src":"19296:7:103","typeDescriptions":{}}},"id":71471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19296:38:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"19277:57:103"},{"expression":{"arguments":[{"id":71474,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71463,"src":"19363:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71473,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"19344:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19344:28:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71476,"nodeType":"ExpressionStatement","src":"19344:28:103"},{"expression":{"arguments":[{"id":71478,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71463,"src":"19398:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71477,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71502,"src":"19382:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19382:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71480,"nodeType":"ExpressionStatement","src":"19382:25:103"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"19186:22:103","parameters":{"id":71457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71456,"mutability":"mutable","name":"poolId","nameLocation":"19217:6:103","nodeType":"VariableDeclaration","scope":71482,"src":"19209:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71455,"name":"uint256","nodeType":"ElementaryTypeName","src":"19209:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19208:16:103"},"returnParameters":{"id":71458,"nodeType":"ParameterList","parameters":[],"src":"19240:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71502,"nodeType":"FunctionDefinition","src":"19420:194:103","nodes":[],"body":{"id":71501,"nodeType":"Block","src":"19481:133:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":71488,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71484,"src":"19510:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71487,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"19491:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19491:29:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71490,"nodeType":"ExpressionStatement","src":"19491:29:103"},{"expression":{"id":71495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71491,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70302,"src":"19530:17:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71493,"indexExpression":{"id":71492,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71484,"src":"19548:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19530:28:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":71494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19561:5:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"19530:36:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71496,"nodeType":"ExpressionStatement","src":"19530:36:103"},{"eventCall":{"arguments":[{"id":71498,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71484,"src":"19597:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71497,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70104,"src":"19581:15:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19581:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71500,"nodeType":"EmitStatement","src":"19576:31:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"19429:15:103","parameters":{"id":71485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71484,"mutability":"mutable","name":"_strategy","nameLocation":"19453:9:103","nodeType":"VariableDeclaration","scope":71502,"src":"19445:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71483,"name":"address","nodeType":"ElementaryTypeName","src":"19445:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19444:19:103"},"returnParameters":{"id":71486,"nodeType":"ParameterList","parameters":[],"src":"19481:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":71515,"nodeType":"FunctionDefinition","src":"19620:128:103","nodes":[],"body":{"id":71514,"nodeType":"Block","src":"19678:70:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71507,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70355,"src":"19688:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19688:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71509,"nodeType":"ExpressionStatement","src":"19688:17:103"},{"expression":{"arguments":[{"id":71511,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71504,"src":"19731:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71510,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71502,"src":"19715:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19715:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71513,"nodeType":"ExpressionStatement","src":"19715:26:103"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"19629:14:103","parameters":{"id":71505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71504,"mutability":"mutable","name":"_strategy","nameLocation":"19652:9:103","nodeType":"VariableDeclaration","scope":71515,"src":"19644:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71503,"name":"address","nodeType":"ElementaryTypeName","src":"19644:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19643:19:103"},"returnParameters":{"id":71506,"nodeType":"ParameterList","parameters":[],"src":"19678:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71540,"nodeType":"FunctionDefinition","src":"19754:248:103","nodes":[],"body":{"id":71539,"nodeType":"Block","src":"19816:186:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71520,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70355,"src":"19826:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19826:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71522,"nodeType":"ExpressionStatement","src":"19826:17:103"},{"expression":{"arguments":[{"id":71524,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71517,"src":"19872:5:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71523,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70449,"src":"19853:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19853:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71526,"nodeType":"ExpressionStatement","src":"19853:25:103"},{"expression":{"id":71529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71527,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70275,"src":"19888:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71528,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71517,"src":"19909:5:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"19888:26:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":71530,"nodeType":"ExpressionStatement","src":"19888:26:103"},{"eventCall":{"arguments":[{"arguments":[{"id":71534,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70287,"src":"19962:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}],"id":71533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19954:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71532,"name":"address","nodeType":"ElementaryTypeName","src":"19954:7:103","typeDescriptions":{}}},"id":71535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19954:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71536,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70275,"src":"19976:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71531,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70063,"src":"19929:24:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":71537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19929:66:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71538,"nodeType":"EmitStatement","src":"19924:71:103"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"19763:14:103","parameters":{"id":71518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71517,"mutability":"mutable","name":"_safe","nameLocation":"19794:5:103","nodeType":"VariableDeclaration","scope":71540,"src":"19778:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":71516,"name":"address","nodeType":"ElementaryTypeName","src":"19778:15:103","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"19777:23:103"},"returnParameters":{"id":71519,"nodeType":"ParameterList","parameters":[],"src":"19816:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71557,"nodeType":"FunctionDefinition","src":"20008:187:103","nodes":[],"body":{"id":71556,"nodeType":"Block","src":"20055:140:103","nodes":[],"statements":[{"expression":{"id":71547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71543,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70287,"src":"20065:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71545,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70275,"src":"20085:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71544,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73057,"src":"20079:5:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$73057_$","typeString":"type(contract ISafe)"}},"id":71546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20079:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}},"src":"20065:39:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$73057","typeString":"contract ISafe"}},"id":71548,"nodeType":"ExpressionStatement","src":"20065:39:103"},{"expression":{"id":71550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"20114:25:103","subExpression":{"id":71549,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70275,"src":"20121:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71551,"nodeType":"ExpressionStatement","src":"20114:25:103"},{"eventCall":{"arguments":[{"id":71553,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70275,"src":"20169:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71552,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70057,"src":"20154:14:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20154:34:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71555,"nodeType":"EmitStatement","src":"20149:39:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"20017:18:103","parameters":{"id":71541,"nodeType":"ParameterList","parameters":[],"src":"20035:2:103"},"returnParameters":{"id":71542,"nodeType":"ParameterList","parameters":[],"src":"20055:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":71573,"nodeType":"FunctionDefinition","src":"20201:179:103","nodes":[],"body":{"id":71572,"nodeType":"Block","src":"20245:135:103","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71560,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20259:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20263:6:103","memberName":"sender","nodeType":"MemberAccess","src":"20259:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":71562,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70275,"src":"20273:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"20259:32:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71568,"nodeType":"IfStatement","src":"20255:89:103","trueBody":{"id":71567,"nodeType":"Block","src":"20293:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71564,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70171,"src":"20314:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20314:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71566,"nodeType":"RevertStatement","src":"20307:26:103"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71569,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71557,"src":"20353:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":71570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20353:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71571,"nodeType":"ExpressionStatement","src":"20353:20:103"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"20210:17:103","parameters":{"id":71558,"nodeType":"ParameterList","parameters":[],"src":"20227:2:103"},"returnParameters":{"id":71559,"nodeType":"ParameterList","parameters":[],"src":"20245:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71591,"nodeType":"FunctionDefinition","src":"20386:190:103","nodes":[],"body":{"id":71590,"nodeType":"Block","src":"20466:110:103","nodes":[],"statements":[{"assignments":[71582],"declarations":[{"constant":false,"id":71582,"mutability":"mutable","name":"newMember","nameLocation":"20490:9:103","nodeType":"VariableDeclaration","scope":71590,"src":"20476:23:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":71581,"nodeType":"UserDefinedTypeName","pathNode":{"id":71580,"name":"Member","nameLocations":["20476:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":70456,"src":"20476:6:103"},"referencedDeclaration":70456,"src":"20476:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":71586,"initialValue":{"baseExpression":{"id":71583,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"20502:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71585,"indexExpression":{"id":71584,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71575,"src":"20522:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20502:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20476:54:103"},{"expression":{"expression":{"id":71587,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71582,"src":"20547:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":71588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20557:12:103","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":70455,"src":"20547:22:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71579,"id":71589,"nodeType":"Return","src":"20540:29:103"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"20395:8:103","parameters":{"id":71576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71575,"mutability":"mutable","name":"_member","nameLocation":"20412:7:103","nodeType":"VariableDeclaration","scope":71591,"src":"20404:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71574,"name":"address","nodeType":"ElementaryTypeName","src":"20404:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20403:17:103"},"returnParameters":{"id":71579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71578,"mutability":"mutable","name":"_isMember","nameLocation":"20455:9:103","nodeType":"VariableDeclaration","scope":71591,"src":"20450:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71577,"name":"bool","nodeType":"ElementaryTypeName","src":"20450:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20449:16:103"},"scope":71974,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71710,"nodeType":"FunctionDefinition","src":"20582:1932:103","nodes":[],"body":{"id":71709,"nodeType":"Block","src":"20644:1870:103","nodes":[],"statements":[{"assignments":[71597],"declarations":[{"constant":false,"id":71597,"mutability":"mutable","name":"_member","nameLocation":"20662:7:103","nodeType":"VariableDeclaration","scope":71709,"src":"20654:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71596,"name":"address","nodeType":"ElementaryTypeName","src":"20654:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71600,"initialValue":{"expression":{"id":71598,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20672:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20676:6:103","memberName":"sender","nodeType":"MemberAccess","src":"20672:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20654:28:103"},{"assignments":[71603],"declarations":[{"constant":false,"id":71603,"mutability":"mutable","name":"newMember","nameLocation":"20707:9:103","nodeType":"VariableDeclaration","scope":71709,"src":"20692:24:103","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":71602,"nodeType":"UserDefinedTypeName","pathNode":{"id":71601,"name":"Member","nameLocations":["20692:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":70456,"src":"20692:6:103"},"referencedDeclaration":70456,"src":"20692:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":71607,"initialValue":{"baseExpression":{"id":71604,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"20719:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71606,"indexExpression":{"id":71605,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71597,"src":"20739:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20719:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20692:55:103"},{"assignments":[71610],"declarations":[{"constant":false,"id":71610,"mutability":"mutable","name":"gardensFactory","nameLocation":"20774:14:103","nodeType":"VariableDeclaration","scope":71709,"src":"20757:31:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$69327","typeString":"contract IRegistryFactory"},"typeName":{"id":71609,"nodeType":"UserDefinedTypeName","pathNode":{"id":71608,"name":"IRegistryFactory","nameLocations":["20757:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":69327,"src":"20757:16:103"},"referencedDeclaration":69327,"src":"20757:16:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$69327","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":71614,"initialValue":{"arguments":[{"id":71612,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70266,"src":"20808:15:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71611,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69327,"src":"20791:16:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$69327_$","typeString":"type(contract IRegistryFactory)"}},"id":71613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20791:33:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$69327","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"20757:67:103"},{"assignments":[71616],"declarations":[{"constant":false,"id":71616,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"20842:18:103","nodeType":"VariableDeclaration","scope":71709,"src":"20834:26:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71615,"name":"uint256","nodeType":"ElementaryTypeName","src":"20834:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71626,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71617,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"20864:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":71618,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70251,"src":"20886:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20864:34:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":71620,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20863:36:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":71621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20903:3:103","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":71622,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70239,"src":"20909:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20903:21:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":71624,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20902:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20863:62:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20834:91:103"},{"assignments":[71628],"declarations":[{"constant":false,"id":71628,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"20943:16:103","nodeType":"VariableDeclaration","scope":71709,"src":"20935:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71627,"name":"uint256","nodeType":"ElementaryTypeName","src":"20935:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71644,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71629,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"20975:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":71634,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21035:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":71633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21027:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71632,"name":"address","nodeType":"ElementaryTypeName","src":"21027:7:103","typeDescriptions":{}}},"id":71635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21027:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":71630,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71610,"src":"20997:14:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$69327","typeString":"contract IRegistryFactory"}},"id":71631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21012:14:103","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":69326,"src":"20997:29:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":71636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20997:44:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20975:66:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":71638,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20974:68:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":71639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21046:3:103","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":71640,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70239,"src":"21052:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21046:21:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":71642,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21045:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20974:94:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20935:133:103"},{"condition":{"id":71648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21082:18:103","subExpression":{"arguments":[{"id":71646,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71597,"src":"21092:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71645,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71591,"src":"21083:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":71647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21083:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71708,"nodeType":"IfStatement","src":"21078:1430:103","trueBody":{"id":71707,"nodeType":"Block","src":"21102:1406:103","statements":[{"expression":{"id":71653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":71649,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71603,"src":"21116:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":71651,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21126:12:103","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":70455,"src":"21116:22:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":71652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21141:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"21116:29:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71654,"nodeType":"ExpressionStatement","src":"21116:29:103"},{"expression":{"id":71659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":71655,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71603,"src":"21160:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":71657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21170:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"21160:22:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71658,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"21185:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21160:44:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71660,"nodeType":"ExpressionStatement","src":"21160:44:103"},{"expression":{"arguments":[{"id":71664,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71597,"src":"21402:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71667,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21419:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":71666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21411:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71665,"name":"address","nodeType":"ElementaryTypeName","src":"21411:7:103","typeDescriptions":{}}},"id":71668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21411:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71669,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"21426:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":71670,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71616,"src":"21448:18:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21426:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":71672,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71628,"src":"21469:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21426:59:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71661,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70283,"src":"21356:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":71663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21368:16:103","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":55946,"src":"21356:28:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":71674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21356:143:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71675,"nodeType":"ExpressionStatement","src":"21356:143:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71676,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71616,"src":"21924:18:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":71677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21945:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21924:22:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71687,"nodeType":"IfStatement","src":"21920:178:103","trueBody":{"id":71686,"nodeType":"Block","src":"21948:150:103","statements":[{"expression":{"arguments":[{"id":71682,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70263,"src":"22051:11:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71683,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71616,"src":"22064:18:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71679,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70283,"src":"22026:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":71681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22038:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"22026:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":71684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22026:57:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71685,"nodeType":"ExpressionStatement","src":"22026:57:103"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71688,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71628,"src":"22181:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":71689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22200:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22181:20:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71701,"nodeType":"IfStatement","src":"22177:255:103","trueBody":{"id":71700,"nodeType":"Block","src":"22203:229:103","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71694,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71610,"src":"22360:14:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$69327","typeString":"contract IRegistryFactory"}},"id":71695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22375:21:103","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":69319,"src":"22360:36:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":71696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22360:38:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71697,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71628,"src":"22400:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71691,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70283,"src":"22335:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":71693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22347:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"22335:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":71698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22335:82:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71699,"nodeType":"ExpressionStatement","src":"22335:82:103"}]}},{"eventCall":{"arguments":[{"id":71703,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71597,"src":"22468:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71704,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"22477:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71702,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70069,"src":"22451:16:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22451:46:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71706,"nodeType":"EmitStatement","src":"22446:51:103"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":71594,"kind":"modifierInvocation","modifierName":{"id":71593,"name":"nonReentrant","nameLocations":["20631:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"20631:12:103"},"nodeType":"ModifierInvocation","src":"20631:12:103"}],"name":"stakeAndRegisterMember","nameLocation":"20591:22:103","parameters":{"id":71592,"nodeType":"ParameterList","parameters":[],"src":"20613:2:103"},"returnParameters":{"id":71595,"nodeType":"ParameterList","parameters":[],"src":"20644:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71759,"nodeType":"FunctionDefinition","src":"22520:477:103","nodes":[],"body":{"id":71758,"nodeType":"Block","src":"22592:405:103","nodes":[],"statements":[{"assignments":[71717],"declarations":[{"constant":false,"id":71717,"mutability":"mutable","name":"gardensFactory","nameLocation":"22619:14:103","nodeType":"VariableDeclaration","scope":71758,"src":"22602:31:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$69327","typeString":"contract IRegistryFactory"},"typeName":{"id":71716,"nodeType":"UserDefinedTypeName","pathNode":{"id":71715,"name":"IRegistryFactory","nameLocations":["22602:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":69327,"src":"22602:16:103"},"referencedDeclaration":69327,"src":"22602:16:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$69327","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":71721,"initialValue":{"arguments":[{"id":71719,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70266,"src":"22653:15:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71718,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69327,"src":"22636:16:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$69327_$","typeString":"type(contract IRegistryFactory)"}},"id":71720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22636:33:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$69327","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"22602:67:103"},{"assignments":[71723],"declarations":[{"constant":false,"id":71723,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"22687:18:103","nodeType":"VariableDeclaration","scope":71758,"src":"22679:26:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71722,"name":"uint256","nodeType":"ElementaryTypeName","src":"22679:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71733,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71724,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"22709:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":71725,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70251,"src":"22731:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22709:34:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":71727,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22708:36:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":71728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22748:3:103","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":71729,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70239,"src":"22754:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22748:21:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":71731,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22747:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22708:62:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22679:91:103"},{"assignments":[71735],"declarations":[{"constant":false,"id":71735,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"22788:16:103","nodeType":"VariableDeclaration","scope":71758,"src":"22780:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71734,"name":"uint256","nodeType":"ElementaryTypeName","src":"22780:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71751,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71736,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"22820:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":71741,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22880:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":71740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22872:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71739,"name":"address","nodeType":"ElementaryTypeName","src":"22872:7:103","typeDescriptions":{}}},"id":71742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22872:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":71737,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71717,"src":"22842:14:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$69327","typeString":"contract IRegistryFactory"}},"id":71738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22857:14:103","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":69326,"src":"22842:29:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":71743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22842:44:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22820:66:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":71745,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22819:68:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":71746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22891:3:103","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":71747,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70239,"src":"22897:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22891:21:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":71749,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22890:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22819:94:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22780:133:103"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71752,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"22931:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":71753,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71723,"src":"22953:18:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22931:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":71755,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71735,"src":"22974:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22931:59:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":71714,"id":71757,"nodeType":"Return","src":"22924:66:103"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"22529:22:103","parameters":{"id":71711,"nodeType":"ParameterList","parameters":[],"src":"22551:2:103"},"returnParameters":{"id":71714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71759,"src":"22583:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71712,"name":"uint256","nodeType":"ElementaryTypeName","src":"22583:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22582:9:103"},"scope":71974,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71767,"nodeType":"FunctionDefinition","src":"23003:115:103","nodes":[],"body":{"id":71766,"nodeType":"Block","src":"23075:43:103","nodes":[],"statements":[{"expression":{"id":71764,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"23092:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":71763,"id":71765,"nodeType":"Return","src":"23085:26:103"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"23012:20:103","parameters":{"id":71760,"nodeType":"ParameterList","parameters":[],"src":"23032:2:103"},"returnParameters":{"id":71763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71762,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71767,"src":"23066:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71761,"name":"uint256","nodeType":"ElementaryTypeName","src":"23066:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23065:9:103"},"scope":71974,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":71784,"nodeType":"FunctionDefinition","src":"23124:190:103","nodes":[],"body":{"id":71783,"nodeType":"Block","src":"23191:123:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71772,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70355,"src":"23201:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23201:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71774,"nodeType":"ExpressionStatement","src":"23201:17:103"},{"expression":{"id":71777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71775,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70248,"src":"23228:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71776,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"23250:10:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23228:32:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71778,"nodeType":"ExpressionStatement","src":"23228:32:103"},{"eventCall":{"arguments":[{"id":71780,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"23296:10:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71779,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"23275:20:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":71781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23275:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71782,"nodeType":"EmitStatement","src":"23270:37:103"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"23133:20:103","parameters":{"id":71770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71769,"mutability":"mutable","name":"_newAmount","nameLocation":"23162:10:103","nodeType":"VariableDeclaration","scope":71784,"src":"23154:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71768,"name":"uint256","nodeType":"ElementaryTypeName","src":"23154:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23153:20:103"},"returnParameters":{"id":71771,"nodeType":"ParameterList","parameters":[],"src":"23191:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":71809,"nodeType":"FunctionDefinition","src":"23320:288:103","nodes":[],"body":{"id":71808,"nodeType":"Block","src":"23386:222:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71789,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70355,"src":"23396:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23396:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71791,"nodeType":"ExpressionStatement","src":"23396:17:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71792,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71786,"src":"23427:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":71793,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70245,"src":"23446:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23427:26:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71799,"nodeType":"IfStatement","src":"23423:86:103","trueBody":{"id":71798,"nodeType":"Block","src":"23455:54:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71795,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70177,"src":"23476:20:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23476:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71797,"nodeType":"RevertStatement","src":"23469:29:103"}]}},{"expression":{"id":71802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71800,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70251,"src":"23518:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71801,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71786,"src":"23533:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23518:31:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71803,"nodeType":"ExpressionStatement","src":"23518:31:103"},{"eventCall":{"arguments":[{"id":71805,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71786,"src":"23584:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71804,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70087,"src":"23564:19:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":71806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23564:37:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71807,"nodeType":"EmitStatement","src":"23559:42:103"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"23329:15:103","parameters":{"id":71787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71786,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"23353:16:103","nodeType":"VariableDeclaration","scope":71809,"src":"23345:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71785,"name":"uint256","nodeType":"ElementaryTypeName","src":"23345:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23344:26:103"},"returnParameters":{"id":71788,"nodeType":"ParameterList","parameters":[],"src":"23386:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71822,"nodeType":"FunctionDefinition","src":"23651:133:103","nodes":[],"body":{"id":71821,"nodeType":"Block","src":"23728:56:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":71817,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70338,"src":"23753:14:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71818,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71811,"src":"23769:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71816,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"23745:7:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":71819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23745:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71815,"id":71820,"nodeType":"Return","src":"23738:39:103"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"23660:15:103","parameters":{"id":71812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71811,"mutability":"mutable","name":"_member","nameLocation":"23684:7:103","nodeType":"VariableDeclaration","scope":71822,"src":"23676:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71810,"name":"address","nodeType":"ElementaryTypeName","src":"23676:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23675:17:103"},"returnParameters":{"id":71815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71814,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71822,"src":"23722:4:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71813,"name":"bool","nodeType":"ElementaryTypeName","src":"23722:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23721:6:103"},"scope":71974,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":71872,"nodeType":"FunctionDefinition","src":"23790:465:103","nodes":[],"body":{"id":71871,"nodeType":"Block","src":"23846:409:103","nodes":[],"statements":[{"assignments":[71828],"declarations":[{"constant":false,"id":71828,"mutability":"mutable","name":"_member","nameLocation":"23864:7:103","nodeType":"VariableDeclaration","scope":71871,"src":"23856:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71827,"name":"address","nodeType":"ElementaryTypeName","src":"23856:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71831,"initialValue":{"expression":{"id":71829,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23874:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23878:6:103","memberName":"sender","nodeType":"MemberAccess","src":"23874:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"23856:28:103"},{"expression":{"arguments":[{"id":71833,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71828,"src":"23920:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71832,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70384,"src":"23894:25:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":71834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23894:34:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71835,"nodeType":"ExpressionStatement","src":"23894:34:103"},{"expression":{"arguments":[{"id":71837,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71828,"src":"23962:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71836,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71909,"src":"23938:23:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23938:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71839,"nodeType":"ExpressionStatement","src":"23938:32:103"},{"assignments":[71842],"declarations":[{"constant":false,"id":71842,"mutability":"mutable","name":"member","nameLocation":"23994:6:103","nodeType":"VariableDeclaration","scope":71871,"src":"23980:20:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":71841,"nodeType":"UserDefinedTypeName","pathNode":{"id":71840,"name":"Member","nameLocations":["23980:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":70456,"src":"23980:6:103"},"referencedDeclaration":70456,"src":"23980:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":71846,"initialValue":{"baseExpression":{"id":71843,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"24003:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71845,"indexExpression":{"id":71844,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71828,"src":"24023:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24003:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23980:51:103"},{"expression":{"id":71850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24041:35:103","subExpression":{"baseExpression":{"id":71847,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"24048:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71849,"indexExpression":{"id":71848,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71828,"src":"24068:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24048:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71851,"nodeType":"ExpressionStatement","src":"24041:35:103"},{"expression":{"id":71855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24086:34:103","subExpression":{"baseExpression":{"id":71852,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70321,"src":"24093:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71854,"indexExpression":{"id":71853,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71828,"src":"24112:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24093:27:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71856,"nodeType":"ExpressionStatement","src":"24086:34:103"},{"expression":{"arguments":[{"id":71860,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71828,"src":"24156:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":71861,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71842,"src":"24165:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":71862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24172:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"24165:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71857,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70283,"src":"24131:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":71859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24143:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"24131:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":71863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24131:54:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71864,"nodeType":"ExpressionStatement","src":"24131:54:103"},{"eventCall":{"arguments":[{"id":71866,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71828,"src":"24219:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":71867,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71842,"src":"24228:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":71868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24235:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"24228:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71865,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70075,"src":"24200:18:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24200:48:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71870,"nodeType":"EmitStatement","src":"24195:53:103"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":71825,"kind":"modifierInvocation","modifierName":{"id":71824,"name":"nonReentrant","nameLocations":["23833:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"23833:12:103"},"nodeType":"ModifierInvocation","src":"23833:12:103"}],"name":"unregisterMember","nameLocation":"23799:16:103","parameters":{"id":71823,"nodeType":"ParameterList","parameters":[],"src":"23815:2:103"},"returnParameters":{"id":71826,"nodeType":"ParameterList","parameters":[],"src":"23846:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71909,"nodeType":"FunctionDefinition","src":"24261:474:103","nodes":[],"body":{"id":71908,"nodeType":"Block","src":"24328:407:103","nodes":[],"statements":[{"assignments":[71881],"declarations":[{"constant":false,"id":71881,"mutability":"mutable","name":"memberStrategies","nameLocation":"24355:16:103","nodeType":"VariableDeclaration","scope":71908,"src":"24338:33:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71879,"name":"address","nodeType":"ElementaryTypeName","src":"24338:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71880,"nodeType":"ArrayTypeName","src":"24338:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71885,"initialValue":{"baseExpression":{"id":71882,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70321,"src":"24374:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71884,"indexExpression":{"id":71883,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71874,"src":"24393:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24374:27:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24338:63:103"},{"body":{"id":71906,"nodeType":"Block","src":"24531:198:103","statements":[{"expression":{"arguments":[{"id":71903,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71874,"src":"24710:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":71898,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71881,"src":"24672:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71900,"indexExpression":{"id":71899,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71887,"src":"24689:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24672:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71897,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65390,"src":"24657:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65390_$","typeString":"type(contract IPointStrategy)"}},"id":71901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24657:35:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65390","typeString":"contract IPointStrategy"}},"id":71902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24693:16:103","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":65365,"src":"24657:52:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":71904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24657:61:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71905,"nodeType":"ExpressionStatement","src":"24657:61:103"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71890,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71887,"src":"24497:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71891,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71881,"src":"24501:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24518:6:103","memberName":"length","nodeType":"MemberAccess","src":"24501:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24497:27:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71907,"initializationExpression":{"assignments":[71887],"declarations":[{"constant":false,"id":71887,"mutability":"mutable","name":"i","nameLocation":"24490:1:103","nodeType":"VariableDeclaration","scope":71907,"src":"24482:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71886,"name":"uint256","nodeType":"ElementaryTypeName","src":"24482:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71889,"initialValue":{"hexValue":"30","id":71888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24494:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24482:13:103"},"loopExpression":{"expression":{"id":71895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24526:3:103","subExpression":{"id":71894,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71887,"src":"24526:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71896,"nodeType":"ExpressionStatement","src":"24526:3:103"},"nodeType":"ForStatement","src":"24477:252:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"24270:23:103","parameters":{"id":71875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71874,"mutability":"mutable","name":"_member","nameLocation":"24302:7:103","nodeType":"VariableDeclaration","scope":71909,"src":"24294:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71873,"name":"address","nodeType":"ElementaryTypeName","src":"24294:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24293:17:103"},"returnParameters":{"id":71876,"nodeType":"ParameterList","parameters":[],"src":"24328:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":71969,"nodeType":"FunctionDefinition","src":"24741:583:103","nodes":[],"body":{"id":71968,"nodeType":"Block","src":"24832:492:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71918,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70355,"src":"24842:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24842:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71920,"nodeType":"ExpressionStatement","src":"24842:17:103"},{"condition":{"id":71922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24873:14:103","subExpression":{"id":71921,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70260,"src":"24874:13:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71927,"nodeType":"IfStatement","src":"24869:68:103","trueBody":{"id":71926,"nodeType":"Block","src":"24889:48:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71923,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70179,"src":"24910:14:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24910:16:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71925,"nodeType":"RevertStatement","src":"24903:23:103"}]}},{"condition":{"id":71931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24950:18:103","subExpression":{"arguments":[{"id":71929,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71911,"src":"24960:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71928,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71591,"src":"24951:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":71930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24951:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71936,"nodeType":"IfStatement","src":"24946:75:103","trueBody":{"id":71935,"nodeType":"Block","src":"24970:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71932,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70157,"src":"24991:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24991:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71934,"nodeType":"RevertStatement","src":"24984:26:103"}]}},{"assignments":[71939],"declarations":[{"constant":false,"id":71939,"mutability":"mutable","name":"member","nameLocation":"25044:6:103","nodeType":"VariableDeclaration","scope":71968,"src":"25030:20:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":71938,"nodeType":"UserDefinedTypeName","pathNode":{"id":71937,"name":"Member","nameLocations":["25030:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":70456,"src":"25030:6:103"},"referencedDeclaration":70456,"src":"25030:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":71943,"initialValue":{"baseExpression":{"id":71940,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"25053:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71942,"indexExpression":{"id":71941,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71911,"src":"25073:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25053:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25030:51:103"},{"expression":{"arguments":[{"id":71945,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71911,"src":"25115:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71944,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71909,"src":"25091:23:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25091:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71947,"nodeType":"ExpressionStatement","src":"25091:32:103"},{"expression":{"id":71951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"25133:35:103","subExpression":{"baseExpression":{"id":71948,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70315,"src":"25140:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70456_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71950,"indexExpression":{"id":71949,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71911,"src":"25160:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25140:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71952,"nodeType":"ExpressionStatement","src":"25133:35:103"},{"expression":{"arguments":[{"id":71956,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71913,"src":"25204:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":71957,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71939,"src":"25222:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":71958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25229:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"25222:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71953,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70283,"src":"25179:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":71955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25191:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"25179:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":71959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25179:63:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71960,"nodeType":"ExpressionStatement","src":"25179:63:103"},{"eventCall":{"arguments":[{"id":71962,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71911,"src":"25270:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71963,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71913,"src":"25279:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":71964,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71939,"src":"25297:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70456_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":71965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25304:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70453,"src":"25297:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71961,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70083,"src":"25257:12:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":71966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25257:60:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71967,"nodeType":"EmitStatement","src":"25252:65:103"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":71916,"kind":"modifierInvocation","modifierName":{"id":71915,"name":"nonReentrant","nameLocations":["24819:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"24819:12:103"},"nodeType":"ModifierInvocation","src":"24819:12:103"}],"name":"kickMember","nameLocation":"24750:10:103","parameters":{"id":71914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71911,"mutability":"mutable","name":"_member","nameLocation":"24769:7:103","nodeType":"VariableDeclaration","scope":71969,"src":"24761:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71910,"name":"address","nodeType":"ElementaryTypeName","src":"24761:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71913,"mutability":"mutable","name":"_transferAddress","nameLocation":"24786:16:103","nodeType":"VariableDeclaration","scope":71969,"src":"24778:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71912,"name":"address","nodeType":"ElementaryTypeName","src":"24778:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24760:43:103"},"returnParameters":{"id":71917,"nodeType":"ParameterList","parameters":[],"src":"24832:0:103"},"scope":71974,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71973,"nodeType":"VariableDeclaration","src":"25330:25:103","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"25350:5:103","scope":71974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":71970,"name":"uint256","nodeType":"ElementaryTypeName","src":"25330:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71972,"length":{"hexValue":"3530","id":71971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25338:2:103","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"25330:11:103","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":70044,"name":"ProxyOwnableUpgrader","nameLocations":["1437:20:103"],"nodeType":"IdentifierPath","referencedDeclaration":70005,"src":"1437:20:103"},"id":70045,"nodeType":"InheritanceSpecifier","src":"1437:20:103"},{"baseName":{"id":70046,"name":"ReentrancyGuardUpgradeable","nameLocations":["1459:26:103"],"nodeType":"IdentifierPath","referencedDeclaration":52534,"src":"1459:26:103"},"id":70047,"nodeType":"InheritanceSpecifier","src":"1459:26:103"},{"baseName":{"id":70048,"name":"AccessControlUpgradeable","nameLocations":["1487:24:103"],"nodeType":"IdentifierPath","referencedDeclaration":51994,"src":"1487:24:103"},"id":70049,"nodeType":"InheritanceSpecifier","src":"1487:24:103"}],"canonicalName":"RegistryCommunityV0_0","contractDependencies":[54318],"contractKind":"contract","documentation":{"id":70043,"nodeType":"StructuredDocumentation","src":"1352:51:103","text":"@custom:oz-upgrades-from RegistryCommunityV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[71974,51994,53267,53279,52067,52534,70005,54969,54622,54271,54281,52200,52993,52449],"name":"RegistryCommunityV0_0","nameLocation":"1412:21:103","scope":71975,"usedErrors":[69928,70149,70151,70155,70157,70159,70161,70163,70165,70167,70169,70171,70173,70175,70177,70179,70181,70183,70189]}],"license":"AGPL-3.0-only"},"id":103} \ No newline at end of file +{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[{"name":"_user","type":"address","internalType":"address"}]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a0806040523461003157306080526157389081610037823960805181818161155f015281816117730152611b4b0152f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004af5780630331383c14620003d157806308386eba14620004a95780630d12bbdb14620004a35780630d4a8b49146200049d578063175188e814620004975780631b71f0e414620004915780631f787d28146200048b578063223e5479146200048557806322bcf999146200047f578063248a9ca3146200047957806328c309e914620004735780632b38c69c146200046d5780632c611c4a14620004675780632f2ff15d146200046157806331f61bca146200045b57806333960459146200045557806334196355146200044f5780633517aa7d146200044957806336568abe14620004435780633659cfe6146200043d578063397e254314620004375780633a871fe11462000431578063477a5cc0146200042b5780634f1ef2861462000425578063524e59e8146200041f57806352d1902d1462000419578063559de05d14620004135780635c94e4d2146200040d5780635ecf71c5146200040757806365e3864c14620003d75780636871eb4d146200040157806368decabb14620003fb5780636c53db9a14620003f5578063715018a614620003ef57806373265c3714620003e9578063733a2d1f14620003e357806377122d5614620003dd5780637817ee4f14620003d757806378a0b8a914620003d15780637b10399914620003cb57806382d6a1e714620003c557806388cfe68414620003bf5780638961be6b14620003b95780638da5cb5b14620003b357806391d1485414620003ad578063a0cf0aea14620003a7578063a217fddf14620003a1578063a230c524146200039b578063b0d3713a1462000395578063b3f00674146200038f578063b5058c501462000389578063b64e39af1462000383578063b99b4370146200037d578063bc063e1a1462000377578063c4d66de81462000371578063c6d572ae146200036b578063d547741f1462000365578063d6d8428d146200035f578063d7050f071462000359578063db61d65c1462000353578063e16d0e32146200034d578063ebd7dc521462000347578063f2fde38b1462000341578063f86c5f89146200033b5763ffa1ad74146200033557600080fd5b62002d29565b62002cfd565b62002c63565b62002c18565b62002b09565b62002add565b62002abe565b62002a92565b62002a48565b620029b2565b62002974565b62002954565b62002828565b62002756565b62002633565b62002604565b620025b7565b6200254a565b6200252c565b620024fb565b620024bd565b6200248c565b6200246c565b6200240a565b62002354565b62002328565b6200051b565b6200203f565b620022fc565b620022d0565b62002234565b620021e3565b620021b7565b6200218b565b6200207e565b62001dc7565b62001d9b565b62001bfa565b62001b36565b620019f1565b62001716565b620016d2565b6200168b565b620015fe565b62001530565b62001493565b6200123c565b620010cf565b62000ed2565b62000e82565b62000dd5565b62000d90565b62000d2b565b62000b72565b62000b41565b62000a50565b62000a1b565b620009f7565b620009aa565b62000973565b62000680565b6200055b565b6200053b565b346200050a5760203660031901126200050a5760043563ffffffff60e01b81168091036200050a57602090637965db0b60e01b8114908115620004f8575b506040519015158152f35b6301ffc9a760e01b14905038620004ed565b600080fd5b60009103126200050a57565b346200050a5760003660031901126200050a57602060fb54604051908152f35b346200050a5760003660031901126200050a57602060fe54604051908152f35b346200050a5760203660031901126200050a576004356200057b62004fea565b620186a08111620005b7576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fc55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b038116036200050a57565b60243590620005f682620005d5565b565b60443590620005f682620005d5565b60643590620005f682620005d5565b6101c43590620005f682620005d5565b6101e43590620005f682620005d5565b6102043590620005f682620005d5565b3590620005f682620005d5565b60409060031901126200050a576004356200066e81620005d5565b906024356200067d81620005d5565b90565b346200050a57620006913662000653565b6200069c82620049f5565b620006a78162004a42565b620006b28162004539565b620006d3620006cc82620006c68562000c60565b62000ccc565b5460ff1690565b620009615760209081620006f1620006eb8562000c7b565b6200490f565b015160fb5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af1801562000830576003918a916200093f575b506200073e8162004664565b036200083657505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af1801562000830576000805160206200564383398151915294620007f6928792620007fc575b50505b80620007b185620006c68662000c96565b55620007d3620007c685620006c68662000c60565b805460ff19166001179055565b620007e984620007e38562000cb1565b62004999565b60405193849384620049d3565b0390a180f35b620008209250803d1062000828575b62000817818362000fae565b81019062003292565b38806200079d565b503d6200080b565b620032a2565b604096919392965193845282846004818b865af180156200083057889485916200090b575b50620008678162004664565b6200088c575b50505050620007f66000805160206200564383398151915293620007a0565b8293965090620008b49160405197888094819363782aadff60e01b835289600484016200495f565b03925af1801562000830576000805160206200564383398151915294620007f6928792620008e9575b5050938591386200086d565b620009039250803d10620008285762000817818362000fae565b3880620008dd565b620009309150843d861162000937575b62000927818362000fae565b81019062004947565b386200085b565b503d6200091b565b6200095a9150863d8811620009375762000927818362000fae565b3862000732565b604051636adcde4b60e11b8152600490fd5b346200050a5760203660031901126200050a57620009a86004356200099881620005d5565b620009a262004fea565b620050bb565b005b346200050a5760203660031901126200050a57600435620009cb81620005d5565b620009d562002fda565b61010280546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a57602060ff8054166040519015158152f35b346200050a5760203660031901126200050a57620009a860043562000a4081620005d5565b62000a4a62004fea565b62005041565b346200050a5762000a613662000653565b62000a6c82620049f5565b62000a778162004539565b6001600160a01b038116330362000b2f5762000aa462000aa0620006cc83620006c68662000c60565b1590565b62000b1d578162000ae862000ade83620006c67ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000c60565b805460ff19169055565b600062000afa83620006c68462000c96565b5562000b07828262004abe565b62000b186040519283928362003847565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b346200050a5760203660031901126200050a5760043560005260c96020526020600160406000200154604051908152f35b346200050a5760003660031901126200050a5762000b9d62000b9761010054620005c9565b620005c9565b60fb549062000bbc62000bb360fc54846200293a565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000bdf306004830162000d18565b03916001600160a01b03165afa918215620008305762000c399362000c1c62000bb362000c299562000c239460009162000c3d575b50856200293a565b9262003083565b62003083565b6040519081529081906020820190565b0390f35b62000c59915060203d8111620008285762000817818362000fae565b3862000c14565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000d125760005260206000200190600090565b62000ce3565b6001600160a01b03909116815260200190565b346200050a5760403660031901126200050a5760043562000d4c81620005d5565b6024359060018060a01b0380911660005261010d602052604060002080548310156200050a5760209262000d809162000cf9565b9190546040519260031b1c168152f35b346200050a5760203660031901126200050a5760043562000db181620005d5565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b346200050a5760403660031901126200050a5760043560243562000df981620005d5565b60009180835260c960205262000e16600160408520015462002d73565b80835260c960205260ff62000e2f836040862062000ccc565b54161562000e3b578280f35b80835260c960205262000e52826040852062000ccc565b805460ff1916600117905533916001600160a01b031690600080516020620055e38339815191528480a438808280f35b346200050a5760203660031901126200050a577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000ec562004fea565b8060fb55604051908152a1005b346200050a5760003660031901126200050a57602060fd54604051908152f35b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111762000f2457604052565b62000ef2565b60c081019081106001600160401b0382111762000f2457604052565b60e081019081106001600160401b0382111762000f2457604052565b608081019081106001600160401b0382111762000f2457604052565b606081019081106001600160401b0382111762000f2457604052565b6001600160401b03811162000f2457604052565b601f909101601f19168101906001600160401b0382119082101762000f2457604052565b6040519061018082016001600160401b0381118382101762000f2457604052565b6001600160401b03811162000f2457601f01601f191660200190565b9291926200101d8262000ff3565b916200102d604051938462000fae565b8294818452818301116200050a578281602093846000960137010152565b9080601f830112156200050a578160206200067d933591016200100f565b91906040838203126200050a5760405190620010858262000f08565b8335825290928391602082013591906001600160401b0383116200050a57602092620010b292016200104b565b910152565b801515036200050a57565b3590620005f682620010b7565b346200050a576003196080368201126200050a57600435906001600160401b03908183116200050a576101809083360301126200050a576200111062000fd2565b906200111f8360040162000646565b82526200112f6024840162000646565b60208301526044830135604083015260648301356060830152608483013560808301526200116060a4840162000646565b60a08301526200117360c4840162000646565b60c083015260e48301358181116200050a5762001197906004369186010162001069565b60e0830152620011ab610104840162000646565b6101008301526101248301358181116200050a57620011d190600436918601016200104b565b610120830152620011e66101448401620010c2565b6101408301526101648301359081116200050a57620009a89260046200121092369201016200104b565b61016082015262001220620005e7565b6200122a620005f8565b906200123562000607565b9262003861565b346200050a5760008060031936011262001490576200125a62004b76565b620012653362000c7b565b6200127762000b9761010054620005c9565b60fb54916200128d62000bb360fc54856200293a565b6040516302a64b8360e21b815260209491936001600160a01b03169190858180620012bc306004830162000d18565b0381865afa80156200083057620012e19262000bb39289926200146c575b506200293a565b926200130262000aa06040620012fb620006eb3362000c7b565b0151151590565b62001317575b85620013146001606555565b80f35b826200132f600260019501600160ff19825416179055565b60fb54938491015562001367610105936200135c8662000c2385620013558954620005c9565b9462003083565b903090339062004bcd565b806200143e575b5082620013be575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689620013b060fb5460405191829133836200495f565b0390a1388080808062001308565b83620013cd60049354620005c9565b9160405193848092634c3a1adf60e11b82525afa9182156200083057620013fe94869362001408575b505062004d4a565b3880808062001376565b6200142d929350803d1062001436575b62001424818362000fae565b810190620037c5565b903880620013f6565b503d62001418565b62001465906200144f8454620005c9565b60ff5460081c6001600160a01b03169062004d4a565b386200136e565b62001488919250883d8a11620008285762000817818362000fae565b9038620012da565b80fd5b346200050a5760403660031901126200050a57602435620014b481620005d5565b336001600160a01b03821603620014d357620009a89060043562002f61565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346200050a5760203660031901126200050a576004356200155181620005d5565b6001600160a01b03620015a87f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b826000805160206200568383398151915254161462003241565b620015b2620037dd565b33911603620015d157620009a890620015ca62003091565b906200335c565b620015fa620015df620037dd565b60405163163678e960e01b8152918291336004840162003847565b0390fd5b346200050a5760203660031901126200050a577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf860406004356200164281620005d5565b6200164c62004fea565b6001600160a01b0390811690620016638262004539565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b346200050a5760203660031901126200050a57600435620016ac81620005d5565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b346200050a57602060ff6200170a620016eb3662000653565b6001600160a01b03909116600090815261010e85526040902062000ccc565b54166040519015158152f35b60403660031901126200050a576004356200173181620005d5565b6024356001600160401b0381116200050a57366023820112156200050a57620017659036906024816004013591016200100f565b6001600160a01b03620017a27f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b620017ac620037dd565b33911603620015d157620009a89162003420565b60a4359060038210156200050a57565b60c4359060038210156200050a57565b600411156200050a57565b60c43590620005f682620017e0565b60e43590620005f682620017e0565b60209060e31901126200050a5760405190602082016001600160401b0381118382101762000f245760405260e4358252565b6020906101031901126200050a5760405190602082016001600160401b0381118382101762000f2457604052610104358252565b60c0906101031901126200050a57604051906200188c8262000f2a565b81610104356200189c81620005d5565b815261012435620018ad81620005d5565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c0906101231901126200050a5760405190620018f58262000f2a565b81610124356200190581620005d5565b8152610144356200191681620005d5565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e083126200050a5760405190620019618262000f46565b60808294126200050a57620019d1906040516200197e8162000f62565b60243581526044356020820152606435604082015260843560608201528352620019a7620017c0565b6020840152620019b6620017eb565b6040840152620019c68162001809565b60608401526200186f565b6080820152620019e062000616565b60a082015260c0620010b262000626565b346200050a576102203660031901126200050a5760043562001a1381620005d5565b62001a1e3662001941565b6001600160401b0390610204358281116200050a5762001a4390369060040162001069565b9162001a5261010254620005c9565b9062001a6562000b9761010754620005c9565b9162001acf62001a7861010154620005c9565b9362001ac062001a87620037dd565b60405163184b955960e01b60208201526001600160a01b0393841660248201529683166044880152909116606486015284906084820190565b03601f19810185528462000fae565b6040519261041091828501938585109085111762000f2457849362001afa93620051d386396200455c565b03906000f0928315620008305762001b1b936001600160a01b0316620047f2565b604080519283526001600160a01b0391909116602083015290f35b346200050a5760003660031901126200050a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001b9457604051600080516020620056838339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b346200050a576020806003193601126200050a5760049081359162001c1e62004b76565b62001c2862004cfb565b62001c3d62001c373362000cb1565b620045de565b60005b815181101562001d1f5762001c6f62000b9762000b9762001c62848662003d18565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001c938c338c84016200495f565b03925af18015620008305762001cbb9260009162001cfd575b508062001cc1575b5062003d08565b62001c40565b62001cf462001ceb62001cd43362000c96565b62001ce462001c62868962003d18565b9062000ccc565b91825462003083565b90553862001cb4565b62001d189150863d8811620008285762000817818362000fae565b3862001cac565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001d8d8662001d628162001d5861010554620005c9565b3090339062004bcd565b600162001d6f3362000c7b565b0162001d7d82825462003083565b905560405191829133836200495f565b0390a1620009a86001606555565b346200050a5760003660031901126200050a57610102546040516001600160a01b039091168152602090f35b346200050a576020806003193601126200050a5760049081359062001deb62004b76565b62001df562004cfb565b62001e003362000cb1565b9060019362001e1d848662001e153362000c7b565b015462003d4d565b60fb5411620020305790849262001e43853362001e3d61010554620005c9565b62004d4a565b6000935b62001e8d575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001d8d868862001e7f3362000c7b565b0162001d7d82825462003d4d565b9091929481549485871015620020275762001ec262001ead888562000cf9565b905460039190911b1c6001600160a01b031690565b9562001ece8762004d75565b1562001fd657506040928484518098632ed04b2b60e01b82528160008162001efb888d339084016200495f565b03926001600160a01b03165af1968715620008305760009762001fb2575b5062001f3962001f293362000c96565b62001ce462001ead8b8562000cf9565b54948588111562001f665784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001fa79162001f9f62001f9662001f863362000c96565b62001ce462001ead868c62000cf9565b91825462003d4d565b905562003d08565b939092919262001e47565b62001fce919750853d8711620008285762000817818362000fae565b953862001f19565b966200202162001fa79297620020166200200362001ead62001ffc889d9b999b62003d2d565b8b62000cf9565b6200200f858b62000cf9565b906200497a565b620009a28862004a78565b62003d08565b94509462001e4d565b604051634e23e81760e11b8152fd5b346200050a57602062002075620020563662000653565b6001600160a01b03909116600090815261010b84526040902062000ccc565b54604051908152f35b346200050a576200208f3662000653565b6200209962004b76565b620020a362004fea565b620020b462000aa060ff5460ff1690565b6200217957620020d262000aa06040620012fb620006eb8662000c7b565b62002167578162001d8d6200210c620006eb7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39562000c7b565b620021178362005112565b62002138620021268462000c7b565b60026000918281558260018201550155565b6200215960206200214c61010554620005c9565b9201918583519162004d4a565b5160405193849384620049d3565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b346200050a5760003660031901126200050a57610103546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610106546040516001600160a01b039091168152602090f35b346200050a5760008060031936011262001490576200220162002fda565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020620056a38339815191528280a380f35b346200050a5760203660031901126200050a576200225162004fea565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa9182156200083057620009a892602091600091620022aa575b50015116620009a28162004539565b620022c9913d8091833e620022c0818362000fae565b81019062004f4e565b386200229b565b346200050a5760003660031901126200050a576020604051600080516020620056038339815191528152f35b346200050a5760003660031901126200050a57610101546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610104546040516001600160a01b039091168152602090f35b346200050a5760203660031901126200050a576200237162004fea565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa80156200083057602062000b9791620023c593600091620023ed575b500151620005c9565b620023d08162004539565b620023db8162004d75565b620023e257005b620009a89062005041565b62002403913d8091833e620022c0818362000fae565b38620023bc565b346200050a5760203660031901126200050a5760606004356200242d81620005d5565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b346200050a5760003660031901126200050a57602060fc54604051908152f35b346200050a5760003660031901126200050a576020620024ab620037dd565b6040516001600160a01b039091168152f35b346200050a5760403660031901126200050a57602060ff6200170a602435620024e681620005d5565b60043560005260c98452604060002062000ccc565b346200050a5760003660031901126200050a57602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b346200050a5760003660031901126200050a57602060405160008152f35b346200050a5760203660031901126200050a57602060406004356200256f81620005d5565b60018060a01b0380911660005261010c835260ff600283600020845193620025978562000f7e565b815416845260018101548685015201541615159182910152604051908152f35b346200050a5760203660031901126200050a57600435620025d881620005d5565b620025e262002fda565b61010180546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a5760ff5460405160089190911c6001600160a01b03168152602090f35b346200050a57600080600319360112620014905761010380546001600160a01b0381169033829003620026a85761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620026ec575b6020831014620026d657565b634e487b7160e01b600052602260045260246000fd5b91607f1691620026ca565b60005b8381106200270b5750506000910152565b8181015183820152602001620026fa565b906020916200273781518092818552858086019101620026f7565b601f01601f1916010190565b9060206200067d9281815201906200271c565b346200050a5760008060031936011262001490576040518161010980546200277e81620026ba565b80855291600191808316908115620027fa5750600114620027ba575b62000c3985620027ad8189038262000fae565b6040519182918262002743565b835260208084209095505b828410620027e6575050508162000c3993620027ad9282010193386200279a565b8054858501870152928501928101620027c5565b905062000c399650620027ad9450602092508593915060ff191682840152151560051b82010193386200279a565b346200050a5760008060031936011262001490576200284662004b76565b6200285133620049f5565b6200285c3362005112565b33815261010c6020527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f462002916604083206040516200289c8162000f7e565b81546001600160a01b0316815260018201546020820190815260029092015460ff161515604090910152620028d5620021263362000c7b565b620028ea620028e43362000cb1565b62003eaa565b62002907620028fc61010554620005c9565b825190339062004d4a565b5160405191829133836200495f565b0390a1620013146001606555565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200294e57565b62002924565b346200050a5760003660031901126200050a576020604051620186a08152f35b346200050a5760203660031901126200050a57620009a86004356200299981620005d5565b620029ac60ff60005460081c166200373f565b6200303c565b346200050a576000806003193601126200149057604051816101088054620029da81620026ba565b80855291600191808316908115620027fa575060011462002a085762000c3985620027ad8189038262000fae565b835260208084209095505b82841062002a34575050508162000c3993620027ad9282010193386200279a565b805485850187015292850192810162002a13565b346200050a5760403660031901126200050a57620009a860243560043562002a7082620005d5565b8060005260c960205262002a8c60016040600020015462002d73565b62002f61565b346200050a5760003660031901126200050a57610107546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5760206040516127108152f35b346200050a5760003660031901126200050a57610105546040516001600160a01b039091168152602090f35b346200050a576102403660031901126200050a5760043562002b2b81620005d5565b6024359062002b3a82620005d5565b36604319016101e081126200050a5760806040519162002b5a8362000f46565b126200050a5760405162002b6e8162000f62565b60443581526064356020820152608435604082015260a4356060820152815262002b97620017d0565b602082015262002ba6620017fa565b604082015262002bb6366200183b565b606082015262002bc636620018d8565b608082015262002bd562000626565b60a082015262002be462000636565b60c082015261022435926001600160401b0384116200050a5762002c1162001b1b94369060040162001069565b92620047f2565b346200050a5760203660031901126200050a57602060ff6200170a60043562002c4181620005d5565b6000805160206200560383398151915260005260c98452604060002062000ccc565b346200050a5760203660031901126200050a5760043562002c8481620005d5565b62002c8e62002fda565b6001600160a01b0381161562002ca957620009a8906200303c565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200050a5760003660031901126200050a57610100546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5762000c3960405162002d4e8162000f08565b60038152620302e360ec1b60208201526040519182916020835260208301906200271c565b8060005260c960205260ff62002d8e33604060002062000ccc565b54161562002d995750565b339062002da5620030ba565b91603062002db384620030d7565b53607862002dc184620030e5565b5360295b6001811162002e7857620015fa62002e3362002e5f8662002e5062002df68862002df0891562003116565b62003162565b62002e2c60405195869462002e2c6020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002ec0565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262000fae565b60405162461bcd60e51b81529182916004830162002743565b90600f811690601082101562000d125762002eba916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8487620030f6565b5360041c9162003108565b62002dc5565b9062002ed560209282815194859201620026f7565b0190565b60008051602062005603833981519152600081815260c96020529060ff62002f1184600080516020620056e383398151915262000ccc565b54161562002f1e57505050565b80825260c960205262002f35836040842062000ccc565b805460ff1916600117905533926001600160a01b031691600080516020620055e38339815191529080a4565b60009080825260c960205260ff62002f7d846040852062000ccc565b541662002f8957505050565b80825260c960205262002fa0836040842062000ccc565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b62002fe4620037dd565b336001600160a01b039091160362002ff857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620056a3833981519152600080a3565b90600282018092116200294e57565b919082018092116200294e57565b604051602081016001600160401b0381118282101762000f245760405260008152906000368137565b60405190620030c98262000f7e565b602a82526040366020840137565b80511562000d125760200190565b80516001101562000d125760210190565b90815181101562000d12570160200190565b80156200294e576000190190565b156200311e57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190620031718262000f62565b60428252606036602084013760306200318a83620030d7565b5360786200319883620030e5565b536041905b60018211620031b3576200067d91501562003116565b600f811690601082101562000d1257620031e9916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8486620030f6565b906200319d565b15620031f857565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200324957565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b908160209103126200050a575190565b6040513d6000823e3d90fd5b15620032b657565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b9062003378600080516020620056238339815191525460ff1690565b156200338a5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620033fb575b50620033d55760405162461bcd60e51b815280620015fa600482016200330d565b620033f560008051602062005683833981519152620005f69414620032ae565b62003576565b6200341891945060203d8111620008285762000817818362000fae565b9238620033b4565b906200343c600080516020620056238339815191525460ff1690565b156200344e5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620034bf575b50620034995760405162461bcd60e51b815280620015fa600482016200330d565b620034b960008051602062005683833981519152620005f69414620032ae565b6200362c565b620034dc91945060203d8111620008285762000817818362000fae565b923862003478565b803b156200351b576000805160206200568383398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b906200358282620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a280511580159062003623575b620035b5575050565b620036209160008060405193620035cc8562000f7e565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200361962003673565b91620036a8565b50565b506000620035ac565b906200363882620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a28051158015906200366a57620035b5575050565b506001620035ac565b3d15620036a3573d90620036878262000ff3565b9162003697604051938462000fae565b82523d6000602084013e565b606090565b919290156200370d5750815115620036be575090565b3b15620036c85790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620037215750805190602001fd5b60405162461bcd60e51b8152908190620015fa906004830162002743565b156200374757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b620005f690620029ac60ff60005460081c166200373f565b5190620005f682620005d5565b908160209103126200050a57516200067d81620005d5565b6033546001600160a01b0316803b620037f35790565b604051638da5cb5b60e01b8152602081600481855afa6000918162003822575b506200381d575090565b905090565b6200383f91925060203d8111620014365762001424818362000fae565b903862003813565b6001600160a01b0391821681529116602082015260400190565b919290926000549360ff8560081c16158095819662003994575b811562003971575b50156200391557620038ae9385620038a3600160ff196000541617600055565b620038fa5762003fa5565b620038b557565b620038c661ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200390f61010061ff00196000541617600055565b62003fa5565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003985575b503862003883565b6001915060ff1614386200397d565b600160ff82161091506200387b565b818110620039af575050565b60008155600101620039a3565b90601f8211620039ca575050565b620005f6916101086000526020600020906020601f840160051c83019310620039fc575b601f0160051c0190620039a3565b9091508190620039ee565b90601f821162003a15575050565b620005f6916101096000526020600020906020601f840160051c83019310620039fc57601f0160051c0190620039a3565b80519091906001600160401b03811162000f24576101089062003a758162003a6f8454620026ba565b620039bc565b602080601f831160011462003ab457508192939460009262003aa8575b50508160011b916000199060031b1c1916179055565b01519050388062003a92565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b88821062003b245750508360019596971062003b0a575b505050811b019055565b015160001960f88460031b161c1916905538808062003b00565b8060018596829496860151815501950193019062003ae9565b80519091906001600160401b03811162000f24576101099062003b6c8162003b668454620026ba565b62003a07565b602080601f831160011462003b9e57508192939460009262003aa85750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b88821062003bf35750508360019596971062003b0a57505050811b019055565b8060018596829496860151815501950193019062003bd3565b6001600160401b03811162000f245760051b60200190565b60209081818403126200050a578051906001600160401b0382116200050a57019180601f840112156200050a57825162003c5e8162003c0c565b9362003c6e604051958662000fae565b818552838086019260051b8201019283116200050a578301905b82821062003c97575050505090565b838091835162003ca781620005d5565b81520191019062003c88565b6040519062003cc28262000f62565b600382526060366020840137565b9062003cdc8262003c0c565b62003ceb604051918262000fae565b828152809262003cfe601f199162003c0c565b0190602036910137565b60001981146200294e5760010190565b805182101562000d125760209160051b010190565b6000198101919082116200294e57565b6001198101919082116200294e57565b919082039182116200294e57565b9060009161010880549162003d7083620026ba565b91828252600193848116908160001462003dd7575060011462003d94575b50505050565b90919394506000526020928360002092846000945b83861062003dc257505050500101903880808062003d8e565b80548587018301529401938590820162003da9565b9294505050602093945060ff191683830152151560051b0101903880808062003d8e565b90604060206200067d938051845201519181602082015201906200271c565b90815180825260208080930193019160005b82811062003e3b575050505090565b83516001600160a01b03168552938101939281019260010162003e2c565b906200067d949262003e8b91835260a0602084015262003e7c60a0840162003d5b565b90838203604085015262003dfb565b6001600160a01b03909316606082015280830360809091015262003e1a565b8054600082558062003eba575050565b620005f691600052602060002090810190620039a3565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b03821162000f2457600160401b821162000f245761010f90815483835580841062003f57575b50602080910191600052806000209060005b84811062003f3b575050505050565b83516001600160a01b0316838201559281019260010162003f2c565b62003f7190836000528460206000209182019101620039a3565b3862003f1a565b90916200067d9282526060602083015262003f966060830162003d5b565b91604081840391015262003dfb565b909262003fb290620037a0565b62003fbc62004514565b62003fc662004498565b62003fd0620044ab565b60208082019262003ff062003fea62000b978651620005c9565b62004539565b61010083016200400962003fea62000b978351620005c9565b6200401962003fea8551620005c9565b60a084016200402d62003fea8251620005c9565b620040a16200407f606087019788516200447f575b620040786200405662000b978a51620005c9565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b51620005c9565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b6040958686018051156200446e5792620041416200411f6200417b94620040db62000b9795620040d56200419d995160fb55565b5160fc55565b620040ff620040ee6101408c0151151590565b60ff8019815416911515161760ff55565b6200410f6101208b015162003a46565b620040786101608b015162003b3d565b61010080546001600160a01b0319166001600160a01b03909216919091179055565b620040786200415460c0890151620005c9565b60ff8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b03831617905562002ed9565b600482620041b262000b9761010754620005c9565b8651635ab1bd5360e01b815292839182905afa80156200083057620041fe916000916200444c575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b6000946200421362000b9761010654620005c9565b95863b6200438e5750620042bc90620042666200422f62003cb3565b976200424f33620042408b620030d7565b6001600160a01b039091169052565b620042406200425f8a5162003d2d565b8a62003d18565b6200427b30620042406200425f8a5162003d3d565b83876200428f62000b9761010454620005c9565b60e06080890151980197600089518b5197889586948593633a92f65f60e01b855230916004860162003e59565b03925af191821562000830577f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205976200430d6200433594620043139362004357986000926200436c575b505060fe55565b62003eea565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b620038f560fe54915192519283928362003f78565b620043869250803d10620008285762000817818362000fae565b388062004306565b94929095969391835163a0e67e2b60e01b815286816004818c5afa9687156200083057809762004422575b5050620043d1620043cb875162003074565b62003cd0565b9660005b87518110156200440a578062002021620043f862001c6262004404948c62003d18565b62004240838d62003d18565b620043d5565b5090929497620042bc9294965062004266906200424f565b620044439297503d8091833e6200443a818362000fae565b81019062003c24565b943880620043b9565b620044679150843d8611620014365762001424818362000fae565b38620041da565b87516363868c5560e11b8152600490fd5b6200449262003fea60c08a0151620005c9565b62004042565b620005f660ff60005460081c166200373f565b60008051602062005603833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b6200453260ff60005460081c166200452c816200373f565b6200373f565b6001606555565b6001600160a01b0316156200454a57565b6040516303988b8160e61b8152600490fd5b6001600160a01b0390911681526040602082018190526200067d929101906200271c565b6040519061010f828154918282526020928383019160005283600020936000905b828210620045ba57505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045a1565b9060405191828154918282526020928383019160005283600020936000905b8282106200461657505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045fd565b634e487b7160e01b600052602160045260246000fd5b9060038210156200465e5752565b6200463a565b600411156200465e57565b9060048210156200465e5752565b620005f6909291926101c060c06101e08301956060815180518652602081015160208701526040810151604087015201516060850152620046c76020820151608086019062004650565b620046db604082015160a08601906200466f565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b9490916200478d620047a9946200067d989694885260018060a01b03809316602089015260e0604089015260e08801906200271c565b921660608601526000608086015284820360a086015262003dfb565b9160c081840391015262003e1a565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a0608082018190526200067d9291019062003dfb565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b03861662004906575b60206200486082968360006200483162004580565b926200488e6200484862000b9761010754620005c9565b946200486f60fe54936040519889918b83016200467d565b03601f19810189528862000fae565b896040519b8c98899788966370803ea560e11b88526004880162004757565b03925af191821562000830577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620048dc575b50620038f5908397604051948594309186620047b8565b620038f5919350620048fe9060203d8111620008285762000817818362000fae565b9290620048c5565b8592506200481c565b906040516200491e8162000f7e565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b908160209103126200050a57516200067d81620017e0565b6001600160a01b039091168152602081019190915260400190565b8054909262004995926001600160a01b039091169162003ed1565b9055565b805490600160401b82101562000f245781620049bf916001620049959401815562000cf9565b815491936001600160a01b03169162003ed1565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff600260406000206040519362004a208562000f7e565b8154168452600181015460208501520154161590604082159101526200216757565b6001600160a01b0316600090815261010a602052604090205460ff161562004a6657565b6040516346c26e4b60e01b8152600490fd5b8054801562004aa857600019019062004a92828262000cf9565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b8154908181101562004b6e5762004af3818462000cf9565b905460039391841b1c86168787161462004b1b575b5062004b15915062003d08565b62004adb565b60001981019081116200294e5762004b159262004b3a87928662000cf9565b9054911b1c1662004b5a62004b50838662000cf9565b8193915462003ed1565b905562004b678362004a78565b3862004b08565b505050915050565b60026065541462004b88576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9062004c089062004bf9620005f6956040519586936323b872dd60e01b602086015260248501620049d3565b03601f19810184528362000fae565b60405162004c65916001600160a01b031662004c248262000f08565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200361962003673565b805182811591821562004cd7575b505090501562004c805750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b83809293500103126200050a5781015162004cf281620010b7565b80823862004c73565b3360005261010c602052604060002060ff60026040519262004d1d8462000f7e565b80546001600160a01b03168452600181015460208501520154161580156040909201919091526200216757565b62004c08620005f6939262004bf960405194859263a9059cbb60e01b6020850152602484016200495f565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004da28162000f7e565b51617530938685fa933d600051908662004e55575b508562004e4a575b508462004de0575b5050508162004dd4575090565b6200067d915062004e61565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004e0e8162000f7e565b5192fa60005190913d8362004e3e575b50508162004e33575b50159038808062004dc7565b905015153862004e27565b10159150388062004e1e565b151594503862004dbf565b84111595503862004db7565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004e938162000f7e565b5191617530fa6000513d8262004eb6575b508162004eaf575090565b9050151590565b6020111591503862004ea4565b91906040838203126200050a5760405162004ede8162000f08565b83518152602084015190938491906001600160401b0382116200050a57019082601f830112156200050a5781519162004f178362000ff3565b9362004f27604051958662000fae565b838552602084830101116200050a5760209262004f4a91848087019101620026f7565b0152565b906020828203126200050a5781516001600160401b03928382116200050a570160c0818303126200050a576040519262004f888462000f2a565b81518452602082015162004f9c81620005d5565b602085015262004faf60408301620037b8565b604085015260608201519081116200050a5760a09262004fd191830162004ec3565b606084015260808101516080840152015160a082015290565b6000805160206200560383398151915260005260c960205260ff6200501f33600080516020620056e383398151915262000ccc565b5416156200502957565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff16620050a957816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491620050ea8162004539565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062005137828520620045de565b845b8151811015620051ca576200515b62000b9762000b9762001c62848662003d18565b90813b15620051c6578685518093631914f67160e21b8252818381620051858a6004830162000d18565b03925af19182156200083057620051a292620051a8575062003d08565b62005139565b80620051b8620051bf9262000f9a565b806200050f565b3862001cb4565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122033f0a9d1793f90fc961617711fc56f8bbd8ed7df3cc6b5c214af8e42eb49dd9164736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a26469706673582212205979eefa4ab22042764c80accb26bf82c6990db4ccfb51f68480a630c2aa1d3364736f6c63430008130033","sourceMap":"1403:23955:103:-:0;;;;;;;1088:4:61;1080:13;;1403:23955:103;;;;;;1080:13:61;1403:23955:103;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004af5780630331383c14620003d157806308386eba14620004a95780630d12bbdb14620004a35780630d4a8b49146200049d578063175188e814620004975780631b71f0e414620004915780631f787d28146200048b578063223e5479146200048557806322bcf999146200047f578063248a9ca3146200047957806328c309e914620004735780632b38c69c146200046d5780632c611c4a14620004675780632f2ff15d146200046157806331f61bca146200045b57806333960459146200045557806334196355146200044f5780633517aa7d146200044957806336568abe14620004435780633659cfe6146200043d578063397e254314620004375780633a871fe11462000431578063477a5cc0146200042b5780634f1ef2861462000425578063524e59e8146200041f57806352d1902d1462000419578063559de05d14620004135780635c94e4d2146200040d5780635ecf71c5146200040757806365e3864c14620003d75780636871eb4d146200040157806368decabb14620003fb5780636c53db9a14620003f5578063715018a614620003ef57806373265c3714620003e9578063733a2d1f14620003e357806377122d5614620003dd5780637817ee4f14620003d757806378a0b8a914620003d15780637b10399914620003cb57806382d6a1e714620003c557806388cfe68414620003bf5780638961be6b14620003b95780638da5cb5b14620003b357806391d1485414620003ad578063a0cf0aea14620003a7578063a217fddf14620003a1578063a230c524146200039b578063b0d3713a1462000395578063b3f00674146200038f578063b5058c501462000389578063b64e39af1462000383578063b99b4370146200037d578063bc063e1a1462000377578063c4d66de81462000371578063c6d572ae146200036b578063d547741f1462000365578063d6d8428d146200035f578063d7050f071462000359578063db61d65c1462000353578063e16d0e32146200034d578063ebd7dc521462000347578063f2fde38b1462000341578063f86c5f89146200033b5763ffa1ad74146200033557600080fd5b62002d29565b62002cfd565b62002c63565b62002c18565b62002b09565b62002add565b62002abe565b62002a92565b62002a48565b620029b2565b62002974565b62002954565b62002828565b62002756565b62002633565b62002604565b620025b7565b6200254a565b6200252c565b620024fb565b620024bd565b6200248c565b6200246c565b6200240a565b62002354565b62002328565b6200051b565b6200203f565b620022fc565b620022d0565b62002234565b620021e3565b620021b7565b6200218b565b6200207e565b62001dc7565b62001d9b565b62001bfa565b62001b36565b620019f1565b62001716565b620016d2565b6200168b565b620015fe565b62001530565b62001493565b6200123c565b620010cf565b62000ed2565b62000e82565b62000dd5565b62000d90565b62000d2b565b62000b72565b62000b41565b62000a50565b62000a1b565b620009f7565b620009aa565b62000973565b62000680565b6200055b565b6200053b565b346200050a5760203660031901126200050a5760043563ffffffff60e01b81168091036200050a57602090637965db0b60e01b8114908115620004f8575b506040519015158152f35b6301ffc9a760e01b14905038620004ed565b600080fd5b60009103126200050a57565b346200050a5760003660031901126200050a57602060fb54604051908152f35b346200050a5760003660031901126200050a57602060fe54604051908152f35b346200050a5760203660031901126200050a576004356200057b62004fea565b620186a08111620005b7576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fc55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b038116036200050a57565b60243590620005f682620005d5565b565b60443590620005f682620005d5565b60643590620005f682620005d5565b6101c43590620005f682620005d5565b6101e43590620005f682620005d5565b6102043590620005f682620005d5565b3590620005f682620005d5565b60409060031901126200050a576004356200066e81620005d5565b906024356200067d81620005d5565b90565b346200050a57620006913662000653565b6200069c82620049f5565b620006a78162004a42565b620006b28162004539565b620006d3620006cc82620006c68562000c60565b62000ccc565b5460ff1690565b620009615760209081620006f1620006eb8562000c7b565b6200490f565b015160fb5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af1801562000830576003918a916200093f575b506200073e8162004664565b036200083657505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af1801562000830576000805160206200564383398151915294620007f6928792620007fc575b50505b80620007b185620006c68662000c96565b55620007d3620007c685620006c68662000c60565b805460ff19166001179055565b620007e984620007e38562000cb1565b62004999565b60405193849384620049d3565b0390a180f35b620008209250803d1062000828575b62000817818362000fae565b81019062003292565b38806200079d565b503d6200080b565b620032a2565b604096919392965193845282846004818b865af180156200083057889485916200090b575b50620008678162004664565b6200088c575b50505050620007f66000805160206200564383398151915293620007a0565b8293965090620008b49160405197888094819363782aadff60e01b835289600484016200495f565b03925af1801562000830576000805160206200564383398151915294620007f6928792620008e9575b5050938591386200086d565b620009039250803d10620008285762000817818362000fae565b3880620008dd565b620009309150843d861162000937575b62000927818362000fae565b81019062004947565b386200085b565b503d6200091b565b6200095a9150863d8811620009375762000927818362000fae565b3862000732565b604051636adcde4b60e11b8152600490fd5b346200050a5760203660031901126200050a57620009a86004356200099881620005d5565b620009a262004fea565b620050bb565b005b346200050a5760203660031901126200050a57600435620009cb81620005d5565b620009d562002fda565b61010280546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a57602060ff8054166040519015158152f35b346200050a5760203660031901126200050a57620009a860043562000a4081620005d5565b62000a4a62004fea565b62005041565b346200050a5762000a613662000653565b62000a6c82620049f5565b62000a778162004539565b6001600160a01b038116330362000b2f5762000aa462000aa0620006cc83620006c68662000c60565b1590565b62000b1d578162000ae862000ade83620006c67ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000c60565b805460ff19169055565b600062000afa83620006c68462000c96565b5562000b07828262004abe565b62000b186040519283928362003847565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b346200050a5760203660031901126200050a5760043560005260c96020526020600160406000200154604051908152f35b346200050a5760003660031901126200050a5762000b9d62000b9761010054620005c9565b620005c9565b60fb549062000bbc62000bb360fc54846200293a565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000bdf306004830162000d18565b03916001600160a01b03165afa918215620008305762000c399362000c1c62000bb362000c299562000c239460009162000c3d575b50856200293a565b9262003083565b62003083565b6040519081529081906020820190565b0390f35b62000c59915060203d8111620008285762000817818362000fae565b3862000c14565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000d125760005260206000200190600090565b62000ce3565b6001600160a01b03909116815260200190565b346200050a5760403660031901126200050a5760043562000d4c81620005d5565b6024359060018060a01b0380911660005261010d602052604060002080548310156200050a5760209262000d809162000cf9565b9190546040519260031b1c168152f35b346200050a5760203660031901126200050a5760043562000db181620005d5565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b346200050a5760403660031901126200050a5760043560243562000df981620005d5565b60009180835260c960205262000e16600160408520015462002d73565b80835260c960205260ff62000e2f836040862062000ccc565b54161562000e3b578280f35b80835260c960205262000e52826040852062000ccc565b805460ff1916600117905533916001600160a01b031690600080516020620055e38339815191528480a438808280f35b346200050a5760203660031901126200050a577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000ec562004fea565b8060fb55604051908152a1005b346200050a5760003660031901126200050a57602060fd54604051908152f35b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111762000f2457604052565b62000ef2565b60c081019081106001600160401b0382111762000f2457604052565b60e081019081106001600160401b0382111762000f2457604052565b608081019081106001600160401b0382111762000f2457604052565b606081019081106001600160401b0382111762000f2457604052565b6001600160401b03811162000f2457604052565b601f909101601f19168101906001600160401b0382119082101762000f2457604052565b6040519061018082016001600160401b0381118382101762000f2457604052565b6001600160401b03811162000f2457601f01601f191660200190565b9291926200101d8262000ff3565b916200102d604051938462000fae565b8294818452818301116200050a578281602093846000960137010152565b9080601f830112156200050a578160206200067d933591016200100f565b91906040838203126200050a5760405190620010858262000f08565b8335825290928391602082013591906001600160401b0383116200050a57602092620010b292016200104b565b910152565b801515036200050a57565b3590620005f682620010b7565b346200050a576003196080368201126200050a57600435906001600160401b03908183116200050a576101809083360301126200050a576200111062000fd2565b906200111f8360040162000646565b82526200112f6024840162000646565b60208301526044830135604083015260648301356060830152608483013560808301526200116060a4840162000646565b60a08301526200117360c4840162000646565b60c083015260e48301358181116200050a5762001197906004369186010162001069565b60e0830152620011ab610104840162000646565b6101008301526101248301358181116200050a57620011d190600436918601016200104b565b610120830152620011e66101448401620010c2565b6101408301526101648301359081116200050a57620009a89260046200121092369201016200104b565b61016082015262001220620005e7565b6200122a620005f8565b906200123562000607565b9262003861565b346200050a5760008060031936011262001490576200125a62004b76565b620012653362000c7b565b6200127762000b9761010054620005c9565b60fb54916200128d62000bb360fc54856200293a565b6040516302a64b8360e21b815260209491936001600160a01b03169190858180620012bc306004830162000d18565b0381865afa80156200083057620012e19262000bb39289926200146c575b506200293a565b926200130262000aa06040620012fb620006eb3362000c7b565b0151151590565b62001317575b85620013146001606555565b80f35b826200132f600260019501600160ff19825416179055565b60fb54938491015562001367610105936200135c8662000c2385620013558954620005c9565b9462003083565b903090339062004bcd565b806200143e575b5082620013be575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689620013b060fb5460405191829133836200495f565b0390a1388080808062001308565b83620013cd60049354620005c9565b9160405193848092634c3a1adf60e11b82525afa9182156200083057620013fe94869362001408575b505062004d4a565b3880808062001376565b6200142d929350803d1062001436575b62001424818362000fae565b810190620037c5565b903880620013f6565b503d62001418565b62001465906200144f8454620005c9565b60ff5460081c6001600160a01b03169062004d4a565b386200136e565b62001488919250883d8a11620008285762000817818362000fae565b9038620012da565b80fd5b346200050a5760403660031901126200050a57602435620014b481620005d5565b336001600160a01b03821603620014d357620009a89060043562002f61565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346200050a5760203660031901126200050a576004356200155181620005d5565b6001600160a01b03620015a87f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b826000805160206200568383398151915254161462003241565b620015b2620037dd565b33911603620015d157620009a890620015ca62003091565b906200335c565b620015fa620015df620037dd565b60405163163678e960e01b8152918291336004840162003847565b0390fd5b346200050a5760203660031901126200050a577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf860406004356200164281620005d5565b6200164c62004fea565b6001600160a01b0390811690620016638262004539565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b346200050a5760203660031901126200050a57600435620016ac81620005d5565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b346200050a57602060ff6200170a620016eb3662000653565b6001600160a01b03909116600090815261010e85526040902062000ccc565b54166040519015158152f35b60403660031901126200050a576004356200173181620005d5565b6024356001600160401b0381116200050a57366023820112156200050a57620017659036906024816004013591016200100f565b6001600160a01b03620017a27f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b620017ac620037dd565b33911603620015d157620009a89162003420565b60a4359060038210156200050a57565b60c4359060038210156200050a57565b600411156200050a57565b60c43590620005f682620017e0565b60e43590620005f682620017e0565b60209060e31901126200050a5760405190602082016001600160401b0381118382101762000f245760405260e4358252565b6020906101031901126200050a5760405190602082016001600160401b0381118382101762000f2457604052610104358252565b60c0906101031901126200050a57604051906200188c8262000f2a565b81610104356200189c81620005d5565b815261012435620018ad81620005d5565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c0906101231901126200050a5760405190620018f58262000f2a565b81610124356200190581620005d5565b8152610144356200191681620005d5565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e083126200050a5760405190620019618262000f46565b60808294126200050a57620019d1906040516200197e8162000f62565b60243581526044356020820152606435604082015260843560608201528352620019a7620017c0565b6020840152620019b6620017eb565b6040840152620019c68162001809565b60608401526200186f565b6080820152620019e062000616565b60a082015260c0620010b262000626565b346200050a576102203660031901126200050a5760043562001a1381620005d5565b62001a1e3662001941565b6001600160401b0390610204358281116200050a5762001a4390369060040162001069565b9162001a5261010254620005c9565b9062001a6562000b9761010754620005c9565b9162001acf62001a7861010154620005c9565b9362001ac062001a87620037dd565b60405163184b955960e01b60208201526001600160a01b0393841660248201529683166044880152909116606486015284906084820190565b03601f19810185528462000fae565b6040519261041091828501938585109085111762000f2457849362001afa93620051d386396200455c565b03906000f0928315620008305762001b1b936001600160a01b0316620047f2565b604080519283526001600160a01b0391909116602083015290f35b346200050a5760003660031901126200050a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001b9457604051600080516020620056838339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b346200050a576020806003193601126200050a5760049081359162001c1e62004b76565b62001c2862004cfb565b62001c3d62001c373362000cb1565b620045de565b60005b815181101562001d1f5762001c6f62000b9762000b9762001c62848662003d18565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001c938c338c84016200495f565b03925af18015620008305762001cbb9260009162001cfd575b508062001cc1575b5062003d08565b62001c40565b62001cf462001ceb62001cd43362000c96565b62001ce462001c62868962003d18565b9062000ccc565b91825462003083565b90553862001cb4565b62001d189150863d8811620008285762000817818362000fae565b3862001cac565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001d8d8662001d628162001d5861010554620005c9565b3090339062004bcd565b600162001d6f3362000c7b565b0162001d7d82825462003083565b905560405191829133836200495f565b0390a1620009a86001606555565b346200050a5760003660031901126200050a57610102546040516001600160a01b039091168152602090f35b346200050a576020806003193601126200050a5760049081359062001deb62004b76565b62001df562004cfb565b62001e003362000cb1565b9060019362001e1d848662001e153362000c7b565b015462003d4d565b60fb5411620020305790849262001e43853362001e3d61010554620005c9565b62004d4a565b6000935b62001e8d575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001d8d868862001e7f3362000c7b565b0162001d7d82825462003d4d565b9091929481549485871015620020275762001ec262001ead888562000cf9565b905460039190911b1c6001600160a01b031690565b9562001ece8762004d75565b1562001fd657506040928484518098632ed04b2b60e01b82528160008162001efb888d339084016200495f565b03926001600160a01b03165af1968715620008305760009762001fb2575b5062001f3962001f293362000c96565b62001ce462001ead8b8562000cf9565b54948588111562001f665784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001fa79162001f9f62001f9662001f863362000c96565b62001ce462001ead868c62000cf9565b91825462003d4d565b905562003d08565b939092919262001e47565b62001fce919750853d8711620008285762000817818362000fae565b953862001f19565b966200202162001fa79297620020166200200362001ead62001ffc889d9b999b62003d2d565b8b62000cf9565b6200200f858b62000cf9565b906200497a565b620009a28862004a78565b62003d08565b94509462001e4d565b604051634e23e81760e11b8152fd5b346200050a57602062002075620020563662000653565b6001600160a01b03909116600090815261010b84526040902062000ccc565b54604051908152f35b346200050a576200208f3662000653565b6200209962004b76565b620020a362004fea565b620020b462000aa060ff5460ff1690565b6200217957620020d262000aa06040620012fb620006eb8662000c7b565b62002167578162001d8d6200210c620006eb7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39562000c7b565b620021178362005112565b62002138620021268462000c7b565b60026000918281558260018201550155565b6200215960206200214c61010554620005c9565b9201918583519162004d4a565b5160405193849384620049d3565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b346200050a5760003660031901126200050a57610103546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610106546040516001600160a01b039091168152602090f35b346200050a5760008060031936011262001490576200220162002fda565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020620056a38339815191528280a380f35b346200050a5760203660031901126200050a576200225162004fea565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa9182156200083057620009a892602091600091620022aa575b50015116620009a28162004539565b620022c9913d8091833e620022c0818362000fae565b81019062004f4e565b386200229b565b346200050a5760003660031901126200050a576020604051600080516020620056038339815191528152f35b346200050a5760003660031901126200050a57610101546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610104546040516001600160a01b039091168152602090f35b346200050a5760203660031901126200050a576200237162004fea565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa80156200083057602062000b9791620023c593600091620023ed575b500151620005c9565b620023d08162004539565b620023db8162004d75565b620023e257005b620009a89062005041565b62002403913d8091833e620022c0818362000fae565b38620023bc565b346200050a5760203660031901126200050a5760606004356200242d81620005d5565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b346200050a5760003660031901126200050a57602060fc54604051908152f35b346200050a5760003660031901126200050a576020620024ab620037dd565b6040516001600160a01b039091168152f35b346200050a5760403660031901126200050a57602060ff6200170a602435620024e681620005d5565b60043560005260c98452604060002062000ccc565b346200050a5760003660031901126200050a57602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b346200050a5760003660031901126200050a57602060405160008152f35b346200050a5760203660031901126200050a57602060406004356200256f81620005d5565b60018060a01b0380911660005261010c835260ff600283600020845193620025978562000f7e565b815416845260018101548685015201541615159182910152604051908152f35b346200050a5760203660031901126200050a57600435620025d881620005d5565b620025e262002fda565b61010180546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a5760ff5460405160089190911c6001600160a01b03168152602090f35b346200050a57600080600319360112620014905761010380546001600160a01b0381169033829003620026a85761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620026ec575b6020831014620026d657565b634e487b7160e01b600052602260045260246000fd5b91607f1691620026ca565b60005b8381106200270b5750506000910152565b8181015183820152602001620026fa565b906020916200273781518092818552858086019101620026f7565b601f01601f1916010190565b9060206200067d9281815201906200271c565b346200050a5760008060031936011262001490576040518161010980546200277e81620026ba565b80855291600191808316908115620027fa5750600114620027ba575b62000c3985620027ad8189038262000fae565b6040519182918262002743565b835260208084209095505b828410620027e6575050508162000c3993620027ad9282010193386200279a565b8054858501870152928501928101620027c5565b905062000c399650620027ad9450602092508593915060ff191682840152151560051b82010193386200279a565b346200050a5760008060031936011262001490576200284662004b76565b6200285133620049f5565b6200285c3362005112565b33815261010c6020527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f462002916604083206040516200289c8162000f7e565b81546001600160a01b0316815260018201546020820190815260029092015460ff161515604090910152620028d5620021263362000c7b565b620028ea620028e43362000cb1565b62003eaa565b62002907620028fc61010554620005c9565b825190339062004d4a565b5160405191829133836200495f565b0390a1620013146001606555565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200294e57565b62002924565b346200050a5760003660031901126200050a576020604051620186a08152f35b346200050a5760203660031901126200050a57620009a86004356200299981620005d5565b620029ac60ff60005460081c166200373f565b6200303c565b346200050a576000806003193601126200149057604051816101088054620029da81620026ba565b80855291600191808316908115620027fa575060011462002a085762000c3985620027ad8189038262000fae565b835260208084209095505b82841062002a34575050508162000c3993620027ad9282010193386200279a565b805485850187015292850192810162002a13565b346200050a5760403660031901126200050a57620009a860243560043562002a7082620005d5565b8060005260c960205262002a8c60016040600020015462002d73565b62002f61565b346200050a5760003660031901126200050a57610107546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5760206040516127108152f35b346200050a5760003660031901126200050a57610105546040516001600160a01b039091168152602090f35b346200050a576102403660031901126200050a5760043562002b2b81620005d5565b6024359062002b3a82620005d5565b36604319016101e081126200050a5760806040519162002b5a8362000f46565b126200050a5760405162002b6e8162000f62565b60443581526064356020820152608435604082015260a4356060820152815262002b97620017d0565b602082015262002ba6620017fa565b604082015262002bb6366200183b565b606082015262002bc636620018d8565b608082015262002bd562000626565b60a082015262002be462000636565b60c082015261022435926001600160401b0384116200050a5762002c1162001b1b94369060040162001069565b92620047f2565b346200050a5760203660031901126200050a57602060ff6200170a60043562002c4181620005d5565b6000805160206200560383398151915260005260c98452604060002062000ccc565b346200050a5760203660031901126200050a5760043562002c8481620005d5565b62002c8e62002fda565b6001600160a01b0381161562002ca957620009a8906200303c565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200050a5760003660031901126200050a57610100546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5762000c3960405162002d4e8162000f08565b60038152620302e360ec1b60208201526040519182916020835260208301906200271c565b8060005260c960205260ff62002d8e33604060002062000ccc565b54161562002d995750565b339062002da5620030ba565b91603062002db384620030d7565b53607862002dc184620030e5565b5360295b6001811162002e7857620015fa62002e3362002e5f8662002e5062002df68862002df0891562003116565b62003162565b62002e2c60405195869462002e2c6020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002ec0565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262000fae565b60405162461bcd60e51b81529182916004830162002743565b90600f811690601082101562000d125762002eba916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8487620030f6565b5360041c9162003108565b62002dc5565b9062002ed560209282815194859201620026f7565b0190565b60008051602062005603833981519152600081815260c96020529060ff62002f1184600080516020620056e383398151915262000ccc565b54161562002f1e57505050565b80825260c960205262002f35836040842062000ccc565b805460ff1916600117905533926001600160a01b031691600080516020620055e38339815191529080a4565b60009080825260c960205260ff62002f7d846040852062000ccc565b541662002f8957505050565b80825260c960205262002fa0836040842062000ccc565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b62002fe4620037dd565b336001600160a01b039091160362002ff857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620056a3833981519152600080a3565b90600282018092116200294e57565b919082018092116200294e57565b604051602081016001600160401b0381118282101762000f245760405260008152906000368137565b60405190620030c98262000f7e565b602a82526040366020840137565b80511562000d125760200190565b80516001101562000d125760210190565b90815181101562000d12570160200190565b80156200294e576000190190565b156200311e57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190620031718262000f62565b60428252606036602084013760306200318a83620030d7565b5360786200319883620030e5565b536041905b60018211620031b3576200067d91501562003116565b600f811690601082101562000d1257620031e9916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8486620030f6565b906200319d565b15620031f857565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200324957565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b908160209103126200050a575190565b6040513d6000823e3d90fd5b15620032b657565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b9062003378600080516020620056238339815191525460ff1690565b156200338a5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620033fb575b50620033d55760405162461bcd60e51b815280620015fa600482016200330d565b620033f560008051602062005683833981519152620005f69414620032ae565b62003576565b6200341891945060203d8111620008285762000817818362000fae565b9238620033b4565b906200343c600080516020620056238339815191525460ff1690565b156200344e5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620034bf575b50620034995760405162461bcd60e51b815280620015fa600482016200330d565b620034b960008051602062005683833981519152620005f69414620032ae565b6200362c565b620034dc91945060203d8111620008285762000817818362000fae565b923862003478565b803b156200351b576000805160206200568383398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b906200358282620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a280511580159062003623575b620035b5575050565b620036209160008060405193620035cc8562000f7e565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200361962003673565b91620036a8565b50565b506000620035ac565b906200363882620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a28051158015906200366a57620035b5575050565b506001620035ac565b3d15620036a3573d90620036878262000ff3565b9162003697604051938462000fae565b82523d6000602084013e565b606090565b919290156200370d5750815115620036be575090565b3b15620036c85790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620037215750805190602001fd5b60405162461bcd60e51b8152908190620015fa906004830162002743565b156200374757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b620005f690620029ac60ff60005460081c166200373f565b5190620005f682620005d5565b908160209103126200050a57516200067d81620005d5565b6033546001600160a01b0316803b620037f35790565b604051638da5cb5b60e01b8152602081600481855afa6000918162003822575b506200381d575090565b905090565b6200383f91925060203d8111620014365762001424818362000fae565b903862003813565b6001600160a01b0391821681529116602082015260400190565b919290926000549360ff8560081c16158095819662003994575b811562003971575b50156200391557620038ae9385620038a3600160ff196000541617600055565b620038fa5762003fa5565b620038b557565b620038c661ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200390f61010061ff00196000541617600055565b62003fa5565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003985575b503862003883565b6001915060ff1614386200397d565b600160ff82161091506200387b565b818110620039af575050565b60008155600101620039a3565b90601f8211620039ca575050565b620005f6916101086000526020600020906020601f840160051c83019310620039fc575b601f0160051c0190620039a3565b9091508190620039ee565b90601f821162003a15575050565b620005f6916101096000526020600020906020601f840160051c83019310620039fc57601f0160051c0190620039a3565b80519091906001600160401b03811162000f24576101089062003a758162003a6f8454620026ba565b620039bc565b602080601f831160011462003ab457508192939460009262003aa8575b50508160011b916000199060031b1c1916179055565b01519050388062003a92565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b88821062003b245750508360019596971062003b0a575b505050811b019055565b015160001960f88460031b161c1916905538808062003b00565b8060018596829496860151815501950193019062003ae9565b80519091906001600160401b03811162000f24576101099062003b6c8162003b668454620026ba565b62003a07565b602080601f831160011462003b9e57508192939460009262003aa85750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b88821062003bf35750508360019596971062003b0a57505050811b019055565b8060018596829496860151815501950193019062003bd3565b6001600160401b03811162000f245760051b60200190565b60209081818403126200050a578051906001600160401b0382116200050a57019180601f840112156200050a57825162003c5e8162003c0c565b9362003c6e604051958662000fae565b818552838086019260051b8201019283116200050a578301905b82821062003c97575050505090565b838091835162003ca781620005d5565b81520191019062003c88565b6040519062003cc28262000f62565b600382526060366020840137565b9062003cdc8262003c0c565b62003ceb604051918262000fae565b828152809262003cfe601f199162003c0c565b0190602036910137565b60001981146200294e5760010190565b805182101562000d125760209160051b010190565b6000198101919082116200294e57565b6001198101919082116200294e57565b919082039182116200294e57565b9060009161010880549162003d7083620026ba565b91828252600193848116908160001462003dd7575060011462003d94575b50505050565b90919394506000526020928360002092846000945b83861062003dc257505050500101903880808062003d8e565b80548587018301529401938590820162003da9565b9294505050602093945060ff191683830152151560051b0101903880808062003d8e565b90604060206200067d938051845201519181602082015201906200271c565b90815180825260208080930193019160005b82811062003e3b575050505090565b83516001600160a01b03168552938101939281019260010162003e2c565b906200067d949262003e8b91835260a0602084015262003e7c60a0840162003d5b565b90838203604085015262003dfb565b6001600160a01b03909316606082015280830360809091015262003e1a565b8054600082558062003eba575050565b620005f691600052602060002090810190620039a3565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b03821162000f2457600160401b821162000f245761010f90815483835580841062003f57575b50602080910191600052806000209060005b84811062003f3b575050505050565b83516001600160a01b0316838201559281019260010162003f2c565b62003f7190836000528460206000209182019101620039a3565b3862003f1a565b90916200067d9282526060602083015262003f966060830162003d5b565b91604081840391015262003dfb565b909262003fb290620037a0565b62003fbc62004514565b62003fc662004498565b62003fd0620044ab565b60208082019262003ff062003fea62000b978651620005c9565b62004539565b61010083016200400962003fea62000b978351620005c9565b6200401962003fea8551620005c9565b60a084016200402d62003fea8251620005c9565b620040a16200407f606087019788516200447f575b620040786200405662000b978a51620005c9565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b51620005c9565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b6040958686018051156200446e5792620041416200411f6200417b94620040db62000b9795620040d56200419d995160fb55565b5160fc55565b620040ff620040ee6101408c0151151590565b60ff8019815416911515161760ff55565b6200410f6101208b015162003a46565b620040786101608b015162003b3d565b61010080546001600160a01b0319166001600160a01b03909216919091179055565b620040786200415460c0890151620005c9565b60ff8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b03831617905562002ed9565b600482620041b262000b9761010754620005c9565b8651635ab1bd5360e01b815292839182905afa80156200083057620041fe916000916200444c575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b6000946200421362000b9761010654620005c9565b95863b6200438e5750620042bc90620042666200422f62003cb3565b976200424f33620042408b620030d7565b6001600160a01b039091169052565b620042406200425f8a5162003d2d565b8a62003d18565b6200427b30620042406200425f8a5162003d3d565b83876200428f62000b9761010454620005c9565b60e06080890151980197600089518b5197889586948593633a92f65f60e01b855230916004860162003e59565b03925af191821562000830577f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205976200430d6200433594620043139362004357986000926200436c575b505060fe55565b62003eea565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b620038f560fe54915192519283928362003f78565b620043869250803d10620008285762000817818362000fae565b388062004306565b94929095969391835163a0e67e2b60e01b815286816004818c5afa9687156200083057809762004422575b5050620043d1620043cb875162003074565b62003cd0565b9660005b87518110156200440a578062002021620043f862001c6262004404948c62003d18565b62004240838d62003d18565b620043d5565b5090929497620042bc9294965062004266906200424f565b620044439297503d8091833e6200443a818362000fae565b81019062003c24565b943880620043b9565b620044679150843d8611620014365762001424818362000fae565b38620041da565b87516363868c5560e11b8152600490fd5b6200449262003fea60c08a0151620005c9565b62004042565b620005f660ff60005460081c166200373f565b60008051602062005603833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b6200453260ff60005460081c166200452c816200373f565b6200373f565b6001606555565b6001600160a01b0316156200454a57565b6040516303988b8160e61b8152600490fd5b6001600160a01b0390911681526040602082018190526200067d929101906200271c565b6040519061010f828154918282526020928383019160005283600020936000905b828210620045ba57505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045a1565b9060405191828154918282526020928383019160005283600020936000905b8282106200461657505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045fd565b634e487b7160e01b600052602160045260246000fd5b9060038210156200465e5752565b6200463a565b600411156200465e57565b9060048210156200465e5752565b620005f6909291926101c060c06101e08301956060815180518652602081015160208701526040810151604087015201516060850152620046c76020820151608086019062004650565b620046db604082015160a08601906200466f565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b9490916200478d620047a9946200067d989694885260018060a01b03809316602089015260e0604089015260e08801906200271c565b921660608601526000608086015284820360a086015262003dfb565b9160c081840391015262003e1a565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a0608082018190526200067d9291019062003dfb565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b03861662004906575b60206200486082968360006200483162004580565b926200488e6200484862000b9761010754620005c9565b946200486f60fe54936040519889918b83016200467d565b03601f19810189528862000fae565b896040519b8c98899788966370803ea560e11b88526004880162004757565b03925af191821562000830577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620048dc575b50620038f5908397604051948594309186620047b8565b620038f5919350620048fe9060203d8111620008285762000817818362000fae565b9290620048c5565b8592506200481c565b906040516200491e8162000f7e565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b908160209103126200050a57516200067d81620017e0565b6001600160a01b039091168152602081019190915260400190565b8054909262004995926001600160a01b039091169162003ed1565b9055565b805490600160401b82101562000f245781620049bf916001620049959401815562000cf9565b815491936001600160a01b03169162003ed1565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff600260406000206040519362004a208562000f7e565b8154168452600181015460208501520154161590604082159101526200216757565b6001600160a01b0316600090815261010a602052604090205460ff161562004a6657565b6040516346c26e4b60e01b8152600490fd5b8054801562004aa857600019019062004a92828262000cf9565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b8154908181101562004b6e5762004af3818462000cf9565b905460039391841b1c86168787161462004b1b575b5062004b15915062003d08565b62004adb565b60001981019081116200294e5762004b159262004b3a87928662000cf9565b9054911b1c1662004b5a62004b50838662000cf9565b8193915462003ed1565b905562004b678362004a78565b3862004b08565b505050915050565b60026065541462004b88576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9062004c089062004bf9620005f6956040519586936323b872dd60e01b602086015260248501620049d3565b03601f19810184528362000fae565b60405162004c65916001600160a01b031662004c248262000f08565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200361962003673565b805182811591821562004cd7575b505090501562004c805750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b83809293500103126200050a5781015162004cf281620010b7565b80823862004c73565b3360005261010c602052604060002060ff60026040519262004d1d8462000f7e565b80546001600160a01b03168452600181015460208501520154161580156040909201919091526200216757565b62004c08620005f6939262004bf960405194859263a9059cbb60e01b6020850152602484016200495f565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004da28162000f7e565b51617530938685fa933d600051908662004e55575b508562004e4a575b508462004de0575b5050508162004dd4575090565b6200067d915062004e61565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004e0e8162000f7e565b5192fa60005190913d8362004e3e575b50508162004e33575b50159038808062004dc7565b905015153862004e27565b10159150388062004e1e565b151594503862004dbf565b84111595503862004db7565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004e938162000f7e565b5191617530fa6000513d8262004eb6575b508162004eaf575090565b9050151590565b6020111591503862004ea4565b91906040838203126200050a5760405162004ede8162000f08565b83518152602084015190938491906001600160401b0382116200050a57019082601f830112156200050a5781519162004f178362000ff3565b9362004f27604051958662000fae565b838552602084830101116200050a5760209262004f4a91848087019101620026f7565b0152565b906020828203126200050a5781516001600160401b03928382116200050a570160c0818303126200050a576040519262004f888462000f2a565b81518452602082015162004f9c81620005d5565b602085015262004faf60408301620037b8565b604085015260608201519081116200050a5760a09262004fd191830162004ec3565b606084015260808101516080840152015160a082015290565b6000805160206200560383398151915260005260c960205260ff6200501f33600080516020620056e383398151915262000ccc565b5416156200502957565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff16620050a957816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491620050ea8162004539565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062005137828520620045de565b845b8151811015620051ca576200515b62000b9762000b9762001c62848662003d18565b90813b15620051c6578685518093631914f67160e21b8252818381620051858a6004830162000d18565b03925af19182156200083057620051a292620051a8575062003d08565b62005139565b80620051b8620051bf9262000f9a565b806200050f565b3862001cb4565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122033f0a9d1793f90fc961617711fc56f8bbd8ed7df3cc6b5c214af8e42eb49dd9164736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a26469706673582212205979eefa4ab22042764c80accb26bf82c6990db4ccfb51f68480a630c2aa1d3364736f6c63430008130033","sourceMap":"1403:23955:103:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3158:58:40;;;:98;;;;1403:23955:103;;;;;;;;;;3158:98:40;-1:-1:-1;;;1189:51:50;;-1:-1:-1;3158:98:40;;;1403:23955:103;-1:-1:-1;1403:23955:103;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;23092:19;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;5123:24;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;23320:288;;:::i;:::-;4610:7;23427:26;;23423:86;;1403:23955;;23564:37;1403:23955;23518:31;1403:23955;;;;;;23564:37;1403:23955;23423:86;1403:23955;;-1:-1:-1;;;23476:22:103;;1403:23955;;23476:22;1403:23955;-1:-1:-1;;;;;1403:23955:103;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;:::i;:::-;13186:7;;;:::i;:::-;13224:9;;;:::i;:::-;13263;;;:::i;:::-;13288:47;;:36;;;;:::i;:::-;:47;:::i;:::-;1403:23955;;;;;13288:47;13284:107;;13491:19;13424:28;;1403:23955;13424:28;;;:::i;:::-;1403:23955;:::i;:::-;13491:19;1403:23955;13547:19;1403:23955;;;-1:-1:-1;;;13581:42:103;;;-1:-1:-1;;;;;;;1403:23955:103;;;;;;;;;;;;-1:-1:-1;1403:23955:103;13581:42;;;;;;13627:36;13581:42;;;;;1403:23955;;;;;:::i;:::-;13581:82;13627:36;;-1:-1:-1;;1403:23955:103;;-1:-1:-1;;;13698:51:103;;-1:-1:-1;;;;;1403:23955:103;;;13698:51;;1403:23955;-1:-1:-1;1403:23955:103;;;;;;;-1:-1:-1;1403:23955:103;;;;;;13698:51;;;;;;;;-1:-1:-1;;;;;;;;;;;13698:51:103;14184:61;13698:51;;;;;13577:384;13679:70;;13577:384;13971:30;:41;:30;;;;:::i;:41::-;1403:23955;14060:54;:47;:36;;;;:::i;:47::-;1403:23955;;-1:-1:-1;;1403:23955:103;14110:4;1403:23955;;;;14060:54;14125:43;:27;;;;:::i;:::-;:43;:::i;:::-;1403:23955;;14184:61;;;;;:::i;:::-;;;;1403:23955;;13698:51;;;;;;-1:-1:-1;13698:51:103;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;13577:384::-;1403:23955;;;;;;;13770:42;;;;;1403:23955;13770:42;;;;;;;;;;;;;;;13577:384;1403:23955;;;;:::i;:::-;13766:195;;13577:384;;;;;14184:61;-1:-1:-1;;;;;;;;;;;13577:384:103;;;13766:195;1403:23955;;;;;13883:67;1403:23955;;;689:66:57;;;;;;;;;13883:67:103;;;1403:23955;13883:67;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;;;;;;13883:67:103;14184:61;13883:67;;;;;13766:195;13864:86;;13766:195;;;;;;13883:67;;;;;;-1:-1:-1;13883:67:103;;;;;;:::i;:::-;;;;;13770:42;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;13581;;;;;;;;;;;;;;:::i;:::-;;;;13284:107;1403:23955;;-1:-1:-1;;;13358:22:103;;1403:23955;;13358:22;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;19731:9;1403:23955;;;;;:::i;:::-;19620:128;;:::i;:::-;19731:9;:::i;:::-;1403:23955;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;9188:27:103;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;5204:25;1403:23955;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;18893:12;1403:23955;;;;;:::i;:::-;18785:128;;:::i;:::-;18893:12;:::i;1403:23955::-;;;;;;;:::i;:::-;14381:7;;;:::i;:::-;14418:9;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;14458:10;8358:20;8354:77;;14495:48;14496:47;;:36;;;;:::i;:47::-;14495:48;;1403:23955;14495:48;14491:110;;14611:36;:55;:47;:36;;14905:45;14611:36;;:::i;:47::-;1403:23955;;-1:-1:-1;;1403:23955:103;;;;14611:55;14661:5;14676:41;:30;;;;:::i;:41::-;1403:23955;14765:9;;;;:::i;:::-;14905:45;1403:23955;;14905:45;;;;;:::i;:::-;;;;1403:23955;14491:110;1403:23955;;-1:-1:-1;;;14566:24:103;;1403:23955;;14566:24;8354:77;1403:23955;;-1:-1:-1;;;8401:19:103;;1403:23955;;8401:19;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;;;-1:-1:-1;1403:23955:103;4955:6:40;1403:23955:103;;;4955:22:40;1403:23955:103;-1:-1:-1;1403:23955:103;4955:22:40;1403:23955:103;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;22636:33;1403:23955;22653:15;1403:23955;;:::i;:::-;22636:33;:::i;:::-;22709:19;1403:23955;;22708:62;22709:34;22731:12;1403:23955;22709:34;;:::i;:::-;4610:7;1403:23955;;;;22708:62;1403:23955;22842:44;1403:23955;;689:66:57;;;;;22842:44:103;;22880:4;;22842:44;22880:4;1403:23955;22842:44;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;22842:44;;;;;;;1403:23955;22842:44;22819:94;22820:66;22931:59;22842:44;22931:40;22842:44;1403:23955;22842:44;;;1403:23955;22820:66;;;:::i;22819:94::-;22931:40;;:::i;:::-;:59;:::i;:::-;1403:23955;;;;;;;;;;;;;;;;;22842:44;;;;;;;;;;;;;;:::i;:::-;;;;1403:23955;-1:-1:-1;;;;;1403:23955:103;;;;;13288:27;1403:23955;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;13424:19;1403:23955;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;13971:21;1403:23955;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;14125:18;1403:23955;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;-1:-1:-1;1403:23955:103;:::o;:::-;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1403:23955:103;6760:82;1403:23955;;;-1:-1:-1;1403:23955:103;;;6760:82;;;;;1403:23955;6760:82;;;;:::i;:::-;1403:23955;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1403:23955:103;18404:19;1403:23955;;;;;-1:-1:-1;1403:23955:103;18404:41;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;:::i;:::-;-1:-1:-1;1403:23955:103;;;;4955:6:40;1403:23955:103;;2809:4:40;4955:22;1403:23955:103;;;4955:22:40;1403:23955:103;2809:4:40;:::i;:::-;1403:23955:103;;;4955:6:40;1403:23955:103;;;3459:29:40;1403:23955:103;;;;3459:29:40;:::i;:::-;1403:23955:103;;8020:23:40;8016:149;;1403:23955:103;;;8016:149:40;1403:23955:103;;;4955:6:40;1403:23955:103;;8059:29:40;1403:23955:103;;;;8059:29:40;:::i;:::-;1403:23955:103;;-1:-1:-1;;1403:23955:103;4955:22:40;1403:23955:103;;;965:10:48;;-1:-1:-1;;;;;1403:23955:103;;-1:-1:-1;;;;;;;;;;;8114:40:40;;;8016:149;;1403:23955:103;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;23275:32;1403:23955;;;23124:190;;:::i;:::-;1403:23955;23228:32;1403:23955;;;;;;23275:32;1403:23955;;;;;;;-1:-1:-1;;1403:23955:103;;;;;5024:25;1403:23955;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;:::o;:::-;;;;;-1:-1:-1;;1403:23955:103;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;-1:-1:-1;;1403:23955:103;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;9358:2496;1403:23955;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;9358:2496;;:::i;1403:23955::-;;;;;;;;;;;;;2492:103:45;;:::i;:::-;20719:28:103;20672:10;20719:28;:::i;:::-;20791:33;1403:23955;20808:15;1403:23955;;:::i;20791:33::-;20864:19;1403:23955;;20863:62;20864:34;20886:12;1403:23955;20864:34;;:::i;20863:62::-;1403:23955;;-1:-1:-1;;;20997:44:103;;;;1403:23955;;-1:-1:-1;;;;;1403:23955:103;;689:66:57;20997:44:103;1403:23955;;20997:44;21035:4;1403:23955;20997:44;;;:::i;:::-;;;;;;;;;;20974:94;20997:44;20975:66;20997:44;;;;;1403:23955;20975:66;;:::i;20974:94::-;20672:10;21082:18;20547:22;1403:23955;;20502:28;20672:10;20502:28;:::i;1403:23955::-;20547:22;1403:23955;;;;;21082:18;21078:1430;;1403:23955;2557:1:45;;1808;2086:22;1403:23955:103;2006:109:45;2557:1;1403:23955:103;;21078:1430;21116:22;:29;:22;1403:23955;21116:22;;14110:4;1403:23955;;;;;;;;;21116:29;20864:19;1403:23955;21160:22;;;;1403:23955;21426:59;21356:11;1403:23955;21426:59;1403:23955;21426:40;1403:23955;;;;;:::i;:::-;21426:40;;:::i;:59::-;21035:4;;20672:10;;21426:59;;:::i;:::-;21924:22;21920:178;;21078:1430;22181:20;;22177:255;;21078:1430;1403:23955;;;;22451:46;;20864:19;1403:23955;;;20672:10;;;;22451:46;;:::i;:::-;;;;21078:1430;;;;;;;22177:255;1403:23955;;;;;;:::i;:::-;;;;689:66:57;;;;;;;22360:38:103;;;;;;;;;22400:16;22360:38;;;;;22177:255;22400:16;;;:::i;:::-;22177:255;;;;;;22360:38;;;;;;;-1:-1:-1;22360:38:103;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;21920:178;22064:18;1403:23955;;;;;:::i;:::-;22051:11;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;22064:18;;:::i;:::-;21920:178;;;20997:44;;;;;;;;;;;;;;;:::i;:::-;;;;;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;965:10:48;-1:-1:-1;;;;;1403:23955:103;;6484:23:40;1403:23955:103;;6588:7:40;1403:23955:103;;;6588:7:40;:::i;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1719:87:61;1654:6;1403:23955:103;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1403:23955:103;-1:-1:-1;;;;;;;;;;;1403:23955:103;;1727:30:61;1719:87;:::i;:::-;1208:7:101;;:::i;:::-;1219:10;1403:23955:103;;1208:21:101;1204:94;;3325:5:61;3311:12;;;:::i;:::-;3325:5;;:::i;1204:94:101:-;1252:35;1279:7;;:::i;:::-;1403:23955:103;;-1:-1:-1;;;1252:35:101;;1403:23955:103;;;1219:10:101;1403:23955:103;1252:35:101;;;:::i;:::-;;;;1403:23955:103;;;;;;-1:-1:-1;;1403:23955:103;;;;19929:66;1403:23955;;;;;;:::i;:::-;19754:248;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;19853:25;1403:23955;19853:25;:::i;:::-;19888:26;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;;;;;19962:11;1403:23955;;;;;;;;;;;;;;19929:66;1403:23955;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1403:23955:103;6295:68;1403:23955;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;6920:107;1403:23955;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;6920:107;1403:23955;;;6920:107;1403:23955;;;;;6920:107;:::i;:::-;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1719:87:61;1654:6;1403:23955:103;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;1719:87::-;1208:7:101;;:::i;:::-;1219:10;1403:23955:103;;1208:21:101;1204:94;;3865:4:61;;;:::i;1403:23955:103:-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;-1:-1:-1;1403:23955:103;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;:::i;:::-;;;12154:16;1403:23955;;:::i;:::-;;12242:13;1403:23955;12250:4;1403:23955;;:::i;12242:13::-;1403:23955;12189:101;1403:23955;12257:23;1403:23955;;:::i;:::-;12282:7;12189:101;12282:7;;:::i;:::-;1403:23955;;-1:-1:-1;;;1403:23955:103;12189:101;;;-1:-1:-1;;;;;1403:23955:103;;;;12189:101;;1403:23955;;;;;;;;;;;;;;;;;;;;;;12189:101;;1403:23955;;12189:101;;;;;;:::i;:::-;1403:23955;;12112:192;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;12112:192:103;;;;;;12332:53;;-1:-1:-1;;;;;1403:23955:103;12332:53;:::i;:::-;1403:23955;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;2089:6:61;-1:-1:-1;;;;;1403:23955:103;2080:4:61;2072:23;1403:23955:103;;;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;2492:103:45;;;:::i;:::-;15402:1009:103;;:::i;:::-;1403:23955;15595:26;15539:10;15595:26;:::i;:::-;1403:23955;:::i;:::-;-1:-1:-1;15716:3:103;1403:23955;;15687:27;;;;;15859:49;:35;15874:19;;;;;:::i;:::-;1403:23955;-1:-1:-1;;;;;1403:23955:103;;;15859:49;1403:23955;;;;689:66:57;;;;;15859:72:103;;15539:10;-1:-1:-1;15539:10:103;15859:72;15539:10;;15859:72;;;;:::i;:::-;;;;;;;;;15716:3;15859:72;-1:-1:-1;15859:72:103;;;15716:3;15949:21;;15945:232;;15716:3;;;:::i;:::-;15672:13;;15945:232;15990:70;:50;:29;15539:10;15990:29;:::i;:::-;16020:19;;;;;:::i;:::-;15990:50;;:::i;:::-;1403:23955;;;15990:70;:::i;:::-;1403:23955;;15945:232;;;15859:72;;;;;;;;;;;;;;:::i;:::-;;;;15687:27;16361:43;;15687:27;16265:13;1403:23955;;16213:11;1403:23955;;:::i;:::-;16258:4;15539:10;;16265:13;;:::i;:::-;16289:40;:27;15539:10;16289:27;:::i;:::-;:40;:57;1403:23955;;;16289:57;:::i;:::-;1403:23955;;;;15539:10;;;;16361:43;;:::i;:::-;;;;2557:1:45;1808;2086:22;1403:23955:103;2006:109:45;1403:23955:103;;;;;;-1:-1:-1;;1403:23955:103;;;;5574:31;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:45;;;:::i;:::-;16554:1562:103;;:::i;:::-;16750:26;16693:10;16750:26;:::i;:::-;16826:40;;16693:10;16826:58;16693:10;;16826:27;16693:10;16826:27;:::i;:::-;:40;1403:23955;16826:58;:::i;:::-;16887:19;1403:23955;-1:-1:-1;16822:140:103;;16693:10;;;17004:15;16693:10;;1403:23955;16971:11;1403:23955;;:::i;:::-;17004:15;:::i;:::-;-1:-1:-1;17030:951:103;16826:40;;;17030:951;18064:45;;16693:10;;17990:27;16693:10;17990:27;:::i;:::-;:40;:59;1403:23955;;;17990:59;:::i;17079:3::-;1403:23955;;;;;;17050:27;;;;;;;1403:23955;17117:19;;;;:::i;:::-;1403:23955;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;17154:60;;;;:::i;:::-;;;;1403:23955;;;;;;689:66:57;;;;;17253:63:103;;16693:10;-1:-1:-1;16693:10:103;17253:63;16693:10;;;17253:63;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;17253:63;;;;;;;-1:-1:-1;17253:63:103;;;17150:804;16693:10;17357:50;:29;16693:10;17357:29;:::i;:::-;1403:23955;17387:19;;;;:::i;17357:50::-;1403:23955;;17429:31;;;;;;1403:23955;;-1:-1:-1;;;17491:57:103;;;;;1403:23955;;;;;;;;;;;;;1252:35:101;;;17425:259:103;16693:10;;;;;;;;17079:3;16693:10;17595:70;:50;:29;16693:10;17595:29;:::i;:::-;1403:23955;17625:19;;;;:::i;17595:50::-;1403:23955;;;17595:70;:::i;:::-;1403:23955;;17079:3;:::i;:::-;17035:13;;;;;;;17253:63;;;;;;;;;;;;;;;:::i;:::-;;;;;17150:804;17828:27;17930:8;17079:3;17828:27;;17789:67;1403:23955;17811:45;17828:27;;;;;;;:::i;:::-;17811:45;;:::i;1403:23955::-;17789:19;;;;:::i;:::-;:67;;:::i;:::-;17874:20;;;:::i;17930:8::-;17079:3;:::i;17050:27::-;;;;;;16822:140;1403:23955;;-1:-1:-1;;;16929:22:103;;;1403:23955;;;;;6431:98;1403:23955;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;6431:98;1403:23955;;;6431:98;1403:23955;;;;;6431:98;:::i;:::-;1403:23955;;;;;;;;;;;;;;:::i;:::-;2492:103:45;;:::i;:::-;24741:583:103;;:::i;:::-;24873:14;1403:23955;24874:13;1403:23955;;;;;24873:14;24869:68;;24950:18;20547:22;;1403:23955;20502:28;;;:::i;24950:18::-;24946:75;;25053:28;25257:60;1403:23955;25053:28;25257:60;25053:28;;:::i;1403:23955::-;25115:7;;;:::i;:::-;25133:35;25140:28;;;:::i;:::-;1403:23955;25133:35;1403:23955;;;;;;;;;;;;25133:35;25222:19;;1403:23955;25179:11;1403:23955;;:::i;:::-;25222:19;;1403:23955;;;;25222:19;;:::i;:::-;1403:23955;20547:22;1403:23955;25257:60;;;;;:::i;24946:75::-;20547:22;1403:23955;-1:-1:-1;;;24991:19:103;;1403:23955;;24991:19;24869:68;1403:23955;;-1:-1:-1;;;24910:16:103;;1403:23955;;24910:16;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;5673:41;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5933:24;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;1324:62:42;;:::i;:::-;2779:6;1403:23955:103;;-1:-1:-1;;;;;;1403:23955:103;;;;;;;-1:-1:-1;;;;;1403:23955:103;-1:-1:-1;;;;;;;;;;;1403:23955:103;;2827:40:42;1403:23955:103;;;;;;;;-1:-1:-1;;1403:23955:103;;;;19177:237;;:::i;:::-;19304:4;1403:23955;;;-1:-1:-1;;;19304:20:103;;1403:23955;;;19304:20;;;1403:23955;;-1:-1:-1;;;;;1403:23955:103;-1:-1:-1;;1403:23955:103;;;;;;;;19304:20;;;;;;;19398:8;19304:20;1403:23955;19304:20;-1:-1:-1;19304:20:103;;;1403:23955;19304:29;;1403:23955;;19363:8;;;:::i;19304:20::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5477:38;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5764:25;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;18458:321;;:::i;:::-;18582:4;1403:23955;;;-1:-1:-1;;;18582:20:103;;1403:23955;;;18582:20;;;1403:23955;;-1:-1:-1;;1403:23955:103;;;;;;-1:-1:-1;;;;;1403:23955:103;18582:20;;;;;;1403:23955;;18582:20;18574:38;18582:20;-1:-1:-1;18582:20:103;;;1403:23955;18582:29;;1403:23955;;:::i;18574:38::-;18641:8;;;:::i;:::-;18664:60;;;:::i;:::-;18660:113;;1403:23955;18660:113;18753:8;;;:::i;18582:20::-;;;;;;;;;;;;:::i;:::-;;;;1403:23955;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1403:23955:103;6629:60;1403:23955;;;-1:-1:-1;1403:23955:103;;;;;6629:60;1403:23955;6629:60;1403:23955;6629:60;;1403:23955;6629:60;;1403:23955;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;4930:27;1403:23955;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;3459:29:40;1403:23955:103;;;;;:::i;:::-;;;-1:-1:-1;1403:23955:103;3459:6:40;1403:23955:103;;;-1:-1:-1;1403:23955:103;3459:29:40;:::i;1403:23955:103:-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;4436:42;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;20547:22;1403:23955;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1403:23955:103;20502:19;1403:23955;;;;;-1:-1:-1;1403:23955:103;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;20547:22;1403:23955;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;9311:34:103;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5296:26;1403:23955;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;20273:18;1403:23955;;-1:-1:-1;;;;;1403:23955:103;;;20259:10;:32;;;20255:89;;20065:39;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;;;;;;;;;;;;;;;;20154:34;;1403:23955;;20154:34;1403:23955;;20255:89;1403:23955;;-1:-1:-1;;;20314:19:103;;1403:23955;;20314:19;1403:23955;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1403:23955:103;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6149:30;1403:23955;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:45;;:::i;:::-;23920:7:103;23874:10;23920:7;:::i;:::-;23962;23874:10;23962:7;:::i;:::-;23874:10;1403:23955;;24003:19;1403:23955;;24200:48;;1403:23955;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;24041:35;24048:28;23874:10;24048:28;:::i;24041:35::-;1403:23955;24093:27;23874:10;24093:27;:::i;:::-;1403:23955;:::i;:::-;24165:19;1403:23955;24131:11;1403:23955;;:::i;:::-;;;23874:10;;24165:19;;:::i;:::-;1403:23955;;;23874:10;;;;24200:48;;:::i;:::-;;;;2557:1:45;1808;2086:22;1403:23955:103;2006:109:45;4610:7:103;1403:23955;;;4610:7;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;1403:23955::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;4610:7;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;499:12:101;1403:23955:103;;;;;:::i;:::-;5366:69:44;1403:23955:103;-1:-1:-1;1403:23955:103;;;;5366:69:44;:::i;:::-;499:12:101;:::i;1403:23955:103:-;;;;;;;;;;;;;;;;6064:27;1403:23955;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5837:7:40;1403:23955:103;;;;;;;:::i;:::-;;-1:-1:-1;1403:23955:103;4955:6:40;1403:23955:103;;2809:4:40;4955:22;1403:23955:103;-1:-1:-1;1403:23955:103;4955:22:40;1403:23955:103;2809:4:40;:::i;:::-;5837:7;:::i;1403:23955:103:-;;;;;;-1:-1:-1;;1403:23955:103;;;;6005:17;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;4610:7;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5852:25;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;3459:29:40;1403:23955:103;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;1403:23955:103;3459:6:40;1403:23955:103;;;-1:-1:-1;1403:23955:103;3459:29:40;:::i;1403:23955:103:-;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;2423:22:42;1403:23955:103;;2517:8:42;;;:::i;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;5380:30;1403:23955;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;:::i;3789:103:40:-;1403:23955:103;-1:-1:-1;1403:23955:103;3459:6:40;1403:23955:103;;;3459:29:40;965:10:48;1403:23955:103;-1:-1:-1;1403:23955:103;3459:29:40;:::i;:::-;1403:23955:103;;4260:23:40;4256:412;;3789:103;:::o;4256:412::-;965:10:48;2006:25:49;;;:::i;:::-;2041:15;;;;;:::i;:::-;;2066;;;;:::i;:::-;;1403:23955:103;2124:5:49;4610:7:103;2124:5:49;;;;4299:358:40;1403:23955:103;4351:274:40;2236:10:49;1403:23955:103;4554:49:40;2236:10:49;2228:55;2236:10;;2228:55;:::i;:::-;4554:49:40;:::i;:::-;1403:23955:103;;;4351:274:40;;;1403:23955:103;;4351:274:40;;1403:23955:103;;-1:-1:-1;;;1403:23955:103;;;;;;;;:::i;:::-;-1:-1:-1;;;1403:23955:103;;;;;;;4351:274:40;1403:23955:103;;4351:274:40;;;;;;:::i;:::-;1403:23955:103;;-1:-1:-1;;;4299:358:40;;1403:23955:103;;;;4299:358:40;;;:::i;2131:3:49:-;2171:11;2179:3;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;:::-;;1403:23955:103;;2131:3:49;;:::i;:::-;2096:26;;1403:23955:103;;;;;;;;;;;;;:::i;:::-;;;:::o;7938:233:40:-;-1:-1:-1;;;;;;;;;;;;1403:23955:103;;;3459:6:40;1403:23955:103;;-1:-1:-1;1403:23955:103;3459:29:40;1403:23955:103;-1:-1:-1;;;;;;;;;;;3459:29:40;:::i;:::-;1403:23955:103;;8020:23:40;8016:149;;7938:233;;;:::o;8016:149::-;1403:23955:103;;;3459:6:40;1403:23955:103;;8059:29:40;1403:23955:103;;;;8059:29:40;:::i;:::-;1403:23955:103;;-1:-1:-1;;1403:23955:103;8091:4:40;1403:23955:103;;;965:10:48;;-1:-1:-1;;;;;1403:23955:103;;-1:-1:-1;;;;;;;;;;;8114:40:40;;;7938:233::o;8342:234::-;-1:-1:-1;1403:23955:103;;;;3459:6:40;1403:23955:103;;;3459:29:40;1403:23955:103;;;;3459:29:40;:::i;:::-;1403:23955:103;;8421:149:40;;8342:234;;;:::o;8421:149::-;1403:23955:103;;;3459:6:40;1403:23955:103;;8463:29:40;1403:23955:103;;;;8463:29:40;:::i;:::-;1403:23955:103;;-1:-1:-1;;1403:23955:103;;;965:10:48;;-1:-1:-1;;;;;1403:23955:103;;8519:40:40;;;;8342:234::o;1620:130:42:-;1683:7;;:::i;:::-;965:10:48;-1:-1:-1;;;;;1403:23955:103;;;1683:23:42;1403:23955:103;;1620:130:42:o;1403:23955:103:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;1403:23955:103;;-1:-1:-1;;;;;1403:23955:103;;;-1:-1:-1;;;;;;1403:23955:103;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;1403:23955:103:-;;2016:1:49;1403:23955:103;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;3321:1:61;1403:23955:103;;;3321:1:61;1403:23955:103;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;2073:1:49;1403:23955:103;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;1403:23955:103;;:::o;311:18:49:-;;;;:::o;:::-;;1403:23955:103;;;;;311:18:49;;;;;;;;;;;1403:23955:103;311:18:49;1403:23955:103;;;311:18:49;;1884:437;1403:23955:103;;;;;;:::i;:::-;;;;;;;;;;2041:15:49;;;;:::i;:::-;;2066;;;;:::i;:::-;;1403:23955:103;2091:128:49;2124:5;2073:1;2124:5;;;;2228:55;2236:10;;;2228:55;:::i;2131:3::-;2179;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:49;;2150:33;;;;:::i;2131:3::-;2096:26;;;1403:23955:103;;;;:::o;:::-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;-1:-1:-1;;;1403:23955:103;;;;;;;689:66:57;;;;;;;;;;;:::o;:::-;1403:23955:103;;689:66:57;;;;;;;;;;;:::o;:::-;1403:23955:103;;-1:-1:-1;;;689:66:57;;;;;;;;;;;1403:23955:103;689:66:57;1403:23955:103;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;;;;;;;;;;;1403:23955:103;689:66:57;1403:23955:103;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;:::o;2494:922::-;;1403:23955:103;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;;;689:66:57;;;2993:17;;;;:::i;2906:504::-;1403:23955:103;;-1:-1:-1;;;3046:52:57;;1403:23955:103;3046:52:57;1403:23955:103;3046:52:57;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;3046:52:57;;3321:1:61;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;1403:23955:103;;-1:-1:-1;;;3262:56:57;;1403:23955:103;3262:56:57;3046:52;3262:56;;;:::i;3042:291::-;3140:82;-1:-1:-1;;;;;;;;;;;3389:9:57;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;;;;;;;;;;;:::i;:::-;;;;;2494:922;;1403:23955:103;-1:-1:-1;;;;;;;;;;;1403:23955:103;;;;;;689:66:57;;;2993:17;;;;:::i;2906:504::-;1403:23955:103;;-1:-1:-1;;;3046:52:57;;1403:23955:103;3046:52:57;1403:23955:103;3046:52:57;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;3046:52:57;;;;;;;2906:504;-1:-1:-1;3042:291:57;;1403:23955:103;;-1:-1:-1;;;3262:56:57;;1403:23955:103;3262:56:57;3046:52;3262:56;;;:::i;3042:291::-;3140:82;-1:-1:-1;;;;;;;;;;;3389:9:57;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;;;;;;;;;;;:::i;:::-;;;;;1406:259;1702:19:73;;:23;1403:23955:103;;-1:-1:-1;;;;;;;;;;;1403:23955:103;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;1406:259:57:o;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;2057:265:57;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;-1:-1:-1;;;;;;;;;;;3321:1:61;;1889:27:57;1403:23955:103;;2208:15:57;;;:28;;;2057:265;2204:112;;2057:265;;:::o;2204:112::-;7307:69:73;1403:23955:103;3321:1:61;1403:23955:103;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;7265:25:73;;;;;;;;;:::i;:::-;7307:69;;:::i;:::-;;2057:265:57:o;2208:28::-;;3321:1:61;2208:28:57;;2057:265;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;-1:-1:-1;;;;;;;;;;;1889:27:57;;;1403:23955:103;;2208:15:57;;;:28;;;2204:112;;2057:265;;:::o;2208:28::-;;1403:23955:103;2208:28:57;;1403:23955:103;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1403:23955:103;;;;:::o;:::-;;;:::o;7671:628:73:-;;;;7875:418;;;1403:23955:103;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;1403:23955:103;;8201:17:73;:::o;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;7875:418:73;1403:23955:103;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;1403:23955:103;;-1:-1:-1;;;9324:20:73;;1403:23955:103;;;9324:20:73;;;;;;:::i;1403:23955:103:-;;;;:::o;:::-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;5328:125:44;499:12:101;5328:125:44;5366:69;1403:23955:103;5374:13:44;1403:23955:103;;;;5366:69:44;:::i;1403:23955:103:-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;525:604:101:-;1534:6:42;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;707:33:101;;;;822:19;:::o;703:420::-;1403:23955:103;;-1:-1:-1;;;876:40:101;;;1403:23955:103;876:40:101;1403:23955:103;876:40:101;;;744:1;;876:40;;;703:420;-1:-1:-1;872:241:101;;1079:19;;:::o;872:241::-;960:13;;;:::o;876:40::-;;;;;;;;;;;;;;;:::i;:::-;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;:::o;3246:506:44:-;;;;;3302:13;1403:23955:103;;;;;;;3301:14:44;3347:34;;;;;;3246:506;3346:108;;;;3246:506;1403:23955:103;;;;3636:1:44;3536:16;;;1403:23955:103;;;3302:13:44;1403:23955:103;;;3302:13:44;1403:23955:103;;3536:16:44;3562:65;;3636:1;:::i;:::-;3647:99;;3246:506::o;3647:99::-;3681:21;1403:23955:103;;3302:13:44;1403:23955:103;;3302:13:44;1403:23955:103;;3681:21:44;1403:23955:103;;3551:1:44;1403:23955:103;;3721:14:44;;1403:23955:103;;;;3721:14:44;;;;3246:506::o;3562:65::-;3596:20;1403:23955:103;;;3302:13:44;1403:23955:103;;;3302:13:44;1403:23955:103;;3596:20:44;3636:1;:::i;1403:23955:103:-;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;;;3346:108:44;3426:4;1702:19:73;:23;;-1:-1:-1;1702:23:73;3387:66:44;;3346:108;;;;;3387:66;3452:1;1403:23955:103;;;;3436:17:44;3387:66;;;3347:34;3380:1;1403:23955:103;;;3365:16:44;;-1:-1:-1;3347:34:44;;1403:23955:103;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;10370:37;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;:::o;:::-;;;10417:42;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;10370:37;1403:23955;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1403:23955:103;;;;;10370:37;1403:23955;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;10417:42;1403:23955;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;10417:42;1403:23955;;-1:-1:-1;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;10901:1;1403:23955;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;-1:-1:-1;;1403:23955:103;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1403:23955:103;;;;;;;;:::o;:::-;-1:-1:-1;;1403:23955:103;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;10370:37;1403:23955;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;1403:23955:103;;;;-1:-1:-1;1403:23955:103;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1403:23955:103;;;;-1:-1:-1;;;1403:23955:103;;;;11625:36;1403:23955;;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;;-1:-1:-1;1403:23955:103;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;9358:2496::-;;;404:115:101;9358:2496:103;404:115:101;:::i;:::-;1889:111:45;;:::i;:::-;2838:65:40;;:::i;:::-;9705:18:103;;:::i;:::-;9762:19;;;;1403:23955;9754:28;;1403:23955;;;;:::i;9754:28::-;;:::i;:::-;9812:19;;;9793:39;;1403:23955;;;;:::i;9793:39::-;9861:12;1403:23955;;;;:::i;9861:12::-;9903:23;;;;1403:23955;;;;:::i;9903:23::-;10078:33;1403:23955;9942:20;;;1403:23955;;;9938:95;;9358:2496;10042:26;10049:19;1403:23955;;;;:::i;10049:19::-;10042:26;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;10042:26;1403:23955;;:::i;:::-;10078:33;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;10078:33;10125:27;;;;;1403:23955;;10125:32;10121:89;;1403:23955;10470:41;1403:23955;10578:26;1403:23955;10278:35;1403:23955;;10219:49;10615:47;1403:23955;;10219:49;1403:23955;;10219:49;1403:23955;10278:35;1403:23955;;10278:35;10323:37;1403:23955;10339:21;;;1403:23955;;;;;;;;;;;;;;;;;;;;10323:37;1403:23955;10386:21;;;;1403:23955;:::i;:::-;;10436:23;;;;1403:23955;:::i;:::-;9812:19;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;10470:41;10521:33;1403:23955;10535:19;;;1403:23955;;:::i;:::-;10323:37;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;10578:26;10564:40;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;10615:47;:::i;:::-;10694:18;1403:23955;10694:16;1403:23955;10042:26;1403:23955;;:::i;10694:16::-;1403:23955;;-1:-1:-1;;;10694:18:103;;1403:23955;;;;;10694:18;;;;;;10673:40;10694:18;2365:4:40;10694:18:103;;;9358:2496;-1:-1:-1;10673:40:103;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;10673:40;2365:4:40;1403:23955:103;10812:20;1403:23955;10564:40;1403:23955;;:::i;10812:20::-;:32;;;:20;;10887:16;11508:106;10887:16;11245:74;10887:16;;:::i;:::-;10942:10;10917:35;10942:10;10917:35;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;10917:35;11245:74;11265:30;1403:23955;;11265:30;:::i;:::-;11245:74;;:::i;:::-;11329:67;11391:4;11329:67;11349:30;1403:23955;;11349:30;:::i;11329:67::-;1403:23955;;11508:22;1403:23955;10673:40;1403:23955;;:::i;11508:22::-;689:66:57;11531:13:103;;;1403:23955;11561:16;;;2365:4:40;11561:16:103;;1403:23955;;689:66:57;;;;;;;;;;11508:106:103;;11391:4;11508:106;10694:18;11508:106;;;:::i;:::-;;;;;;;;;;11784:63;11508:106;11484:130;11672:36;11508:106;1403:23955;11508:106;11718:50;11508:106;2365:4:40;11508:106:103;;;10808:427;11484:130;;;1403:23955;;11484:130;1403:23955;:::i;:::-;11672:36;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;11672:36;11718:50;1403:23955;;-1:-1:-1;;;;;;1403:23955:103;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;11718:50;11784:63;11484:130;1403:23955;11830:16;;1403:23955;;11784:63;;;;;:::i;11508:106::-;;;;;;-1:-1:-1;11508:106:103;;;;;;:::i;:::-;;;;;10808:427;1403:23955;;;;;;;;;689:66:57;;;11009:23:103;;;;10694:18;11009:23;;;;;;;;;;;;;10808:427;1403:23955;;11068:32;11082:17;1403:23955;;11082:17;:::i;:::-;11068:32;:::i;:::-;11119:13;2365:4:40;11153:3:103;1403:23955;;11134:17;;;;;11201:9;11176:34;11201:9;;11153:3;11201:9;;;:::i;:::-;11176:34;;;;:::i;11153:3::-;11119:13;;11134:17;;;;;;11508:106;11134:17;;;;11245:74;11134:17;10808:427;;11009:23;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;10694:18;;;;;;;;;;;;;;:::i;:::-;;;;10121:89;1403:23955;;-1:-1:-1;;;10180:19:103;;;;;9938:95;10002:19;1403:23955;10002:19;;;1403:23955;;:::i;10002:19::-;9938:95;;5328:125:44;5366:69;1403:23955:103;5374:13:44;1403:23955:103;;;;5366:69:44;:::i;7523:247:40:-;-1:-1:-1;;;;;;;;;;;2365:4:40;1403:23955:103;;;4955:6:40;1403:23955:103;;4955:22:40;1403:23955:103;;;;;;2365:4:40;;7711:52;2365:4;;7711:52;7523:247::o;5328:125:44:-;5366:69;1403:23955:103;5374:13:44;1403:23955:103;;;;5366:69:44;;;:::i;:::-;;:::i;:::-;1808:1:45;2086:22;1403:23955:103;5328:125:44:o;8639:133:103:-;-1:-1:-1;;;;;1403:23955:103;8713:22;8709:56;;8639:133::o;8709:56::-;1403:23955;;-1:-1:-1;;;8744:21:103;;;;;1403:23955;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12805:14;1403:23955;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;-1:-1:-1;1403:23955:103;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;12688:1;1403:23955;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12398:661::-;;;;;4436:42;;-1:-1:-1;;;;;1403:23955:103;;12666:65;;12398:661;12907:19;;12740:20;1403:23955;;12688:1;1403:23955;;:::i;:::-;;12839:134;:33;1403:23955;12839:4;1403:23955;;:::i;12839:33::-;1403:23955;12907:19;12886:9;1403:23955;;;;12907:19;;;;;;;:::i;:::-;;1403:23955;;12907:19;;;;;;:::i;:::-;1403:23955;;;689:66:57;;;;;;;;;;12839:134:103;;;;;;:::i;:::-;;;;;;;;;;12989:63;12839:134;12688:1;12839:134;;;12398:661;12830:143;12989:63;12830:143;;1403:23955;;;13027:4;;;;12989:63;;;:::i;12839:134::-;12989:63;12839:134;;;;;12907:19;12839:134;;;;;;;;;:::i;:::-;;;;;12666:65;12706:14;;-1:-1:-1;12666:65:103;;1403:23955;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;:::i;:::-;;;:::o;:::-;;;;-1:-1:-1;;;1403:23955:103;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1403:23955:103;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;;:::o;7933:157::-;1403:23955;;;;;;;;-1:-1:-1;1403:23955:103;20502:19;1403:23955;;;;20547:22;-1:-1:-1;1403:23955:103;20547:22;1403:23955;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20547:22;1403:23955;;;;;8009:75;;7933:157::o;8096:163::-;-1:-1:-1;;;;;1403:23955:103;-1:-1:-1;1403:23955:103;;;8173:17;1403:23955;;;;;;;;8172:29;8168:85;;8096:163::o;8168:85::-;1403:23955;;-1:-1:-1;;;8224:18:103;;;;;1403:23955;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;14963:433;;;1403:23955;;;;;;;;-1:-1:-1;1403:23955:103;15097:18;1403:23955;;;-1:-1:-1;1403:23955:103;-1:-1:-1;15183:3:103;1403:23955;;15154:27;;;;;;;15206:19;;;;:::i;:::-;1403:23955;;;;;;;;;;;;;15206:32;15202:178;;15183:3;;;;;;:::i;:::-;15139:13;;15202:178;-1:-1:-1;;1403:23955:103;;;;;;;15183:3;15280:45;;;;;;:::i;:::-;1403:23955;;;;;;;15258:19;;;;:::i;:::-;1403:23955;;;;;:::i;:::-;;;15343:20;;;:::i;:::-;15202:178;;;15154:27;;;;;;;14963:433::o;2601:287:45:-;1851:1;2733:7;1403:23955:103;2733:19:45;1851:1;;;2733:7;1403:23955:103;2601:287:45:o;1851:1::-;1403:23955:103;;-1:-1:-1;;;1851:1:45;;;;;;;;;;;1403:23955:103;1851:1:45;1403:23955:103;;;1851:1:45;;;;1355:203:70;;1482:68;1355:203;1482:68;;1355:203;1403:23955:103;;689:66:57;;;;;;1482:68:70;;;;;;;;:::i;:::-;;1403:23955:103;;1482:68:70;;;;;;:::i;:::-;1403:23955:103;;5535:69:73;;-1:-1:-1;;;;;1403:23955:103;;;;:::i;:::-;-1:-1:-1;1403:23955:103;;;;;;;;;;;5487:31:73;;;;;;;;;;;:::i;5535:69::-;1403:23955:103;;5728:22:70;;;:56;;;;;5196:642;1403:23955:103;;;;;;;5196:642:70;:::o;1403:23955:103:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1403:23955:103;;;;;5728:56:70;5754:30;;;;;;1403:23955:103;;;;5754:30:70;;1403:23955:103;;;;:::i;:::-;5728:56:70;;;;;7775:152:103;7857:10;-1:-1:-1;1403:23955:103;20502:19;1403:23955;;20547:22;-1:-1:-1;1403:23955:103;;;20547:22;1403:23955;;;;;:::i;:::-;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;20547:22;1403:23955;;;;;;;7843:78;;7775:152::o;941:175:70:-;1050:58;;941:175;;1050:58;1403:23955:103;;689:66:57;;;;;;1050:58:70;;;;;;;;:::i;1349:282:78:-;1403:23955:103;;4592:71:78;;;;;1204:36:50;-1:-1:-1;1204:36:50;;;4592:71:78;;;;;;;;1403:23955:103;4592:71:78;;;;;;:::i;:::-;4784:212;;;;;;;;-1:-1:-1;4784:212:78;5013:29;;;;1349:282;5013:48;;;;1349:282;975:149;;;;1349:282;1543:81;;;;;;1536:88;1349:282;:::o;1543:81::-;1570:54;;;;:::i;975:149::-;1403:23955:103;;;;-1:-1:-1;1403:23955:103;;;;;4592:71:78;;;;;;1403:23955:103;;;4592:71:78;;;1403:23955:103;4592:71:78;;;;;;:::i;:::-;4784:212;;;-1:-1:-1;4784:212:78;;;;;5013:29;;975:149;5013:48;;;;;975:149;1059:65;;975:149;;;;;;5013:48;5046:15;;;;5013:48;;;:29;5024:18;;;-1:-1:-1;5013:29:78;;;;:48;5046:15;;;-1:-1:-1;5013:48:78;;;:29;5024:18;-1:-1:-1;5024:18:78;;-1:-1:-1;5013:29:78;;;4421:647;-1:-1:-1;4592:71:78;4421:647;1403:23955:103;;4592:71:78;;;1204:36:50;;;;4592:71:78;;17181:32:103;;;4592:71:78;;;1403:23955:103;4592:71:78;;;;;;:::i;:::-;4784:212;;;;-1:-1:-1;4784:212:78;;5013:29;;;4421:647;5013:48;;;;5006:55;4421:647;:::o;5013:48::-;5046:15;;;;4421:647;:::o;5013:29::-;4592:71;-1:-1:-1;5024:18:78;;-1:-1:-1;5013:29:78;;;1403:23955:103;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1403:23955:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:66:57;;1403:23955:103;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;689:66:57;1403:23955:103;;;;;689:66:57;1403:23955:103;;;;;:::o;7602:167::-;-1:-1:-1;;;;;;;;;;;;1403:23955:103;3459:6:40;1403:23955:103;;;3459:29:40;7690:10:103;-1:-1:-1;;;;;;;;;;;3459:29:40;:::i;:::-;1403:23955:103;;7665:36;7661:102;;7602:167::o;7661:102::-;1403:23955;;-1:-1:-1;;;7724:28:103;;7690:10;7724:28;;;1403:23955;;;7724:28;18919:252;-1:-1:-1;;;;;1403:23955:103;-1:-1:-1;1403:23955:103;;;18994:17;1403:23955;;;;;;;;;;;18990:85;;1403:23955;;;19137:27;1403:23955;-1:-1:-1;1403:23955:103;;;;-1:-1:-1;1403:23955:103;;;;;;;;;;;;;;;19137:27;18919:252::o;18990:85::-;1403:23955;;-1:-1:-1;;;19048:16:103;;;;;19420:194;1403:23955;19581:26;19420:194;19510:9;;;:::i;:::-;-1:-1:-1;;;;;1403:23955:103;19561:5;1403:23955;;;19530:17;1403:23955;;;;;;;;;-1:-1:-1;;1403:23955:103;;;;;;;19581:26;19420:194::o;24261:474::-;;-1:-1:-1;1403:23955:103;;;;;;;;;;24374:18;1403:23955;;;;;;;;;:::i;:::-;24482:13;24526:3;1403:23955;;24497:27;;;;;24657:52;:35;24672:19;;;;;:::i;24657:52::-;:61;;;;;;1403:23955;;;689:66:57;;;;;24657:61:103;;;;;;;;;;;:::i;:::-;;;;;;;;;;24526:3;24657:61;;;24526:3;;:::i;:::-;24482:13;;24657:61;;;;;;:::i;:::-;;;:::i;:::-;;;;;1403:23955;;;24497:27;;;;;;;24261:474::o","linkReferences":{},"immutableReferences":{"54869":[{"start":5471,"length":32},{"start":6003,"length":32},{"start":6987,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","VERSION()":"ffa1ad74","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","collateralVaultTemplate()":"77122d56","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"524e59e8","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"e16d0e32","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string),address,address,address)":"34196355","initialize(address)":"c4d66de8","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","setStrategyTemplate(address)":"1b71f0e4","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"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\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryCommunityV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"collateralVaultTemplate()\":{\"notice\":\"The address of the collateral vault template\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":\"RegistryCommunityV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"collateralVaultTemplate()":{"notice":"The address of the collateral vault template"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":"RegistryCommunityV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":52464,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":52533,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53266,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":51686,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)"},{"astId":51993,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":71387,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registerStakeAmount","offset":0,"slot":"251","type":"t_uint256"},{"astId":71390,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityFee","offset":0,"slot":"252","type":"t_uint256"},{"astId":71393,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"cloneNonce","offset":0,"slot":"253","type":"t_uint256"},{"astId":71396,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"profileId","offset":0,"slot":"254","type":"t_bytes32"},{"astId":71399,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isKickEnabled","offset":0,"slot":"255","type":"t_bool"},{"astId":71402,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"feeReceiver","offset":1,"slot":"255","type":"t_address"},{"astId":71405,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registryFactory","offset":0,"slot":"256","type":"t_address"},{"astId":71408,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"collateralVaultTemplate","offset":0,"slot":"257","type":"t_address"},{"astId":71411,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategyTemplate","offset":0,"slot":"258","type":"t_address"},{"astId":71414,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":71418,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":71422,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)55825"},{"astId":71426,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)74891"},{"astId":71430,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)74624"},{"astId":71433,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":71436,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":71441,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":71448,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":71454,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)71595_storage)"},{"astId":71460,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":71467,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":71471,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":73112,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)74624":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)55825":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)74891":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)71595_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunityV0_0.Member)","numberOfBytes":"32","value":"t_struct(Member)71595_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)51681_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)51681_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)71595_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_0.Member","numberOfBytes":"96","members":[{"astId":71590,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":71592,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":71594,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)51681_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":51678,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":51680,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","id":73114,"exportedSymbols":{"AccessControlUpgradeable":[51994],"CVStrategyV0_0":[70168],"Clone":[3002],"ERC165Checker":[57224],"ERC1967Proxy":[54318],"FAllo":[74624],"IAllo":[2610],"IERC20":[55825],"IPointStrategy":[66494],"IRegistry":[2802],"IRegistryFactory":[70431],"ISafe":[74891],"Metadata":[3098],"ProxyOwnableUpgrader":[71125],"ReentrancyGuardUpgradeable":[52534],"RegistryCommunityV0_0":[73113],"SafeERC20":[56262],"StrategyStruct":[66616],"UUPSUpgradeable":[54969],"Upgrades":[60481]},"nodeType":"SourceUnit","src":"42:25317:103","nodes":[{"id":71146,"nodeType":"PragmaDirective","src":"42:24:103","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":71148,"nodeType":"ImportDirective","src":"68:70:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":55826,"symbolAliases":[{"foreign":{"id":71147,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55825,"src":"76:6:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71150,"nodeType":"ImportDirective","src":"139:82:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":56263,"symbolAliases":[{"foreign":{"id":71149,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56262,"src":"147:9:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71152,"nodeType":"ImportDirective","src":"222:92:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":57225,"symbolAliases":[{"foreign":{"id":71151,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57224,"src":"230:13:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71154,"nodeType":"ImportDirective","src":"315:88:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":71153,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"323:15:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71156,"nodeType":"ImportDirective","src":"405:132:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":52535,"symbolAliases":[{"foreign":{"id":71155,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52534,"src":"413:26:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71158,"nodeType":"ImportDirective","src":"538:126:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":51995,"symbolAliases":[{"foreign":{"id":71157,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51994,"src":"546:24:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71160,"nodeType":"ImportDirective","src":"666:66:103","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":71159,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"674:5:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71162,"nodeType":"ImportDirective","src":"733:65:103","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":71161,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"741:5:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71165,"nodeType":"ImportDirective","src":"799:84:103","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":71163,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"807:9:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":71164,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"818:8:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71167,"nodeType":"ImportDirective","src":"884:46:103","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","file":"../interfaces/FAllo.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":74625,"symbolAliases":[{"foreign":{"id":71166,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74624,"src":"892:5:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71169,"nodeType":"ImportDirective","src":"931:46:103","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"../interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":74908,"symbolAliases":[{"foreign":{"id":71168,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74891,"src":"939:5:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71171,"nodeType":"ImportDirective","src":"978:57:103","nodes":[],"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","file":"../IRegistryFactory.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":70432,"symbolAliases":[{"foreign":{"id":71170,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70431,"src":"986:16:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71175,"nodeType":"ImportDirective","src":"1036:96:103","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":70169,"symbolAliases":[{"foreign":{"id":71172,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70168,"src":"1044:14:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":71173,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"1060:14:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":71174,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"1076:14:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71177,"nodeType":"ImportDirective","src":"1133:66:103","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":60602,"symbolAliases":[{"foreign":{"id":71176,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60481,"src":"1141:8:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71179,"nodeType":"ImportDirective","src":"1200:84:103","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":54319,"symbolAliases":[{"foreign":{"id":71178,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54318,"src":"1208:12:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71181,"nodeType":"ImportDirective","src":"1285:65:103","nodes":[],"absolutePath":"pkg/contracts/src/ProxyOwnableUpgrader.sol","file":"../ProxyOwnableUpgrader.sol","nameLocation":"-1:-1:-1","scope":73114,"sourceUnit":71126,"symbolAliases":[{"foreign":{"id":71180,"name":"ProxyOwnableUpgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71125,"src":"1293:20:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73113,"nodeType":"ContractDefinition","src":"1403:23955:103","nodes":[{"id":71192,"nodeType":"EventDefinition","src":"1684:29:103","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"1690:7:103","parameters":{"id":71191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71190,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"1706:5:103","nodeType":"VariableDeclaration","scope":71192,"src":"1698:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71189,"name":"address","nodeType":"ElementaryTypeName","src":"1698:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1697:15:103"}},{"id":71196,"nodeType":"EventDefinition","src":"1718:36:103","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"1724:14:103","parameters":{"id":71195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71194,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"1747:5:103","nodeType":"VariableDeclaration","scope":71196,"src":"1739:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71193,"name":"address","nodeType":"ElementaryTypeName","src":"1739:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1738:15:103"}},{"id":71202,"nodeType":"EventDefinition","src":"1759:74:103","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"1765:24:103","parameters":{"id":71201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71198,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"1798:10:103","nodeType":"VariableDeclaration","scope":71202,"src":"1790:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71197,"name":"address","nodeType":"ElementaryTypeName","src":"1790:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71200,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"1818:13:103","nodeType":"VariableDeclaration","scope":71202,"src":"1810:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71199,"name":"address","nodeType":"ElementaryTypeName","src":"1810:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1789:43:103"}},{"id":71208,"nodeType":"EventDefinition","src":"1838:63:103","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"1844:16:103","parameters":{"id":71207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71204,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1869:7:103","nodeType":"VariableDeclaration","scope":71208,"src":"1861:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71203,"name":"address","nodeType":"ElementaryTypeName","src":"1861:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71206,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"1886:13:103","nodeType":"VariableDeclaration","scope":71208,"src":"1878:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71205,"name":"uint256","nodeType":"ElementaryTypeName","src":"1878:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1860:40:103"}},{"id":71214,"nodeType":"EventDefinition","src":"1906:67:103","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"1912:18:103","parameters":{"id":71213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71210,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1939:7:103","nodeType":"VariableDeclaration","scope":71214,"src":"1931:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71209,"name":"address","nodeType":"ElementaryTypeName","src":"1931:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71212,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"1956:15:103","nodeType":"VariableDeclaration","scope":71214,"src":"1948:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71211,"name":"uint256","nodeType":"ElementaryTypeName","src":"1948:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1930:42:103"}},{"id":71222,"nodeType":"EventDefinition","src":"1978:87:103","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"1984:12:103","parameters":{"id":71221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71216,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2005:7:103","nodeType":"VariableDeclaration","scope":71222,"src":"1997:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71215,"name":"address","nodeType":"ElementaryTypeName","src":"1997:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71218,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"2022:16:103","nodeType":"VariableDeclaration","scope":71222,"src":"2014:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71217,"name":"address","nodeType":"ElementaryTypeName","src":"2014:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71220,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"2048:15:103","nodeType":"VariableDeclaration","scope":71222,"src":"2040:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71219,"name":"uint256","nodeType":"ElementaryTypeName","src":"2040:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:68:103"}},{"id":71226,"nodeType":"EventDefinition","src":"2070:43:103","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"2076:19:103","parameters":{"id":71225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71224,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"2104:7:103","nodeType":"VariableDeclaration","scope":71226,"src":"2096:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71223,"name":"uint256","nodeType":"ElementaryTypeName","src":"2096:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2095:17:103"}},{"id":71235,"nodeType":"EventDefinition","src":"2118:89:103","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"2124:19:103","parameters":{"id":71234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71228,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"2152:10:103","nodeType":"VariableDeclaration","scope":71235,"src":"2144:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":71227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2144:7:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":71230,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"2171:14:103","nodeType":"VariableDeclaration","scope":71235,"src":"2164:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71229,"name":"string","nodeType":"ElementaryTypeName","src":"2164:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71233,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2196:9:103","nodeType":"VariableDeclaration","scope":71235,"src":"2187:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":71232,"nodeType":"UserDefinedTypeName","pathNode":{"id":71231,"name":"Metadata","nameLocations":["2187:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2187:8:103"},"referencedDeclaration":3098,"src":"2187:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2143:63:103"}},{"id":71239,"nodeType":"EventDefinition","src":"2212:39:103","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"2218:13:103","parameters":{"id":71238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71237,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2240:9:103","nodeType":"VariableDeclaration","scope":71239,"src":"2232:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71236,"name":"address","nodeType":"ElementaryTypeName","src":"2232:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2231:19:103"}},{"id":71243,"nodeType":"EventDefinition","src":"2256:41:103","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"2262:15:103","parameters":{"id":71242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71241,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2286:9:103","nodeType":"VariableDeclaration","scope":71243,"src":"2278:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71240,"name":"address","nodeType":"ElementaryTypeName","src":"2278:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2277:19:103"}},{"id":71251,"nodeType":"EventDefinition","src":"2302:93:103","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"2308:23:103","parameters":{"id":71250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71245,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2340:7:103","nodeType":"VariableDeclaration","scope":71251,"src":"2332:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71244,"name":"address","nodeType":"ElementaryTypeName","src":"2332:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71247,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2357:9:103","nodeType":"VariableDeclaration","scope":71251,"src":"2349:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71246,"name":"address","nodeType":"ElementaryTypeName","src":"2349:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71249,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"2376:17:103","nodeType":"VariableDeclaration","scope":71251,"src":"2368:25:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71248,"name":"uint256","nodeType":"ElementaryTypeName","src":"2368:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2331:63:103"}},{"id":71257,"nodeType":"EventDefinition","src":"2400:68:103","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"2406:25:103","parameters":{"id":71256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71253,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2440:7:103","nodeType":"VariableDeclaration","scope":71257,"src":"2432:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71252,"name":"address","nodeType":"ElementaryTypeName","src":"2432:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71255,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2457:9:103","nodeType":"VariableDeclaration","scope":71257,"src":"2449:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71254,"name":"address","nodeType":"ElementaryTypeName","src":"2449:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2431:36:103"}},{"id":71261,"nodeType":"EventDefinition","src":"2473:47:103","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"2479:20:103","parameters":{"id":71260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71259,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"2508:10:103","nodeType":"VariableDeclaration","scope":71261,"src":"2500:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71258,"name":"uint256","nodeType":"ElementaryTypeName","src":"2500:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2499:20:103"}},{"id":71267,"nodeType":"EventDefinition","src":"2525:67:103","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"2531:20:103","parameters":{"id":71266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71263,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2560:7:103","nodeType":"VariableDeclaration","scope":71267,"src":"2552:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71262,"name":"address","nodeType":"ElementaryTypeName","src":"2552:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71265,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"2577:13:103","nodeType":"VariableDeclaration","scope":71267,"src":"2569:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71264,"name":"uint256","nodeType":"ElementaryTypeName","src":"2569:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2551:40:103"}},{"id":71273,"nodeType":"EventDefinition","src":"2597:69:103","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"2603:20:103","parameters":{"id":71272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71269,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2632:7:103","nodeType":"VariableDeclaration","scope":71273,"src":"2624:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71268,"name":"address","nodeType":"ElementaryTypeName","src":"2624:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71271,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"2649:15:103","nodeType":"VariableDeclaration","scope":71273,"src":"2641:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71270,"name":"uint256","nodeType":"ElementaryTypeName","src":"2641:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2623:42:103"}},{"id":71286,"nodeType":"EventDefinition","src":"2671:110:103","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"2677:11:103","parameters":{"id":71285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71275,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"2697:7:103","nodeType":"VariableDeclaration","scope":71286,"src":"2689:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71274,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71277,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2714:9:103","nodeType":"VariableDeclaration","scope":71286,"src":"2706:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71276,"name":"address","nodeType":"ElementaryTypeName","src":"2706:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71279,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"2733:10:103","nodeType":"VariableDeclaration","scope":71286,"src":"2725:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71278,"name":"address","nodeType":"ElementaryTypeName","src":"2725:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71281,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"2753:6:103","nodeType":"VariableDeclaration","scope":71286,"src":"2745:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71280,"name":"address","nodeType":"ElementaryTypeName","src":"2745:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71284,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2770:9:103","nodeType":"VariableDeclaration","scope":71286,"src":"2761:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":71283,"nodeType":"UserDefinedTypeName","pathNode":{"id":71282,"name":"Metadata","nameLocations":["2761:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2761:8:103"},"referencedDeclaration":3098,"src":"2761:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2688:92:103"}},{"id":71288,"nodeType":"ErrorDefinition","src":"2967:28:103","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"2973:19:103","parameters":{"id":71287,"nodeType":"ParameterList","parameters":[],"src":"2992:2:103"}},{"id":71290,"nodeType":"ErrorDefinition","src":"3000:29:103","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3006:20:103","parameters":{"id":71289,"nodeType":"ParameterList","parameters":[],"src":"3026:2:103"}},{"id":71294,"nodeType":"ErrorDefinition","src":"3034:38:103","nodes":[],"errorSelector":"fc4be72f","name":"UserNotInCouncil","nameLocation":"3040:16:103","parameters":{"id":71293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71292,"mutability":"mutable","name":"_user","nameLocation":"3065:5:103","nodeType":"VariableDeclaration","scope":71294,"src":"3057:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71291,"name":"address","nodeType":"ElementaryTypeName","src":"3057:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3056:15:103"}},{"id":71296,"nodeType":"ErrorDefinition","src":"3077:26:103","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3083:17:103","parameters":{"id":71295,"nodeType":"ParameterList","parameters":[],"src":"3100:2:103"}},{"id":71298,"nodeType":"ErrorDefinition","src":"3108:30:103","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"3114:21:103","parameters":{"id":71297,"nodeType":"ParameterList","parameters":[],"src":"3135:2:103"}},{"id":71300,"nodeType":"ErrorDefinition","src":"3143:27:103","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"3149:18:103","parameters":{"id":71299,"nodeType":"ParameterList","parameters":[],"src":"3167:2:103"}},{"id":71302,"nodeType":"ErrorDefinition","src":"3175:29:103","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"3181:20:103","parameters":{"id":71301,"nodeType":"ParameterList","parameters":[],"src":"3201:2:103"}},{"id":71304,"nodeType":"ErrorDefinition","src":"3209:31:103","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"3215:22:103","parameters":{"id":71303,"nodeType":"ParameterList","parameters":[],"src":"3237:2:103"}},{"id":71306,"nodeType":"ErrorDefinition","src":"3245:23:103","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"3251:14:103","parameters":{"id":71305,"nodeType":"ParameterList","parameters":[],"src":"3265:2:103"}},{"id":71308,"nodeType":"ErrorDefinition","src":"3273:25:103","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"3279:16:103","parameters":{"id":71307,"nodeType":"ParameterList","parameters":[],"src":"3295:2:103"}},{"id":71310,"nodeType":"ErrorDefinition","src":"3303:26:103","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"3309:17:103","parameters":{"id":71309,"nodeType":"ParameterList","parameters":[],"src":"3326:2:103"}},{"id":71312,"nodeType":"ErrorDefinition","src":"3334:26:103","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"3340:17:103","parameters":{"id":71311,"nodeType":"ParameterList","parameters":[],"src":"3357:2:103"}},{"id":71314,"nodeType":"ErrorDefinition","src":"3365:26:103","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"3371:17:103","parameters":{"id":71313,"nodeType":"ParameterList","parameters":[],"src":"3388:2:103"}},{"id":71316,"nodeType":"ErrorDefinition","src":"3396:29:103","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"3402:20:103","parameters":{"id":71315,"nodeType":"ParameterList","parameters":[],"src":"3422:2:103"}},{"id":71318,"nodeType":"ErrorDefinition","src":"3430:23:103","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"3436:14:103","parameters":{"id":71317,"nodeType":"ParameterList","parameters":[],"src":"3450:2:103"}},{"id":71320,"nodeType":"ErrorDefinition","src":"3458:26:103","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"3464:17:103","parameters":{"id":71319,"nodeType":"ParameterList","parameters":[],"src":"3481:2:103"}},{"id":71322,"nodeType":"ErrorDefinition","src":"3489:29:103","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"3495:20:103","parameters":{"id":71321,"nodeType":"ParameterList","parameters":[],"src":"3515:2:103"}},{"id":71328,"nodeType":"ErrorDefinition","src":"3523:80:103","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"3529:25:103","parameters":{"id":71327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71324,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"3563:15:103","nodeType":"VariableDeclaration","scope":71328,"src":"3555:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71323,"name":"uint256","nodeType":"ElementaryTypeName","src":"3555:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71326,"mutability":"mutable","name":"_currentPower","nameLocation":"3588:13:103","nodeType":"VariableDeclaration","scope":71328,"src":"3580:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71325,"name":"uint256","nodeType":"ElementaryTypeName","src":"3580:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3554:48:103"}},{"id":71355,"nodeType":"StructDefinition","src":"3775:399:103","nodes":[],"canonicalName":"RegistryCommunityV0_0.InitializeParams","members":[{"constant":false,"id":71330,"mutability":"mutable","name":"_allo","nameLocation":"3817:5:103","nodeType":"VariableDeclaration","scope":71355,"src":"3809:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71329,"name":"address","nodeType":"ElementaryTypeName","src":"3809:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71333,"mutability":"mutable","name":"_gardenToken","nameLocation":"3839:12:103","nodeType":"VariableDeclaration","scope":71355,"src":"3832:19:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":71332,"nodeType":"UserDefinedTypeName","pathNode":{"id":71331,"name":"IERC20","nameLocations":["3832:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3832:6:103"},"referencedDeclaration":55825,"src":"3832:6:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":71335,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"3869:20:103","nodeType":"VariableDeclaration","scope":71355,"src":"3861:28:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71334,"name":"uint256","nodeType":"ElementaryTypeName","src":"3861:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71337,"mutability":"mutable","name":"_communityFee","nameLocation":"3907:13:103","nodeType":"VariableDeclaration","scope":71355,"src":"3899:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71336,"name":"uint256","nodeType":"ElementaryTypeName","src":"3899:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71339,"mutability":"mutable","name":"_nonce","nameLocation":"3938:6:103","nodeType":"VariableDeclaration","scope":71355,"src":"3930:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71338,"name":"uint256","nodeType":"ElementaryTypeName","src":"3930:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71341,"mutability":"mutable","name":"_registryFactory","nameLocation":"3962:16:103","nodeType":"VariableDeclaration","scope":71355,"src":"3954:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71340,"name":"address","nodeType":"ElementaryTypeName","src":"3954:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71343,"mutability":"mutable","name":"_feeReceiver","nameLocation":"3996:12:103","nodeType":"VariableDeclaration","scope":71355,"src":"3988:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71342,"name":"address","nodeType":"ElementaryTypeName","src":"3988:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71346,"mutability":"mutable","name":"_metadata","nameLocation":"4027:9:103","nodeType":"VariableDeclaration","scope":71355,"src":"4018:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":71345,"nodeType":"UserDefinedTypeName","pathNode":{"id":71344,"name":"Metadata","nameLocations":["4018:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4018:8:103"},"referencedDeclaration":3098,"src":"4018:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":71348,"mutability":"mutable","name":"_councilSafe","nameLocation":"4062:12:103","nodeType":"VariableDeclaration","scope":71355,"src":"4046:28:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":71347,"name":"address","nodeType":"ElementaryTypeName","src":"4046:15:103","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":71350,"mutability":"mutable","name":"_communityName","nameLocation":"4091:14:103","nodeType":"VariableDeclaration","scope":71355,"src":"4084:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71349,"name":"string","nodeType":"ElementaryTypeName","src":"4084:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71352,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"4120:14:103","nodeType":"VariableDeclaration","scope":71355,"src":"4115:19:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71351,"name":"bool","nodeType":"ElementaryTypeName","src":"4115:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":71354,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"4151:16:103","nodeType":"VariableDeclaration","scope":71355,"src":"4144:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71353,"name":"string","nodeType":"ElementaryTypeName","src":"4144:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3782:16:103","scope":73113,"visibility":"public"},{"id":71358,"nodeType":"UsingForDirective","src":"4180:32:103","nodes":[],"global":false,"libraryName":{"id":71356,"name":"ERC165Checker","nameLocations":["4186:13:103"],"nodeType":"IdentifierPath","referencedDeclaration":57224,"src":"4186:13:103"},"typeName":{"id":71357,"name":"address","nodeType":"ElementaryTypeName","src":"4204:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":71362,"nodeType":"UsingForDirective","src":"4217:27:103","nodes":[],"global":false,"libraryName":{"id":71359,"name":"SafeERC20","nameLocations":["4223:9:103"],"nodeType":"IdentifierPath","referencedDeclaration":56262,"src":"4223:9:103"},"typeName":{"id":71361,"nodeType":"UserDefinedTypeName","pathNode":{"id":71360,"name":"IERC20","nameLocations":["4237:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"4237:6:103"},"referencedDeclaration":55825,"src":"4237:6:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}},{"id":71365,"nodeType":"UsingForDirective","src":"4249:24:103","nodes":[],"global":false,"libraryName":{"id":71363,"name":"Clone","nameLocations":["4255:5:103"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"4255:5:103"},"typeName":{"id":71364,"name":"address","nodeType":"ElementaryTypeName","src":"4265:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":71368,"nodeType":"VariableDeclaration","src":"4279:38:103","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"4302:7:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71366,"name":"string","nodeType":"ElementaryTypeName","src":"4279:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":71367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4312:5:103","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":71372,"nodeType":"VariableDeclaration","src":"4403:75:103","nodes":[],"constant":true,"documentation":{"id":71369,"nodeType":"StructuredDocumentation","src":"4323:75:103","text":"@notice The native address to represent native token eg: ETH in mainnet"},"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"4427:6:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71370,"name":"address","nodeType":"ElementaryTypeName","src":"4403:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":71371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4436:42:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":71378,"nodeType":"VariableDeclaration","src":"4568:49:103","nodes":[],"constant":true,"documentation":{"id":71373,"nodeType":"StructuredDocumentation","src":"4484:79:103","text":"@notice The precision scale used in the contract to avoid loss of precision"},"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"4592:15:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71374,"name":"uint256","nodeType":"ElementaryTypeName","src":"4568:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":71377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":71375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4610:2:103","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":71376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4616:1:103","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"4610:7:103","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":71384,"nodeType":"VariableDeclaration","src":"4692:54:103","nodes":[],"constant":true,"documentation":{"id":71379,"nodeType":"StructuredDocumentation","src":"4623:64:103","text":"@notice The maximum fee that can be charged to the community"},"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"4716:7:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71380,"name":"uint256","nodeType":"ElementaryTypeName","src":"4692:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":71381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4726:2:103","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":71382,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71378,"src":"4731:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4726:20:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":71387,"nodeType":"VariableDeclaration","src":"4819:34:103","nodes":[],"constant":false,"documentation":{"id":71385,"nodeType":"StructuredDocumentation","src":"4752:62:103","text":"@notice The amount of tokens required to register a member"},"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"4834:19:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71386,"name":"uint256","nodeType":"ElementaryTypeName","src":"4819:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":71390,"nodeType":"VariableDeclaration","src":"4930:27:103","nodes":[],"constant":false,"documentation":{"id":71388,"nodeType":"StructuredDocumentation","src":"4859:66:103","text":"@notice The fee charged to the community for each registration"},"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"4945:12:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71389,"name":"uint256","nodeType":"ElementaryTypeName","src":"4930:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":71393,"nodeType":"VariableDeclaration","src":"5024:25:103","nodes":[],"constant":false,"documentation":{"id":71391,"nodeType":"StructuredDocumentation","src":"4963:56:103","text":"@notice The nonce used to create new strategy clones"},"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"5039:10:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71392,"name":"uint256","nodeType":"ElementaryTypeName","src":"5024:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":71396,"nodeType":"VariableDeclaration","src":"5123:24:103","nodes":[],"constant":false,"documentation":{"id":71394,"nodeType":"StructuredDocumentation","src":"5055:63:103","text":"@notice The profileId of the community in the Allo Registry"},"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"5138:9:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":71395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5123:7:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":71399,"nodeType":"VariableDeclaration","src":"5204:25:103","nodes":[],"constant":false,"documentation":{"id":71397,"nodeType":"StructuredDocumentation","src":"5153:46:103","text":"@notice Enable or disable the kick feature"},"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"5216:13:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71398,"name":"bool","nodeType":"ElementaryTypeName","src":"5204:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":71402,"nodeType":"VariableDeclaration","src":"5296:26:103","nodes":[],"constant":false,"documentation":{"id":71400,"nodeType":"StructuredDocumentation","src":"5236:55:103","text":"@notice The address that receives the community fee"},"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"5311:11:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71401,"name":"address","nodeType":"ElementaryTypeName","src":"5296:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71405,"nodeType":"VariableDeclaration","src":"5380:30:103","nodes":[],"constant":false,"documentation":{"id":71403,"nodeType":"StructuredDocumentation","src":"5328:47:103","text":"@notice The address of the registry factory"},"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"5395:15:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71404,"name":"address","nodeType":"ElementaryTypeName","src":"5380:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71408,"nodeType":"VariableDeclaration","src":"5477:38:103","nodes":[],"constant":false,"documentation":{"id":71406,"nodeType":"StructuredDocumentation","src":"5416:56:103","text":"@notice The address of the collateral vault template"},"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"5492:23:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71407,"name":"address","nodeType":"ElementaryTypeName","src":"5477:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71411,"nodeType":"VariableDeclaration","src":"5574:31:103","nodes":[],"constant":false,"documentation":{"id":71409,"nodeType":"StructuredDocumentation","src":"5521:48:103","text":"@notice The address of the strategy template"},"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"5589:16:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71410,"name":"address","nodeType":"ElementaryTypeName","src":"5574:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71414,"nodeType":"VariableDeclaration","src":"5673:41:103","nodes":[],"constant":false,"documentation":{"id":71412,"nodeType":"StructuredDocumentation","src":"5611:57:103","text":"@notice The address of the pending council safe owner"},"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"5696:18:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":71413,"name":"address","nodeType":"ElementaryTypeName","src":"5673:15:103","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":71418,"nodeType":"VariableDeclaration","src":"5764:25:103","nodes":[],"constant":false,"documentation":{"id":71415,"nodeType":"StructuredDocumentation","src":"5721:38:103","text":"@notice The Registry Allo contract"},"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"5781:8:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":71417,"nodeType":"UserDefinedTypeName","pathNode":{"id":71416,"name":"IRegistry","nameLocations":["5764:9:103"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5764:9:103"},"referencedDeclaration":2802,"src":"5764:9:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":71422,"nodeType":"VariableDeclaration","src":"5852:25:103","nodes":[],"constant":false,"documentation":{"id":71419,"nodeType":"StructuredDocumentation","src":"5795:52:103","text":"@notice The token used to stake in the community"},"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"5866:11:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":71421,"nodeType":"UserDefinedTypeName","pathNode":{"id":71420,"name":"IERC20","nameLocations":["5852:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"5852:6:103"},"referencedDeclaration":55825,"src":"5852:6:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"public"},{"id":71426,"nodeType":"VariableDeclaration","src":"5933:24:103","nodes":[],"constant":false,"documentation":{"id":71423,"nodeType":"StructuredDocumentation","src":"5883:45:103","text":"@notice The council safe contract address"},"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"5946:11:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"},"typeName":{"id":71425,"nodeType":"UserDefinedTypeName","pathNode":{"id":71424,"name":"ISafe","nameLocations":["5933:5:103"],"nodeType":"IdentifierPath","referencedDeclaration":74891,"src":"5933:5:103"},"referencedDeclaration":74891,"src":"5933:5:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}},"visibility":"public"},{"id":71430,"nodeType":"VariableDeclaration","src":"6005:17:103","nodes":[],"constant":false,"documentation":{"id":71427,"nodeType":"StructuredDocumentation","src":"5963:37:103","text":"@notice The Allo contract address"},"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"6018:4:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"},"typeName":{"id":71429,"nodeType":"UserDefinedTypeName","pathNode":{"id":71428,"name":"FAllo","nameLocations":["6005:5:103"],"nodeType":"IdentifierPath","referencedDeclaration":74624,"src":"6005:5:103"},"referencedDeclaration":74624,"src":"6005:5:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}},"visibility":"public"},{"id":71433,"nodeType":"VariableDeclaration","src":"6064:27:103","nodes":[],"constant":false,"documentation":{"id":71431,"nodeType":"StructuredDocumentation","src":"6029:30:103","text":"@notice The community name"},"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"6078:13:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71432,"name":"string","nodeType":"ElementaryTypeName","src":"6064:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":71436,"nodeType":"VariableDeclaration","src":"6149:30:103","nodes":[],"constant":false,"documentation":{"id":71434,"nodeType":"StructuredDocumentation","src":"6097:47:103","text":"@notice The covenant IPFS hash of community"},"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"6163:16:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71435,"name":"string","nodeType":"ElementaryTypeName","src":"6149:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":71441,"nodeType":"VariableDeclaration","src":"6295:68:103","nodes":[],"constant":false,"documentation":{"id":71437,"nodeType":"StructuredDocumentation","src":"6243:47:103","text":"@notice List of enabled/disabled strategies"},"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"6346:17:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":71440,"keyName":"strategy","keyNameLocation":"6311:8:103","keyType":{"id":71438,"name":"address","nodeType":"ElementaryTypeName","src":"6303:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6295:43:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"6328:9:103","valueType":{"id":71439,"name":"bool","nodeType":"ElementaryTypeName","src":"6323:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":71448,"nodeType":"VariableDeclaration","src":"6431:98:103","nodes":[],"constant":false,"documentation":{"id":71442,"nodeType":"StructuredDocumentation","src":"6369:57:103","text":"@notice Power points for each member in each strategy"},"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"6508:21:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":71447,"keyName":"strategy","keyNameLocation":"6447:8:103","keyType":{"id":71443,"name":"address","nodeType":"ElementaryTypeName","src":"6439:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6431:69:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71446,"keyName":"member","keyNameLocation":"6475:6:103","keyType":{"id":71444,"name":"address","nodeType":"ElementaryTypeName","src":"6467:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6459:40:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"6493:5:103","valueType":{"id":71445,"name":"uint256","nodeType":"ElementaryTypeName","src":"6485:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":71454,"nodeType":"VariableDeclaration","src":"6629:60:103","nodes":[],"constant":false,"documentation":{"id":71449,"nodeType":"StructuredDocumentation","src":"6535:89:103","text":"@notice Member information as the staked amount and if is registered in the community"},"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"6670:19:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"typeName":{"id":71453,"keyName":"member","keyNameLocation":"6645:6:103","keyType":{"id":71450,"name":"address","nodeType":"ElementaryTypeName","src":"6637:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6629:33:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71452,"nodeType":"UserDefinedTypeName","pathNode":{"id":71451,"name":"Member","nameLocations":["6655:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":71595,"src":"6655:6:103"},"referencedDeclaration":71595,"src":"6655:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}}},"visibility":"public"},{"id":71460,"nodeType":"VariableDeclaration","src":"6760:82:103","nodes":[],"constant":false,"documentation":{"id":71455,"nodeType":"StructuredDocumentation","src":"6695:60:103","text":"@notice List of strategies for each member are activated"},"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"6824:18:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":71459,"keyName":"member","keyNameLocation":"6776:6:103","keyType":{"id":71456,"name":"address","nodeType":"ElementaryTypeName","src":"6768:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6760:56:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"6796:19:103","valueType":{"baseType":{"id":71457,"name":"address","nodeType":"ElementaryTypeName","src":"6786:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71458,"nodeType":"ArrayTypeName","src":"6786:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":71467,"nodeType":"VariableDeclaration","src":"6920:107:103","nodes":[],"constant":false,"documentation":{"id":71461,"nodeType":"StructuredDocumentation","src":"6848:67:103","text":"@notice Mapping to check if a member is activated in a strategy"},"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"7000:27:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":71466,"keyName":"member","keyNameLocation":"6936:6:103","keyType":{"id":71462,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6920:72:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71465,"keyName":"strategy","keyNameLocation":"6962:8:103","keyType":{"id":71463,"name":"address","nodeType":"ElementaryTypeName","src":"6954:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6946:45:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"6979:11:103","valueType":{"id":71464,"name":"bool","nodeType":"ElementaryTypeName","src":"6974:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":71471,"nodeType":"VariableDeclaration","src":"7120:24:103","nodes":[],"constant":false,"documentation":{"id":71468,"nodeType":"StructuredDocumentation","src":"7034:81:103","text":"@notice List of initial members to be added as pool managers in the Allo Pool"},"mutability":"mutable","name":"initialMembers","nameLocation":"7130:14:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":71469,"name":"address","nodeType":"ElementaryTypeName","src":"7120:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71470,"nodeType":"ArrayTypeName","src":"7120:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":71477,"nodeType":"VariableDeclaration","src":"7361:68:103","nodes":[],"constant":true,"documentation":{"id":71472,"nodeType":"StructuredDocumentation","src":"7316:40:103","text":"@notice Role to council safe members"},"functionSelector":"733a2d1f","mutability":"constant","name":"COUNCIL_MEMBER","nameLocation":"7385:14:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":71473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7361:7:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d424552","id":71475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7412:16:103","typeDescriptions":{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""},"value":"COUNCIL_MEMBER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""}],"id":71474,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7402:9:103","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":71476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7402:27:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":71494,"nodeType":"FunctionDefinition","src":"7602:167:103","nodes":[],"body":{"id":71493,"nodeType":"Block","src":"7651:118:103","nodes":[],"statements":[{"condition":{"id":71485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7665:36:103","subExpression":{"arguments":[{"id":71481,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71477,"src":"7674:14:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":71482,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7690:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7694:6:103","memberName":"sender","nodeType":"MemberAccess","src":"7690:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71480,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"7666:7:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":71484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7666:35:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71492,"nodeType":"IfStatement","src":"7661:102:103","trueBody":{"id":71491,"nodeType":"Block","src":"7703:60:103","statements":[{"errorCall":{"arguments":[{"expression":{"id":71487,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7741:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7745:6:103","memberName":"sender","nodeType":"MemberAccess","src":"7741:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71486,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71294,"src":"7724:16:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7724:28:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71490,"nodeType":"RevertStatement","src":"7717:35:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"7611:15:103","parameters":{"id":71478,"nodeType":"ParameterList","parameters":[],"src":"7626:2:103"},"returnParameters":{"id":71479,"nodeType":"ParameterList","parameters":[],"src":"7651:0:103"},"scope":73113,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":71508,"nodeType":"FunctionDefinition","src":"7775:152:103","nodes":[],"body":{"id":71507,"nodeType":"Block","src":"7833:94:103","nodes":[],"statements":[{"condition":{"id":71501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7847:21:103","subExpression":{"arguments":[{"expression":{"id":71498,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7857:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7861:6:103","memberName":"sender","nodeType":"MemberAccess","src":"7857:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71497,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"7848:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":71500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7848:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71506,"nodeType":"IfStatement","src":"7843:78:103","trueBody":{"id":71505,"nodeType":"Block","src":"7870:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71502,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71296,"src":"7891:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7891:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71504,"nodeType":"RevertStatement","src":"7884:26:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"7784:24:103","parameters":{"id":71495,"nodeType":"ParameterList","parameters":[],"src":"7808:2:103"},"returnParameters":{"id":71496,"nodeType":"ParameterList","parameters":[],"src":"7833:0:103"},"scope":73113,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":71523,"nodeType":"FunctionDefinition","src":"7933:157:103","nodes":[],"body":{"id":71522,"nodeType":"Block","src":"7999:91:103","nodes":[],"statements":[{"condition":{"id":71516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8013:18:103","subExpression":{"arguments":[{"id":71514,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71510,"src":"8023:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71513,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"8014:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":71515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8014:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71521,"nodeType":"IfStatement","src":"8009:75:103","trueBody":{"id":71520,"nodeType":"Block","src":"8033:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71517,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71296,"src":"8054:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8054:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71519,"nodeType":"RevertStatement","src":"8047:26:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"7942:25:103","parameters":{"id":71511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71510,"mutability":"mutable","name":"_sender","nameLocation":"7976:7:103","nodeType":"VariableDeclaration","scope":71523,"src":"7968:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71509,"name":"address","nodeType":"ElementaryTypeName","src":"7968:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7967:17:103"},"returnParameters":{"id":71512,"nodeType":"ParameterList","parameters":[],"src":"7999:0:103"},"scope":73113,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":71538,"nodeType":"FunctionDefinition","src":"8096:163:103","nodes":[],"body":{"id":71537,"nodeType":"Block","src":"8158:101:103","nodes":[],"statements":[{"condition":{"id":71531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8172:29:103","subExpression":{"baseExpression":{"id":71528,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71441,"src":"8173:17:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71530,"indexExpression":{"id":71529,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71525,"src":"8191:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8173:28:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71536,"nodeType":"IfStatement","src":"8168:85:103","trueBody":{"id":71535,"nodeType":"Block","src":"8203:50:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71532,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71308,"src":"8224:16:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8224:18:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71534,"nodeType":"RevertStatement","src":"8217:25:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"8105:19:103","parameters":{"id":71526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71525,"mutability":"mutable","name":"_strategy","nameLocation":"8133:9:103","nodeType":"VariableDeclaration","scope":71538,"src":"8125:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71524,"name":"address","nodeType":"ElementaryTypeName","src":"8125:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8124:19:103"},"returnParameters":{"id":71527,"nodeType":"ParameterList","parameters":[],"src":"8158:0:103"},"scope":73113,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":71554,"nodeType":"FunctionDefinition","src":"8265:172:103","nodes":[],"body":{"id":71553,"nodeType":"Block","src":"8344:93:103","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71545,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71540,"src":"8358:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":71546,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71542,"src":"8369:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8358:20:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71552,"nodeType":"IfStatement","src":"8354:77:103","trueBody":{"id":71551,"nodeType":"Block","src":"8380:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71548,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71312,"src":"8401:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8401:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71550,"nodeType":"RevertStatement","src":"8394:26:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"8274:19:103","parameters":{"id":71543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71540,"mutability":"mutable","name":"_sender","nameLocation":"8302:7:103","nodeType":"VariableDeclaration","scope":71554,"src":"8294:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71539,"name":"address","nodeType":"ElementaryTypeName","src":"8294:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71542,"mutability":"mutable","name":"_strategy","nameLocation":"8319:9:103","nodeType":"VariableDeclaration","scope":71554,"src":"8311:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71541,"name":"address","nodeType":"ElementaryTypeName","src":"8311:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8293:36:103"},"returnParameters":{"id":71544,"nodeType":"ParameterList","parameters":[],"src":"8344:0:103"},"scope":73113,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":71572,"nodeType":"FunctionDefinition","src":"8443:190:103","nodes":[],"body":{"id":71571,"nodeType":"Block","src":"8509:124:103","nodes":[],"statements":[{"condition":{"id":71565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8523:51:103","subExpression":{"baseExpression":{"baseExpression":{"id":71559,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71467,"src":"8524:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71562,"indexExpression":{"expression":{"id":71560,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8552:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8556:6:103","memberName":"sender","nodeType":"MemberAccess","src":"8552:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8524:39:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71564,"indexExpression":{"id":71563,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71556,"src":"8564:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8524:50:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71570,"nodeType":"IfStatement","src":"8519:108:103","trueBody":{"id":71569,"nodeType":"Block","src":"8576:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71566,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71320,"src":"8597:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8597:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71568,"nodeType":"RevertStatement","src":"8590:26:103"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"8452:23:103","parameters":{"id":71557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71556,"mutability":"mutable","name":"_strategy","nameLocation":"8484:9:103","nodeType":"VariableDeclaration","scope":71572,"src":"8476:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71555,"name":"address","nodeType":"ElementaryTypeName","src":"8476:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8475:19:103"},"returnParameters":{"id":71558,"nodeType":"ParameterList","parameters":[],"src":"8509:0:103"},"scope":73113,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":71588,"nodeType":"FunctionDefinition","src":"8639:133:103","nodes":[],"body":{"id":71587,"nodeType":"Block","src":"8699:73:103","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71577,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71574,"src":"8713:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":71580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8733:1:103","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":71579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8725:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71578,"name":"address","nodeType":"ElementaryTypeName","src":"8725:7:103","typeDescriptions":{}}},"id":71581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8725:10:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8713:22:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71586,"nodeType":"IfStatement","src":"8709:56:103","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71583,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71288,"src":"8744:19:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8744:21:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71585,"nodeType":"RevertStatement","src":"8737:28:103"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"8648:18:103","parameters":{"id":71575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71574,"mutability":"mutable","name":"_address","nameLocation":"8675:8:103","nodeType":"VariableDeclaration","scope":71588,"src":"8667:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71573,"name":"address","nodeType":"ElementaryTypeName","src":"8667:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8666:18:103"},"returnParameters":{"id":71576,"nodeType":"ParameterList","parameters":[],"src":"8699:0:103"},"scope":73113,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":71595,"nodeType":"StructDefinition","src":"8943:102:103","nodes":[],"canonicalName":"RegistryCommunityV0_0.Member","members":[{"constant":false,"id":71590,"mutability":"mutable","name":"member","nameLocation":"8975:6:103","nodeType":"VariableDeclaration","scope":71595,"src":"8967:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71589,"name":"address","nodeType":"ElementaryTypeName","src":"8967:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71592,"mutability":"mutable","name":"stakedAmount","nameLocation":"8999:12:103","nodeType":"VariableDeclaration","scope":71595,"src":"8991:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71591,"name":"uint256","nodeType":"ElementaryTypeName","src":"8991:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71594,"mutability":"mutable","name":"isRegistered","nameLocation":"9026:12:103","nodeType":"VariableDeclaration","scope":71595,"src":"9021:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71593,"name":"bool","nodeType":"ElementaryTypeName","src":"9021:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"8950:6:103","scope":73113,"visibility":"public"},{"id":71599,"nodeType":"StructDefinition","src":"9051:55:103","nodes":[],"canonicalName":"RegistryCommunityV0_0.Strategies","members":[{"constant":false,"id":71598,"mutability":"mutable","name":"strategies","nameLocation":"9089:10:103","nodeType":"VariableDeclaration","scope":71599,"src":"9079:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71596,"name":"address","nodeType":"ElementaryTypeName","src":"9079:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71597,"nodeType":"ArrayTypeName","src":"9079:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"9058:10:103","scope":73113,"visibility":"public"},{"id":71611,"nodeType":"FunctionDefinition","src":"9112:110:103","nodes":[],"body":{"id":71610,"nodeType":"Block","src":"9178:44:103","nodes":[],"statements":[{"expression":{"id":71608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71606,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71411,"src":"9188:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71607,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71601,"src":"9207:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9188:27:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71609,"nodeType":"ExpressionStatement","src":"9188:27:103"}]},"functionSelector":"1b71f0e4","implemented":true,"kind":"function","modifiers":[{"id":71604,"kind":"modifierInvocation","modifierName":{"id":71603,"name":"onlyOwner","nameLocations":["9168:9:103"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"9168:9:103"},"nodeType":"ModifierInvocation","src":"9168:9:103"}],"name":"setStrategyTemplate","nameLocation":"9121:19:103","parameters":{"id":71602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71601,"mutability":"mutable","name":"template","nameLocation":"9149:8:103","nodeType":"VariableDeclaration","scope":71611,"src":"9141:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71600,"name":"address","nodeType":"ElementaryTypeName","src":"9141:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9140:18:103"},"returnParameters":{"id":71605,"nodeType":"ParameterList","parameters":[],"src":"9178:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":71623,"nodeType":"FunctionDefinition","src":"9228:124:103","nodes":[],"body":{"id":71622,"nodeType":"Block","src":"9301:51:103","nodes":[],"statements":[{"expression":{"id":71620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71618,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71408,"src":"9311:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71619,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71613,"src":"9337:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9311:34:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71621,"nodeType":"ExpressionStatement","src":"9311:34:103"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":71616,"kind":"modifierInvocation","modifierName":{"id":71615,"name":"onlyOwner","nameLocations":["9291:9:103"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"9291:9:103"},"nodeType":"ModifierInvocation","src":"9291:9:103"}],"name":"setCollateralVaultTemplate","nameLocation":"9237:26:103","parameters":{"id":71614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71613,"mutability":"mutable","name":"template","nameLocation":"9272:8:103","nodeType":"VariableDeclaration","scope":71623,"src":"9264:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71612,"name":"address","nodeType":"ElementaryTypeName","src":"9264:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9263:18:103"},"returnParameters":{"id":71617,"nodeType":"ParameterList","parameters":[],"src":"9301:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":71898,"nodeType":"FunctionDefinition","src":"9358:2496:103","nodes":[],"body":{"id":71897,"nodeType":"Block","src":"9565:2289:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":71640,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71632,"src":"9592:5:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":71637,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9575:5:103","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RegistryCommunityV0_0_$73113_$","typeString":"type(contract super RegistryCommunityV0_0)"}},"id":71639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9581:10:103","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":71060,"src":"9575:16:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9575:23:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71642,"nodeType":"ExpressionStatement","src":"9575:23:103"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71643,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52473,"src":"9608:22:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":71644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9608:24:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71645,"nodeType":"ExpressionStatement","src":"9608:24:103"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71646,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51706,"src":"9642:20:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":71647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9642:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71648,"nodeType":"ExpressionStatement","src":"9642:22:103"},{"expression":{"arguments":[{"id":71650,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71477,"src":"9689:14:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71651,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51689,"src":"9705:18:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":71649,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51925,"src":"9675:13:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":71652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9675:49:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71653,"nodeType":"ExpressionStatement","src":"9675:49:103"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":71657,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"9762:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9769:12:103","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":71333,"src":"9762:19:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":71656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9754:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71655,"name":"address","nodeType":"ElementaryTypeName","src":"9754:7:103","typeDescriptions":{}}},"id":71659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9754:28:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71654,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"9735:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9735:48:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71661,"nodeType":"ExpressionStatement","src":"9735:48:103"},{"expression":{"arguments":[{"expression":{"id":71663,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"9812:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9819:12:103","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":71348,"src":"9812:19:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71662,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"9793:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9793:39:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71666,"nodeType":"ExpressionStatement","src":"9793:39:103"},{"expression":{"arguments":[{"expression":{"id":71668,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"9861:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9868:5:103","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":71330,"src":"9861:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71667,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"9842:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9842:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71671,"nodeType":"ExpressionStatement","src":"9842:32:103"},{"expression":{"arguments":[{"expression":{"id":71673,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"9903:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9910:16:103","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":71341,"src":"9903:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71672,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"9884:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9884:43:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71676,"nodeType":"ExpressionStatement","src":"9884:43:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71677,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"9942:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71678,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9949:13:103","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":71337,"src":"9942:20:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":71679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9966:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:25:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71687,"nodeType":"IfStatement","src":"9938:95:103","trueBody":{"id":71686,"nodeType":"Block","src":"9969:64:103","statements":[{"expression":{"arguments":[{"expression":{"id":71682,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10002:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10009:12:103","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":71343,"src":"10002:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71681,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"9983:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9983:39:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71685,"nodeType":"ExpressionStatement","src":"9983:39:103"}]}},{"expression":{"id":71693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71688,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71430,"src":"10042:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":71690,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10055:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10062:5:103","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":71330,"src":"10055:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71689,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74624,"src":"10049:5:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$74624_$","typeString":"type(contract FAllo)"}},"id":71692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10049:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}},"src":"10042:26:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}},"id":71694,"nodeType":"ExpressionStatement","src":"10042:26:103"},{"expression":{"id":71698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71695,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71422,"src":"10078:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71696,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10092:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10099:12:103","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":71333,"src":"10092:19:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"src":"10078:33:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":71699,"nodeType":"ExpressionStatement","src":"10078:33:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71700,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10125:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10132:20:103","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":71335,"src":"10125:27:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":71702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10156:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10125:32:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71708,"nodeType":"IfStatement","src":"10121:89:103","trueBody":{"id":71707,"nodeType":"Block","src":"10159:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71704,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71314,"src":"10180:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10180:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71706,"nodeType":"RevertStatement","src":"10173:26:103"}]}},{"expression":{"id":71712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71709,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"10219:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71710,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10241:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71711,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10248:20:103","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":71335,"src":"10241:27:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10219:49:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71713,"nodeType":"ExpressionStatement","src":"10219:49:103"},{"expression":{"id":71717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71714,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71390,"src":"10278:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71715,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10293:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10300:13:103","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":71337,"src":"10293:20:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10278:35:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71718,"nodeType":"ExpressionStatement","src":"10278:35:103"},{"expression":{"id":71722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71719,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71399,"src":"10323:13:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71720,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10339:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10346:14:103","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":71352,"src":"10339:21:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10323:37:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71723,"nodeType":"ExpressionStatement","src":"10323:37:103"},{"expression":{"id":71727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71724,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71433,"src":"10370:13:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71725,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10386:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10393:14:103","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":71350,"src":"10386:21:103","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10370:37:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71728,"nodeType":"ExpressionStatement","src":"10370:37:103"},{"expression":{"id":71732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71729,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71436,"src":"10417:16:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71730,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10436:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71731,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10443:16:103","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":71354,"src":"10436:23:103","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10417:42:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71733,"nodeType":"ExpressionStatement","src":"10417:42:103"},{"expression":{"id":71737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71734,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71405,"src":"10470:15:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71735,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10488:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71736,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10495:16:103","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":71341,"src":"10488:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10470:41:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71738,"nodeType":"ExpressionStatement","src":"10470:41:103"},{"expression":{"id":71742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71739,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71402,"src":"10521:11:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71740,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10535:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71741,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10542:12:103","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":71343,"src":"10535:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10521:33:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71743,"nodeType":"ExpressionStatement","src":"10521:33:103"},{"expression":{"id":71749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71744,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71426,"src":"10564:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":71746,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10584:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71747,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10591:12:103","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":71348,"src":"10584:19:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71745,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74891,"src":"10578:5:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$74891_$","typeString":"type(contract ISafe)"}},"id":71748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10578:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}},"src":"10564:40:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}},"id":71750,"nodeType":"ExpressionStatement","src":"10564:40:103"},{"expression":{"arguments":[{"id":71752,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71477,"src":"10626:14:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":71753,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"10642:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71754,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10649:12:103","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":71348,"src":"10642:19:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71751,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"10615:10:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":71755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10615:47:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71756,"nodeType":"ExpressionStatement","src":"10615:47:103"},{"expression":{"id":71763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71757,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71418,"src":"10673:8:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71759,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71430,"src":"10694:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}},"id":71760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10699:11:103","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":74615,"src":"10694:16:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":71761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10694:18:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71758,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"10684:9:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":71762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10684:29:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"10673:40:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":71764,"nodeType":"ExpressionStatement","src":"10673:40:103"},{"assignments":[71769],"declarations":[{"constant":false,"id":71769,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"10741:19:103","nodeType":"VariableDeclaration","scope":71897,"src":"10724:36:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71767,"name":"address","nodeType":"ElementaryTypeName","src":"10724:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71768,"nodeType":"ArrayTypeName","src":"10724:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71770,"nodeType":"VariableDeclarationStatement","src":"10724:36:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":71773,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71426,"src":"10820:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":71772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10812:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71771,"name":"address","nodeType":"ElementaryTypeName","src":"10812:7:103","typeDescriptions":{}}},"id":71774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10812:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10833:4:103","memberName":"code","nodeType":"MemberAccess","src":"10812:25:103","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":71776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10838:6:103","memberName":"length","nodeType":"MemberAccess","src":"10812:32:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":71777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10848:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10812:37:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":71836,"nodeType":"Block","src":"10969:266:103","statements":[{"assignments":[71799],"declarations":[{"constant":false,"id":71799,"mutability":"mutable","name":"owners","nameLocation":"11000:6:103","nodeType":"VariableDeclaration","scope":71836,"src":"10983:23:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71797,"name":"address","nodeType":"ElementaryTypeName","src":"10983:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71798,"nodeType":"ArrayTypeName","src":"10983:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71803,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71800,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71426,"src":"11009:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}},"id":71801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11021:9:103","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":74806,"src":"11009:21:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":71802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11009:23:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10983:49:103"},{"expression":{"id":71813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71804,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"11046:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71808,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71799,"src":"11082:6:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11089:6:103","memberName":"length","nodeType":"MemberAccess","src":"11082:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":71810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11098:1:103","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11082:17:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11068:13:103","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":71805,"name":"address","nodeType":"ElementaryTypeName","src":"11072:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71806,"nodeType":"ArrayTypeName","src":"11072:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":71812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11068:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11046:54:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71814,"nodeType":"ExpressionStatement","src":"11046:54:103"},{"body":{"id":71834,"nodeType":"Block","src":"11158:67:103","statements":[{"expression":{"id":71832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71826,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"11176:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71828,"indexExpression":{"id":71827,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71816,"src":"11196:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11176:22:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":71829,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71799,"src":"11201:6:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71831,"indexExpression":{"id":71830,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71816,"src":"11208:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11201:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11176:34:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71833,"nodeType":"ExpressionStatement","src":"11176:34:103"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71819,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71816,"src":"11134:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71820,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71799,"src":"11138:6:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11145:6:103","memberName":"length","nodeType":"MemberAccess","src":"11138:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11134:17:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71835,"initializationExpression":{"assignments":[71816],"declarations":[{"constant":false,"id":71816,"mutability":"mutable","name":"i","nameLocation":"11127:1:103","nodeType":"VariableDeclaration","scope":71835,"src":"11119:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71815,"name":"uint256","nodeType":"ElementaryTypeName","src":"11119:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71818,"initialValue":{"hexValue":"30","id":71817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11131:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11119:13:103"},"loopExpression":{"expression":{"id":71824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11153:3:103","subExpression":{"id":71823,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71816,"src":"11153:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71825,"nodeType":"ExpressionStatement","src":"11153:3:103"},"nodeType":"ForStatement","src":"11114:111:103"}]},"id":71837,"nodeType":"IfStatement","src":"10808:427:103","trueBody":{"id":71794,"nodeType":"Block","src":"10851:112:103","statements":[{"expression":{"id":71785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71779,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"10865:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":71783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10901:1:103","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":71782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10887:13:103","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":71780,"name":"address","nodeType":"ElementaryTypeName","src":"10891:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71781,"nodeType":"ArrayTypeName","src":"10891:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":71784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10887:16:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"10865:38:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71786,"nodeType":"ExpressionStatement","src":"10865:38:103"},{"expression":{"id":71792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71787,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"10917:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71789,"indexExpression":{"hexValue":"30","id":71788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10937:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10917:22:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71790,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10942:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10946:6:103","memberName":"sender","nodeType":"MemberAccess","src":"10942:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10917:35:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71793,"nodeType":"ExpressionStatement","src":"10917:35:103"}]}},{"expression":{"id":71848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71838,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"11245:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71843,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71839,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"11265:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11285:6:103","memberName":"length","nodeType":"MemberAccess","src":"11265:26:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":71841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11294:1:103","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11265:30:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11245:51:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71846,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71426,"src":"11307:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":71845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11299:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71844,"name":"address","nodeType":"ElementaryTypeName","src":"11299:7:103","typeDescriptions":{}}},"id":71847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11299:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11245:74:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71849,"nodeType":"ExpressionStatement","src":"11245:74:103"},{"expression":{"id":71860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71850,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"11329:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71855,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71851,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"11349:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11369:6:103","memberName":"length","nodeType":"MemberAccess","src":"11349:26:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":71853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11378:1:103","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11349:30:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11329:51:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71858,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11391:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":71857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11383:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71856,"name":"address","nodeType":"ElementaryTypeName","src":"11383:7:103","typeDescriptions":{}}},"id":71859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11383:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11329:67:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71861,"nodeType":"ExpressionStatement","src":"11329:67:103"},{"expression":{"id":71876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71862,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71396,"src":"11484:9:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":71865,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"11531:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11538:6:103","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":71339,"src":"11531:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":71867,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71433,"src":"11546:13:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":71868,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"11561:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11568:9:103","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":71346,"src":"11561:16:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":71872,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11587:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":71871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11579:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71870,"name":"address","nodeType":"ElementaryTypeName","src":"11579:7:103","typeDescriptions":{}}},"id":71873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11579:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71874,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"11594:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":71863,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71418,"src":"11508:8:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":71864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11517:13:103","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"11508:22:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":71875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11508:106:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11484:130:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":71877,"nodeType":"ExpressionStatement","src":"11484:130:103"},{"expression":{"id":71880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71878,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71471,"src":"11625:14:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71879,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71769,"src":"11642:19:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11625:36:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":71881,"nodeType":"ExpressionStatement","src":"11625:36:103"},{"expression":{"id":71884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71882,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71411,"src":"11672:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71883,"name":"_strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71628,"src":"11691:17:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11672:36:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71885,"nodeType":"ExpressionStatement","src":"11672:36:103"},{"expression":{"id":71888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71886,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71408,"src":"11718:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71887,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71630,"src":"11744:24:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11718:50:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71889,"nodeType":"ExpressionStatement","src":"11718:50:103"},{"eventCall":{"arguments":[{"id":71891,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71396,"src":"11804:9:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71892,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71433,"src":"11815:13:103","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":71893,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71626,"src":"11830:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11837:9:103","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":71346,"src":"11830:16:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":71890,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71235,"src":"11784:19:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":71895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11784:63:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71896,"nodeType":"EmitStatement","src":"11779:68:103"}]},"functionSelector":"34196355","implemented":true,"kind":"function","modifiers":[{"id":71635,"kind":"modifierInvocation","modifierName":{"id":71634,"name":"initializer","nameLocations":["9553:11:103"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"9553:11:103"},"nodeType":"ModifierInvocation","src":"9553:11:103"}],"name":"initialize","nameLocation":"9367:10:103","parameters":{"id":71633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71626,"mutability":"mutable","name":"params","nameLocation":"9433:6:103","nodeType":"VariableDeclaration","scope":71898,"src":"9387:52:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":71625,"nodeType":"UserDefinedTypeName","pathNode":{"id":71624,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["9387:21:103","9409:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":71355,"src":"9387:38:103"},"referencedDeclaration":71355,"src":"9387:38:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":71628,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"9457:17:103","nodeType":"VariableDeclaration","scope":71898,"src":"9449:25:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71627,"name":"address","nodeType":"ElementaryTypeName","src":"9449:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71630,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"9492:24:103","nodeType":"VariableDeclaration","scope":71898,"src":"9484:32:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71629,"name":"address","nodeType":"ElementaryTypeName","src":"9484:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71632,"mutability":"mutable","name":"owner","nameLocation":"9534:5:103","nodeType":"VariableDeclaration","scope":71898,"src":"9526:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71631,"name":"address","nodeType":"ElementaryTypeName","src":"9526:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9377:168:103"},"returnParameters":{"id":71636,"nodeType":"ParameterList","parameters":[],"src":"9565:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":71948,"nodeType":"FunctionDefinition","src":"11860:532:103","nodes":[],"body":{"id":71947,"nodeType":"Block","src":"12057:335:103","nodes":[],"statements":[{"assignments":[71914],"declarations":[{"constant":false,"id":71914,"mutability":"mutable","name":"strategyProxy","nameLocation":"12075:13:103","nodeType":"VariableDeclaration","scope":71947,"src":"12067:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71913,"name":"address","nodeType":"ElementaryTypeName","src":"12067:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71939,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":71922,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71411,"src":"12154:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12146:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71920,"name":"address","nodeType":"ElementaryTypeName","src":"12146:7:103","typeDescriptions":{}}},"id":71923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12146:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":71926,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70168,"src":"12212:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$70168_$","typeString":"type(contract CVStrategyV0_0)"}},"id":71927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12227:4:103","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":66951,"src":"12212:19:103","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address,address,address)"}},"id":71928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12232:8:103","memberName":"selector","nodeType":"MemberAccess","src":"12212:28:103","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":71931,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71430,"src":"12250:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}],"id":71930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12242:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71929,"name":"address","nodeType":"ElementaryTypeName","src":"12242:7:103","typeDescriptions":{}}},"id":71932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12242:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71933,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71408,"src":"12257:23:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":71934,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[71103],"referencedDeclaration":71103,"src":"12282:5:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":71935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:7:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":71924,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12189:3:103","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":71925,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12193:18:103","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12189:22:103","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":71936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12189:101:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":71919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"12112:16:103","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$54318_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":71918,"nodeType":"UserDefinedTypeName","pathNode":{"id":71917,"name":"ERC1967Proxy","nameLocations":["12116:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":54318,"src":"12116:12:103"},"referencedDeclaration":54318,"src":"12116:12:103","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}}},"id":71937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12112:192:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}],"id":71916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12091:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71915,"name":"address","nodeType":"ElementaryTypeName","src":"12091:7:103","typeDescriptions":{}}},"id":71938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12091:223:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12067:247:103"},{"expression":{"arguments":[{"id":71941,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71914,"src":"12343:13:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71942,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71900,"src":"12358:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71943,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71903,"src":"12366:7:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":71944,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71906,"src":"12375:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":71940,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[71948,72020],"referencedDeclaration":72020,"src":"12332:10:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$66615_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":71945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12332:53:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":71912,"id":71946,"nodeType":"Return","src":"12325:60:103"}]},"functionSelector":"524e59e8","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"11869:10:103","parameters":{"id":71907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71900,"mutability":"mutable","name":"_token","nameLocation":"11888:6:103","nodeType":"VariableDeclaration","scope":71948,"src":"11880:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71899,"name":"address","nodeType":"ElementaryTypeName","src":"11880:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71903,"mutability":"mutable","name":"_params","nameLocation":"11935:7:103","nodeType":"VariableDeclaration","scope":71948,"src":"11896:46:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":71902,"nodeType":"UserDefinedTypeName","pathNode":{"id":71901,"name":"StrategyStruct.InitializeParams","nameLocations":["11896:14:103","11911:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"11896:31:103"},"referencedDeclaration":66615,"src":"11896:31:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":71906,"mutability":"mutable","name":"_metadata","nameLocation":"11960:9:103","nodeType":"VariableDeclaration","scope":71948,"src":"11944:25:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":71905,"nodeType":"UserDefinedTypeName","pathNode":{"id":71904,"name":"Metadata","nameLocations":["11944:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"11944:8:103"},"referencedDeclaration":3098,"src":"11944:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"11879:91:103"},"returnParameters":{"id":71912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71909,"mutability":"mutable","name":"poolId","nameLocation":"12027:6:103","nodeType":"VariableDeclaration","scope":71948,"src":"12019:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71908,"name":"uint256","nodeType":"ElementaryTypeName","src":"12019:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71911,"mutability":"mutable","name":"strategy","nameLocation":"12043:8:103","nodeType":"VariableDeclaration","scope":71948,"src":"12035:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71910,"name":"address","nodeType":"ElementaryTypeName","src":"12035:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12018:34:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72020,"nodeType":"FunctionDefinition","src":"12398:661:103","nodes":[],"body":{"id":72019,"nodeType":"Block","src":"12624:435:103","nodes":[],"statements":[{"assignments":[71966],"declarations":[{"constant":false,"id":71966,"mutability":"mutable","name":"token","nameLocation":"12642:5:103","nodeType":"VariableDeclaration","scope":72019,"src":"12634:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71965,"name":"address","nodeType":"ElementaryTypeName","src":"12634:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71968,"initialValue":{"id":71967,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71372,"src":"12650:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12634:22:103"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71969,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71952,"src":"12670:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":71972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12688:1:103","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":71971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12680:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71970,"name":"address","nodeType":"ElementaryTypeName","src":"12680:7:103","typeDescriptions":{}}},"id":71973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12680:10:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12670:20:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71980,"nodeType":"IfStatement","src":"12666:65:103","trueBody":{"id":71979,"nodeType":"Block","src":"12692:39:103","statements":[{"expression":{"id":71977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71975,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71966,"src":"12706:5:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71976,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71952,"src":"12714:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12706:14:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71978,"nodeType":"ExpressionStatement","src":"12706:14:103"}]}},{"expression":{"id":71983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71981,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71963,"src":"12740:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71982,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71950,"src":"12751:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12740:20:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71984,"nodeType":"ExpressionStatement","src":"12740:20:103"},{"assignments":[71989],"declarations":[{"constant":false,"id":71989,"mutability":"mutable","name":"_pool_managers","nameLocation":"12788:14:103","nodeType":"VariableDeclaration","scope":72019,"src":"12771:31:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71987,"name":"address","nodeType":"ElementaryTypeName","src":"12771:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71988,"nodeType":"ArrayTypeName","src":"12771:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71991,"initialValue":{"id":71990,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71471,"src":"12805:14:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12771:48:103"},{"expression":{"id":72006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71992,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71961,"src":"12830:6:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71995,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71396,"src":"12886:9:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71996,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71963,"src":"12897:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71999,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71955,"src":"12918:7:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":71997,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12907:3:103","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":71998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12911:6:103","memberName":"encode","nodeType":"MemberAccess","src":"12907:10:103","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12907:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":72001,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71966,"src":"12928:5:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":72002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12935:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":72003,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71958,"src":"12938:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":72004,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71989,"src":"12949:14:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":71993,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71430,"src":"12839:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}},"id":71994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12844:28:103","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":74610,"src":"12839:33:103","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":72005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12839:134:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12830:143:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72007,"nodeType":"ExpressionStatement","src":"12830:143:103"},{"eventCall":{"arguments":[{"id":72009,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71961,"src":"13001:6:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72010,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71963,"src":"13009:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":72013,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13027:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":72012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13019:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72011,"name":"address","nodeType":"ElementaryTypeName","src":"13019:7:103","typeDescriptions":{}}},"id":72014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13019:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72015,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71952,"src":"13034:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72016,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71958,"src":"13042:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":72008,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71286,"src":"12989:11:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":72017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12989:63:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72018,"nodeType":"EmitStatement","src":"12984:68:103"}]},"functionSelector":"e16d0e32","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"12407:10:103","parameters":{"id":71959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71950,"mutability":"mutable","name":"_strategy","nameLocation":"12435:9:103","nodeType":"VariableDeclaration","scope":72020,"src":"12427:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71949,"name":"address","nodeType":"ElementaryTypeName","src":"12427:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71952,"mutability":"mutable","name":"_token","nameLocation":"12462:6:103","nodeType":"VariableDeclaration","scope":72020,"src":"12454:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71951,"name":"address","nodeType":"ElementaryTypeName","src":"12454:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71955,"mutability":"mutable","name":"_params","nameLocation":"12517:7:103","nodeType":"VariableDeclaration","scope":72020,"src":"12478:46:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":71954,"nodeType":"UserDefinedTypeName","pathNode":{"id":71953,"name":"StrategyStruct.InitializeParams","nameLocations":["12478:14:103","12493:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":66615,"src":"12478:31:103"},"referencedDeclaration":66615,"src":"12478:31:103","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$66615_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":71958,"mutability":"mutable","name":"_metadata","nameLocation":"12550:9:103","nodeType":"VariableDeclaration","scope":72020,"src":"12534:25:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":71957,"nodeType":"UserDefinedTypeName","pathNode":{"id":71956,"name":"Metadata","nameLocations":["12534:8:103"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12534:8:103"},"referencedDeclaration":3098,"src":"12534:8:103","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12417:148:103"},"returnParameters":{"id":71964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71961,"mutability":"mutable","name":"poolId","nameLocation":"12598:6:103","nodeType":"VariableDeclaration","scope":72020,"src":"12590:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71960,"name":"uint256","nodeType":"ElementaryTypeName","src":"12590:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71963,"mutability":"mutable","name":"strategy","nameLocation":"12614:8:103","nodeType":"VariableDeclaration","scope":72020,"src":"12606:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71962,"name":"address","nodeType":"ElementaryTypeName","src":"12606:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12589:34:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72137,"nodeType":"FunctionDefinition","src":"13065:1187:103","nodes":[],"body":{"id":72136,"nodeType":"Block","src":"13150:1102:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":72028,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72022,"src":"13186:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72027,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71523,"src":"13160:25:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":72029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13160:34:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72030,"nodeType":"ExpressionStatement","src":"13160:34:103"},{"expression":{"arguments":[{"id":72032,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"13224:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72031,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71538,"src":"13204:19:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":72033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13204:30:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72034,"nodeType":"ExpressionStatement","src":"13204:30:103"},{"expression":{"arguments":[{"id":72036,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"13263:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72035,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"13244:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13244:29:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72038,"nodeType":"ExpressionStatement","src":"13244:29:103"},{"condition":{"baseExpression":{"baseExpression":{"id":72039,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71467,"src":"13288:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":72041,"indexExpression":{"id":72040,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72022,"src":"13316:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13288:36:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72043,"indexExpression":{"id":72042,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"13325:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13288:47:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72048,"nodeType":"IfStatement","src":"13284:107:103","trueBody":{"id":72047,"nodeType":"Block","src":"13337:54:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72044,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71302,"src":"13358:20:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13358:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72046,"nodeType":"RevertStatement","src":"13351:29:103"}]}},{"assignments":[72051],"declarations":[{"constant":false,"id":72051,"mutability":"mutable","name":"member","nameLocation":"13415:6:103","nodeType":"VariableDeclaration","scope":72136,"src":"13401:20:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":72050,"nodeType":"UserDefinedTypeName","pathNode":{"id":72049,"name":"Member","nameLocations":["13401:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":71595,"src":"13401:6:103"},"referencedDeclaration":71595,"src":"13401:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":72055,"initialValue":{"baseExpression":{"id":72052,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"13424:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72054,"indexExpression":{"id":72053,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72022,"src":"13444:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13424:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13401:51:103"},{"assignments":[72057],"declarations":[{"constant":false,"id":72057,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"13471:17:103","nodeType":"VariableDeclaration","scope":72136,"src":"13463:25:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72056,"name":"uint256","nodeType":"ElementaryTypeName","src":"13463:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72060,"initialValue":{"expression":{"id":72058,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72051,"src":"13491:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":72059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13498:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"13491:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13463:47:103"},{"assignments":[72062],"declarations":[{"constant":false,"id":72062,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13528:16:103","nodeType":"VariableDeclaration","scope":72136,"src":"13520:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72061,"name":"uint256","nodeType":"ElementaryTypeName","src":"13520:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72064,"initialValue":{"id":72063,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"13547:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13520:46:103"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":72073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":72066,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"13596:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72065,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"13581:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}},"id":72067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13581:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$66494","typeString":"contract IPointStrategy"}},"id":72068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13607:14:103","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":66493,"src":"13581:40:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$66503_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":72069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13581:42:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":72070,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"13627:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":72071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13642:11:103","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"13627:26:103","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":72072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13654:9:103","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":66502,"src":"13627:36:103","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"13581:82:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"},"id":72093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":72086,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"13785:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72085,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"13770:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}},"id":72087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13770:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$66494","typeString":"contract IPointStrategy"}},"id":72088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13796:14:103","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":66493,"src":"13770:40:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$66503_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":72089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13770:42:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":72090,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"13816:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$66616_$","typeString":"type(library StrategyStruct)"}},"id":72091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13831:11:103","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":66503,"src":"13816:26:103","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$66503_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":72092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13843:5:103","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":66499,"src":"13816:32:103","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$66503","typeString":"enum StrategyStruct.PointSystem"}},"src":"13770:78:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72105,"nodeType":"IfStatement","src":"13766:195:103","trueBody":{"id":72104,"nodeType":"Block","src":"13850:111:103","statements":[{"expression":{"id":72102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72094,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72062,"src":"13864:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72099,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72022,"src":"13923:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72100,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72057,"src":"13932:17:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":72096,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"13898:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72095,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"13883:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}},"id":72097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13883:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$66494","typeString":"contract IPointStrategy"}},"id":72098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13909:13:103","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":66478,"src":"13883:39:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":72101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13883:67:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13864:86:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72103,"nodeType":"ExpressionStatement","src":"13864:86:103"}]}},"id":72106,"nodeType":"IfStatement","src":"13577:384:103","trueBody":{"id":72084,"nodeType":"Block","src":"13665:95:103","statements":[{"expression":{"id":72082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72074,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72062,"src":"13679:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72079,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72022,"src":"13738:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":72080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13747:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":72076,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"13713:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72075,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"13698:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}},"id":72077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13698:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$66494","typeString":"contract IPointStrategy"}},"id":72078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13724:13:103","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":66478,"src":"13698:39:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":72081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13698:51:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13679:70:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72083,"nodeType":"ExpressionStatement","src":"13679:70:103"}]}},{"expression":{"id":72113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":72107,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71448,"src":"13971:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72110,"indexExpression":{"id":72108,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72022,"src":"13993:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13971:30:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72111,"indexExpression":{"id":72109,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"14002:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13971:41:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72112,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72062,"src":"14015:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13971:60:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72114,"nodeType":"ExpressionStatement","src":"13971:60:103"},{"expression":{"id":72121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":72115,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71467,"src":"14060:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":72118,"indexExpression":{"id":72116,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72022,"src":"14088:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14060:36:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72119,"indexExpression":{"id":72117,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"14097:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14060:47:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":72120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14110:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14060:54:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72122,"nodeType":"ExpressionStatement","src":"14060:54:103"},{"expression":{"arguments":[{"id":72127,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"14158:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":72123,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71460,"src":"14125:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":72125,"indexExpression":{"id":72124,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72022,"src":"14144:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14125:27:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":72126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14153:4:103","memberName":"push","nodeType":"MemberAccess","src":"14125:32:103","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":72128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14125:43:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72129,"nodeType":"ExpressionStatement","src":"14125:43:103"},{"eventCall":{"arguments":[{"id":72131,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72022,"src":"14208:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72132,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"14217:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72133,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72062,"src":"14228:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72130,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71251,"src":"14184:23:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":72134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14184:61:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72135,"nodeType":"EmitStatement","src":"14179:66:103"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[],"name":"activateMemberInStrategy","nameLocation":"13074:24:103","parameters":{"id":72025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72022,"mutability":"mutable","name":"_member","nameLocation":"13107:7:103","nodeType":"VariableDeclaration","scope":72137,"src":"13099:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72021,"name":"address","nodeType":"ElementaryTypeName","src":"13099:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72024,"mutability":"mutable","name":"_strategy","nameLocation":"13124:9:103","nodeType":"VariableDeclaration","scope":72137,"src":"13116:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72023,"name":"address","nodeType":"ElementaryTypeName","src":"13116:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13098:36:103"},"returnParameters":{"id":72026,"nodeType":"ParameterList","parameters":[],"src":"13150:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72196,"nodeType":"FunctionDefinition","src":"14258:699:103","nodes":[],"body":{"id":72195,"nodeType":"Block","src":"14345:612:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":72145,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72139,"src":"14381:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72144,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71523,"src":"14355:25:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":72146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14355:34:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72147,"nodeType":"ExpressionStatement","src":"14355:34:103"},{"expression":{"arguments":[{"id":72149,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72141,"src":"14418:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72148,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"14399:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14399:29:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72151,"nodeType":"ExpressionStatement","src":"14399:29:103"},{"expression":{"arguments":[{"expression":{"id":72153,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14458:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14462:6:103","memberName":"sender","nodeType":"MemberAccess","src":"14458:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72155,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72141,"src":"14470:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72152,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71554,"src":"14438:19:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":72156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14438:42:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72157,"nodeType":"ExpressionStatement","src":"14438:42:103"},{"condition":{"id":72163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14495:48:103","subExpression":{"baseExpression":{"baseExpression":{"id":72158,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71467,"src":"14496:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":72160,"indexExpression":{"id":72159,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72139,"src":"14524:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14496:36:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72162,"indexExpression":{"id":72161,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72141,"src":"14533:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14496:47:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72168,"nodeType":"IfStatement","src":"14491:110:103","trueBody":{"id":72167,"nodeType":"Block","src":"14545:56:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72164,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71304,"src":"14566:22:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14566:24:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72166,"nodeType":"RevertStatement","src":"14559:31:103"}]}},{"expression":{"id":72175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":72169,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71467,"src":"14611:27:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":72172,"indexExpression":{"id":72170,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72139,"src":"14639:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14611:36:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72173,"indexExpression":{"id":72171,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72141,"src":"14648:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14611:47:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":72174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14661:5:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"14611:55:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72176,"nodeType":"ExpressionStatement","src":"14611:55:103"},{"expression":{"id":72183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":72177,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71448,"src":"14676:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72180,"indexExpression":{"id":72178,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72139,"src":"14698:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14676:30:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72181,"indexExpression":{"id":72179,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72141,"src":"14707:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14676:41:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":72182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14720:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14676:45:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72184,"nodeType":"ExpressionStatement","src":"14676:45:103"},{"expression":{"arguments":[{"id":72186,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72139,"src":"14756:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72187,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72141,"src":"14765:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72185,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72249,"src":"14731:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":72188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14731:44:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72189,"nodeType":"ExpressionStatement","src":"14731:44:103"},{"eventCall":{"arguments":[{"id":72191,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72139,"src":"14931:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72192,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72141,"src":"14940:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72190,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71257,"src":"14905:25:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":72193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14905:45:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72194,"nodeType":"EmitStatement","src":"14900:50:103"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"14267:26:103","parameters":{"id":72142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72139,"mutability":"mutable","name":"_member","nameLocation":"14302:7:103","nodeType":"VariableDeclaration","scope":72196,"src":"14294:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72138,"name":"address","nodeType":"ElementaryTypeName","src":"14294:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72141,"mutability":"mutable","name":"_strategy","nameLocation":"14319:9:103","nodeType":"VariableDeclaration","scope":72196,"src":"14311:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72140,"name":"address","nodeType":"ElementaryTypeName","src":"14311:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14293:36:103"},"returnParameters":{"id":72143,"nodeType":"ParameterList","parameters":[],"src":"14345:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72249,"nodeType":"FunctionDefinition","src":"14963:433:103","nodes":[],"body":{"id":72248,"nodeType":"Block","src":"15050:346:103","nodes":[],"statements":[{"assignments":[72207],"declarations":[{"constant":false,"id":72207,"mutability":"mutable","name":"memberStrategies","nameLocation":"15078:16:103","nodeType":"VariableDeclaration","scope":72248,"src":"15060:34:103","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72205,"name":"address","nodeType":"ElementaryTypeName","src":"15060:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72206,"nodeType":"ArrayTypeName","src":"15060:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":72211,"initialValue":{"baseExpression":{"id":72208,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71460,"src":"15097:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":72210,"indexExpression":{"id":72209,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72198,"src":"15116:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15097:27:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15060:64:103"},{"body":{"id":72246,"nodeType":"Block","src":"15188:202:103","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":72223,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72207,"src":"15206:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72225,"indexExpression":{"id":72224,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72213,"src":"15223:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15206:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":72226,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72200,"src":"15229:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15206:32:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72245,"nodeType":"IfStatement","src":"15202:178:103","trueBody":{"id":72244,"nodeType":"Block","src":"15240:140:103","statements":[{"expression":{"id":72237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72228,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72207,"src":"15258:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72230,"indexExpression":{"id":72229,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72213,"src":"15275:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15258:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":72231,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72207,"src":"15280:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72236,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72232,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72207,"src":"15297:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15314:6:103","memberName":"length","nodeType":"MemberAccess","src":"15297:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":72234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15323:1:103","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15297:27:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15280:45:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15258:67:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72238,"nodeType":"ExpressionStatement","src":"15258:67:103"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72239,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72207,"src":"15343:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15360:3:103","memberName":"pop","nodeType":"MemberAccess","src":"15343:20:103","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":72242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15343:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72243,"nodeType":"ExpressionStatement","src":"15343:22:103"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72216,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72213,"src":"15154:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":72217,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72207,"src":"15158:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15175:6:103","memberName":"length","nodeType":"MemberAccess","src":"15158:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15154:27:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72247,"initializationExpression":{"assignments":[72213],"declarations":[{"constant":false,"id":72213,"mutability":"mutable","name":"i","nameLocation":"15147:1:103","nodeType":"VariableDeclaration","scope":72247,"src":"15139:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72212,"name":"uint256","nodeType":"ElementaryTypeName","src":"15139:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72215,"initialValue":{"hexValue":"30","id":72214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15151:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15139:13:103"},"loopExpression":{"expression":{"id":72221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15183:3:103","subExpression":{"id":72220,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72213,"src":"15183:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72222,"nodeType":"ExpressionStatement","src":"15183:3:103"},"nodeType":"ForStatement","src":"15134:256:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"14972:24:103","parameters":{"id":72201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72198,"mutability":"mutable","name":"_member","nameLocation":"15005:7:103","nodeType":"VariableDeclaration","scope":72249,"src":"14997:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72197,"name":"address","nodeType":"ElementaryTypeName","src":"14997:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72200,"mutability":"mutable","name":"_strategy","nameLocation":"15022:9:103","nodeType":"VariableDeclaration","scope":72249,"src":"15014:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72199,"name":"address","nodeType":"ElementaryTypeName","src":"15014:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14996:36:103"},"returnParameters":{"id":72202,"nodeType":"ParameterList","parameters":[],"src":"15050:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72340,"nodeType":"FunctionDefinition","src":"15402:1009:103","nodes":[],"body":{"id":72339,"nodeType":"Block","src":"15476:935:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72256,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71508,"src":"15486:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15486:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72258,"nodeType":"ExpressionStatement","src":"15486:26:103"},{"assignments":[72260],"declarations":[{"constant":false,"id":72260,"mutability":"mutable","name":"member","nameLocation":"15530:6:103","nodeType":"VariableDeclaration","scope":72339,"src":"15522:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72259,"name":"address","nodeType":"ElementaryTypeName","src":"15522:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72263,"initialValue":{"expression":{"id":72261,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15539:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15543:6:103","memberName":"sender","nodeType":"MemberAccess","src":"15539:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15522:27:103"},{"assignments":[72268],"declarations":[{"constant":false,"id":72268,"mutability":"mutable","name":"memberStrategies","nameLocation":"15576:16:103","nodeType":"VariableDeclaration","scope":72339,"src":"15559:33:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72266,"name":"address","nodeType":"ElementaryTypeName","src":"15559:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72267,"nodeType":"ArrayTypeName","src":"15559:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":72272,"initialValue":{"baseExpression":{"id":72269,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71460,"src":"15595:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":72271,"indexExpression":{"id":72270,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72260,"src":"15614:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15595:26:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15559:62:103"},{"assignments":[72274],"declarations":[{"constant":false,"id":72274,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"15640:16:103","nodeType":"VariableDeclaration","scope":72339,"src":"15632:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72273,"name":"uint256","nodeType":"ElementaryTypeName","src":"15632:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72275,"nodeType":"VariableDeclarationStatement","src":"15632:24:103"},{"body":{"id":72314,"nodeType":"Block","src":"15721:482:103","statements":[{"expression":{"id":72297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72287,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72274,"src":"15840:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72294,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72260,"src":"15909:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72295,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72251,"src":"15917:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":72289,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72268,"src":"15874:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72291,"indexExpression":{"id":72290,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72277,"src":"15891:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15874:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72288,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"15859:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}},"id":72292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15859:35:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$66494","typeString":"contract IPointStrategy"}},"id":72293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15895:13:103","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":66478,"src":"15859:49:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":72296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15859:72:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15840:91:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72298,"nodeType":"ExpressionStatement","src":"15840:91:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72299,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72274,"src":"15949:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":72300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15969:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15949:21:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72313,"nodeType":"IfStatement","src":"15945:232:103","trueBody":{"id":72312,"nodeType":"Block","src":"15972:205:103","statements":[{"expression":{"id":72310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":72302,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71448,"src":"15990:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72307,"indexExpression":{"id":72303,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72260,"src":"16012:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15990:29:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72308,"indexExpression":{"baseExpression":{"id":72304,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72268,"src":"16020:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72306,"indexExpression":{"id":72305,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72277,"src":"16037:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16020:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15990:50:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":72309,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72274,"src":"16044:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15990:70:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72311,"nodeType":"ExpressionStatement","src":"15990:70:103"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72280,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72277,"src":"15687:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":72281,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72268,"src":"15691:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15708:6:103","memberName":"length","nodeType":"MemberAccess","src":"15691:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15687:27:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72315,"initializationExpression":{"assignments":[72277],"declarations":[{"constant":false,"id":72277,"mutability":"mutable","name":"i","nameLocation":"15680:1:103","nodeType":"VariableDeclaration","scope":72315,"src":"15672:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72276,"name":"uint256","nodeType":"ElementaryTypeName","src":"15672:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72279,"initialValue":{"hexValue":"30","id":72278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15684:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15672:13:103"},"loopExpression":{"expression":{"id":72285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15716:3:103","subExpression":{"id":72284,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72277,"src":"15716:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72286,"nodeType":"ExpressionStatement","src":"15716:3:103"},"nodeType":"ForStatement","src":"15667:536:103"},{"expression":{"arguments":[{"id":72319,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72260,"src":"16242:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":72322,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16258:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":72321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16250:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72320,"name":"address","nodeType":"ElementaryTypeName","src":"16250:7:103","typeDescriptions":{}}},"id":72323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16250:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72324,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72251,"src":"16265:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72316,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71422,"src":"16213:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":72318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16225:16:103","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":55946,"src":"16213:28:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":72325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16213:66:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72326,"nodeType":"ExpressionStatement","src":"16213:66:103"},{"expression":{"id":72332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":72327,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"16289:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72329,"indexExpression":{"id":72328,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72260,"src":"16309:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16289:27:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":72330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16317:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"16289:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":72331,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72251,"src":"16333:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16289:57:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72333,"nodeType":"ExpressionStatement","src":"16289:57:103"},{"eventCall":{"arguments":[{"id":72335,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72260,"src":"16382:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72336,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72251,"src":"16390:13:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72334,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71267,"src":"16361:20:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16361:43:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72338,"nodeType":"EmitStatement","src":"16356:48:103"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":72254,"kind":"modifierInvocation","modifierName":{"id":72253,"name":"nonReentrant","nameLocations":["15463:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"15463:12:103"},"nodeType":"ModifierInvocation","src":"15463:12:103"}],"name":"increasePower","nameLocation":"15411:13:103","parameters":{"id":72252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72251,"mutability":"mutable","name":"_amountStaked","nameLocation":"15433:13:103","nodeType":"VariableDeclaration","scope":72340,"src":"15425:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72250,"name":"uint256","nodeType":"ElementaryTypeName","src":"15425:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15424:23:103"},"returnParameters":{"id":72255,"nodeType":"ParameterList","parameters":[],"src":"15476:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72490,"nodeType":"FunctionDefinition","src":"16554:1562:103","nodes":[],"body":{"id":72489,"nodeType":"Block","src":"16630:1486:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72347,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71508,"src":"16640:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16640:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72349,"nodeType":"ExpressionStatement","src":"16640:26:103"},{"assignments":[72351],"declarations":[{"constant":false,"id":72351,"mutability":"mutable","name":"member","nameLocation":"16684:6:103","nodeType":"VariableDeclaration","scope":72489,"src":"16676:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72350,"name":"address","nodeType":"ElementaryTypeName","src":"16676:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72354,"initialValue":{"expression":{"id":72352,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16693:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16697:6:103","memberName":"sender","nodeType":"MemberAccess","src":"16693:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16676:27:103"},{"assignments":[72359],"declarations":[{"constant":false,"id":72359,"mutability":"mutable","name":"memberStrategies","nameLocation":"16731:16:103","nodeType":"VariableDeclaration","scope":72489,"src":"16713:34:103","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72357,"name":"address","nodeType":"ElementaryTypeName","src":"16713:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72358,"nodeType":"ArrayTypeName","src":"16713:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":72363,"initialValue":{"baseExpression":{"id":72360,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71460,"src":"16750:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":72362,"indexExpression":{"id":72361,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72351,"src":"16769:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16750:26:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16713:63:103"},{"assignments":[72365],"declarations":[{"constant":false,"id":72365,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"16795:16:103","nodeType":"VariableDeclaration","scope":72489,"src":"16787:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72364,"name":"uint256","nodeType":"ElementaryTypeName","src":"16787:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72366,"nodeType":"VariableDeclarationStatement","src":"16787:24:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":72367,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"16826:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72369,"indexExpression":{"id":72368,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72351,"src":"16846:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16826:27:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":72370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16854:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"16826:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":72371,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72342,"src":"16869:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16826:58:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":72373,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"16887:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16826:80:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72379,"nodeType":"IfStatement","src":"16822:140:103","trueBody":{"id":72378,"nodeType":"Block","src":"16908:54:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72375,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71322,"src":"16929:20:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16929:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72377,"nodeType":"RevertStatement","src":"16922:29:103"}]}},{"expression":{"arguments":[{"id":72383,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72351,"src":"16996:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72384,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72342,"src":"17004:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72380,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71422,"src":"16971:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":72382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16983:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"16971:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16971:49:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72386,"nodeType":"ExpressionStatement","src":"16971:49:103"},{"body":{"id":72475,"nodeType":"Block","src":"17084:897:103","statements":[{"assignments":[72399],"declarations":[{"constant":false,"id":72399,"mutability":"mutable","name":"strategy","nameLocation":"17106:8:103","nodeType":"VariableDeclaration","scope":72475,"src":"17098:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72398,"name":"address","nodeType":"ElementaryTypeName","src":"17098:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72403,"initialValue":{"baseExpression":{"id":72400,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72359,"src":"17117:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72402,"indexExpression":{"id":72401,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72388,"src":"17134:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17117:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17098:38:103"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":72407,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"17186:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}],"id":72406,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"17181:4:103","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17181:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$66494","typeString":"type(contract IPointStrategy)"}},"id":72409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17202:11:103","memberName":"interfaceId","nodeType":"MemberAccess","src":"17181:32:103","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72404,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72399,"src":"17154:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17163:17:103","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57080,"src":"17154:26:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":72410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17154:60:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":72473,"nodeType":"Block","src":"17704:250:103","statements":[{"expression":{"id":72462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72453,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72359,"src":"17789:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72455,"indexExpression":{"id":72454,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72388,"src":"17806:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17789:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":72456,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72359,"src":"17811:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72461,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72457,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72359,"src":"17828:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17845:6:103","memberName":"length","nodeType":"MemberAccess","src":"17828:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":72459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17854:1:103","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17828:27:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17811:45:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17789:67:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72463,"nodeType":"ExpressionStatement","src":"17789:67:103"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72464,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72359,"src":"17874:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17891:3:103","memberName":"pop","nodeType":"MemberAccess","src":"17874:20:103","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":72467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17874:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72468,"nodeType":"ExpressionStatement","src":"17874:22:103"},{"expression":{"arguments":[{"id":72470,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72399,"src":"17930:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72469,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72641,"src":"17914:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17914:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72472,"nodeType":"ExpressionStatement","src":"17914:25:103"}]},"id":72474,"nodeType":"IfStatement","src":"17150:804:103","trueBody":{"id":72452,"nodeType":"Block","src":"17216:482:103","statements":[{"expression":{"id":72419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72411,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72365,"src":"17234:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72416,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72351,"src":"17292:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72417,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72342,"src":"17300:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":72413,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72399,"src":"17268:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72412,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"17253:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}},"id":72414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17253:24:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$66494","typeString":"contract IPointStrategy"}},"id":72415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17278:13:103","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":66487,"src":"17253:38:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":72418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17253:63:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17234:82:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72420,"nodeType":"ExpressionStatement","src":"17234:82:103"},{"assignments":[72422],"declarations":[{"constant":false,"id":72422,"mutability":"mutable","name":"currentPower","nameLocation":"17342:12:103","nodeType":"VariableDeclaration","scope":72452,"src":"17334:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72421,"name":"uint256","nodeType":"ElementaryTypeName","src":"17334:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72430,"initialValue":{"baseExpression":{"baseExpression":{"id":72423,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71448,"src":"17357:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72425,"indexExpression":{"id":72424,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72351,"src":"17379:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17357:29:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72429,"indexExpression":{"baseExpression":{"id":72426,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72359,"src":"17387:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72428,"indexExpression":{"id":72427,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72388,"src":"17404:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17387:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17357:50:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17334:73:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72431,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72365,"src":"17429:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":72432,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72422,"src":"17448:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17429:31:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":72450,"nodeType":"Block","src":"17573:111:103","statements":[{"expression":{"id":72448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":72440,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71448,"src":"17595:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72445,"indexExpression":{"id":72441,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72351,"src":"17617:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17595:29:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72446,"indexExpression":{"baseExpression":{"id":72442,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72359,"src":"17625:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72444,"indexExpression":{"id":72443,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72388,"src":"17642:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17625:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17595:50:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":72447,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72365,"src":"17649:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17595:70:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72449,"nodeType":"ExpressionStatement","src":"17595:70:103"}]},"id":72451,"nodeType":"IfStatement","src":"17425:259:103","trueBody":{"id":72439,"nodeType":"Block","src":"17462:105:103","statements":[{"errorCall":{"arguments":[{"id":72435,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72365,"src":"17517:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72436,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72422,"src":"17535:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72434,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71328,"src":"17491:25:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":72437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17491:57:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72438,"nodeType":"RevertStatement","src":"17484:64:103"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72391,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72388,"src":"17050:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":72392,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72359,"src":"17054:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17071:6:103","memberName":"length","nodeType":"MemberAccess","src":"17054:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17050:27:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72476,"initializationExpression":{"assignments":[72388],"declarations":[{"constant":false,"id":72388,"mutability":"mutable","name":"i","nameLocation":"17043:1:103","nodeType":"VariableDeclaration","scope":72476,"src":"17035:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72387,"name":"uint256","nodeType":"ElementaryTypeName","src":"17035:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72390,"initialValue":{"hexValue":"30","id":72389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17047:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17035:13:103"},"loopExpression":{"expression":{"id":72396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17079:3:103","subExpression":{"id":72395,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72388,"src":"17079:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72397,"nodeType":"ExpressionStatement","src":"17079:3:103"},"nodeType":"ForStatement","src":"17030:951:103"},{"expression":{"id":72482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":72477,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"17990:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72479,"indexExpression":{"id":72478,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72351,"src":"18010:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17990:27:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":72480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18018:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"17990:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":72481,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72342,"src":"18034:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17990:59:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72483,"nodeType":"ExpressionStatement","src":"17990:59:103"},{"eventCall":{"arguments":[{"id":72485,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72351,"src":"18085:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72486,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72342,"src":"18093:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72484,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71273,"src":"18064:20:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18064:45:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72488,"nodeType":"EmitStatement","src":"18059:50:103"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":72345,"kind":"modifierInvocation","modifierName":{"id":72344,"name":"nonReentrant","nameLocations":["16617:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"16617:12:103"},"nodeType":"ModifierInvocation","src":"16617:12:103"}],"name":"decreasePower","nameLocation":"16563:13:103","parameters":{"id":72343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72342,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"16585:15:103","nodeType":"VariableDeclaration","scope":72490,"src":"16577:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72341,"name":"uint256","nodeType":"ElementaryTypeName","src":"16577:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16576:25:103"},"returnParameters":{"id":72346,"nodeType":"ParameterList","parameters":[],"src":"16630:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72506,"nodeType":"FunctionDefinition","src":"18122:173:103","nodes":[],"body":{"id":72505,"nodeType":"Block","src":"18230:65:103","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":72499,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71448,"src":"18247:21:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72501,"indexExpression":{"id":72500,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72492,"src":"18269:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18247:30:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72503,"indexExpression":{"id":72502,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72494,"src":"18278:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18247:41:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72498,"id":72504,"nodeType":"Return","src":"18240:48:103"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"18131:24:103","parameters":{"id":72495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72492,"mutability":"mutable","name":"_member","nameLocation":"18164:7:103","nodeType":"VariableDeclaration","scope":72506,"src":"18156:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72491,"name":"address","nodeType":"ElementaryTypeName","src":"18156:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72494,"mutability":"mutable","name":"_strategy","nameLocation":"18181:9:103","nodeType":"VariableDeclaration","scope":72506,"src":"18173:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72493,"name":"address","nodeType":"ElementaryTypeName","src":"18173:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18155:36:103"},"returnParameters":{"id":72498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72497,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72506,"src":"18221:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72496,"name":"uint256","nodeType":"ElementaryTypeName","src":"18221:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18220:9:103"},"scope":73113,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72519,"nodeType":"FunctionDefinition","src":"18301:151:103","nodes":[],"body":{"id":72518,"nodeType":"Block","src":"18387:65:103","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":72513,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"18404:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72515,"indexExpression":{"id":72514,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72508,"src":"18424:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18404:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":72516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18433:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"18404:41:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72512,"id":72517,"nodeType":"Return","src":"18397:48:103"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"18310:21:103","parameters":{"id":72509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72508,"mutability":"mutable","name":"_member","nameLocation":"18340:7:103","nodeType":"VariableDeclaration","scope":72519,"src":"18332:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72507,"name":"address","nodeType":"ElementaryTypeName","src":"18332:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18331:17:103"},"returnParameters":{"id":72512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72511,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72519,"src":"18378:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18378:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18377:9:103"},"scope":73113,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72556,"nodeType":"FunctionDefinition","src":"18458:321:103","nodes":[],"body":{"id":72555,"nodeType":"Block","src":"18518:261:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72524,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71494,"src":"18528:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18528:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72526,"nodeType":"ExpressionStatement","src":"18528:17:103"},{"assignments":[72528],"declarations":[{"constant":false,"id":72528,"mutability":"mutable","name":"strategy","nameLocation":"18563:8:103","nodeType":"VariableDeclaration","scope":72555,"src":"18555:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72527,"name":"address","nodeType":"ElementaryTypeName","src":"18555:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72537,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":72533,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72521,"src":"18595:6:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72531,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71430,"src":"18582:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}},"id":72532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18587:7:103","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":74623,"src":"18582:12:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":72534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18582:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":72535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18603:8:103","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18582:29:103","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":72530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18574:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72529,"name":"address","nodeType":"ElementaryTypeName","src":"18574:7:103","typeDescriptions":{}}},"id":72536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18574:38:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18555:57:103"},{"expression":{"arguments":[{"id":72539,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72528,"src":"18641:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72538,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"18622:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18622:28:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72541,"nodeType":"ExpressionStatement","src":"18622:28:103"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":72545,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"18696:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}],"id":72544,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18691:4:103","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$66494","typeString":"type(contract IPointStrategy)"}},"id":72547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18712:11:103","memberName":"interfaceId","nodeType":"MemberAccess","src":"18691:32:103","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72542,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72528,"src":"18664:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18673:17:103","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57080,"src":"18664:26:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":72548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18664:60:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72554,"nodeType":"IfStatement","src":"18660:113:103","trueBody":{"id":72553,"nodeType":"Block","src":"18726:47:103","statements":[{"expression":{"arguments":[{"id":72550,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72528,"src":"18753:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72549,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"18740:12:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18740:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72552,"nodeType":"ExpressionStatement","src":"18740:22:103"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"18467:19:103","parameters":{"id":72522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72521,"mutability":"mutable","name":"poolId","nameLocation":"18495:6:103","nodeType":"VariableDeclaration","scope":72556,"src":"18487:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72520,"name":"uint256","nodeType":"ElementaryTypeName","src":"18487:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18486:16:103"},"returnParameters":{"id":72523,"nodeType":"ParameterList","parameters":[],"src":"18518:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72569,"nodeType":"FunctionDefinition","src":"18785:128:103","nodes":[],"body":{"id":72568,"nodeType":"Block","src":"18843:70:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72561,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71494,"src":"18853:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18853:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72563,"nodeType":"ExpressionStatement","src":"18853:17:103"},{"expression":{"arguments":[{"id":72565,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72558,"src":"18893:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72564,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72593,"src":"18880:12:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18880:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72567,"nodeType":"ExpressionStatement","src":"18880:26:103"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"18794:11:103","parameters":{"id":72559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72558,"mutability":"mutable","name":"_newStrategy","nameLocation":"18814:12:103","nodeType":"VariableDeclaration","scope":72569,"src":"18806:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72557,"name":"address","nodeType":"ElementaryTypeName","src":"18806:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18805:22:103"},"returnParameters":{"id":72560,"nodeType":"ParameterList","parameters":[],"src":"18843:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72593,"nodeType":"FunctionDefinition","src":"18919:252:103","nodes":[],"body":{"id":72592,"nodeType":"Block","src":"18980:191:103","nodes":[],"statements":[{"condition":{"baseExpression":{"id":72574,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71441,"src":"18994:17:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72576,"indexExpression":{"id":72575,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72571,"src":"19012:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18994:31:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72581,"nodeType":"IfStatement","src":"18990:85:103","trueBody":{"id":72580,"nodeType":"Block","src":"19027:48:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72577,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71306,"src":"19048:14:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19048:16:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72579,"nodeType":"RevertStatement","src":"19041:23:103"}]}},{"expression":{"id":72586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72582,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71441,"src":"19084:17:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72584,"indexExpression":{"id":72583,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72571,"src":"19102:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19084:31:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":72585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19118:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19084:38:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72587,"nodeType":"ExpressionStatement","src":"19084:38:103"},{"eventCall":{"arguments":[{"id":72589,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72571,"src":"19151:12:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72588,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71239,"src":"19137:13:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19137:27:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72591,"nodeType":"EmitStatement","src":"19132:32:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"18928:12:103","parameters":{"id":72572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72571,"mutability":"mutable","name":"_newStrategy","nameLocation":"18949:12:103","nodeType":"VariableDeclaration","scope":72593,"src":"18941:20:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72570,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18940:22:103"},"returnParameters":{"id":72573,"nodeType":"ParameterList","parameters":[],"src":"18980:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72621,"nodeType":"FunctionDefinition","src":"19177:237:103","nodes":[],"body":{"id":72620,"nodeType":"Block","src":"19240:174:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72598,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71494,"src":"19250:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19250:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72600,"nodeType":"ExpressionStatement","src":"19250:17:103"},{"assignments":[72602],"declarations":[{"constant":false,"id":72602,"mutability":"mutable","name":"strategy","nameLocation":"19285:8:103","nodeType":"VariableDeclaration","scope":72620,"src":"19277:16:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72601,"name":"address","nodeType":"ElementaryTypeName","src":"19277:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72611,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":72607,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72595,"src":"19317:6:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72605,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71430,"src":"19304:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$74624","typeString":"contract FAllo"}},"id":72606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19309:7:103","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":74623,"src":"19304:12:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":72608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19304:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":72609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19325:8:103","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19304:29:103","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":72604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19296:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72603,"name":"address","nodeType":"ElementaryTypeName","src":"19296:7:103","typeDescriptions":{}}},"id":72610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19296:38:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"19277:57:103"},{"expression":{"arguments":[{"id":72613,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72602,"src":"19363:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72612,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"19344:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19344:28:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72615,"nodeType":"ExpressionStatement","src":"19344:28:103"},{"expression":{"arguments":[{"id":72617,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72602,"src":"19398:8:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72616,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72641,"src":"19382:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19382:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72619,"nodeType":"ExpressionStatement","src":"19382:25:103"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"19186:22:103","parameters":{"id":72596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72595,"mutability":"mutable","name":"poolId","nameLocation":"19217:6:103","nodeType":"VariableDeclaration","scope":72621,"src":"19209:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72594,"name":"uint256","nodeType":"ElementaryTypeName","src":"19209:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19208:16:103"},"returnParameters":{"id":72597,"nodeType":"ParameterList","parameters":[],"src":"19240:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72641,"nodeType":"FunctionDefinition","src":"19420:194:103","nodes":[],"body":{"id":72640,"nodeType":"Block","src":"19481:133:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":72627,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72623,"src":"19510:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72626,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"19491:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19491:29:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72629,"nodeType":"ExpressionStatement","src":"19491:29:103"},{"expression":{"id":72634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72630,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71441,"src":"19530:17:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72632,"indexExpression":{"id":72631,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72623,"src":"19548:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19530:28:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":72633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19561:5:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"19530:36:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72635,"nodeType":"ExpressionStatement","src":"19530:36:103"},{"eventCall":{"arguments":[{"id":72637,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72623,"src":"19597:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72636,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71243,"src":"19581:15:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19581:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72639,"nodeType":"EmitStatement","src":"19576:31:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"19429:15:103","parameters":{"id":72624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72623,"mutability":"mutable","name":"_strategy","nameLocation":"19453:9:103","nodeType":"VariableDeclaration","scope":72641,"src":"19445:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72622,"name":"address","nodeType":"ElementaryTypeName","src":"19445:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19444:19:103"},"returnParameters":{"id":72625,"nodeType":"ParameterList","parameters":[],"src":"19481:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72654,"nodeType":"FunctionDefinition","src":"19620:128:103","nodes":[],"body":{"id":72653,"nodeType":"Block","src":"19678:70:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72646,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71494,"src":"19688:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19688:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72648,"nodeType":"ExpressionStatement","src":"19688:17:103"},{"expression":{"arguments":[{"id":72650,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72643,"src":"19731:9:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72649,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72641,"src":"19715:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19715:26:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72652,"nodeType":"ExpressionStatement","src":"19715:26:103"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"19629:14:103","parameters":{"id":72644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72643,"mutability":"mutable","name":"_strategy","nameLocation":"19652:9:103","nodeType":"VariableDeclaration","scope":72654,"src":"19644:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72642,"name":"address","nodeType":"ElementaryTypeName","src":"19644:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19643:19:103"},"returnParameters":{"id":72645,"nodeType":"ParameterList","parameters":[],"src":"19678:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72679,"nodeType":"FunctionDefinition","src":"19754:248:103","nodes":[],"body":{"id":72678,"nodeType":"Block","src":"19816:186:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72659,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71494,"src":"19826:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19826:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72661,"nodeType":"ExpressionStatement","src":"19826:17:103"},{"expression":{"arguments":[{"id":72663,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72656,"src":"19872:5:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72662,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71588,"src":"19853:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19853:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72665,"nodeType":"ExpressionStatement","src":"19853:25:103"},{"expression":{"id":72668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72666,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71414,"src":"19888:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72667,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72656,"src":"19909:5:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"19888:26:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":72669,"nodeType":"ExpressionStatement","src":"19888:26:103"},{"eventCall":{"arguments":[{"arguments":[{"id":72673,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71426,"src":"19962:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}],"id":72672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19954:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72671,"name":"address","nodeType":"ElementaryTypeName","src":"19954:7:103","typeDescriptions":{}}},"id":72674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19954:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72675,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71414,"src":"19976:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72670,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71202,"src":"19929:24:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":72676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19929:66:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72677,"nodeType":"EmitStatement","src":"19924:71:103"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"19763:14:103","parameters":{"id":72657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72656,"mutability":"mutable","name":"_safe","nameLocation":"19794:5:103","nodeType":"VariableDeclaration","scope":72679,"src":"19778:21:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":72655,"name":"address","nodeType":"ElementaryTypeName","src":"19778:15:103","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"19777:23:103"},"returnParameters":{"id":72658,"nodeType":"ParameterList","parameters":[],"src":"19816:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72696,"nodeType":"FunctionDefinition","src":"20008:187:103","nodes":[],"body":{"id":72695,"nodeType":"Block","src":"20055:140:103","nodes":[],"statements":[{"expression":{"id":72686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72682,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71426,"src":"20065:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72684,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71414,"src":"20085:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72683,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74891,"src":"20079:5:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$74891_$","typeString":"type(contract ISafe)"}},"id":72685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20079:25:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}},"src":"20065:39:103","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74891","typeString":"contract ISafe"}},"id":72687,"nodeType":"ExpressionStatement","src":"20065:39:103"},{"expression":{"id":72689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"20114:25:103","subExpression":{"id":72688,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71414,"src":"20121:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72690,"nodeType":"ExpressionStatement","src":"20114:25:103"},{"eventCall":{"arguments":[{"id":72692,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71414,"src":"20169:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72691,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71196,"src":"20154:14:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20154:34:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72694,"nodeType":"EmitStatement","src":"20149:39:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"20017:18:103","parameters":{"id":72680,"nodeType":"ParameterList","parameters":[],"src":"20035:2:103"},"returnParameters":{"id":72681,"nodeType":"ParameterList","parameters":[],"src":"20055:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72712,"nodeType":"FunctionDefinition","src":"20201:179:103","nodes":[],"body":{"id":72711,"nodeType":"Block","src":"20245:135:103","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72699,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20259:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20263:6:103","memberName":"sender","nodeType":"MemberAccess","src":"20259:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":72701,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71414,"src":"20273:18:103","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"20259:32:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72707,"nodeType":"IfStatement","src":"20255:89:103","trueBody":{"id":72706,"nodeType":"Block","src":"20293:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72703,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71310,"src":"20314:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20314:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72705,"nodeType":"RevertStatement","src":"20307:26:103"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72708,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72696,"src":"20353:18:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20353:20:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72710,"nodeType":"ExpressionStatement","src":"20353:20:103"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"20210:17:103","parameters":{"id":72697,"nodeType":"ParameterList","parameters":[],"src":"20227:2:103"},"returnParameters":{"id":72698,"nodeType":"ParameterList","parameters":[],"src":"20245:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72730,"nodeType":"FunctionDefinition","src":"20386:190:103","nodes":[],"body":{"id":72729,"nodeType":"Block","src":"20466:110:103","nodes":[],"statements":[{"assignments":[72721],"declarations":[{"constant":false,"id":72721,"mutability":"mutable","name":"newMember","nameLocation":"20490:9:103","nodeType":"VariableDeclaration","scope":72729,"src":"20476:23:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":72720,"nodeType":"UserDefinedTypeName","pathNode":{"id":72719,"name":"Member","nameLocations":["20476:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":71595,"src":"20476:6:103"},"referencedDeclaration":71595,"src":"20476:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":72725,"initialValue":{"baseExpression":{"id":72722,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"20502:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72724,"indexExpression":{"id":72723,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72714,"src":"20522:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20502:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20476:54:103"},{"expression":{"expression":{"id":72726,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72721,"src":"20547:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":72727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20557:12:103","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":71594,"src":"20547:22:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72718,"id":72728,"nodeType":"Return","src":"20540:29:103"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"20395:8:103","parameters":{"id":72715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72714,"mutability":"mutable","name":"_member","nameLocation":"20412:7:103","nodeType":"VariableDeclaration","scope":72730,"src":"20404:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72713,"name":"address","nodeType":"ElementaryTypeName","src":"20404:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20403:17:103"},"returnParameters":{"id":72718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72717,"mutability":"mutable","name":"_isMember","nameLocation":"20455:9:103","nodeType":"VariableDeclaration","scope":72730,"src":"20450:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72716,"name":"bool","nodeType":"ElementaryTypeName","src":"20450:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20449:16:103"},"scope":73113,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72849,"nodeType":"FunctionDefinition","src":"20582:1932:103","nodes":[],"body":{"id":72848,"nodeType":"Block","src":"20644:1870:103","nodes":[],"statements":[{"assignments":[72736],"declarations":[{"constant":false,"id":72736,"mutability":"mutable","name":"_member","nameLocation":"20662:7:103","nodeType":"VariableDeclaration","scope":72848,"src":"20654:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72735,"name":"address","nodeType":"ElementaryTypeName","src":"20654:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72739,"initialValue":{"expression":{"id":72737,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20672:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20676:6:103","memberName":"sender","nodeType":"MemberAccess","src":"20672:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20654:28:103"},{"assignments":[72742],"declarations":[{"constant":false,"id":72742,"mutability":"mutable","name":"newMember","nameLocation":"20707:9:103","nodeType":"VariableDeclaration","scope":72848,"src":"20692:24:103","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":72741,"nodeType":"UserDefinedTypeName","pathNode":{"id":72740,"name":"Member","nameLocations":["20692:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":71595,"src":"20692:6:103"},"referencedDeclaration":71595,"src":"20692:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":72746,"initialValue":{"baseExpression":{"id":72743,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"20719:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72745,"indexExpression":{"id":72744,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"20739:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20719:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20692:55:103"},{"assignments":[72749],"declarations":[{"constant":false,"id":72749,"mutability":"mutable","name":"gardensFactory","nameLocation":"20774:14:103","nodeType":"VariableDeclaration","scope":72848,"src":"20757:31:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70431","typeString":"contract IRegistryFactory"},"typeName":{"id":72748,"nodeType":"UserDefinedTypeName","pathNode":{"id":72747,"name":"IRegistryFactory","nameLocations":["20757:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":70431,"src":"20757:16:103"},"referencedDeclaration":70431,"src":"20757:16:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70431","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":72753,"initialValue":{"arguments":[{"id":72751,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71405,"src":"20808:15:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72750,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70431,"src":"20791:16:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$70431_$","typeString":"type(contract IRegistryFactory)"}},"id":72752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20791:33:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70431","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"20757:67:103"},{"assignments":[72755],"declarations":[{"constant":false,"id":72755,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"20842:18:103","nodeType":"VariableDeclaration","scope":72848,"src":"20834:26:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72754,"name":"uint256","nodeType":"ElementaryTypeName","src":"20834:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72765,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72756,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"20864:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72757,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71390,"src":"20886:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20864:34:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72759,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20863:36:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20903:3:103","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72761,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71378,"src":"20909:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20903:21:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72763,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20902:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20863:62:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20834:91:103"},{"assignments":[72767],"declarations":[{"constant":false,"id":72767,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"20943:16:103","nodeType":"VariableDeclaration","scope":72848,"src":"20935:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72766,"name":"uint256","nodeType":"ElementaryTypeName","src":"20935:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72783,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72768,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"20975:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":72773,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21035:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":72772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21027:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72771,"name":"address","nodeType":"ElementaryTypeName","src":"21027:7:103","typeDescriptions":{}}},"id":72774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21027:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72769,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72749,"src":"20997:14:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70431","typeString":"contract IRegistryFactory"}},"id":72770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21012:14:103","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":70430,"src":"20997:29:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":72775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20997:44:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20975:66:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72777,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20974:68:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21046:3:103","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72779,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71378,"src":"21052:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21046:21:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72781,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21045:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20974:94:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20935:133:103"},{"condition":{"id":72787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21082:18:103","subExpression":{"arguments":[{"id":72785,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"21092:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72784,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"21083:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":72786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21083:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72847,"nodeType":"IfStatement","src":"21078:1430:103","trueBody":{"id":72846,"nodeType":"Block","src":"21102:1406:103","statements":[{"expression":{"id":72792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72788,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72742,"src":"21116:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":72790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21126:12:103","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":71594,"src":"21116:22:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":72791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21141:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"21116:29:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72793,"nodeType":"ExpressionStatement","src":"21116:29:103"},{"expression":{"id":72798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72794,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72742,"src":"21160:9:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":72796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21170:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"21160:22:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72797,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"21185:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21160:44:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72799,"nodeType":"ExpressionStatement","src":"21160:44:103"},{"expression":{"arguments":[{"id":72803,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"21402:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":72806,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21419:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":72805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21411:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72804,"name":"address","nodeType":"ElementaryTypeName","src":"21411:7:103","typeDescriptions":{}}},"id":72807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21411:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72808,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"21426:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72809,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72755,"src":"21448:18:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21426:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72811,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72767,"src":"21469:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21426:59:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72800,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71422,"src":"21356:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":72802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21368:16:103","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":55946,"src":"21356:28:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":72813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21356:143:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72814,"nodeType":"ExpressionStatement","src":"21356:143:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72815,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72755,"src":"21924:18:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":72816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21945:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21924:22:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72826,"nodeType":"IfStatement","src":"21920:178:103","trueBody":{"id":72825,"nodeType":"Block","src":"21948:150:103","statements":[{"expression":{"arguments":[{"id":72821,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71402,"src":"22051:11:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72822,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72755,"src":"22064:18:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72818,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71422,"src":"22026:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":72820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22038:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"22026:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22026:57:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72824,"nodeType":"ExpressionStatement","src":"22026:57:103"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72827,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72767,"src":"22181:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":72828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22200:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22181:20:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72840,"nodeType":"IfStatement","src":"22177:255:103","trueBody":{"id":72839,"nodeType":"Block","src":"22203:229:103","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72833,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72749,"src":"22360:14:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70431","typeString":"contract IRegistryFactory"}},"id":72834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22375:21:103","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":70423,"src":"22360:36:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":72835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22360:38:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72836,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72767,"src":"22400:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72830,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71422,"src":"22335:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":72832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22347:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"22335:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22335:82:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72838,"nodeType":"ExpressionStatement","src":"22335:82:103"}]}},{"eventCall":{"arguments":[{"id":72842,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72736,"src":"22468:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72843,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"22477:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72841,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71208,"src":"22451:16:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22451:46:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72845,"nodeType":"EmitStatement","src":"22446:51:103"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":72733,"kind":"modifierInvocation","modifierName":{"id":72732,"name":"nonReentrant","nameLocations":["20631:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"20631:12:103"},"nodeType":"ModifierInvocation","src":"20631:12:103"}],"name":"stakeAndRegisterMember","nameLocation":"20591:22:103","parameters":{"id":72731,"nodeType":"ParameterList","parameters":[],"src":"20613:2:103"},"returnParameters":{"id":72734,"nodeType":"ParameterList","parameters":[],"src":"20644:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72898,"nodeType":"FunctionDefinition","src":"22520:477:103","nodes":[],"body":{"id":72897,"nodeType":"Block","src":"22592:405:103","nodes":[],"statements":[{"assignments":[72856],"declarations":[{"constant":false,"id":72856,"mutability":"mutable","name":"gardensFactory","nameLocation":"22619:14:103","nodeType":"VariableDeclaration","scope":72897,"src":"22602:31:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70431","typeString":"contract IRegistryFactory"},"typeName":{"id":72855,"nodeType":"UserDefinedTypeName","pathNode":{"id":72854,"name":"IRegistryFactory","nameLocations":["22602:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":70431,"src":"22602:16:103"},"referencedDeclaration":70431,"src":"22602:16:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70431","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":72860,"initialValue":{"arguments":[{"id":72858,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71405,"src":"22653:15:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72857,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70431,"src":"22636:16:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$70431_$","typeString":"type(contract IRegistryFactory)"}},"id":72859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22636:33:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70431","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"22602:67:103"},{"assignments":[72862],"declarations":[{"constant":false,"id":72862,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"22687:18:103","nodeType":"VariableDeclaration","scope":72897,"src":"22679:26:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72861,"name":"uint256","nodeType":"ElementaryTypeName","src":"22679:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72872,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72863,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"22709:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72864,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71390,"src":"22731:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22709:34:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72866,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22708:36:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22748:3:103","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72868,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71378,"src":"22754:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22748:21:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72870,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22747:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22708:62:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22679:91:103"},{"assignments":[72874],"declarations":[{"constant":false,"id":72874,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"22788:16:103","nodeType":"VariableDeclaration","scope":72897,"src":"22780:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72873,"name":"uint256","nodeType":"ElementaryTypeName","src":"22780:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72890,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72875,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"22820:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":72880,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22880:4:103","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":72879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22872:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72878,"name":"address","nodeType":"ElementaryTypeName","src":"22872:7:103","typeDescriptions":{}}},"id":72881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22872:13:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72876,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72856,"src":"22842:14:103","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70431","typeString":"contract IRegistryFactory"}},"id":72877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22857:14:103","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":70430,"src":"22842:29:103","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":72882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22842:44:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22820:66:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22819:68:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22891:3:103","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72886,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71378,"src":"22897:15:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22891:21:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72888,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22890:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22819:94:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22780:133:103"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72891,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"22931:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72892,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72862,"src":"22953:18:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22931:40:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72894,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72874,"src":"22974:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22931:59:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72853,"id":72896,"nodeType":"Return","src":"22924:66:103"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"22529:22:103","parameters":{"id":72850,"nodeType":"ParameterList","parameters":[],"src":"22551:2:103"},"returnParameters":{"id":72853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72852,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72898,"src":"22583:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72851,"name":"uint256","nodeType":"ElementaryTypeName","src":"22583:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22582:9:103"},"scope":73113,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72906,"nodeType":"FunctionDefinition","src":"23003:115:103","nodes":[],"body":{"id":72905,"nodeType":"Block","src":"23075:43:103","nodes":[],"statements":[{"expression":{"id":72903,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"23092:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72902,"id":72904,"nodeType":"Return","src":"23085:26:103"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"23012:20:103","parameters":{"id":72899,"nodeType":"ParameterList","parameters":[],"src":"23032:2:103"},"returnParameters":{"id":72902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72906,"src":"23066:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72900,"name":"uint256","nodeType":"ElementaryTypeName","src":"23066:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23065:9:103"},"scope":73113,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":72923,"nodeType":"FunctionDefinition","src":"23124:190:103","nodes":[],"body":{"id":72922,"nodeType":"Block","src":"23191:123:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72911,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71494,"src":"23201:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23201:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72913,"nodeType":"ExpressionStatement","src":"23201:17:103"},{"expression":{"id":72916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72914,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71387,"src":"23228:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72915,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72908,"src":"23250:10:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23228:32:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72917,"nodeType":"ExpressionStatement","src":"23228:32:103"},{"eventCall":{"arguments":[{"id":72919,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72908,"src":"23296:10:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72918,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71261,"src":"23275:20:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23275:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72921,"nodeType":"EmitStatement","src":"23270:37:103"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"23133:20:103","parameters":{"id":72909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72908,"mutability":"mutable","name":"_newAmount","nameLocation":"23162:10:103","nodeType":"VariableDeclaration","scope":72923,"src":"23154:18:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72907,"name":"uint256","nodeType":"ElementaryTypeName","src":"23154:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23153:20:103"},"returnParameters":{"id":72910,"nodeType":"ParameterList","parameters":[],"src":"23191:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72948,"nodeType":"FunctionDefinition","src":"23320:288:103","nodes":[],"body":{"id":72947,"nodeType":"Block","src":"23386:222:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72928,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71494,"src":"23396:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23396:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72930,"nodeType":"ExpressionStatement","src":"23396:17:103"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72931,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72925,"src":"23427:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":72932,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71384,"src":"23446:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23427:26:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72938,"nodeType":"IfStatement","src":"23423:86:103","trueBody":{"id":72937,"nodeType":"Block","src":"23455:54:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72934,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71316,"src":"23476:20:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23476:22:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72936,"nodeType":"RevertStatement","src":"23469:29:103"}]}},{"expression":{"id":72941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72939,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71390,"src":"23518:12:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72940,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72925,"src":"23533:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23518:31:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72942,"nodeType":"ExpressionStatement","src":"23518:31:103"},{"eventCall":{"arguments":[{"id":72944,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72925,"src":"23584:16:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72943,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71226,"src":"23564:19:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23564:37:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72946,"nodeType":"EmitStatement","src":"23559:42:103"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"23329:15:103","parameters":{"id":72926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72925,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"23353:16:103","nodeType":"VariableDeclaration","scope":72948,"src":"23345:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72924,"name":"uint256","nodeType":"ElementaryTypeName","src":"23345:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23344:26:103"},"returnParameters":{"id":72927,"nodeType":"ParameterList","parameters":[],"src":"23386:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72961,"nodeType":"FunctionDefinition","src":"23651:133:103","nodes":[],"body":{"id":72960,"nodeType":"Block","src":"23728:56:103","nodes":[],"statements":[{"expression":{"arguments":[{"id":72956,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71477,"src":"23753:14:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":72957,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72950,"src":"23769:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72955,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51753,"src":"23745:7:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":72958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23745:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72954,"id":72959,"nodeType":"Return","src":"23738:39:103"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"23660:15:103","parameters":{"id":72951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72950,"mutability":"mutable","name":"_member","nameLocation":"23684:7:103","nodeType":"VariableDeclaration","scope":72961,"src":"23676:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72949,"name":"address","nodeType":"ElementaryTypeName","src":"23676:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23675:17:103"},"returnParameters":{"id":72954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72953,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72961,"src":"23722:4:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72952,"name":"bool","nodeType":"ElementaryTypeName","src":"23722:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23721:6:103"},"scope":73113,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73011,"nodeType":"FunctionDefinition","src":"23790:465:103","nodes":[],"body":{"id":73010,"nodeType":"Block","src":"23846:409:103","nodes":[],"statements":[{"assignments":[72967],"declarations":[{"constant":false,"id":72967,"mutability":"mutable","name":"_member","nameLocation":"23864:7:103","nodeType":"VariableDeclaration","scope":73010,"src":"23856:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72966,"name":"address","nodeType":"ElementaryTypeName","src":"23856:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72970,"initialValue":{"expression":{"id":72968,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23874:3:103","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23878:6:103","memberName":"sender","nodeType":"MemberAccess","src":"23874:10:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"23856:28:103"},{"expression":{"arguments":[{"id":72972,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72967,"src":"23920:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72971,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71523,"src":"23894:25:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":72973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23894:34:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72974,"nodeType":"ExpressionStatement","src":"23894:34:103"},{"expression":{"arguments":[{"id":72976,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72967,"src":"23962:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72975,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73048,"src":"23938:23:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23938:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72978,"nodeType":"ExpressionStatement","src":"23938:32:103"},{"assignments":[72981],"declarations":[{"constant":false,"id":72981,"mutability":"mutable","name":"member","nameLocation":"23994:6:103","nodeType":"VariableDeclaration","scope":73010,"src":"23980:20:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":72980,"nodeType":"UserDefinedTypeName","pathNode":{"id":72979,"name":"Member","nameLocations":["23980:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":71595,"src":"23980:6:103"},"referencedDeclaration":71595,"src":"23980:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":72985,"initialValue":{"baseExpression":{"id":72982,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"24003:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72984,"indexExpression":{"id":72983,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72967,"src":"24023:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24003:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23980:51:103"},{"expression":{"id":72989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24041:35:103","subExpression":{"baseExpression":{"id":72986,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"24048:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72988,"indexExpression":{"id":72987,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72967,"src":"24068:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24048:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72990,"nodeType":"ExpressionStatement","src":"24041:35:103"},{"expression":{"id":72994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24086:34:103","subExpression":{"baseExpression":{"id":72991,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71460,"src":"24093:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":72993,"indexExpression":{"id":72992,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72967,"src":"24112:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24093:27:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72995,"nodeType":"ExpressionStatement","src":"24086:34:103"},{"expression":{"arguments":[{"id":72999,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72967,"src":"24156:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73000,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72981,"src":"24165:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":73001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24172:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"24165:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72996,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71422,"src":"24131:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":72998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24143:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"24131:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":73002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24131:54:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73003,"nodeType":"ExpressionStatement","src":"24131:54:103"},{"eventCall":{"arguments":[{"id":73005,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72967,"src":"24219:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73006,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72981,"src":"24228:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":73007,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24235:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"24228:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73004,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71214,"src":"24200:18:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":73008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24200:48:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73009,"nodeType":"EmitStatement","src":"24195:53:103"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":72964,"kind":"modifierInvocation","modifierName":{"id":72963,"name":"nonReentrant","nameLocations":["23833:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"23833:12:103"},"nodeType":"ModifierInvocation","src":"23833:12:103"}],"name":"unregisterMember","nameLocation":"23799:16:103","parameters":{"id":72962,"nodeType":"ParameterList","parameters":[],"src":"23815:2:103"},"returnParameters":{"id":72965,"nodeType":"ParameterList","parameters":[],"src":"23846:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73048,"nodeType":"FunctionDefinition","src":"24261:474:103","nodes":[],"body":{"id":73047,"nodeType":"Block","src":"24328:407:103","nodes":[],"statements":[{"assignments":[73020],"declarations":[{"constant":false,"id":73020,"mutability":"mutable","name":"memberStrategies","nameLocation":"24355:16:103","nodeType":"VariableDeclaration","scope":73047,"src":"24338:33:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73018,"name":"address","nodeType":"ElementaryTypeName","src":"24338:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73019,"nodeType":"ArrayTypeName","src":"24338:9:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":73024,"initialValue":{"baseExpression":{"id":73021,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71460,"src":"24374:18:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":73023,"indexExpression":{"id":73022,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73013,"src":"24393:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24374:27:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24338:63:103"},{"body":{"id":73045,"nodeType":"Block","src":"24531:198:103","statements":[{"expression":{"arguments":[{"id":73042,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73013,"src":"24710:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":73037,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73020,"src":"24672:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":73039,"indexExpression":{"id":73038,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73026,"src":"24689:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24672:19:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73036,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66494,"src":"24657:14:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$66494_$","typeString":"type(contract IPointStrategy)"}},"id":73040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24657:35:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$66494","typeString":"contract IPointStrategy"}},"id":73041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24693:16:103","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":66469,"src":"24657:52:103","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":73043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24657:61:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73044,"nodeType":"ExpressionStatement","src":"24657:61:103"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73029,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73026,"src":"24497:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":73030,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73020,"src":"24501:16:103","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":73031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24518:6:103","memberName":"length","nodeType":"MemberAccess","src":"24501:23:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24497:27:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73046,"initializationExpression":{"assignments":[73026],"declarations":[{"constant":false,"id":73026,"mutability":"mutable","name":"i","nameLocation":"24490:1:103","nodeType":"VariableDeclaration","scope":73046,"src":"24482:9:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73025,"name":"uint256","nodeType":"ElementaryTypeName","src":"24482:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73028,"initialValue":{"hexValue":"30","id":73027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24494:1:103","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24482:13:103"},"loopExpression":{"expression":{"id":73034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24526:3:103","subExpression":{"id":73033,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73026,"src":"24526:1:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73035,"nodeType":"ExpressionStatement","src":"24526:3:103"},"nodeType":"ForStatement","src":"24477:252:103"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"24270:23:103","parameters":{"id":73014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73013,"mutability":"mutable","name":"_member","nameLocation":"24302:7:103","nodeType":"VariableDeclaration","scope":73048,"src":"24294:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73012,"name":"address","nodeType":"ElementaryTypeName","src":"24294:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24293:17:103"},"returnParameters":{"id":73015,"nodeType":"ParameterList","parameters":[],"src":"24328:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":73108,"nodeType":"FunctionDefinition","src":"24741:583:103","nodes":[],"body":{"id":73107,"nodeType":"Block","src":"24832:492:103","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73057,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71494,"src":"24842:15:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":73058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24842:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73059,"nodeType":"ExpressionStatement","src":"24842:17:103"},{"condition":{"id":73061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24873:14:103","subExpression":{"id":73060,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71399,"src":"24874:13:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73066,"nodeType":"IfStatement","src":"24869:68:103","trueBody":{"id":73065,"nodeType":"Block","src":"24889:48:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73062,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71318,"src":"24910:14:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24910:16:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73064,"nodeType":"RevertStatement","src":"24903:23:103"}]}},{"condition":{"id":73070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24950:18:103","subExpression":{"arguments":[{"id":73068,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73050,"src":"24960:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73067,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"24951:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":73069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24951:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73075,"nodeType":"IfStatement","src":"24946:75:103","trueBody":{"id":73074,"nodeType":"Block","src":"24970:51:103","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73071,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71296,"src":"24991:17:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24991:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73073,"nodeType":"RevertStatement","src":"24984:26:103"}]}},{"assignments":[73078],"declarations":[{"constant":false,"id":73078,"mutability":"mutable","name":"member","nameLocation":"25044:6:103","nodeType":"VariableDeclaration","scope":73107,"src":"25030:20:103","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":73077,"nodeType":"UserDefinedTypeName","pathNode":{"id":73076,"name":"Member","nameLocations":["25030:6:103"],"nodeType":"IdentifierPath","referencedDeclaration":71595,"src":"25030:6:103"},"referencedDeclaration":71595,"src":"25030:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":73082,"initialValue":{"baseExpression":{"id":73079,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"25053:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":73081,"indexExpression":{"id":73080,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73050,"src":"25073:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25053:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25030:51:103"},{"expression":{"arguments":[{"id":73084,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73050,"src":"25115:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73083,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73048,"src":"25091:23:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25091:32:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73086,"nodeType":"ExpressionStatement","src":"25091:32:103"},{"expression":{"id":73090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"25133:35:103","subExpression":{"baseExpression":{"id":73087,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71454,"src":"25140:19:103","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71595_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":73089,"indexExpression":{"id":73088,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73050,"src":"25160:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25140:28:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73091,"nodeType":"ExpressionStatement","src":"25133:35:103"},{"expression":{"arguments":[{"id":73095,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73052,"src":"25204:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73096,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73078,"src":"25222:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":73097,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25229:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"25222:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73092,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71422,"src":"25179:11:103","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":73094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25191:12:103","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":55919,"src":"25179:24:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$55825_$","typeString":"function (contract IERC20,address,uint256)"}},"id":73098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25179:63:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73099,"nodeType":"ExpressionStatement","src":"25179:63:103"},{"eventCall":{"arguments":[{"id":73101,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73050,"src":"25270:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73102,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73052,"src":"25279:16:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":73103,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73078,"src":"25297:6:103","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71595_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":73104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25304:12:103","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71592,"src":"25297:19:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73100,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71222,"src":"25257:12:103","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":73105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25257:60:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73106,"nodeType":"EmitStatement","src":"25252:65:103"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":73055,"kind":"modifierInvocation","modifierName":{"id":73054,"name":"nonReentrant","nameLocations":["24819:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":52494,"src":"24819:12:103"},"nodeType":"ModifierInvocation","src":"24819:12:103"}],"name":"kickMember","nameLocation":"24750:10:103","parameters":{"id":73053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73050,"mutability":"mutable","name":"_member","nameLocation":"24769:7:103","nodeType":"VariableDeclaration","scope":73108,"src":"24761:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73049,"name":"address","nodeType":"ElementaryTypeName","src":"24761:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73052,"mutability":"mutable","name":"_transferAddress","nameLocation":"24786:16:103","nodeType":"VariableDeclaration","scope":73108,"src":"24778:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73051,"name":"address","nodeType":"ElementaryTypeName","src":"24778:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24760:43:103"},"returnParameters":{"id":73056,"nodeType":"ParameterList","parameters":[],"src":"24832:0:103"},"scope":73113,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73112,"nodeType":"VariableDeclaration","src":"25330:25:103","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"25350:5:103","scope":73113,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":73109,"name":"uint256","nodeType":"ElementaryTypeName","src":"25330:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73111,"length":{"hexValue":"3530","id":73110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25338:2:103","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"25330:11:103","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":71183,"name":"ProxyOwnableUpgrader","nameLocations":["1437:20:103"],"nodeType":"IdentifierPath","referencedDeclaration":71125,"src":"1437:20:103"},"id":71184,"nodeType":"InheritanceSpecifier","src":"1437:20:103"},{"baseName":{"id":71185,"name":"ReentrancyGuardUpgradeable","nameLocations":["1459:26:103"],"nodeType":"IdentifierPath","referencedDeclaration":52534,"src":"1459:26:103"},"id":71186,"nodeType":"InheritanceSpecifier","src":"1459:26:103"},{"baseName":{"id":71187,"name":"AccessControlUpgradeable","nameLocations":["1487:24:103"],"nodeType":"IdentifierPath","referencedDeclaration":51994,"src":"1487:24:103"},"id":71188,"nodeType":"InheritanceSpecifier","src":"1487:24:103"}],"canonicalName":"RegistryCommunityV0_0","contractDependencies":[54318],"contractKind":"contract","documentation":{"id":71182,"nodeType":"StructuredDocumentation","src":"1352:51:103","text":"@custom:oz-upgrades-from RegistryCommunityV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[73113,51994,53267,53279,52067,52534,71125,54969,54622,54271,54281,52200,52993,52449],"name":"RegistryCommunityV0_0","nameLocation":"1412:21:103","scope":73114,"usedErrors":[71048,71288,71290,71294,71296,71298,71300,71302,71304,71306,71308,71310,71312,71314,71316,71318,71320,71322,71328]}],"license":"AGPL-3.0-only"},"id":103} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryCommunityV0_1.sol/RegistryCommunityV0_1.json b/pkg/contracts/out/RegistryCommunityV0_1.sol/RegistryCommunityV0_1.json new file mode 100644 index 000000000..963554744 --- /dev/null +++ b/pkg/contracts/out/RegistryCommunityV0_1.sol/RegistryCommunityV0_1.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RULING_OPTIONS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"arbitrableConfigs","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"},{"name":"delay","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"changeRequestCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICollateralVault"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"configChangeRequests","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"requestId","type":"uint256","internalType":"uint256"},{"name":"parameterName","type":"string","internalType":"string"},{"name":"newUintValue","type":"uint256","internalType":"uint256"},{"name":"newAddressValue","type":"address","internalType":"address"},{"name":"newStringValue","type":"string","internalType":"string"},{"name":"newBoolValue","type":"bool","internalType":"bool"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"status","type":"uint8","internalType":"enum RegistryCommunityV0_1.ChangeRequestlStatus"},{"name":"disputeInfo","type":"tuple","internalType":"struct RegistryCommunityV0_1.DisputeInfo","components":[{"name":"disputeId","type":"uint256","internalType":"uint256"},{"name":"disputeTimestamp","type":"uint256","internalType":"uint256"},{"name":"challenger","type":"address","internalType":"address"}]},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"},{"name":"submitter","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"configurations","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"communityFee","type":"uint256","internalType":"uint256"},{"name":"isKickEnabled","type":"bool","internalType":"bool"},{"name":"feeReceiver","type":"address","internalType":"address"},{"name":"councilSafe","type":"address","internalType":"contract ISafe"},{"name":"communityName","type":"string","internalType":"string"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createChangeRequest","inputs":[{"name":"parameterName","type":"string","internalType":"string"},{"name":"newUintValue","type":"uint256","internalType":"uint256"},{"name":"newAddressValue","type":"address","internalType":"address"},{"name":"newStringValue","type":"string","internalType":"string"},{"name":"newBoolValue","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"currentArbitrableConfigVersion","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentConfigVersion","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disputeChangeRequest","inputs":[{"name":"_changeRequestId","type":"uint256","internalType":"uint256"},{"name":"_context","type":"string","internalType":"string"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"disputeCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeIdToRequestId","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"externalDisputeID","type":"uint256","internalType":"uint256"},{"name":"templateId","type":"uint256","internalType":"uint256"},{"name":"templateUri","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"finalizeChangeRequest","inputs":[{"name":"_requestId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rule","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ArbitrableConfigUpdated","inputs":[{"name":"currentArbitrableConfigVersion","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRuling","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ChangeRequestDisputed","inputs":[{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"changeRequestId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"disputeId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challenger","type":"address","indexed":false,"internalType":"address"},{"name":"context","type":"string","indexed":false,"internalType":"string"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeRequest","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_arbitrableDisputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_externalDisputeID","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ParameterChangeFinalized","inputs":[{"name":"requestId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"parameter","type":"string","indexed":false,"internalType":"string"},{"name":"version","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ParameterChangeRequested","inputs":[{"name":"requestId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"parameter","type":"string","indexed":false,"internalType":"string"},{"name":"version","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TribunaSafeRegistered","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"address"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ChangeAlreadyExecuted","inputs":[{"name":"_requestId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ChangeRequestNotActive","inputs":[{"name":"_requestId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ChangeRequestNotInList","inputs":[{"name":"_requestId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"InsufficientCollateral","inputs":[{"name":"_sentAmount","type":"uint256","internalType":"uint256"},{"name":"_requiredAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"OnlyArbitratorCanRule","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StillInDelayPeriod","inputs":[{"name":"_requestId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UnknownParameter","inputs":[{"name":"_parameterName","type":"string","internalType":"string"}]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[{"name":"_user","type":"address","internalType":"address"}]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a08060405234610032573060805261793b9081620000388239608051818181611e950152818161211201526124c00152f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620005cf5780630331383c14620004bb5780630392fd5d14620005c957806308386eba14620005c35780630bece79c14620005bd5780630d12bbdb14620005b75780630d4a8b4914620005b1578063125fd1d914620005ab578063175188e814620005a55780631b71f0e4146200059f5780631f787d281462000599578063223e5479146200059357806322bcf999146200058d578063248a9ca3146200058757806328c309e914620005815780632b38c69c146200057b5780632c611c4a14620005755780632f2ff15d146200056f578063311a6c56146200056957806331f61bca146200056357806333960459146200055d5780633419635514620005575780633517aa7d146200055157806336568abe146200054b5780633659cfe61462000545578063397e2543146200053f5780633a871fe1146200053957806341bb76051462000533578063477a5cc0146200052d5780634f1ef2861462000527578063524e59e8146200052157806352d1902d146200051b578063559de05d1462000515578063564a565d146200050f5780635804663b14620005095780635c94e4d214620005035780635ecf71c514620004fd578063626c47e814620004f757806365e3864c14620004c157806366d721bd14620004f15780636871eb4d14620004eb57806368decabb14620004e55780636c53db9a14620004df578063715018a614620004d957806373265c3714620004d3578063733a2d1f14620004cd57806377122d5614620004c75780637817ee4f14620004c157806378a0b8a914620004bb5780637b10399914620004b55780637d36f4d314620004af57806382d6a1e714620004a95780638749e26f14620004a357806388cfe684146200049d5780638961be6b14620004975780638da5cb5b146200049157806391d14854146200048b578063a0cf0aea1462000485578063a217fddf146200047f578063a230c5241462000479578063b0d3713a1462000473578063b3f00674146200046d578063b5058c501462000467578063b64e39af1462000461578063b99b4370146200045b578063bb290b5b1462000455578063bc063e1a146200044f578063c4d66de81462000449578063c642e3441462000443578063c6d572ae146200043d578063d28afd481462000437578063d3f6b05b1462000431578063d547741f146200042b578063d6d8428d1462000425578063d7050f07146200041f578063db61d65c1462000419578063e16d0e321462000413578063ebd7dc52146200040d578063f2fde38b1462000407578063f86c5f891462000401578063ff79dd5114620003fb5763ffa1ad7414620003f557600080fd5b62003e4a565b62003e1b565b62003def565b62003d55565b62003d0a565b62003bfb565b62003bcf565b62003bb0565b62003b84565b62003b3a565b62003ac4565b620037f7565b62003731565b62003710565b620036d2565b620036b2565b62003661565b62003565565b62003493565b620033f9565b620033ca565b6200337d565b62003310565b620032f2565b620032c1565b62003283565b62003252565b62003232565b620031d0565b62003123565b6200306d565b6200304c565b62003020565b6200063b565b62002c8d565b62002ff4565b62002fc8565b62002f2c565b62002edb565b62002eaf565b62002e83565b62002d76565b62002ccc565b62002c6f565b620029fd565b620029d1565b62002780565b62002710565b6200256f565b620024ab565b6200238b565b620020c7565b62002083565b62002008565b62001fc1565b62001f34565b62001e66565b62001dc9565b62001b72565b62001a05565b62001916565b620018c6565b6200147e565b620013d1565b6200138c565b62001327565b62001172565b62001141565b62001050565b6200101b565b62000ff7565b62000faa565b62000f73565b62000f52565b62000c5f565b62000b48565b62000b1c565b62000afc565b62000a4c565b346200062a5760203660031901126200062a5760043563ffffffff60e01b81168091036200062a57602090637965db0b60e01b811490811562000618575b506040519015158152f35b6301ffc9a760e01b149050386200060d565b600080fd5b60009103126200062a57565b346200062a5760003660031901126200062a57602060fb54604051908152f35b600052610148602052604060002090565b600052610146602052604060002090565b600052610147602052604060002090565b90600182811c92168015620006c0575b6020831014620006aa57565b634e487b7160e01b600052602260045260246000fd5b91607f16916200069e565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117620006fd57604052565b620006cb565b6001600160401b038111620006fd57604052565b604081019081106001600160401b03821117620006fd57604052565b602081019081106001600160401b03821117620006fd57604052565b60c081019081106001600160401b03821117620006fd57604052565b60e081019081106001600160401b03821117620006fd57604052565b608081019081106001600160401b03821117620006fd57604052565b601f909101601f19168101906001600160401b03821190821017620006fd57604052565b9060405191826000825492620007dd846200068e565b9081845260019485811690816000146200085457506001146200080d575b50506200080b92500383620007a3565b565b9093915060005260209081600020936000915b8183106200083b5750506200080b93508201013880620007fb565b8554888401850152948501948794509183019162000820565b9150506200080b94506020925060ff191682840152151560051b8201013880620007fb565b6001600160a01b031690565b546001600160a01b031690565b6001600160a01b039091169052565b6040519061018082016001600160401b03811183821017620006fd57604052565b604051906200080b82620006e1565b6040519061016082016001600160401b03811183821017620006fd57604052565b906040516200090181620006e1565b82548152600183015460208201526002909201546001600160a01b03166040830152565b60005b838110620009395750506000910152565b818101518382015260200162000928565b90602091620009658151809281855285808601910162000925565b601f01601f1916010190565b634e487b7160e01b600052602160045260246000fd5b600511156200099257565b62000971565b969491620009c190620009e595929d9c9a999b979d89526101a08060208b01528901906200094a565b60408801939093526001600160a01b0316606087015285820360808701526200094a565b97151560a084015260c08301526005851015620009925760e0820194909452815161010082015260208201516101208201526040909101516001600160a01b03166101408201526200080b9261018091906101608201526001600160a01b03909216910152565b346200062a5760203660031901126200062a576004356000526101486020526040600020805462000af862000a8460018401620007c7565b60028401546003850154919490916001600160a01b031662000aa960048301620007c7565b60ff60058401541660068401549062000ac6600786015460ff1690565b9262000ad560088701620008f2565b9462000aea600c600b89015498015462000879565b976040519b8c9b8c62000998565b0390f35b346200062a5760003660031901126200062a57602060fe54604051908152f35b346200062a5760003660031901126200062a57610145546040516001600160a01b039091168152602090f35b346200062a5760203660031901126200062a5760043562000b6862006293565b620186a0811162000ba4576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fc55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b038116036200062a57565b602435906200080b8262000bb6565b604435906200080b8262000bb6565b606435906200080b8262000bb6565b6101c435906200080b8262000bb6565b6101e435906200080b8262000bb6565b61020435906200080b8262000bb6565b35906200080b8262000bb6565b60409060031901126200062a5760043562000c4d8162000bb6565b9060243562000c5c8162000bb6565b90565b346200062a5762000c703662000c32565b62000c7b8262005c8d565b62000c868162005cda565b62000c9181620057ca565b62000cb262000cab8262000ca5856200125c565b620012c8565b5460ff1690565b62000f40576020908162000cd062000cca8562001277565b62005ba7565b015160fb5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af1801562000e0f576003918a9162000f1e575b5062000d1d81620058fc565b0362000e1557505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af1801562000e0f57600080516020620077a68339815191529462000dd592879262000ddb575b50505b8062000d908562000ca58662001292565b5562000db262000da58562000ca5866200125c565b805460ff19166001179055565b62000dc88462000dc285620012ad565b62005c31565b6040519384938462005c6b565b0390a180f35b62000dff9250803d1062000e07575b62000df68183620007a3565b810190620043d4565b388062000d7c565b503d62000dea565b620043e4565b604096919392965193845282846004818b865af1801562000e0f578894859162000eea575b5062000e4681620058fc565b62000e6b575b5050505062000dd5600080516020620077a68339815191529362000d7f565b829396509062000e939160405197888094819363782aadff60e01b8352896004840162005bf7565b03925af1801562000e0f57600080516020620077a68339815191529462000dd592879262000ec8575b50509385913862000e4c565b62000ee29250803d1062000e075762000df68183620007a3565b388062000ebc565b62000f0f9150843d861162000f16575b62000f068183620007a3565b81019062005bdf565b3862000e3a565b503d62000efa565b62000f399150863d881162000f165762000f068183620007a3565b3862000d11565b604051636adcde4b60e11b8152600490fd5b346200062a5760003660031901126200062a57602061014254604051908152f35b346200062a5760203660031901126200062a5762000fa860043562000f988162000bb6565b62000fa262006293565b62006364565b005b346200062a5760203660031901126200062a5760043562000fcb8162000bb6565b62000fd56200410c565b61010280546001600160a01b0319166001600160a01b03909216919091179055005b346200062a5760003660031901126200062a57602060ff8054166040519015158152f35b346200062a5760203660031901126200062a5762000fa8600435620010408162000bb6565b6200104a62006293565b620062ea565b346200062a57620010613662000c32565b6200106c8262005c8d565b6200107781620057ca565b6001600160a01b03811633036200112f57620010a4620010a062000cab8362000ca5866200125c565b1590565b6200111d5781620010e8620010de8362000ca57ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b966200125c565b805460ff19169055565b6000620010fa8362000ca58462001292565b5562001107828262005d56565b620011186040519283928362004989565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b346200062a5760203660031901126200062a5760043560005260c96020526020600160406000200154604051908152f35b346200062a5760003660031901126200062a576200119d620011976101005462000879565b62000879565b60fb5490620011bc620011b360fc548462003698565b620f4240900490565b91602060405180936302a64b8360e21b82528180620011df306004830162001314565b03916001600160a01b03165afa91821562000e0f5762000af8936200121c620011b36200122995620012239460009162001239575b508562003698565b92620041d4565b620041d4565b6040519081529081906020820190565b62001255915060203d811162000e075762000df68183620007a3565b3862001214565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b80548210156200130e5760005260206000200190600090565b620012df565b6001600160a01b03909116815260200190565b346200062a5760403660031901126200062a57600435620013488162000bb6565b6024359060018060a01b0380911660005261010d602052604060002080548310156200062a576020926200137c91620012f5565b9190546040519260031b1c168152f35b346200062a5760203660031901126200062a57600435620013ad8162000bb6565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b346200062a5760403660031901126200062a57600435602435620013f58162000bb6565b60009180835260c960205262001412600160408520015462003e94565b80835260c960205260ff6200142b8360408620620012c8565b54161562001437578280f35b80835260c96020526200144e8260408520620012c8565b805460ff1916600117905533916001600160a01b031690600080516020620077468339815191528480a438808280f35b346200062a576040806003193601126200062a5760049081359160243590620014b284600052610149602052604060002090565b5491620014bf836200065b565b91600b830192620014e36200119762001197620014dd87546200066c565b62000885565b3303620018b75782620015ca5760078101805460ff191690556200151d600a62001514620011976101455462000879565b92015462000879565b9060036200152c86546200066c565b015495813b156200062a57600080946200155a8a51998a968795869463099ea56b60e41b8652850162006f03565b03925af191821562000e0f5762001197620014dd6200159892600080516020620078e683398151915296620015a796620015ac575b505b546200066c565b93519081529081906020820190565b0390a3005b80620015bc620015c39262000703565b806200062f565b386200158f565b9093600183036200172e57620015e081620069e4565b610145620015f362001197825462000879565b90600c62001605600a86015462000879565b94019162001614835462000879565b60036200162289546200066c565b0154823b156200062a57620016559286928b8d51809681958294638969ab5360e01b845260009d8e998a96860162006f24565b03925af1801562000e0f5762001685926200167d92620011979262001717575b505462000879565b915462000879565b9160026200169487546200066c565b015496823b1562001713578490620016c08a51998a968795869463099ea56b60e41b8652850162006f03565b03925af191821562000e0f5762001197620014dd6200159892600080516020620078e683398151915296620015a796620016fc575b5062001591565b80620015bc6200170c9262000703565b38620016f5565b8480fd5b80620015bc620017279262000703565b3862001675565b60028395931462001765575b505050600080516020620078e6833981519152916200159862001197620014dd620015a79462001591565b60078201805460ff19166004179055919391610145916200178b62001197845462000879565b91600a8201926200179d845462000879565b946003620017ac89546200066c565b015491803b156200062a57620017e084918b948d5195868094819363099ea56b60e41b835260009d8e988995850162006f03565b03925af190811562000e0f576200180e62001197600c926200181f9562001817956200171757505462000879565b94015462000879565b935462000879565b9660026200182e88546200066c565b0154833b15620018b357906200185a86928b519a8b9788968795638969ab5360e01b8752860162006f24565b03925af191821562000e0f5762001197620014dd6200159892600080516020620078e683398151915296620015a7966200189c575b509450508294506200173a565b80620015bc620018ac9262000703565b386200188f565b8580fd5b50845163011fc34f60e51b8152fd5b346200062a5760203660031901126200062a577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f60206004356200190962006293565b8060fb55604051908152a1005b346200062a5760003660031901126200062a57602060fd54604051908152f35b6001600160401b038111620006fd57601f01601f191660200190565b81601f820112156200062a578035906200196c8262001936565b926200197c6040519485620007a3565b828452602083830101116200062a57816000926020809301838601378301015290565b91906040838203126200062a5760405190620019bb8262000717565b8335825290928391602082013591906001600160401b0383116200062a57602092620019e8920162001952565b910152565b801515036200062a57565b35906200080b82620019ed565b346200062a576003196080368201126200062a57600435906001600160401b03908183116200062a576101809083360301126200062a5762001a46620008a1565b9062001a558360040162000c25565b825262001a656024840162000c25565b602083015260448301356040830152606483013560608301526084830135608083015262001a9660a4840162000c25565b60a083015262001aa960c4840162000c25565b60c083015260e48301358181116200062a5762001acd90600436918601016200199f565b60e083015262001ae1610104840162000c25565b6101008301526101248301358181116200062a5762001b07906004369186010162001952565b61012083015262001b1c6101448401620019f8565b6101408301526101648301359081116200062a5762000fa892600462001b46923692010162001952565b61016082015262001b5662000bc8565b62001b6062000bd7565b9062001b6b62000be6565b9262004a07565b346200062a5760008060031936011262001dc65762001b9062005e0e565b62001b9b3362001277565b62001bad620011976101005462000879565b60fb549162001bc3620011b360fc548562003698565b6040516302a64b8360e21b815260209491936001600160a01b0316919085818062001bf2306004830162001314565b0381865afa801562000e0f5762001c1792620011b392899262001da2575b5062003698565b9262001c38620010a0604062001c3162000cca3362001277565b0151151590565b62001c4d575b8562001c4a6001606555565b80f35b8262001c65600260019501600160ff19825416179055565b60fb54938491015562001c9d6101059362001c9286620012238562001c8b895462000879565b94620041d4565b903090339062005e65565b8062001d74575b508262001cf4575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768962001ce660fb54604051918291338362005bf7565b0390a1388080808062001c3e565b8362001d036004935462000879565b9160405193848092634c3a1adf60e11b82525afa91821562000e0f5762001d3494869362001d3e575b505062005ff3565b3880808062001cac565b62001d63929350803d1062001d6c575b62001d5a8183620007a3565b81019062004907565b90388062001d2c565b503d62001d4e565b62001d9b9062001d85845462000879565b60ff5460081c6001600160a01b03169062005ff3565b3862001ca4565b62001dbe919250883d8a1162000e075762000df68183620007a3565b903862001c10565b80fd5b346200062a5760403660031901126200062a5760243562001dea8162000bb6565b336001600160a01b0382160362001e095762000fa89060043562004093565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346200062a5760203660031901126200062a5760043562001e878162000bb6565b6001600160a01b0362001ede7f0000000000000000000000000000000000000000000000000000000000000000821662001ec43082141562004332565b826000805160206200780683398151915254161462004383565b62001ee86200491f565b3391160362001f075762000fa89062001f00620041e2565b906200449e565b62001f3062001f156200491f565b60405163163678e960e01b8152918291336004840162004989565b0390fd5b346200062a5760203660031901126200062a577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8604060043562001f788162000bb6565b62001f8262006293565b6001600160a01b039081169062001f9982620057ca565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b346200062a5760203660031901126200062a5760043562001fe28162000bb6565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b346200062a5760203660031901126200062a5760043560005261014660205260e0604060002060018060a01b0390818154169160018201541690600281015460038201546004830154916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b346200062a57602060ff620020bb6200209c3662000c32565b6001600160a01b03909116600090815261010e855260409020620012c8565b54166040519015158152f35b60403660031901126200062a57600435620020e28162000bb6565b6024356001600160401b0381116200062a576200210490369060040162001952565b6001600160a01b03620021417f0000000000000000000000000000000000000000000000000000000000000000821662001ec43082141562004332565b6200214b6200491f565b3391160362001f075762000fa89162004562565b60a4359060038210156200062a57565b60c4359060038210156200062a57565b600411156200062a57565b60c435906200080b826200217f565b60e435906200080b826200217f565b60209060e31901126200062a5760405190620021c48262000733565b60e4358252565b6020906101031901126200062a5760405190620021e88262000733565b610104358252565b60c0906101031901126200062a57604051906200220d826200074f565b81610104356200221d8162000bb6565b8152610124356200222e8162000bb6565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c0906101231901126200062a576040519062002276826200074f565b8161012435620022868162000bb6565b815261014435620022978162000bb6565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e083126200062a5760405190620022e2826200076b565b60808294126200062a576200235290604051620022ff8162000787565b60243581526044356020820152606435604082015260843560608201528352620023286200215f565b6020840152620023376200218a565b60408401526200234781620021a8565b6060840152620021f0565b60808201526200236162000bf5565b60a082015260c0620019e862000c05565b9081526001600160a01b03909116602082015260400190565b346200062a576102203660031901126200062a57600435620023ad8162000bb6565b620023b836620022c2565b6001600160401b0390610204358281116200062a57620023dd9036906004016200199f565b91620023ec6101025462000879565b90620023ff620011976101075462000879565b916200244d620024126101015462000879565b936200243e620024216200491f565b60405163184b955960e01b602082015296879360248501620057ed565b03601f198101855284620007a3565b60405192610410918285019385851090851117620006fd578493620024789362007336863962005810565b03906000f092831562000e0f5762002499936001600160a01b031662005a8a565b9062000af86040519283928362002372565b346200062a5760003660031901126200062a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036200250957604051600080516020620078068339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b346200062a576020806003193601126200062a576004908135916200259362005e0e565b6200259d62005f93565b620025b2620025ac33620012ad565b62005892565b60005b81518110156200269457620025e46200119762001197620025d7848662005423565b516001600160a01b031690565b9084604051809363782aadff60e01b825281600081620026088c338c840162005bf7565b03925af1801562000e0f57620026309260009162002672575b508062002636575b5062005413565b620025b5565b6200266962002660620026493362001292565b62002659620025d7868962005423565b90620012c8565b918254620041d4565b90553862002629565b6200268d9150863d881162000e075762000df68183620007a3565b3862002621565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f6200270286620026d781620026cd6101055462000879565b3090339062005e65565b6001620026e43362001277565b01620026f2828254620041d4565b9055604051918291338362005bf7565b0390a162000fa86001606555565b346200062a5760203660031901126200062a5760043560005261014a602052604060002060018060a01b0381541662000af86001830154926200275b600360028301549201620007c7565b906040519485948552602085015260408401526080606084015260808301906200094a565b60a03660031901126200062a576001600160401b036004358181116200062a57620027b090369060040162001952565b60443591620027bf8362000bb6565b6064359081116200062a57620027da90369060040162001952565b60843592620027e984620019ed565b620027f362006293565b61014280549092906001600160a01b036200281662001197620014dd846200066c565b16151580620029b9575b6200298b575061014491620028406200283a845462005413565b61014455565b62002852620011976101455462000879565b91835496833b156200062a576200288597604051809563240ff7c560e11b8252818060009c8d9533906004840162002372565b039134905af191821562000e0f577f52f4cb740254ed67a4254f58aa5cc61342f447c5fa0abe72548b6866ea709b7b9662002955956200294f9462002974575b5062002921875493620028d7620008c2565b928c84528c60208501528c6040850152549362002913620028f7620008d1565b98878a528d60208b015260243560408b015260608a0162000892565b6080880152151560a0870152565b4260c08601528960e08601526101008501526101208401526200294933610140850162000892565b6200065b565b620066ba565b5491610143546200296e6040519283924291846200678c565b0390a280f35b80620015bc620029849262000703565b38620028c5565b60026200299c62001f30926200066c565b0154604051632c1f8ef160e21b8152918291346004840162005fe2565b506002620029c7826200066c565b0154341062002820565b346200062a5760003660031901126200062a57610102546040516001600160a01b039091168152602090f35b346200062a576020806003193601126200062a5760049081359062002a2162005e0e565b62002a2b62005f93565b62002a3633620012ad565b9060019362002a53848662002a4b3362001277565b015462005458565b60fb541162002c605790849262002a79853362002a736101055462000879565b62005ff3565b6000935b62002ac3575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862002702868862002ab53362001277565b01620026f282825462005458565b909192948154948587101562002c575762002af862002ae38885620012f5565b905460039190911b1c6001600160a01b031690565b9562002b04876200601e565b1562002c0657506040928484518098632ed04b2b60e01b82528160008162002b31888d3390840162005bf7565b03926001600160a01b03165af196871562000e0f5760009762002be2575b5062002b6f62002b5f3362001292565b6200265962002ae38b85620012f5565b54948588111562002b965784516311423e6360e31b81528062001f30888b838c0162005fe2565b945094925094819662002bd79162002bcf62002bc662002bb63362001292565b6200265962002ae3868c620012f5565b91825462005458565b905562005413565b939092919262002a7d565b62002bfe919750853d871162000e075762000df68183620007a3565b953862002b4f565b9662002c5162002bd7929762002c4662002c3362002ae362002c2c889d9b999b62005438565b8b620012f5565b62002c3f858b620012f5565b9062005c12565b62000fa28862005d10565b62005413565b94509462002a83565b604051634e23e81760e11b8152fd5b346200062a5760003660031901126200062a57602060405160038152f35b346200062a57602062002cc362002ca43662000c32565b6001600160a01b03909116600090815261010b845260409020620012c8565b54604051908152f35b346200062a5760203660031901126200062a576004356001600160401b0381116200062a5762002d0562002d3491369060040162001952565b61010260005460ff8160081c16158062002d68575b62002d2590620049a3565b61ffff19161760005562006474565b62002d4561ff001960005416600055565b604051600281526000805160206200784683398151915290806020810162001118565b50600260ff82161062002d1a565b346200062a5762002d873662000c32565b62002d9162005e0e565b62002d9b62006293565b62002dac620010a060ff5460ff1690565b62002e715762002dca620010a0604062001c3162000cca8662001277565b62002e5f57816200270262002e0462000cca7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39562001277565b62002e0f83620063bb565b62002e3062002e1e8462001277565b60026000918281558260018201550155565b62002e51602062002e446101055462000879565b9201918583519162005ff3565b516040519384938462005c6b565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b346200062a5760003660031901126200062a57610103546040516001600160a01b039091168152602090f35b346200062a5760003660031901126200062a57610106546040516001600160a01b039091168152602090f35b346200062a5760008060031936011262001dc65762002ef96200410c565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020620078668339815191528280a380f35b346200062a5760203660031901126200062a5762002f4962006293565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa91821562000e0f5762000fa89260209160009162002fa2575b5001511662000fa281620057ca565b62002fc1913d8091833e62002fb88183620007a3565b810190620061f7565b3862002f93565b346200062a5760003660031901126200062a576020604051600080516020620077668339815191528152f35b346200062a5760003660031901126200062a57610101546040516001600160a01b039091168152602090f35b346200062a5760003660031901126200062a57610104546040516001600160a01b039091168152602090f35b346200062a5760003660031901126200062a57602061014b54604051908152f35b346200062a5760203660031901126200062a576200308a62006293565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa801562000e0f5760206200119791620030de9360009162003106575b50015162000879565b620030e981620057ca565b620030f4816200601e565b620030fb57005b62000fa890620062ea565b6200311c913d8091833e62002fb88183620007a3565b38620030d5565b346200062a5760203660031901126200062a576004356000526101476020526040600020805462000af8600183015492620031c160028201549160018060a01b0380600383015416906200318860056200318060048601620007c7565b9401620007c7565b946040519889988952602089015260ff81161515604089015260081c166060870152608086015260e060a086015260e08501906200094a565b9083820360c08501526200094a565b346200062a5760203660031901126200062a576060600435620031f38162000bb6565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b346200062a5760003660031901126200062a57602060fc54604051908152f35b346200062a5760003660031901126200062a576020620032716200491f565b6040516001600160a01b039091168152f35b346200062a5760403660031901126200062a57602060ff620020bb602435620032ac8162000bb6565b60043560005260c984526040600020620012c8565b346200062a5760003660031901126200062a57602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b346200062a5760003660031901126200062a57602060405160008152f35b346200062a5760203660031901126200062a5760206040600435620033358162000bb6565b60018060a01b0380911660005261010c835260ff6002836000208451936200335d85620006e1565b815416845260018101548685015201541615159182910152604051908152f35b346200062a5760203660031901126200062a576004356200339e8162000bb6565b620033a86200410c565b61010180546001600160a01b0319166001600160a01b03909216919091179055005b346200062a5760003660031901126200062a5760ff5460405160089190911c6001600160a01b03168152602090f35b346200062a5760008060031936011262001dc65761010380546001600160a01b03811690338290036200346e5761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90602062000c5c9281815201906200094a565b346200062a5760008060031936011262001dc657604051816101098054620034bb816200068e565b80855291600191808316908115620035375750600114620034f7575b62000af885620034ea81890382620007a3565b6040519182918262003480565b835260208084209095505b82841062003523575050508162000af893620034ea928201019338620034d7565b805485850187015292850192810162003502565b905062000af89650620034ea9450602092508593915060ff191682840152151560051b8201019338620034d7565b346200062a5760008060031936011262001dc6576200358362005e0e565b6200358e3362005c8d565b6200359933620063bb565b33815261010c6020527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f46200365360408320604051620035d981620006e1565b81546001600160a01b0316815260018201546020820190815260029092015460ff1615156040909101526200361262002e1e3362001277565b620036276200362133620012ad565b6200562e565b62003644620036396101055462000879565b825190339062005ff3565b51604051918291338362005bf7565b0390a162001c4a6001606555565b346200062a5760003660031901126200062a57602061014354604051908152f35b634e487b7160e01b600052601160045260246000fd5b81810292918115918404141715620036ac57565b62003682565b346200062a5760003660031901126200062a576020604051620186a08152f35b346200062a5760203660031901126200062a5762000fa8600435620036f78162000bb6565b6200370a60ff60005460081c1662004881565b6200418d565b346200062a5760003660031901126200062a57602061014454604051908152f35b346200062a5760008060031936011262001dc65760405181610108805462003759816200068e565b80855291600191808316908115620035375750600114620037875762000af885620034ea81890382620007a3565b835260208084209095505b828410620037b3575050508162000af893620034ea928201019338620034d7565b805485850187015292850192810162003792565b9181601f840112156200062a578235916001600160401b0383116200062a57602083818601950101116200062a57565b60603660031901126200062a576001600160401b03600480356024358381116200062a576200382a9036908401620037c7565b936044359081116200062a57620038459036908501620037c7565b94909162003853846200065b565b926200386d62003867600b8601546200066c565b62006e2f565b9084549786890362003aa85760078601976200388a895460ff1690565b620038958162000987565b62003a8c576060840192835180341062003a6d5750620038b784513462005458565b93620038ca620011976101455462000879565b90519b813b156200062a57600091620038fb916040519e8f8094819363240ff7c560e11b835233908a840162002372565b03925af193841562000e0f57620039439b60209562003a56575b506200392662001197875162000879565b926040519c8d958694859363c13517e160e01b8552840162006eae565b03925af195861562000e0f5762000af89760009762003a07575b5092620039f492620039e28896936200398e600080516020620077c68339815191529997600360ff19825416179055565b876008860155620039ab6009860195428755600a3391016200416e565b86620039c289600052610149602052604060002090565b55620039db620039d561014b5462005413565b61014b55565b5162000879565b92549260405196879633928862006ec8565b0390a16040519081529081906020820190565b6200398e975092620039e2600080516020620077c6833981519152979592969362003a46620039f49660203d811162000e075762000df68183620007a3565b995093969295975050926200395d565b80620015bc62003a669262000703565b3862003915565b604051632c1f8ef160e21b815290819062001f30903483870162005fe2565b6040516326ca522f60e21b815290810188815281906020010390fd5b60405163086d271b60e11b815280890188815281906020010390fd5b346200062a5760203660031901126200062a5760043560009080825261014860205260408220600b6006820154910154835261014660205260066040842001548101809111620036ac57421062003b205762001c4a90620069e4565b60405163fd98b9ed60e01b81526004810191909152602490fd5b346200062a5760403660031901126200062a5762000fa860243560043562003b628262000bb6565b8060005260c960205262003b7e60016040600020015462003e94565b62004093565b346200062a5760003660031901126200062a57610107546040516001600160a01b039091168152602090f35b346200062a5760003660031901126200062a5760206040516127108152f35b346200062a5760003660031901126200062a57610105546040516001600160a01b039091168152602090f35b346200062a576102403660031901126200062a5760043562003c1d8162000bb6565b6024359062003c2c8262000bb6565b36604319016101e081126200062a5760806040519162003c4c836200076b565b126200062a5760405162003c608162000787565b60443581526064356020820152608435604082015260a4356060820152815262003c896200216f565b602082015262003c9862002199565b604082015262003ca836620021cb565b606082015262003cb83662002259565b608082015262003cc762000c05565b60a082015262003cd662000c15565b60c082015261022435926001600160401b0384116200062a5762003d03620024999436906004016200199f565b9262005a8a565b346200062a5760203660031901126200062a57602060ff620020bb60043562003d338162000bb6565b6000805160206200776683398151915260005260c984526040600020620012c8565b346200062a5760203660031901126200062a5760043562003d768162000bb6565b62003d806200410c565b6001600160a01b0381161562003d9b5762000fa8906200418d565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200062a5760003660031901126200062a57610100546040516001600160a01b039091168152602090f35b346200062a5760203660031901126200062a576004356000526101496020526020604060002054604051908152f35b346200062a5760003660031901126200062a5762000af860405162003e6f8162000717565b60038152620302e360ec1b60208201526040519182916020835260208301906200094a565b8060005260c960205260ff62003eaf336040600020620012c8565b54161562003eba5750565b339062003ec6620041fc565b91603062003ed48462004219565b53607862003ee28462004227565b5360295b6001811162003f995762001f3062003f5462003f808662003f7162003f178862003f11891562004258565b620042a4565b62003f4d60405195869462003f4d6020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062003fe1565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f198101835282620007a3565b60405162461bcd60e51b81529182916004830162003480565b90600f81169060108210156200130e5762003fdb916f181899199a1a9b1b9c1cb0b131b232b360811b901a62003fd0848762004238565b5360041c916200424a565b62003ee6565b9062003ff66020928281519485920162000925565b0190565b9060ff801983541691151516179055565b60008051602062007766833981519152600081815260c96020529060ff6200404384600080516020620078c6833981519152620012c8565b5416156200405057505050565b80825260c9602052620040678360408420620012c8565b805460ff1916600117905533926001600160a01b031691600080516020620077468339815191529080a4565b60009080825260c960205260ff620040af8460408520620012c8565b5416620040bb57505050565b80825260c9602052620040d28360408420620012c8565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b620041166200491f565b336001600160a01b03909116036200412a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b80546001600160a01b0319166001600160a01b03909216919091179055565b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062007866833981519152600080a3565b9060028201809211620036ac57565b91908201809211620036ac57565b604051620041f08162000733565b60008152906000368137565b604051906200420b82620006e1565b602a82526040366020840137565b8051156200130e5760200190565b8051600110156200130e5760210190565b9081518110156200130e570160200190565b8015620036ac576000190190565b156200426057565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190620042b38262000787565b6042825260603660208401376030620042cc8362004219565b536078620042da8362004227565b536041905b60018211620042f55762000c5c91501562004258565b600f81169060108210156200130e576200432b916f181899199a1a9b1b9c1cb0b131b232b360811b901a62003fd0848662004238565b90620042df565b156200433a57565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620077e683398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200438b57565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620077e683398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b908160209103126200062a575190565b6040513d6000823e3d90fd5b15620043f857565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b90620044ba600080516020620077868339815191525460ff1690565b15620044cc57506200080b9062004626565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa600093816200453d575b50620045175760405162461bcd60e51b81528062001f30600482016200444f565b62004537600080516020620078068339815191526200080b9414620043f0565b620046b8565b6200455a91945060203d811162000e075762000df68183620007a3565b9238620044f6565b906200457e600080516020620077868339815191525460ff1690565b156200459057506200080b9062004626565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa6000938162004601575b50620045db5760405162461bcd60e51b81528062001f30600482016200444f565b620045fb600080516020620078068339815191526200080b9414620043f0565b6200476e565b6200461e91945060203d811162000e075762000df68183620007a3565b9238620045ba565b803b156200465d576000805160206200780683398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b90620046c48262004626565b6001600160a01b03821660008051602062007886833981519152600080a280511580159062004765575b620046f7575050565b6200476291600080604051936200470e85620006e1565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200475b620047b5565b91620047ea565b50565b506000620046ee565b906200477a8262004626565b6001600160a01b03821660008051602062007886833981519152600080a2805115801590620047ac57620046f7575050565b506001620046ee565b3d15620047e5573d90620047c98262001936565b91620047d96040519384620007a3565b82523d6000602084013e565b606090565b919290156200484f575081511562004800575090565b3b156200480a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620048635750805190602001fd5b60405162461bcd60e51b815290819062001f30906004830162003480565b156200488957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6200080b906200370a60ff60005460081c1662004881565b51906200080b8262000bb6565b908160209103126200062a575162000c5c8162000bb6565b6033546001600160a01b0316803b620049355790565b604051638da5cb5b60e01b8152602081600481855afa6000918162004964575b506200495f575090565b905090565b6200498191925060203d811162001d6c5762001d5a8183620007a3565b903862004955565b6001600160a01b0391821681529116602082015260400190565b15620049ab57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9291909260009182549062004a5460ff8360081c16159586809762004f8a575b801562004f71575b62004a3a90620049a3565b600193878560ff19831617885562004f5f575b50620048e2565b62004a5e620057a5565b62004a6862005729565b62004a726200573c565b6020958684019662004a9362004a8d620011978a5162000879565b620057ca565b610100850162004aac62004a8d62001197835162000879565b62004abc62004a8d875162000879565b60a0860162004ad062004a8d825162000879565b62004b3d62004b1b606089019b8c5162004f46575b620039db62004af9620011978c5162000879565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b6040998a880180511562004f35579262004bd662004bb462004c109462004b9462004b836101408e62001c31620011979962004b7d62004c329d5160fb55565b5160fc55565b60ff8019815416911515161760ff55565b62004ba46101208d015162005079565b620039db6101608d015162005170565b61010080546001600160a01b0319166001600160a01b03909216919091179055565b620039db62004be960c08b015162000879565b60ff8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b0383161790556200400b565b60048162004c47620011976101075462000879565b8a51635ab1bd5360e01b815292839182905afa801562000e0f5762004c9291889162004f13575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b62004ca4620011976101065462000879565b93843b62004e5357509062004d459162004cef62004cc1620053be565b9562004cd83362004cd28962004219565b62000892565b62004cd262004ce8885162005438565b8862005423565b62004d043062004cd262004ce8885162005448565b808562004d18620011976101045462000879565b60e060808a01519901988a8d8b51905198899586948593633a92f65f60e01b8552309160048601620055dd565b03925af194851562000e0f5762004d9462004dde9662004dbc9562004d9a947f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059b9262004e31575b505060fe55565b6200566e565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b60fe5490519062004df4855192839283620056fc565b0390a162004dff5750565b600080516020620078468339815191529062004e2161ff001960005416600055565b516001815280602081015b0390a1565b62004e4b9250803d1062000e075762000df68183620007a3565b388062004d8d565b885163a0e67e2b60e01b815294908786600481855afa95861562000e0f57889662004eea575b5062004e9062004e8a8751620041c5565b620053db565b9588825b62004eae575b5050509062004cef62004d45939262004cd8565b815181101562004ee4578062002c5162004ed1620025d762004edd948662005423565b62004cd2838c62005423565b8262004e94565b62004e9a565b62004f0b9196503d808a833e62004f028183620007a3565b8101906200532f565b943862004e79565b62004f2e9150833d851162001d6c5762001d5a8183620007a3565b3862004c6e565b8b516363868c5560e11b8152600490fd5b62004f5962004a8d60c08c015162000879565b62004ae5565b61ffff19166101011786553862004a4d565b50303b15801562004a2f575060ff841660011462004a2f565b50600160ff85161062004a27565b81811062004fa4575050565b6000815560010162004f98565b90601f821162004fbf575050565b6200080b916101086000526020600020906020601f840160051c8301931062004ff1575b601f0160051c019062004f98565b909150819062004fe3565b90601f82116200500a575050565b6200080b916101096000526020600020906020601f840160051c8301931062004ff157601f0160051c019062004f98565b9190601f81116200504b57505050565b6200080b926000526020600020906020601f840160051c8301931062004ff157601f0160051c019062004f98565b80519091906001600160401b038111620006fd5761010890620050a881620050a284546200068e565b62004fb1565b602080601f8311600114620050e7575081929394600092620050db575b50508160011b916000199060031b1c1916179055565b015190503880620050c5565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b88821062005157575050836001959697106200513d575b505050811b019055565b015160001960f88460031b161c1916905538808062005133565b806001859682949686015181550195019301906200511c565b80519091906001600160401b038111620006fd57610109906200519f816200519984546200068e565b62004ffc565b602080601f8311600114620051d1575081929394600092620050db5750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b88821062005226575050836001959697106200513d57505050811b019055565b8060018596829496860151815501950193019062005206565b81519192916001600160401b038111620006fd576200526b816200526484546200068e565b846200503b565b602080601f83116001146200529d575081929394600092620050db5750508160011b916000199060031b1c1916179055565b90601f19831695620052b485600052602060002090565b926000905b888210620052d9575050836001959697106200513d57505050811b019055565b80600185968294968601518155019501930190620052b9565b8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b6001600160401b038111620006fd5760051b60200190565b60209081818403126200062a578051906001600160401b0382116200062a57019180601f840112156200062a578251620053698162005317565b93620053796040519586620007a3565b818552838086019260051b8201019283116200062a578301905b828210620053a2575050505090565b8380918351620053b28162000bb6565b81520191019062005393565b60405190620053cd8262000787565b600382526060366020840137565b90620053e78262005317565b620053f66040519182620007a3565b828152809262005409601f199162005317565b0190602036910137565b6000198114620036ac5760010190565b80518210156200130e5760209160051b010190565b600019810191908211620036ac57565b600119810191908211620036ac57565b91908203918211620036ac57565b906000916101088054916200547b836200068e565b918282526001938481169081600014620054e257506001146200549f575b50505050565b90919394506000526020928360002092846000945b838610620054cd57505050500101903880808062005499565b805485870183015294019385908201620054b4565b9294505050602093945060ff191683830152151560051b0101903880808062005499565b906000929180549162005519836200068e565b918282526001938481169081600014620054e257506001146200553c5750505050565b90919394506000526020928360002092846000945b8386106200556a57505050500101903880808062005499565b80548587018301529401938590820162005551565b906040602062000c5c938051845201519181602082015201906200094a565b90815180825260208080930193019160005b828110620055bf575050505090565b83516001600160a01b031685529381019392810192600101620055b0565b9062000c5c94926200560f91835260a060208401526200560060a0840162005466565b9083820360408501526200557f565b6001600160a01b0390931660608201528083036080909101526200559e565b805460008255806200563e575050565b6200080b9160005260206000209081019062004f98565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b038211620006fd57600160401b8211620006fd5761010f908154838355808410620056db575b50602080910191600052806000209060005b848110620056bf575050505050565b83516001600160a01b03168382015592810192600101620056b0565b620056f59083600052846020600020918201910162004f98565b386200569e565b909162000c5c928252606060208301526200571a6060830162005466565b9160408184039101526200557f565b6200080b60ff60005460081c1662004881565b60008051602062007766833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b620057c360ff60005460081c16620057bd8162004881565b62004881565b6001606555565b6001600160a01b031615620057db57565b6040516303988b8160e61b8152600490fd5b6001600160a01b0391821681529181166020830152909116604082015260600190565b6001600160a01b03909116815260406020820181905262000c5c929101906200094a565b6040519061010f828154918282526020928383019160005283600020936000905b8282106200586e575050506200080b92500383620007a3565b85546001600160a01b03168452600195860195889550938101939091019062005855565b9060405191828154918282526020928383019160005283600020936000905b828210620058ca575050506200080b92500383620007a3565b85546001600160a01b031684526001958601958895509381019390910190620058b1565b906003821015620009925752565b600411156200099257565b906004821015620009925752565b6200080b909291926101c060c06101e083019560608151805186526020810151602087015260408101516040870152015160608501526200595f60208201516080860190620058ee565b62005973604082015160a086019062005907565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b94909162005a2562005a419462000c5c989694885260018060a01b03809316602089015260e0604089015260e08801906200094a565b921660608601526000608086015284820360a08601526200557f565b9160c08184039101526200559e565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a06080820181905262000c5c929101906200557f565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b03861662005b9e575b602062005af8829683600062005ac962005834565b9262005b2662005ae0620011976101075462000879565b9462005b0760fe54936040519889918b830162005915565b03601f198101895288620007a3565b896040519b8c98899788966370803ea560e11b885260048801620059ef565b03925af191821562000e0f577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2839360009362005b74575b5062004e2c90839760405194859430918662005a50565b62004e2c91935062005b969060203d811162000e075762000df68183620007a3565b929062005b5d565b85925062005ab4565b9060405162005bb681620006e1565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b908160209103126200062a575162000c5c816200217f565b6001600160a01b039091168152602081019190915260400190565b8054909262005c2d926001600160a01b039091169162005655565b9055565b805490600160401b821015620006fd578162005c5791600162005c2d94018155620012f5565b815491936001600160a01b03169162005655565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff600260406000206040519362005cb885620006e1565b81541684526001810154602085015201541615906040821591015262002e5f57565b6001600160a01b0316600090815261010a602052604090205460ff161562005cfe57565b6040516346c26e4b60e01b8152600490fd5b8054801562005d4057600019019062005d2a8282620012f5565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b8154908181101562005e065762005d8b8184620012f5565b905460039391841b1c86168787161462005db3575b5062005dad915062005413565b62005d73565b6000198101908111620036ac5762005dad9262005dd2879286620012f5565b9054911b1c1662005df262005de88386620012f5565b8193915462005655565b905562005dff8362005d10565b3862005da0565b505050915050565b60026065541462005e20576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9062005ea09062005e916200080b956040519586936323b872dd60e01b60208601526024850162005c6b565b03601f198101845283620007a3565b60405162005efd916001600160a01b031662005ebc8262000717565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200475b620047b5565b805182811591821562005f6f575b505090501562005f185750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b83809293500103126200062a5781015162005f8a81620019ed565b80823862005f0b565b3360005261010c602052604060002060ff60026040519262005fb584620006e1565b80546001600160a01b031684526001810154602085015201541615801560409092019190915262002e5f57565b908152602081019190915260400190565b62005ea06200080b939262005e9160405194859263a9059cbb60e01b60208501526024840162005bf7565b6040519060208083018160006301ffc9a760e01b95868452866024820152602481526200604b81620006e1565b51617530938685fa933d6000519086620060fe575b5085620060f3575b508462006089575b505050816200607d575090565b62000c5c91506200610a565b83945090600091839460405185810192835263ffffffff60e01b602482015260248152620060b781620006e1565b5192fa60005190913d83620060e7575b505081620060dc575b50159038808062006070565b9050151538620060d0565b101591503880620060c7565b151594503862006068565b84111595503862006060565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b6024820152602481526200613c81620006e1565b5191617530fa6000513d826200615f575b508162006158575090565b9050151590565b602011159150386200614d565b91906040838203126200062a57604051620061878162000717565b83518152602084015190938491906001600160401b0382116200062a57019082601f830112156200062a57815191620061c08362001936565b93620061d06040519586620007a3565b838552602084830101116200062a57602092620061f39184808701910162000925565b0152565b906020828203126200062a5781516001600160401b03928382116200062a570160c0818303126200062a576040519262006231846200074f565b815184526020820151620062458162000bb6565b60208501526200625860408301620048fa565b604085015260608201519081116200062a5760a0926200627a9183016200616c565b606084015260808101516080840152015160a082015290565b6000805160206200776683398151915260005260c960205260ff620062c833600080516020620078c6833981519152620012c8565b541615620062d257565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff166200635257816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4916200639381620057ca565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d602052604090620063e082852062005892565b845b81518110156200646c57620064046200119762001197620025d7848662005423565b90813b1562006468578685518093631914f67160e21b82528183816200642e8a6004830162001314565b03925af191821562000e0f576200644b9262006451575062005413565b620063e2565b80620015bc620064619262000703565b3862002629565b8680fd5b505050509050565b60e0818051810103126200062a5760405190620064918262000733565b60e060405191620064a2836200076b565b6020810151620064b28162000bb6565b83526040810151620064c48162000bb6565b6020840152606081015160408401526080810151606084015260a0810151608084015260c081015160a0840152015160c08201528152620065546200653262001197620065146101015462000879565b60fd54906200652c620065278362005413565b60fd55565b620065ba565b61014580546001600160a01b0319166001600160a01b03909216919091179055565b62006566620011976101455462000879565b90813b156200062a576000809260046040518095819363204a7f0760e21b83525af191821562000e0f576200080b92620065a3575b505162006fab565b80620015bc620065b39262000703565b386200659b565b906e5af43d82803e903d91602b57fd5bf39060405160208101913360601b8352603482015260348152620065ee81620006e1565b51902091763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f56001600160a01b03811615620066385790565b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b906005811015620009925760ff80198354169116179055565b60026200080b928051835560208101516001840155604060018060a01b039101511691016200416e565b600c620067846101406200080b9480518555620066df6020820151600187016200523f565b6040810151600286015562006706620066fc606083015162000879565b600387016200416e565b620067196080820151600487016200523f565b620067356200672b60a0830151151590565b6005870162003ffa565b60c081015160068601556200675d60e0820151620067538162000987565b6007870162006677565b620067716101008201516008870162006690565b610120810151600b860155015162000879565b91016200416e565b620067a6604092959493956060835260608301906200094a565b9460208201520152565b919091828114620068a157620067c783546200068e565b6001600160401b038111620006fd57620067e7816200526484546200068e565b600093601f821160011462006825579381929394600092620068195750508160011b916000199060031b1c1916179055565b015490503880620050c5565b6200683a601f19831691600052602060002090565b946200684b84600052602060002090565b91815b81811062006888575095836001959697106200686e57505050811b019055565b015460001960f88460031b161c1916905538808062005133565b878301548455600193840193909201916020016200684e565b509050565b818103620068b2575050565b600580836200080b94548455600181015460018501556200690e60028501620068fe6002840191620068e960ff8454168262003ffa565b60018060a01b0380935460081c1690620052f2565b600383015416600386016200416e565b620069206004820160048601620067b0565b019101620067b0565b6000929181546200693a816200068e565b92600191808316908115620069975750600114620069585750505050565b90919293945060005260209081600020906000915b85831062006985575050505001903880808062005499565b8054858401529183019181016200696d565b60ff191684525050508115159091020191503880808062005499565b90602062000c5c92818152019062005506565b929190620069df60209160408652604086019062005506565b930152565b620069ef816200065b565b60078101805460ff1662006a038162000987565b80159081159162006e18575b5062006dff5761014362006a4f62006a3d825462006a3762006a318262005413565b61014355565b6200067d565b62006a4983546200067d565b620068a6565b62006a5b81546200067d565b916001840192604094855160207fa28f6b5b63e8557cbb98133c24a12accd676244ba9c20bcb4f6ee3a753f1f1e48183018362006a99828b62006929565b039362006aaf601f1995868101835282620007a3565b5190200362006afc5750506002015490556000805160206200782683398151915293929162006af79162006aea90805460ff19166002179055565b54925192839283620069c6565b0390a2565b7f70abf8091da6ee64da3d8eb28f12686e8cea2743399fbe2d8daa3ed87e4cd4f888518281019062006b418162006b34848d62006929565b03868101835282620007a3565b5190200362006b8157505062006af79260008051602062007826833981519152969594926001600262006aea9401549101555b805460ff19166002179055565b7fa908023e2d2c1996a0e14e3b5c41aa4e8bb264abd5d2ddba6d968f49032c18e988518281019062006bb98162006b34848d62006929565b5190200362006bfe57505062006af79262006b746000805160206200782683398151915297969593600262006bf6600562006aea96015460ff1690565b910162003ffa565b7f389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d091688518281019062006c368162006b34848d62006929565b5190200362006c7b57505062006af79262006b746000805160206200782683398151915297969593600262006c73600362006aea96015462000879565b9101620052f2565b7fd32fdea93dd8719902490c9fbb09c60bc6aaac6f04216bd1b18dc53d9c5bcb1988518281019062006cb38162006b34848d62006929565b5190200362006cf357505062006af79262006b746000805160206200782683398151915297969593600362006784620011978262006aea97015462000879565b7fecea437d1b7c4448a6ee4a5450fd64bc261d017c8ee363673061c5a0893057ed88518281019062006d2b8162006b34848d62006929565b5190200362006d6457505062006af79262006b74600080516020620078268339815191529796959360048062006aea95019101620067b0565b907fccadc1d3741e240c13959ff8ea9817f7b6c9c59dd5388094d4c7081cfd01caea9162006dab8951918201928262006d9e858c62006929565b03908101835282620007a3565b5190200362006de35762006af79262006b7460008051602062007826833981519152979695936005600462006aea95019101620067b0565b855163e074621d60e01b81528062001f308760048301620069b3565b6040516363373c9b60e11b815260048101849052602490fd5b6003915062006e278162000987565b143862006a0f565b9060405162006e3e816200076b565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003830154606082015260048301546080820152600583015460a082015260069092015460c0830152565b908060209392818452848401376000828201840152601f01601f1916010190565b91604062000c5c9360038152816020820152019162006e8d565b979695919360a09593620069df95600180891b038094168b5260208b015260408a015216606088015260c0608088015260c087019162006e8d565b9081526001600160a01b039091166020820152604081019190915260600190565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b9060c060069162006f7c60018060a01b0362006f6c81845116876200416e565b602083015116600186016200416e565b60408101516002850155606081015160038501556080810151600485015560a081015160058501550151910155565b6020810180516001600160a01b039290839062006fc89062000879565b16801515908162007316575b81620071f8575b5062006fe657505050565b6101429283549062007005600162006ffe846200066c565b0162000885565b816200701662001197875162000879565b91161491821592620071c9575b5050620070df575b62004e2c836200705662007050600080516020620078a6833981519152965462005413565b61014255565b6200706d836200706783546200066c565b62006f4c565b5491620070876200707f825162000879565b945162000879565b90604081015160608201519060a0608084015193015193604051978897889390979695929160c0959260e0860199865260018060a01b0380921660208701521660408501526060840152608083015260a08201520152565b620070ef62001197825162000879565b92620070fc835162000879565b93803b156200062a5760405163446adb9960e11b81529460009186918290849082906200712d906004830162001314565b03925af190811562000e0f57600080516020620078a68339815191529462004e2c92620071b2575b507fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f6200718762001197855162000879565b62007193865162000879565b90620071a66040519283923084620057ed565b0390a19350506200702b565b80620015bc620071c29262000703565b3862007155565b620071db919250620014dd906200066c565b90620071ec62001197845162000879565b91161415388062007023565b6101425491506200721362001197600162006ffe856200066c565b1490811591620072e9575b8115620072ca575b8115620072ab575b81156200728c575b81156200726d575b81156200724e575b503862006fdb565b905060066200726260c0840151926200066c565b015414153862007246565b905060a0820151600562007281836200066c565b01541415906200723e565b905060808201516004620072a0836200066c565b015414159062007236565b905060608201516003620072bf836200066c565b01541415906200722e565b905060408201516002620072de836200066c565b015414159062007226565b9050620072f7825162000879565b846200730b62001197620014dd856200066c565b91161415906200721e565b90506200732c6200119762001197845162000879565b15159062006fd456fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122033f0a9d1793f90fc961617711fc56f8bbd8ed7df3cc6b5c214af8e42eb49dd9164736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec59e087303584a0da9096007d7b681a1e6f51324d1691eed6f35eb8965d96ae3a46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b18efbc622a61b1368ba1988fa8076b9a3afdcbc1f7ea55e556b5f785ed5a207f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3be677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53a867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276a26469706673582212207d124b5afcb84138048310fe8d67d6d0d3e06e0a2c6cc72243f298b46b7390bf64736f6c63430008130033","sourceMap":"216:15528:64:-:0;;;;;;;1088:4:32;1080:13;;216:15528:64;;;;;;1080:13:32;216:15528:64;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620005cf5780630331383c14620004bb5780630392fd5d14620005c957806308386eba14620005c35780630bece79c14620005bd5780630d12bbdb14620005b75780630d4a8b4914620005b1578063125fd1d914620005ab578063175188e814620005a55780631b71f0e4146200059f5780631f787d281462000599578063223e5479146200059357806322bcf999146200058d578063248a9ca3146200058757806328c309e914620005815780632b38c69c146200057b5780632c611c4a14620005755780632f2ff15d146200056f578063311a6c56146200056957806331f61bca146200056357806333960459146200055d5780633419635514620005575780633517aa7d146200055157806336568abe146200054b5780633659cfe61462000545578063397e2543146200053f5780633a871fe1146200053957806341bb76051462000533578063477a5cc0146200052d5780634f1ef2861462000527578063524e59e8146200052157806352d1902d146200051b578063559de05d1462000515578063564a565d146200050f5780635804663b14620005095780635c94e4d214620005035780635ecf71c514620004fd578063626c47e814620004f757806365e3864c14620004c157806366d721bd14620004f15780636871eb4d14620004eb57806368decabb14620004e55780636c53db9a14620004df578063715018a614620004d957806373265c3714620004d3578063733a2d1f14620004cd57806377122d5614620004c75780637817ee4f14620004c157806378a0b8a914620004bb5780637b10399914620004b55780637d36f4d314620004af57806382d6a1e714620004a95780638749e26f14620004a357806388cfe684146200049d5780638961be6b14620004975780638da5cb5b146200049157806391d14854146200048b578063a0cf0aea1462000485578063a217fddf146200047f578063a230c5241462000479578063b0d3713a1462000473578063b3f00674146200046d578063b5058c501462000467578063b64e39af1462000461578063b99b4370146200045b578063bb290b5b1462000455578063bc063e1a146200044f578063c4d66de81462000449578063c642e3441462000443578063c6d572ae146200043d578063d28afd481462000437578063d3f6b05b1462000431578063d547741f146200042b578063d6d8428d1462000425578063d7050f07146200041f578063db61d65c1462000419578063e16d0e321462000413578063ebd7dc52146200040d578063f2fde38b1462000407578063f86c5f891462000401578063ff79dd5114620003fb5763ffa1ad7414620003f557600080fd5b62003e4a565b62003e1b565b62003def565b62003d55565b62003d0a565b62003bfb565b62003bcf565b62003bb0565b62003b84565b62003b3a565b62003ac4565b620037f7565b62003731565b62003710565b620036d2565b620036b2565b62003661565b62003565565b62003493565b620033f9565b620033ca565b6200337d565b62003310565b620032f2565b620032c1565b62003283565b62003252565b62003232565b620031d0565b62003123565b6200306d565b6200304c565b62003020565b6200063b565b62002c8d565b62002ff4565b62002fc8565b62002f2c565b62002edb565b62002eaf565b62002e83565b62002d76565b62002ccc565b62002c6f565b620029fd565b620029d1565b62002780565b62002710565b6200256f565b620024ab565b6200238b565b620020c7565b62002083565b62002008565b62001fc1565b62001f34565b62001e66565b62001dc9565b62001b72565b62001a05565b62001916565b620018c6565b6200147e565b620013d1565b6200138c565b62001327565b62001172565b62001141565b62001050565b6200101b565b62000ff7565b62000faa565b62000f73565b62000f52565b62000c5f565b62000b48565b62000b1c565b62000afc565b62000a4c565b346200062a5760203660031901126200062a5760043563ffffffff60e01b81168091036200062a57602090637965db0b60e01b811490811562000618575b506040519015158152f35b6301ffc9a760e01b149050386200060d565b600080fd5b60009103126200062a57565b346200062a5760003660031901126200062a57602060fb54604051908152f35b600052610148602052604060002090565b600052610146602052604060002090565b600052610147602052604060002090565b90600182811c92168015620006c0575b6020831014620006aa57565b634e487b7160e01b600052602260045260246000fd5b91607f16916200069e565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117620006fd57604052565b620006cb565b6001600160401b038111620006fd57604052565b604081019081106001600160401b03821117620006fd57604052565b602081019081106001600160401b03821117620006fd57604052565b60c081019081106001600160401b03821117620006fd57604052565b60e081019081106001600160401b03821117620006fd57604052565b608081019081106001600160401b03821117620006fd57604052565b601f909101601f19168101906001600160401b03821190821017620006fd57604052565b9060405191826000825492620007dd846200068e565b9081845260019485811690816000146200085457506001146200080d575b50506200080b92500383620007a3565b565b9093915060005260209081600020936000915b8183106200083b5750506200080b93508201013880620007fb565b8554888401850152948501948794509183019162000820565b9150506200080b94506020925060ff191682840152151560051b8201013880620007fb565b6001600160a01b031690565b546001600160a01b031690565b6001600160a01b039091169052565b6040519061018082016001600160401b03811183821017620006fd57604052565b604051906200080b82620006e1565b6040519061016082016001600160401b03811183821017620006fd57604052565b906040516200090181620006e1565b82548152600183015460208201526002909201546001600160a01b03166040830152565b60005b838110620009395750506000910152565b818101518382015260200162000928565b90602091620009658151809281855285808601910162000925565b601f01601f1916010190565b634e487b7160e01b600052602160045260246000fd5b600511156200099257565b62000971565b969491620009c190620009e595929d9c9a999b979d89526101a08060208b01528901906200094a565b60408801939093526001600160a01b0316606087015285820360808701526200094a565b97151560a084015260c08301526005851015620009925760e0820194909452815161010082015260208201516101208201526040909101516001600160a01b03166101408201526200080b9261018091906101608201526001600160a01b03909216910152565b346200062a5760203660031901126200062a576004356000526101486020526040600020805462000af862000a8460018401620007c7565b60028401546003850154919490916001600160a01b031662000aa960048301620007c7565b60ff60058401541660068401549062000ac6600786015460ff1690565b9262000ad560088701620008f2565b9462000aea600c600b89015498015462000879565b976040519b8c9b8c62000998565b0390f35b346200062a5760003660031901126200062a57602060fe54604051908152f35b346200062a5760003660031901126200062a57610145546040516001600160a01b039091168152602090f35b346200062a5760203660031901126200062a5760043562000b6862006293565b620186a0811162000ba4576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fc55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b038116036200062a57565b602435906200080b8262000bb6565b604435906200080b8262000bb6565b606435906200080b8262000bb6565b6101c435906200080b8262000bb6565b6101e435906200080b8262000bb6565b61020435906200080b8262000bb6565b35906200080b8262000bb6565b60409060031901126200062a5760043562000c4d8162000bb6565b9060243562000c5c8162000bb6565b90565b346200062a5762000c703662000c32565b62000c7b8262005c8d565b62000c868162005cda565b62000c9181620057ca565b62000cb262000cab8262000ca5856200125c565b620012c8565b5460ff1690565b62000f40576020908162000cd062000cca8562001277565b62005ba7565b015160fb5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af1801562000e0f576003918a9162000f1e575b5062000d1d81620058fc565b0362000e1557505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af1801562000e0f57600080516020620077a68339815191529462000dd592879262000ddb575b50505b8062000d908562000ca58662001292565b5562000db262000da58562000ca5866200125c565b805460ff19166001179055565b62000dc88462000dc285620012ad565b62005c31565b6040519384938462005c6b565b0390a180f35b62000dff9250803d1062000e07575b62000df68183620007a3565b810190620043d4565b388062000d7c565b503d62000dea565b620043e4565b604096919392965193845282846004818b865af1801562000e0f578894859162000eea575b5062000e4681620058fc565b62000e6b575b5050505062000dd5600080516020620077a68339815191529362000d7f565b829396509062000e939160405197888094819363782aadff60e01b8352896004840162005bf7565b03925af1801562000e0f57600080516020620077a68339815191529462000dd592879262000ec8575b50509385913862000e4c565b62000ee29250803d1062000e075762000df68183620007a3565b388062000ebc565b62000f0f9150843d861162000f16575b62000f068183620007a3565b81019062005bdf565b3862000e3a565b503d62000efa565b62000f399150863d881162000f165762000f068183620007a3565b3862000d11565b604051636adcde4b60e11b8152600490fd5b346200062a5760003660031901126200062a57602061014254604051908152f35b346200062a5760203660031901126200062a5762000fa860043562000f988162000bb6565b62000fa262006293565b62006364565b005b346200062a5760203660031901126200062a5760043562000fcb8162000bb6565b62000fd56200410c565b61010280546001600160a01b0319166001600160a01b03909216919091179055005b346200062a5760003660031901126200062a57602060ff8054166040519015158152f35b346200062a5760203660031901126200062a5762000fa8600435620010408162000bb6565b6200104a62006293565b620062ea565b346200062a57620010613662000c32565b6200106c8262005c8d565b6200107781620057ca565b6001600160a01b03811633036200112f57620010a4620010a062000cab8362000ca5866200125c565b1590565b6200111d5781620010e8620010de8362000ca57ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b966200125c565b805460ff19169055565b6000620010fa8362000ca58462001292565b5562001107828262005d56565b620011186040519283928362004989565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b346200062a5760203660031901126200062a5760043560005260c96020526020600160406000200154604051908152f35b346200062a5760003660031901126200062a576200119d620011976101005462000879565b62000879565b60fb5490620011bc620011b360fc548462003698565b620f4240900490565b91602060405180936302a64b8360e21b82528180620011df306004830162001314565b03916001600160a01b03165afa91821562000e0f5762000af8936200121c620011b36200122995620012239460009162001239575b508562003698565b92620041d4565b620041d4565b6040519081529081906020820190565b62001255915060203d811162000e075762000df68183620007a3565b3862001214565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b80548210156200130e5760005260206000200190600090565b620012df565b6001600160a01b03909116815260200190565b346200062a5760403660031901126200062a57600435620013488162000bb6565b6024359060018060a01b0380911660005261010d602052604060002080548310156200062a576020926200137c91620012f5565b9190546040519260031b1c168152f35b346200062a5760203660031901126200062a57600435620013ad8162000bb6565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b346200062a5760403660031901126200062a57600435602435620013f58162000bb6565b60009180835260c960205262001412600160408520015462003e94565b80835260c960205260ff6200142b8360408620620012c8565b54161562001437578280f35b80835260c96020526200144e8260408520620012c8565b805460ff1916600117905533916001600160a01b031690600080516020620077468339815191528480a438808280f35b346200062a576040806003193601126200062a5760049081359160243590620014b284600052610149602052604060002090565b5491620014bf836200065b565b91600b830192620014e36200119762001197620014dd87546200066c565b62000885565b3303620018b75782620015ca5760078101805460ff191690556200151d600a62001514620011976101455462000879565b92015462000879565b9060036200152c86546200066c565b015495813b156200062a57600080946200155a8a51998a968795869463099ea56b60e41b8652850162006f03565b03925af191821562000e0f5762001197620014dd6200159892600080516020620078e683398151915296620015a796620015ac575b505b546200066c565b93519081529081906020820190565b0390a3005b80620015bc620015c39262000703565b806200062f565b386200158f565b9093600183036200172e57620015e081620069e4565b610145620015f362001197825462000879565b90600c62001605600a86015462000879565b94019162001614835462000879565b60036200162289546200066c565b0154823b156200062a57620016559286928b8d51809681958294638969ab5360e01b845260009d8e998a96860162006f24565b03925af1801562000e0f5762001685926200167d92620011979262001717575b505462000879565b915462000879565b9160026200169487546200066c565b015496823b1562001713578490620016c08a51998a968795869463099ea56b60e41b8652850162006f03565b03925af191821562000e0f5762001197620014dd6200159892600080516020620078e683398151915296620015a796620016fc575b5062001591565b80620015bc6200170c9262000703565b38620016f5565b8480fd5b80620015bc620017279262000703565b3862001675565b60028395931462001765575b505050600080516020620078e6833981519152916200159862001197620014dd620015a79462001591565b60078201805460ff19166004179055919391610145916200178b62001197845462000879565b91600a8201926200179d845462000879565b946003620017ac89546200066c565b015491803b156200062a57620017e084918b948d5195868094819363099ea56b60e41b835260009d8e988995850162006f03565b03925af190811562000e0f576200180e62001197600c926200181f9562001817956200171757505462000879565b94015462000879565b935462000879565b9660026200182e88546200066c565b0154833b15620018b357906200185a86928b519a8b9788968795638969ab5360e01b8752860162006f24565b03925af191821562000e0f5762001197620014dd6200159892600080516020620078e683398151915296620015a7966200189c575b509450508294506200173a565b80620015bc620018ac9262000703565b386200188f565b8580fd5b50845163011fc34f60e51b8152fd5b346200062a5760203660031901126200062a577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f60206004356200190962006293565b8060fb55604051908152a1005b346200062a5760003660031901126200062a57602060fd54604051908152f35b6001600160401b038111620006fd57601f01601f191660200190565b81601f820112156200062a578035906200196c8262001936565b926200197c6040519485620007a3565b828452602083830101116200062a57816000926020809301838601378301015290565b91906040838203126200062a5760405190620019bb8262000717565b8335825290928391602082013591906001600160401b0383116200062a57602092620019e8920162001952565b910152565b801515036200062a57565b35906200080b82620019ed565b346200062a576003196080368201126200062a57600435906001600160401b03908183116200062a576101809083360301126200062a5762001a46620008a1565b9062001a558360040162000c25565b825262001a656024840162000c25565b602083015260448301356040830152606483013560608301526084830135608083015262001a9660a4840162000c25565b60a083015262001aa960c4840162000c25565b60c083015260e48301358181116200062a5762001acd90600436918601016200199f565b60e083015262001ae1610104840162000c25565b6101008301526101248301358181116200062a5762001b07906004369186010162001952565b61012083015262001b1c6101448401620019f8565b6101408301526101648301359081116200062a5762000fa892600462001b46923692010162001952565b61016082015262001b5662000bc8565b62001b6062000bd7565b9062001b6b62000be6565b9262004a07565b346200062a5760008060031936011262001dc65762001b9062005e0e565b62001b9b3362001277565b62001bad620011976101005462000879565b60fb549162001bc3620011b360fc548562003698565b6040516302a64b8360e21b815260209491936001600160a01b0316919085818062001bf2306004830162001314565b0381865afa801562000e0f5762001c1792620011b392899262001da2575b5062003698565b9262001c38620010a0604062001c3162000cca3362001277565b0151151590565b62001c4d575b8562001c4a6001606555565b80f35b8262001c65600260019501600160ff19825416179055565b60fb54938491015562001c9d6101059362001c9286620012238562001c8b895462000879565b94620041d4565b903090339062005e65565b8062001d74575b508262001cf4575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768962001ce660fb54604051918291338362005bf7565b0390a1388080808062001c3e565b8362001d036004935462000879565b9160405193848092634c3a1adf60e11b82525afa91821562000e0f5762001d3494869362001d3e575b505062005ff3565b3880808062001cac565b62001d63929350803d1062001d6c575b62001d5a8183620007a3565b81019062004907565b90388062001d2c565b503d62001d4e565b62001d9b9062001d85845462000879565b60ff5460081c6001600160a01b03169062005ff3565b3862001ca4565b62001dbe919250883d8a1162000e075762000df68183620007a3565b903862001c10565b80fd5b346200062a5760403660031901126200062a5760243562001dea8162000bb6565b336001600160a01b0382160362001e095762000fa89060043562004093565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346200062a5760203660031901126200062a5760043562001e878162000bb6565b6001600160a01b0362001ede7f0000000000000000000000000000000000000000000000000000000000000000821662001ec43082141562004332565b826000805160206200780683398151915254161462004383565b62001ee86200491f565b3391160362001f075762000fa89062001f00620041e2565b906200449e565b62001f3062001f156200491f565b60405163163678e960e01b8152918291336004840162004989565b0390fd5b346200062a5760203660031901126200062a577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8604060043562001f788162000bb6565b62001f8262006293565b6001600160a01b039081169062001f9982620057ca565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b346200062a5760203660031901126200062a5760043562001fe28162000bb6565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b346200062a5760203660031901126200062a5760043560005261014660205260e0604060002060018060a01b0390818154169160018201541690600281015460038201546004830154916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b346200062a57602060ff620020bb6200209c3662000c32565b6001600160a01b03909116600090815261010e855260409020620012c8565b54166040519015158152f35b60403660031901126200062a57600435620020e28162000bb6565b6024356001600160401b0381116200062a576200210490369060040162001952565b6001600160a01b03620021417f0000000000000000000000000000000000000000000000000000000000000000821662001ec43082141562004332565b6200214b6200491f565b3391160362001f075762000fa89162004562565b60a4359060038210156200062a57565b60c4359060038210156200062a57565b600411156200062a57565b60c435906200080b826200217f565b60e435906200080b826200217f565b60209060e31901126200062a5760405190620021c48262000733565b60e4358252565b6020906101031901126200062a5760405190620021e88262000733565b610104358252565b60c0906101031901126200062a57604051906200220d826200074f565b81610104356200221d8162000bb6565b8152610124356200222e8162000bb6565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c0906101231901126200062a576040519062002276826200074f565b8161012435620022868162000bb6565b815261014435620022978162000bb6565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e083126200062a5760405190620022e2826200076b565b60808294126200062a576200235290604051620022ff8162000787565b60243581526044356020820152606435604082015260843560608201528352620023286200215f565b6020840152620023376200218a565b60408401526200234781620021a8565b6060840152620021f0565b60808201526200236162000bf5565b60a082015260c0620019e862000c05565b9081526001600160a01b03909116602082015260400190565b346200062a576102203660031901126200062a57600435620023ad8162000bb6565b620023b836620022c2565b6001600160401b0390610204358281116200062a57620023dd9036906004016200199f565b91620023ec6101025462000879565b90620023ff620011976101075462000879565b916200244d620024126101015462000879565b936200243e620024216200491f565b60405163184b955960e01b602082015296879360248501620057ed565b03601f198101855284620007a3565b60405192610410918285019385851090851117620006fd578493620024789362007336863962005810565b03906000f092831562000e0f5762002499936001600160a01b031662005a8a565b9062000af86040519283928362002372565b346200062a5760003660031901126200062a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036200250957604051600080516020620078068339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b346200062a576020806003193601126200062a576004908135916200259362005e0e565b6200259d62005f93565b620025b2620025ac33620012ad565b62005892565b60005b81518110156200269457620025e46200119762001197620025d7848662005423565b516001600160a01b031690565b9084604051809363782aadff60e01b825281600081620026088c338c840162005bf7565b03925af1801562000e0f57620026309260009162002672575b508062002636575b5062005413565b620025b5565b6200266962002660620026493362001292565b62002659620025d7868962005423565b90620012c8565b918254620041d4565b90553862002629565b6200268d9150863d881162000e075762000df68183620007a3565b3862002621565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f6200270286620026d781620026cd6101055462000879565b3090339062005e65565b6001620026e43362001277565b01620026f2828254620041d4565b9055604051918291338362005bf7565b0390a162000fa86001606555565b346200062a5760203660031901126200062a5760043560005261014a602052604060002060018060a01b0381541662000af86001830154926200275b600360028301549201620007c7565b906040519485948552602085015260408401526080606084015260808301906200094a565b60a03660031901126200062a576001600160401b036004358181116200062a57620027b090369060040162001952565b60443591620027bf8362000bb6565b6064359081116200062a57620027da90369060040162001952565b60843592620027e984620019ed565b620027f362006293565b61014280549092906001600160a01b036200281662001197620014dd846200066c565b16151580620029b9575b6200298b575061014491620028406200283a845462005413565b61014455565b62002852620011976101455462000879565b91835496833b156200062a576200288597604051809563240ff7c560e11b8252818060009c8d9533906004840162002372565b039134905af191821562000e0f577f52f4cb740254ed67a4254f58aa5cc61342f447c5fa0abe72548b6866ea709b7b9662002955956200294f9462002974575b5062002921875493620028d7620008c2565b928c84528c60208501528c6040850152549362002913620028f7620008d1565b98878a528d60208b015260243560408b015260608a0162000892565b6080880152151560a0870152565b4260c08601528960e08601526101008501526101208401526200294933610140850162000892565b6200065b565b620066ba565b5491610143546200296e6040519283924291846200678c565b0390a280f35b80620015bc620029849262000703565b38620028c5565b60026200299c62001f30926200066c565b0154604051632c1f8ef160e21b8152918291346004840162005fe2565b506002620029c7826200066c565b0154341062002820565b346200062a5760003660031901126200062a57610102546040516001600160a01b039091168152602090f35b346200062a576020806003193601126200062a5760049081359062002a2162005e0e565b62002a2b62005f93565b62002a3633620012ad565b9060019362002a53848662002a4b3362001277565b015462005458565b60fb541162002c605790849262002a79853362002a736101055462000879565b62005ff3565b6000935b62002ac3575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862002702868862002ab53362001277565b01620026f282825462005458565b909192948154948587101562002c575762002af862002ae38885620012f5565b905460039190911b1c6001600160a01b031690565b9562002b04876200601e565b1562002c0657506040928484518098632ed04b2b60e01b82528160008162002b31888d3390840162005bf7565b03926001600160a01b03165af196871562000e0f5760009762002be2575b5062002b6f62002b5f3362001292565b6200265962002ae38b85620012f5565b54948588111562002b965784516311423e6360e31b81528062001f30888b838c0162005fe2565b945094925094819662002bd79162002bcf62002bc662002bb63362001292565b6200265962002ae3868c620012f5565b91825462005458565b905562005413565b939092919262002a7d565b62002bfe919750853d871162000e075762000df68183620007a3565b953862002b4f565b9662002c5162002bd7929762002c4662002c3362002ae362002c2c889d9b999b62005438565b8b620012f5565b62002c3f858b620012f5565b9062005c12565b62000fa28862005d10565b62005413565b94509462002a83565b604051634e23e81760e11b8152fd5b346200062a5760003660031901126200062a57602060405160038152f35b346200062a57602062002cc362002ca43662000c32565b6001600160a01b03909116600090815261010b845260409020620012c8565b54604051908152f35b346200062a5760203660031901126200062a576004356001600160401b0381116200062a5762002d0562002d3491369060040162001952565b61010260005460ff8160081c16158062002d68575b62002d2590620049a3565b61ffff19161760005562006474565b62002d4561ff001960005416600055565b604051600281526000805160206200784683398151915290806020810162001118565b50600260ff82161062002d1a565b346200062a5762002d873662000c32565b62002d9162005e0e565b62002d9b62006293565b62002dac620010a060ff5460ff1690565b62002e715762002dca620010a0604062001c3162000cca8662001277565b62002e5f57816200270262002e0462000cca7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39562001277565b62002e0f83620063bb565b62002e3062002e1e8462001277565b60026000918281558260018201550155565b62002e51602062002e446101055462000879565b9201918583519162005ff3565b516040519384938462005c6b565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b346200062a5760003660031901126200062a57610103546040516001600160a01b039091168152602090f35b346200062a5760003660031901126200062a57610106546040516001600160a01b039091168152602090f35b346200062a5760008060031936011262001dc65762002ef96200410c565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020620078668339815191528280a380f35b346200062a5760203660031901126200062a5762002f4962006293565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa91821562000e0f5762000fa89260209160009162002fa2575b5001511662000fa281620057ca565b62002fc1913d8091833e62002fb88183620007a3565b810190620061f7565b3862002f93565b346200062a5760003660031901126200062a576020604051600080516020620077668339815191528152f35b346200062a5760003660031901126200062a57610101546040516001600160a01b039091168152602090f35b346200062a5760003660031901126200062a57610104546040516001600160a01b039091168152602090f35b346200062a5760003660031901126200062a57602061014b54604051908152f35b346200062a5760203660031901126200062a576200308a62006293565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa801562000e0f5760206200119791620030de9360009162003106575b50015162000879565b620030e981620057ca565b620030f4816200601e565b620030fb57005b62000fa890620062ea565b6200311c913d8091833e62002fb88183620007a3565b38620030d5565b346200062a5760203660031901126200062a576004356000526101476020526040600020805462000af8600183015492620031c160028201549160018060a01b0380600383015416906200318860056200318060048601620007c7565b9401620007c7565b946040519889988952602089015260ff81161515604089015260081c166060870152608086015260e060a086015260e08501906200094a565b9083820360c08501526200094a565b346200062a5760203660031901126200062a576060600435620031f38162000bb6565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b346200062a5760003660031901126200062a57602060fc54604051908152f35b346200062a5760003660031901126200062a576020620032716200491f565b6040516001600160a01b039091168152f35b346200062a5760403660031901126200062a57602060ff620020bb602435620032ac8162000bb6565b60043560005260c984526040600020620012c8565b346200062a5760003660031901126200062a57602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b346200062a5760003660031901126200062a57602060405160008152f35b346200062a5760203660031901126200062a5760206040600435620033358162000bb6565b60018060a01b0380911660005261010c835260ff6002836000208451936200335d85620006e1565b815416845260018101548685015201541615159182910152604051908152f35b346200062a5760203660031901126200062a576004356200339e8162000bb6565b620033a86200410c565b61010180546001600160a01b0319166001600160a01b03909216919091179055005b346200062a5760003660031901126200062a5760ff5460405160089190911c6001600160a01b03168152602090f35b346200062a5760008060031936011262001dc65761010380546001600160a01b03811690338290036200346e5761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90602062000c5c9281815201906200094a565b346200062a5760008060031936011262001dc657604051816101098054620034bb816200068e565b80855291600191808316908115620035375750600114620034f7575b62000af885620034ea81890382620007a3565b6040519182918262003480565b835260208084209095505b82841062003523575050508162000af893620034ea928201019338620034d7565b805485850187015292850192810162003502565b905062000af89650620034ea9450602092508593915060ff191682840152151560051b8201019338620034d7565b346200062a5760008060031936011262001dc6576200358362005e0e565b6200358e3362005c8d565b6200359933620063bb565b33815261010c6020527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f46200365360408320604051620035d981620006e1565b81546001600160a01b0316815260018201546020820190815260029092015460ff1615156040909101526200361262002e1e3362001277565b620036276200362133620012ad565b6200562e565b62003644620036396101055462000879565b825190339062005ff3565b51604051918291338362005bf7565b0390a162001c4a6001606555565b346200062a5760003660031901126200062a57602061014354604051908152f35b634e487b7160e01b600052601160045260246000fd5b81810292918115918404141715620036ac57565b62003682565b346200062a5760003660031901126200062a576020604051620186a08152f35b346200062a5760203660031901126200062a5762000fa8600435620036f78162000bb6565b6200370a60ff60005460081c1662004881565b6200418d565b346200062a5760003660031901126200062a57602061014454604051908152f35b346200062a5760008060031936011262001dc65760405181610108805462003759816200068e565b80855291600191808316908115620035375750600114620037875762000af885620034ea81890382620007a3565b835260208084209095505b828410620037b3575050508162000af893620034ea928201019338620034d7565b805485850187015292850192810162003792565b9181601f840112156200062a578235916001600160401b0383116200062a57602083818601950101116200062a57565b60603660031901126200062a576001600160401b03600480356024358381116200062a576200382a9036908401620037c7565b936044359081116200062a57620038459036908501620037c7565b94909162003853846200065b565b926200386d62003867600b8601546200066c565b62006e2f565b9084549786890362003aa85760078601976200388a895460ff1690565b620038958162000987565b62003a8c576060840192835180341062003a6d5750620038b784513462005458565b93620038ca620011976101455462000879565b90519b813b156200062a57600091620038fb916040519e8f8094819363240ff7c560e11b835233908a840162002372565b03925af193841562000e0f57620039439b60209562003a56575b506200392662001197875162000879565b926040519c8d958694859363c13517e160e01b8552840162006eae565b03925af195861562000e0f5762000af89760009762003a07575b5092620039f492620039e28896936200398e600080516020620077c68339815191529997600360ff19825416179055565b876008860155620039ab6009860195428755600a3391016200416e565b86620039c289600052610149602052604060002090565b55620039db620039d561014b5462005413565b61014b55565b5162000879565b92549260405196879633928862006ec8565b0390a16040519081529081906020820190565b6200398e975092620039e2600080516020620077c6833981519152979592969362003a46620039f49660203d811162000e075762000df68183620007a3565b995093969295975050926200395d565b80620015bc62003a669262000703565b3862003915565b604051632c1f8ef160e21b815290819062001f30903483870162005fe2565b6040516326ca522f60e21b815290810188815281906020010390fd5b60405163086d271b60e11b815280890188815281906020010390fd5b346200062a5760203660031901126200062a5760043560009080825261014860205260408220600b6006820154910154835261014660205260066040842001548101809111620036ac57421062003b205762001c4a90620069e4565b60405163fd98b9ed60e01b81526004810191909152602490fd5b346200062a5760403660031901126200062a5762000fa860243560043562003b628262000bb6565b8060005260c960205262003b7e60016040600020015462003e94565b62004093565b346200062a5760003660031901126200062a57610107546040516001600160a01b039091168152602090f35b346200062a5760003660031901126200062a5760206040516127108152f35b346200062a5760003660031901126200062a57610105546040516001600160a01b039091168152602090f35b346200062a576102403660031901126200062a5760043562003c1d8162000bb6565b6024359062003c2c8262000bb6565b36604319016101e081126200062a5760806040519162003c4c836200076b565b126200062a5760405162003c608162000787565b60443581526064356020820152608435604082015260a4356060820152815262003c896200216f565b602082015262003c9862002199565b604082015262003ca836620021cb565b606082015262003cb83662002259565b608082015262003cc762000c05565b60a082015262003cd662000c15565b60c082015261022435926001600160401b0384116200062a5762003d03620024999436906004016200199f565b9262005a8a565b346200062a5760203660031901126200062a57602060ff620020bb60043562003d338162000bb6565b6000805160206200776683398151915260005260c984526040600020620012c8565b346200062a5760203660031901126200062a5760043562003d768162000bb6565b62003d806200410c565b6001600160a01b0381161562003d9b5762000fa8906200418d565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200062a5760003660031901126200062a57610100546040516001600160a01b039091168152602090f35b346200062a5760203660031901126200062a576004356000526101496020526020604060002054604051908152f35b346200062a5760003660031901126200062a5762000af860405162003e6f8162000717565b60038152620302e360ec1b60208201526040519182916020835260208301906200094a565b8060005260c960205260ff62003eaf336040600020620012c8565b54161562003eba5750565b339062003ec6620041fc565b91603062003ed48462004219565b53607862003ee28462004227565b5360295b6001811162003f995762001f3062003f5462003f808662003f7162003f178862003f11891562004258565b620042a4565b62003f4d60405195869462003f4d6020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062003fe1565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f198101835282620007a3565b60405162461bcd60e51b81529182916004830162003480565b90600f81169060108210156200130e5762003fdb916f181899199a1a9b1b9c1cb0b131b232b360811b901a62003fd0848762004238565b5360041c916200424a565b62003ee6565b9062003ff66020928281519485920162000925565b0190565b9060ff801983541691151516179055565b60008051602062007766833981519152600081815260c96020529060ff6200404384600080516020620078c6833981519152620012c8565b5416156200405057505050565b80825260c9602052620040678360408420620012c8565b805460ff1916600117905533926001600160a01b031691600080516020620077468339815191529080a4565b60009080825260c960205260ff620040af8460408520620012c8565b5416620040bb57505050565b80825260c9602052620040d28360408420620012c8565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b620041166200491f565b336001600160a01b03909116036200412a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b80546001600160a01b0319166001600160a01b03909216919091179055565b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062007866833981519152600080a3565b9060028201809211620036ac57565b91908201809211620036ac57565b604051620041f08162000733565b60008152906000368137565b604051906200420b82620006e1565b602a82526040366020840137565b8051156200130e5760200190565b8051600110156200130e5760210190565b9081518110156200130e570160200190565b8015620036ac576000190190565b156200426057565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190620042b38262000787565b6042825260603660208401376030620042cc8362004219565b536078620042da8362004227565b536041905b60018211620042f55762000c5c91501562004258565b600f81169060108210156200130e576200432b916f181899199a1a9b1b9c1cb0b131b232b360811b901a62003fd0848662004238565b90620042df565b156200433a57565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620077e683398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200438b57565b60405162461bcd60e51b815260206004820152602c6024820152600080516020620077e683398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b908160209103126200062a575190565b6040513d6000823e3d90fd5b15620043f857565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b90620044ba600080516020620077868339815191525460ff1690565b15620044cc57506200080b9062004626565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa600093816200453d575b50620045175760405162461bcd60e51b81528062001f30600482016200444f565b62004537600080516020620078068339815191526200080b9414620043f0565b620046b8565b6200455a91945060203d811162000e075762000df68183620007a3565b9238620044f6565b906200457e600080516020620077868339815191525460ff1690565b156200459057506200080b9062004626565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa6000938162004601575b50620045db5760405162461bcd60e51b81528062001f30600482016200444f565b620045fb600080516020620078068339815191526200080b9414620043f0565b6200476e565b6200461e91945060203d811162000e075762000df68183620007a3565b9238620045ba565b803b156200465d576000805160206200780683398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b90620046c48262004626565b6001600160a01b03821660008051602062007886833981519152600080a280511580159062004765575b620046f7575050565b6200476291600080604051936200470e85620006e1565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200475b620047b5565b91620047ea565b50565b506000620046ee565b906200477a8262004626565b6001600160a01b03821660008051602062007886833981519152600080a2805115801590620047ac57620046f7575050565b506001620046ee565b3d15620047e5573d90620047c98262001936565b91620047d96040519384620007a3565b82523d6000602084013e565b606090565b919290156200484f575081511562004800575090565b3b156200480a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620048635750805190602001fd5b60405162461bcd60e51b815290819062001f30906004830162003480565b156200488957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6200080b906200370a60ff60005460081c1662004881565b51906200080b8262000bb6565b908160209103126200062a575162000c5c8162000bb6565b6033546001600160a01b0316803b620049355790565b604051638da5cb5b60e01b8152602081600481855afa6000918162004964575b506200495f575090565b905090565b6200498191925060203d811162001d6c5762001d5a8183620007a3565b903862004955565b6001600160a01b0391821681529116602082015260400190565b15620049ab57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9291909260009182549062004a5460ff8360081c16159586809762004f8a575b801562004f71575b62004a3a90620049a3565b600193878560ff19831617885562004f5f575b50620048e2565b62004a5e620057a5565b62004a6862005729565b62004a726200573c565b6020958684019662004a9362004a8d620011978a5162000879565b620057ca565b610100850162004aac62004a8d62001197835162000879565b62004abc62004a8d875162000879565b60a0860162004ad062004a8d825162000879565b62004b3d62004b1b606089019b8c5162004f46575b620039db62004af9620011978c5162000879565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b6040998a880180511562004f35579262004bd662004bb462004c109462004b9462004b836101408e62001c31620011979962004b7d62004c329d5160fb55565b5160fc55565b60ff8019815416911515161760ff55565b62004ba46101208d015162005079565b620039db6101608d015162005170565b61010080546001600160a01b0319166001600160a01b03909216919091179055565b620039db62004be960c08b015162000879565b60ff8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b0383161790556200400b565b60048162004c47620011976101075462000879565b8a51635ab1bd5360e01b815292839182905afa801562000e0f5762004c9291889162004f13575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b62004ca4620011976101065462000879565b93843b62004e5357509062004d459162004cef62004cc1620053be565b9562004cd83362004cd28962004219565b62000892565b62004cd262004ce8885162005438565b8862005423565b62004d043062004cd262004ce8885162005448565b808562004d18620011976101045462000879565b60e060808a01519901988a8d8b51905198899586948593633a92f65f60e01b8552309160048601620055dd565b03925af194851562000e0f5762004d9462004dde9662004dbc9562004d9a947f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059b9262004e31575b505060fe55565b6200566e565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b60fe5490519062004df4855192839283620056fc565b0390a162004dff5750565b600080516020620078468339815191529062004e2161ff001960005416600055565b516001815280602081015b0390a1565b62004e4b9250803d1062000e075762000df68183620007a3565b388062004d8d565b885163a0e67e2b60e01b815294908786600481855afa95861562000e0f57889662004eea575b5062004e9062004e8a8751620041c5565b620053db565b9588825b62004eae575b5050509062004cef62004d45939262004cd8565b815181101562004ee4578062002c5162004ed1620025d762004edd948662005423565b62004cd2838c62005423565b8262004e94565b62004e9a565b62004f0b9196503d808a833e62004f028183620007a3565b8101906200532f565b943862004e79565b62004f2e9150833d851162001d6c5762001d5a8183620007a3565b3862004c6e565b8b516363868c5560e11b8152600490fd5b62004f5962004a8d60c08c015162000879565b62004ae5565b61ffff19166101011786553862004a4d565b50303b15801562004a2f575060ff841660011462004a2f565b50600160ff85161062004a27565b81811062004fa4575050565b6000815560010162004f98565b90601f821162004fbf575050565b6200080b916101086000526020600020906020601f840160051c8301931062004ff1575b601f0160051c019062004f98565b909150819062004fe3565b90601f82116200500a575050565b6200080b916101096000526020600020906020601f840160051c8301931062004ff157601f0160051c019062004f98565b9190601f81116200504b57505050565b6200080b926000526020600020906020601f840160051c8301931062004ff157601f0160051c019062004f98565b80519091906001600160401b038111620006fd5761010890620050a881620050a284546200068e565b62004fb1565b602080601f8311600114620050e7575081929394600092620050db575b50508160011b916000199060031b1c1916179055565b015190503880620050c5565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b88821062005157575050836001959697106200513d575b505050811b019055565b015160001960f88460031b161c1916905538808062005133565b806001859682949686015181550195019301906200511c565b80519091906001600160401b038111620006fd57610109906200519f816200519984546200068e565b62004ffc565b602080601f8311600114620051d1575081929394600092620050db5750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b88821062005226575050836001959697106200513d57505050811b019055565b8060018596829496860151815501950193019062005206565b81519192916001600160401b038111620006fd576200526b816200526484546200068e565b846200503b565b602080601f83116001146200529d575081929394600092620050db5750508160011b916000199060031b1c1916179055565b90601f19831695620052b485600052602060002090565b926000905b888210620052d9575050836001959697106200513d57505050811b019055565b80600185968294968601518155019501930190620052b9565b8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b6001600160401b038111620006fd5760051b60200190565b60209081818403126200062a578051906001600160401b0382116200062a57019180601f840112156200062a578251620053698162005317565b93620053796040519586620007a3565b818552838086019260051b8201019283116200062a578301905b828210620053a2575050505090565b8380918351620053b28162000bb6565b81520191019062005393565b60405190620053cd8262000787565b600382526060366020840137565b90620053e78262005317565b620053f66040519182620007a3565b828152809262005409601f199162005317565b0190602036910137565b6000198114620036ac5760010190565b80518210156200130e5760209160051b010190565b600019810191908211620036ac57565b600119810191908211620036ac57565b91908203918211620036ac57565b906000916101088054916200547b836200068e565b918282526001938481169081600014620054e257506001146200549f575b50505050565b90919394506000526020928360002092846000945b838610620054cd57505050500101903880808062005499565b805485870183015294019385908201620054b4565b9294505050602093945060ff191683830152151560051b0101903880808062005499565b906000929180549162005519836200068e565b918282526001938481169081600014620054e257506001146200553c5750505050565b90919394506000526020928360002092846000945b8386106200556a57505050500101903880808062005499565b80548587018301529401938590820162005551565b906040602062000c5c938051845201519181602082015201906200094a565b90815180825260208080930193019160005b828110620055bf575050505090565b83516001600160a01b031685529381019392810192600101620055b0565b9062000c5c94926200560f91835260a060208401526200560060a0840162005466565b9083820360408501526200557f565b6001600160a01b0390931660608201528083036080909101526200559e565b805460008255806200563e575050565b6200080b9160005260206000209081019062004f98565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b038211620006fd57600160401b8211620006fd5761010f908154838355808410620056db575b50602080910191600052806000209060005b848110620056bf575050505050565b83516001600160a01b03168382015592810192600101620056b0565b620056f59083600052846020600020918201910162004f98565b386200569e565b909162000c5c928252606060208301526200571a6060830162005466565b9160408184039101526200557f565b6200080b60ff60005460081c1662004881565b60008051602062007766833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b620057c360ff60005460081c16620057bd8162004881565b62004881565b6001606555565b6001600160a01b031615620057db57565b6040516303988b8160e61b8152600490fd5b6001600160a01b0391821681529181166020830152909116604082015260600190565b6001600160a01b03909116815260406020820181905262000c5c929101906200094a565b6040519061010f828154918282526020928383019160005283600020936000905b8282106200586e575050506200080b92500383620007a3565b85546001600160a01b03168452600195860195889550938101939091019062005855565b9060405191828154918282526020928383019160005283600020936000905b828210620058ca575050506200080b92500383620007a3565b85546001600160a01b031684526001958601958895509381019390910190620058b1565b906003821015620009925752565b600411156200099257565b906004821015620009925752565b6200080b909291926101c060c06101e083019560608151805186526020810151602087015260408101516040870152015160608501526200595f60208201516080860190620058ee565b62005973604082015160a086019062005907565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b94909162005a2562005a419462000c5c989694885260018060a01b03809316602089015260e0604089015260e08801906200094a565b921660608601526000608086015284820360a08601526200557f565b9160c08184039101526200559e565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a06080820181905262000c5c929101906200557f565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b03861662005b9e575b602062005af8829683600062005ac962005834565b9262005b2662005ae0620011976101075462000879565b9462005b0760fe54936040519889918b830162005915565b03601f198101895288620007a3565b896040519b8c98899788966370803ea560e11b885260048801620059ef565b03925af191821562000e0f577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2839360009362005b74575b5062004e2c90839760405194859430918662005a50565b62004e2c91935062005b969060203d811162000e075762000df68183620007a3565b929062005b5d565b85925062005ab4565b9060405162005bb681620006e1565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b908160209103126200062a575162000c5c816200217f565b6001600160a01b039091168152602081019190915260400190565b8054909262005c2d926001600160a01b039091169162005655565b9055565b805490600160401b821015620006fd578162005c5791600162005c2d94018155620012f5565b815491936001600160a01b03169162005655565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff600260406000206040519362005cb885620006e1565b81541684526001810154602085015201541615906040821591015262002e5f57565b6001600160a01b0316600090815261010a602052604090205460ff161562005cfe57565b6040516346c26e4b60e01b8152600490fd5b8054801562005d4057600019019062005d2a8282620012f5565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b8154908181101562005e065762005d8b8184620012f5565b905460039391841b1c86168787161462005db3575b5062005dad915062005413565b62005d73565b6000198101908111620036ac5762005dad9262005dd2879286620012f5565b9054911b1c1662005df262005de88386620012f5565b8193915462005655565b905562005dff8362005d10565b3862005da0565b505050915050565b60026065541462005e20576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9062005ea09062005e916200080b956040519586936323b872dd60e01b60208601526024850162005c6b565b03601f198101845283620007a3565b60405162005efd916001600160a01b031662005ebc8262000717565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200475b620047b5565b805182811591821562005f6f575b505090501562005f185750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b83809293500103126200062a5781015162005f8a81620019ed565b80823862005f0b565b3360005261010c602052604060002060ff60026040519262005fb584620006e1565b80546001600160a01b031684526001810154602085015201541615801560409092019190915262002e5f57565b908152602081019190915260400190565b62005ea06200080b939262005e9160405194859263a9059cbb60e01b60208501526024840162005bf7565b6040519060208083018160006301ffc9a760e01b95868452866024820152602481526200604b81620006e1565b51617530938685fa933d6000519086620060fe575b5085620060f3575b508462006089575b505050816200607d575090565b62000c5c91506200610a565b83945090600091839460405185810192835263ffffffff60e01b602482015260248152620060b781620006e1565b5192fa60005190913d83620060e7575b505081620060dc575b50159038808062006070565b9050151538620060d0565b101591503880620060c7565b151594503862006068565b84111595503862006060565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b6024820152602481526200613c81620006e1565b5191617530fa6000513d826200615f575b508162006158575090565b9050151590565b602011159150386200614d565b91906040838203126200062a57604051620061878162000717565b83518152602084015190938491906001600160401b0382116200062a57019082601f830112156200062a57815191620061c08362001936565b93620061d06040519586620007a3565b838552602084830101116200062a57602092620061f39184808701910162000925565b0152565b906020828203126200062a5781516001600160401b03928382116200062a570160c0818303126200062a576040519262006231846200074f565b815184526020820151620062458162000bb6565b60208501526200625860408301620048fa565b604085015260608201519081116200062a5760a0926200627a9183016200616c565b606084015260808101516080840152015160a082015290565b6000805160206200776683398151915260005260c960205260ff620062c833600080516020620078c6833981519152620012c8565b541615620062d257565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff166200635257816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4916200639381620057ca565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d602052604090620063e082852062005892565b845b81518110156200646c57620064046200119762001197620025d7848662005423565b90813b1562006468578685518093631914f67160e21b82528183816200642e8a6004830162001314565b03925af191821562000e0f576200644b9262006451575062005413565b620063e2565b80620015bc620064619262000703565b3862002629565b8680fd5b505050509050565b60e0818051810103126200062a5760405190620064918262000733565b60e060405191620064a2836200076b565b6020810151620064b28162000bb6565b83526040810151620064c48162000bb6565b6020840152606081015160408401526080810151606084015260a0810151608084015260c081015160a0840152015160c08201528152620065546200653262001197620065146101015462000879565b60fd54906200652c620065278362005413565b60fd55565b620065ba565b61014580546001600160a01b0319166001600160a01b03909216919091179055565b62006566620011976101455462000879565b90813b156200062a576000809260046040518095819363204a7f0760e21b83525af191821562000e0f576200080b92620065a3575b505162006fab565b80620015bc620065b39262000703565b386200659b565b906e5af43d82803e903d91602b57fd5bf39060405160208101913360601b8352603482015260348152620065ee81620006e1565b51902091763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f56001600160a01b03811615620066385790565b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b906005811015620009925760ff80198354169116179055565b60026200080b928051835560208101516001840155604060018060a01b039101511691016200416e565b600c620067846101406200080b9480518555620066df6020820151600187016200523f565b6040810151600286015562006706620066fc606083015162000879565b600387016200416e565b620067196080820151600487016200523f565b620067356200672b60a0830151151590565b6005870162003ffa565b60c081015160068601556200675d60e0820151620067538162000987565b6007870162006677565b620067716101008201516008870162006690565b610120810151600b860155015162000879565b91016200416e565b620067a6604092959493956060835260608301906200094a565b9460208201520152565b919091828114620068a157620067c783546200068e565b6001600160401b038111620006fd57620067e7816200526484546200068e565b600093601f821160011462006825579381929394600092620068195750508160011b916000199060031b1c1916179055565b015490503880620050c5565b6200683a601f19831691600052602060002090565b946200684b84600052602060002090565b91815b81811062006888575095836001959697106200686e57505050811b019055565b015460001960f88460031b161c1916905538808062005133565b878301548455600193840193909201916020016200684e565b509050565b818103620068b2575050565b600580836200080b94548455600181015460018501556200690e60028501620068fe6002840191620068e960ff8454168262003ffa565b60018060a01b0380935460081c1690620052f2565b600383015416600386016200416e565b620069206004820160048601620067b0565b019101620067b0565b6000929181546200693a816200068e565b92600191808316908115620069975750600114620069585750505050565b90919293945060005260209081600020906000915b85831062006985575050505001903880808062005499565b8054858401529183019181016200696d565b60ff191684525050508115159091020191503880808062005499565b90602062000c5c92818152019062005506565b929190620069df60209160408652604086019062005506565b930152565b620069ef816200065b565b60078101805460ff1662006a038162000987565b80159081159162006e18575b5062006dff5761014362006a4f62006a3d825462006a3762006a318262005413565b61014355565b6200067d565b62006a4983546200067d565b620068a6565b62006a5b81546200067d565b916001840192604094855160207fa28f6b5b63e8557cbb98133c24a12accd676244ba9c20bcb4f6ee3a753f1f1e48183018362006a99828b62006929565b039362006aaf601f1995868101835282620007a3565b5190200362006afc5750506002015490556000805160206200782683398151915293929162006af79162006aea90805460ff19166002179055565b54925192839283620069c6565b0390a2565b7f70abf8091da6ee64da3d8eb28f12686e8cea2743399fbe2d8daa3ed87e4cd4f888518281019062006b418162006b34848d62006929565b03868101835282620007a3565b5190200362006b8157505062006af79260008051602062007826833981519152969594926001600262006aea9401549101555b805460ff19166002179055565b7fa908023e2d2c1996a0e14e3b5c41aa4e8bb264abd5d2ddba6d968f49032c18e988518281019062006bb98162006b34848d62006929565b5190200362006bfe57505062006af79262006b746000805160206200782683398151915297969593600262006bf6600562006aea96015460ff1690565b910162003ffa565b7f389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d091688518281019062006c368162006b34848d62006929565b5190200362006c7b57505062006af79262006b746000805160206200782683398151915297969593600262006c73600362006aea96015462000879565b9101620052f2565b7fd32fdea93dd8719902490c9fbb09c60bc6aaac6f04216bd1b18dc53d9c5bcb1988518281019062006cb38162006b34848d62006929565b5190200362006cf357505062006af79262006b746000805160206200782683398151915297969593600362006784620011978262006aea97015462000879565b7fecea437d1b7c4448a6ee4a5450fd64bc261d017c8ee363673061c5a0893057ed88518281019062006d2b8162006b34848d62006929565b5190200362006d6457505062006af79262006b74600080516020620078268339815191529796959360048062006aea95019101620067b0565b907fccadc1d3741e240c13959ff8ea9817f7b6c9c59dd5388094d4c7081cfd01caea9162006dab8951918201928262006d9e858c62006929565b03908101835282620007a3565b5190200362006de35762006af79262006b7460008051602062007826833981519152979695936005600462006aea95019101620067b0565b855163e074621d60e01b81528062001f308760048301620069b3565b6040516363373c9b60e11b815260048101849052602490fd5b6003915062006e278162000987565b143862006a0f565b9060405162006e3e816200076b565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003830154606082015260048301546080820152600583015460a082015260069092015460c0830152565b908060209392818452848401376000828201840152601f01601f1916010190565b91604062000c5c9360038152816020820152019162006e8d565b979695919360a09593620069df95600180891b038094168b5260208b015260408a015216606088015260c0608088015260c087019162006e8d565b9081526001600160a01b039091166020820152604081019190915260600190565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b9060c060069162006f7c60018060a01b0362006f6c81845116876200416e565b602083015116600186016200416e565b60408101516002850155606081015160038501556080810151600485015560a081015160058501550151910155565b6020810180516001600160a01b039290839062006fc89062000879565b16801515908162007316575b81620071f8575b5062006fe657505050565b6101429283549062007005600162006ffe846200066c565b0162000885565b816200701662001197875162000879565b91161491821592620071c9575b5050620070df575b62004e2c836200705662007050600080516020620078a6833981519152965462005413565b61014255565b6200706d836200706783546200066c565b62006f4c565b5491620070876200707f825162000879565b945162000879565b90604081015160608201519060a0608084015193015193604051978897889390979695929160c0959260e0860199865260018060a01b0380921660208701521660408501526060840152608083015260a08201520152565b620070ef62001197825162000879565b92620070fc835162000879565b93803b156200062a5760405163446adb9960e11b81529460009186918290849082906200712d906004830162001314565b03925af190811562000e0f57600080516020620078a68339815191529462004e2c92620071b2575b507fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f6200718762001197855162000879565b62007193865162000879565b90620071a66040519283923084620057ed565b0390a19350506200702b565b80620015bc620071c29262000703565b3862007155565b620071db919250620014dd906200066c565b90620071ec62001197845162000879565b91161415388062007023565b6101425491506200721362001197600162006ffe856200066c565b1490811591620072e9575b8115620072ca575b8115620072ab575b81156200728c575b81156200726d575b81156200724e575b503862006fdb565b905060066200726260c0840151926200066c565b015414153862007246565b905060a0820151600562007281836200066c565b01541415906200723e565b905060808201516004620072a0836200066c565b015414159062007236565b905060608201516003620072bf836200066c565b01541415906200722e565b905060408201516002620072de836200066c565b015414159062007226565b9050620072f7825162000879565b846200730b62001197620014dd856200066c565b91161415906200721e565b90506200732c6200119762001197845162000879565b15159062006fd456fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122033f0a9d1793f90fc961617711fc56f8bbd8ed7df3cc6b5c214af8e42eb49dd9164736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec59e087303584a0da9096007d7b681a1e6f51324d1691eed6f35eb8965d96ae3a46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b18efbc622a61b1368ba1988fa8076b9a3afdcbc1f7ea55e556b5f785ed5a207f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3be677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53a867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276a26469706673582212207d124b5afcb84138048310fe8d67d6d0d3e06e0a2c6cc72243f298b46b7390bf64736f6c63430008130033","sourceMap":"216:15528:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3158:58:12;;;:98;;;;216:15528:64;;;;;;;;;;3158:98:12;-1:-1:-1;;;1189:51:21;;-1:-1:-1;3158:98:12;;;216:15528:64;-1:-1:-1;216:15528:64;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;216:15528:64;;;;;23092:19:63;216:15528:64;;;;;;;;;;11179:20;216:15528;;;;;;:::o;:::-;;;11252:17;216:15528;;;;;;:::o;:::-;;;6937:14;216:15528;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;:::o;:::-;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;:::o;:::-;;;;;-1:-1:-1;;216:15528:64;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;216:15528:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;216:15528:64;;;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;:::o;:::-;;-1:-1:-1;;;;;216:15528:64;;:::o;:::-;-1:-1:-1;;;;;216:15528:64;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;216:15528:64;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;216:15528:64;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;-1:-1:-1;216:15528:64;3298:67;216:15528;;;-1:-1:-1;216:15528:64;;;;3298:67;;;;;:::i;:::-;;;;216:15528;;3298:67;;216:15528;3298:67;;216:15528;;-1:-1:-1;;;;;216:15528:64;3298:67;216:15528;3298:67;;;:::i;:::-;216:15528;3298:67;;;216:15528;;3298:67;;;216:15528;3298:67;216:15528;3298:67;;;216:15528;;;;;;3298:67;;;;;;:::i;:::-;;216:15528;3298:67;;;;216:15528;3298:67;;216:15528;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;5123:24:63;216:15528:64;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;3121:39;216:15528;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;23320:288:63;;:::i;:::-;4610:7;23427:26;;23423:86;;216:15528:64;;23564:37:63;216:15528:64;23518:31:63;216:15528:64;;;;;;23564:37:63;216:15528:64;23423:86:63;216:15528:64;;-1:-1:-1;;;23476:22:63;;216:15528:64;;23476:22:63;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;:::i;:::-;13186:7:63;;;:::i;:::-;13224:9;;;:::i;:::-;13263;;;:::i;:::-;13288:47;;:36;;;;:::i;:::-;:47;:::i;:::-;216:15528:64;;;;;13288:47:63;13284:107;;13491:19;13424:28;;216:15528:64;13424:28:63;;;:::i;:::-;216:15528:64;:::i;:::-;13491:19:63;216:15528:64;13547:19:63;216:15528:64;;;-1:-1:-1;;;13581:42:63;;;-1:-1:-1;;;;;;;216:15528:64;;;;;;;;;;;;-1:-1:-1;216:15528:64;13581:42:63;;;;;;13627:36;13581:42;;;;;216:15528:64;;;;;:::i;:::-;13581:82:63;13627:36;;-1:-1:-1;;216:15528:64;;-1:-1:-1;;;13698:51:63;;-1:-1:-1;;;;;216:15528:64;;;13698:51:63;;216:15528:64;-1:-1:-1;216:15528:64;;;;;;;-1:-1:-1;216:15528:64;;;;;;13698:51:63;;;;;;;;-1:-1:-1;;;;;;;;;;;13698:51:63;14184:61;13698:51;;;;;13577:384;13679:70;;13577:384;13971:30;:41;:30;;;;:::i;:41::-;216:15528:64;14060:54:63;:47;:36;;;;:::i;:47::-;216:15528:64;;-1:-1:-1;;216:15528:64;14110:4:63;216:15528:64;;;;14060:54:63;14125:43;:27;;;;:::i;:::-;:43;:::i;:::-;216:15528:64;;14184:61:63;;;;;:::i;:::-;;;;216:15528:64;;13698:51:63;;;;;;-1:-1:-1;13698:51:63;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;13577:384::-;216:15528:64;;;;;;;13770:42:63;;;;;216:15528:64;13770:42:63;;;;;;;;;;;;;;;13577:384;216:15528:64;;;;:::i;:::-;13766:195:63;;13577:384;;;;;14184:61;-1:-1:-1;;;;;;;;;;;13577:384:63;;;13766:195;216:15528:64;;;;;13883:67:63;216:15528:64;;;689:66:28;;;;;;;;;13883:67:63;;;216:15528:64;13883:67:63;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;;;;;;13883:67:63;14184:61;13883:67;;;;;13766:195;13864:86;;13766:195;;;;;;13883:67;;;;;;-1:-1:-1;13883:67:63;;;;;;:::i;:::-;;;;;13770:42;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;13581;;;;;;;;;;;;;;:::i;:::-;;;;13284:107;216:15528:64;;-1:-1:-1;;;13358:22:63;;216:15528:64;;13358:22:63;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;;2988:45;216:15528;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;19731:9:63;216:15528:64;;;;;:::i;:::-;19620:128:63;;:::i;:::-;19731:9;:::i;:::-;216:15528:64;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;1324:62:14;;:::i;:::-;9188:27:63;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;5204:25:63;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;18893:12:63;216:15528:64;;;;;:::i;:::-;18785:128:63;;:::i;:::-;18893:12;:::i;216:15528:64:-;;;;;;;:::i;:::-;14381:7:63;;;:::i;:::-;14418:9;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;14458:10:63;8358:20;8354:77;;14495:48;14496:47;;:36;;;;:::i;:47::-;14495:48;;216:15528:64;14495:48:63;14491:110;;14611:36;:55;:47;:36;;14905:45;14611:36;;:::i;:47::-;216:15528:64;;-1:-1:-1;;216:15528:64;;;;14611:55:63;14661:5;14676:41;:30;;;;:::i;:41::-;216:15528:64;14765:9:63;;;;:::i;:::-;14905:45;216:15528:64;;14905:45:63;;;;;:::i;:::-;;;;216:15528:64;14491:110:63;216:15528:64;;-1:-1:-1;;;14566:24:63;;216:15528:64;;14566:24:63;8354:77;216:15528:64;;-1:-1:-1;;;8401:19:63;;216:15528:64;;8401:19:63;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;;;-1:-1:-1;216:15528:64;4955:6:12;216:15528:64;;;4955:22:12;216:15528:64;-1:-1:-1;216:15528:64;4955:22:12;216:15528:64;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;22636:33:63;216:15528:64;22653:15:63;216:15528:64;;:::i;:::-;22636:33:63;:::i;:::-;22709:19;216:15528:64;;22708:62:63;22709:34;22731:12;216:15528:64;22709:34:63;;:::i;:::-;4610:7;216:15528:64;;;;22708:62:63;216:15528:64;22842:44:63;216:15528:64;;689:66:28;;;;;22842:44:63;;22880:4;;22842:44;22880:4;216:15528:64;22842:44:63;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;22842:44:63;;;;;;;216:15528:64;22842:44:63;22819:94;22820:66;22931:59;22842:44;22931:40;22842:44;216:15528:64;22842:44:63;;;216:15528:64;22820:66:63;;;:::i;22819:94::-;22931:40;;:::i;:::-;:59;:::i;:::-;216:15528:64;;;;;;;;;;;;;22842:44:63;;;;;;;;;;;;;;:::i;:::-;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;13288:27:63;216:15528:64;;;;;;:::o;:::-;-1:-1:-1;;;;;216:15528:64;;;;;13424:19:63;216:15528:64;;;;;;:::o;:::-;-1:-1:-1;;;;;216:15528:64;;;;;13971:21:63;216:15528:64;;;;;;:::o;:::-;-1:-1:-1;;;;;216:15528:64;;;;;14125:18:63;216:15528:64;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;;-1:-1:-1;216:15528:64;:::o;:::-;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;216:15528:64;6760:82:63;216:15528:64;;;-1:-1:-1;216:15528:64;;;6760:82:63;;;;;216:15528:64;6760:82:63;;;;:::i;:::-;216:15528:64;;;;;;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;216:15528:64;18404:19:63;216:15528:64;;;;;-1:-1:-1;216:15528:64;18404:41:63;216:15528:64;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;;;:::i;:::-;-1:-1:-1;216:15528:64;;;;4955:6:12;216:15528:64;;2809:4:12;4955:22;216:15528:64;;;4955:22:12;216:15528:64;2809:4:12;:::i;:::-;216:15528:64;;;4955:6:12;216:15528:64;;;3459:29:12;216:15528:64;;;;3459:29:12;:::i;:::-;216:15528:64;;8020:23:12;8016:149;;216:15528:64;;;8016:149:12;216:15528:64;;;4955:6:12;216:15528:64;;8059:29:12;216:15528:64;;;;8059:29:12;:::i;:::-;216:15528:64;;-1:-1:-1;;216:15528:64;4955:22:12;216:15528:64;;;965:10:19;;-1:-1:-1;;;;;216:15528:64;;-1:-1:-1;;;;;;;;;;;8114:40:12;;;8016:149;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;11092:32;;;216:15528;;11092:20;216:15528;;;;;;;11092:32;216:15528;11179:37;;;;:::i;:::-;11270;;;;216:15528;11230:90;11244:76;11252:67;:56;216:15528;;11252:56;:::i;:::-;:67;:::i;11230:90::-;:10;:90;11226:151;;11391:12;;;11419:20;;;216:15528;;-1:-1:-1;;216:15528:64;;;;11568:36;11483:34;216:15528;11483:15;216:15528;;:::i;11483:34::-;11568:36;;216:15528;;:::i;:::-;;;11622:56;216:15528;;11622:56;:::i;:::-;:83;216:15528;11483:236;;;;;;-1:-1:-1;216:15528:64;;11483:236;216:15528;;689:66:28;;;;;;;;;;11483:236:64;;;;;:::i;:::-;;;;;;;;;;13014:67;:56;13007:96;11483:236;-1:-1:-1;;;;;;;;;;;11483:236:64;13007:96;11483:236;;;11387:1605;;;216:15528;13014:56;:::i;13007:96::-;216:15528;;;;;;;;;;;;;13007:96;;;;216:15528;11483:236;;;;;;:::i;:::-;;;:::i;:::-;;;;11387:1605;11740:12;;11751:1;11740:12;;11751:1;;11791:15;;;:::i;:::-;11821;:37;216:15528;;;;:::i;11821:37::-;11909:36;11963:23;216:15528;11909:36;;;216:15528;;:::i;:::-;11963:23;;216:15528;;;;;:::i;:::-;;12004:56;216:15528;;12004:56;:::i;:::-;:83;216:15528;11821:280;;;;;;216:15528;;;;;;689:66:28;;;;;;;;;11821:280:64;;-1:-1:-1;11821:280:64;;;;;;;;:::i;:::-;;;;;;;;;216:15528;11821:280;12115:34;11821:280;216:15528;11821:280;;;11736:1256;216:15528;;;:::i;12115:34::-;216:15528;;;:::i;:::-;;11909:36;12241:56;216:15528;;12241:56;:::i;:::-;:82;216:15528;12115:222;;;;;;216:15528;;12115:222;216:15528;;689:66:28;;;;;;;;;;12115:222:64;;;;;:::i;:::-;;;;;;;;;;13014:67;:56;13007:96;12115:222;-1:-1:-1;;;;;;;;;;;12115:222:64;13007:96;12115:222;;;11736:1256;;11387:1605;;12115:222;;;;;;:::i;:::-;;;;;216:15528;;;11821:280;;;;;;:::i;:::-;;;;11736:1256;12369:1;12358:12;;;;12354:638;;11736:1256;;;;-1:-1:-1;;;;;;;;;;;11736:1256:64;13007:96;13014:67;:56;13007:96;11736:1256;11387:1605;;12354:638;12386:20;;;216:15528;;-1:-1:-1;;216:15528:64;;;;;12386:20;;;12452:15;216:15528;12452:34;216:15528;;;;:::i;12452:34::-;12537:36;;;;216:15528;;;;;:::i;:::-;;;12591:56;216:15528;;12591:56;:::i;:::-;:83;216:15528;12452:236;;;;;;;216:15528;;;;;;689:66:28;;;;;;;;;12452:236:64;;-1:-1:-1;12452:236:64;;;;;;;;:::i;:::-;;;;;;;;;;12702:37;216:15528;12790:23;12452:236;216:15528;12452:236;216:15528;12452:236;;;216:15528;;;:::i;12702:37::-;12790:23;;216:15528;;:::i;:::-;;;;:::i;:::-;;12369:1;12885:56;216:15528;;12885:56;:::i;:::-;:82;216:15528;12702:279;;;;;216:15528;12702:279;216:15528;;;;689:66:28;;;;;;;;;;12702:279:64;;;;;:::i;:::-;;;;;;;;;;13014:67;:56;13007:96;12702:279;-1:-1:-1;;;;;;;;;;;12702:279:64;13007:96;12702:279;;;12354:638;;;;;;;;;;12702:279;;;;;;:::i;:::-;;;;;216:15528;;;11226:151;-1:-1:-1;216:15528:64;;-1:-1:-1;;;11343:23:64;;;216:15528;;;;;;-1:-1:-1;;216:15528:64;;;;23275:32:63;216:15528:64;;;23124:190:63;;:::i;:::-;216:15528:64;23228:32:63;216:15528:64;;;;;;23275:32:63;216:15528:64;;;;;;;-1:-1:-1;;216:15528:64;;;;;5024:25:63;216:15528:64;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;216:15528:64;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;9358:2496:63;216:15528:64;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;9358:2496:63;;:::i;216:15528:64:-;;;;;;;;;;;;;2492:103:17;;:::i;:::-;20719:28:63;20672:10;20719:28;:::i;:::-;20791:33;216:15528:64;20808:15:63;216:15528:64;;:::i;20791:33:63:-;20864:19;216:15528:64;;20863:62:63;20864:34;20886:12;216:15528:64;20864:34:63;;:::i;20863:62::-;216:15528:64;;-1:-1:-1;;;20997:44:63;;;;216:15528:64;;-1:-1:-1;;;;;216:15528:64;;689:66:28;20997:44:63;216:15528:64;;20997:44:63;21035:4;216:15528:64;20997:44:63;;;:::i;:::-;;;;;;;;;;20974:94;20997:44;20975:66;20997:44;;;;;216:15528:64;20975:66:63;;:::i;20974:94::-;20672:10;21082:18;20547:22;216:15528:64;;20502:28:63;20672:10;20502:28;:::i;216:15528:64:-;20547:22:63;216:15528:64;;;;;21082:18:63;21078:1430;;216:15528:64;2557:1:17;;1808;2086:22;216:15528:64;2006:109:17;2557:1;216:15528:64;;21078:1430:63;21116:22;:29;:22;216:15528:64;21116:22:63;;14110:4;216:15528:64;;;;;;;;;21116:29:63;20864:19;216:15528:64;21160:22:63;;;;216:15528:64;21426:59:63;21356:11;216:15528:64;21426:59:63;216:15528:64;21426:40:63;216:15528:64;;;;;:::i;:::-;21426:40:63;;:::i;:59::-;21035:4;;20672:10;;21426:59;;:::i;:::-;21924:22;21920:178;;21078:1430;22181:20;;22177:255;;21078:1430;216:15528:64;;;;22451:46:63;;20864:19;216:15528:64;;;20672:10:63;;;;22451:46;;:::i;:::-;;;;21078:1430;;;;;;;22177:255;216:15528:64;;;;;;:::i;:::-;;;;689:66:28;;;;;;;22360:38:63;;;;;;;;;22400:16;22360:38;;;;;22177:255;22400:16;;;:::i;:::-;22177:255;;;;;;22360:38;;;;;;;-1:-1:-1;22360:38:63;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;21920:178;22064:18;216:15528:64;;;;;:::i;:::-;22051:11:63;216:15528:64;;;-1:-1:-1;;;;;216:15528:64;22064:18:63;;:::i;:::-;21920:178;;;20997:44;;;;;;;;;;;;;;;:::i;:::-;;;;;216:15528:64;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;965:10:19;-1:-1:-1;;;;;216:15528:64;;6484:23:12;216:15528:64;;6588:7:12;216:15528:64;;;6588:7:12;:::i;216:15528:64:-;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1719:87:32;1654:6;216:15528:64;;1629:80:32;1645:4;1637:23;;;1629:80;:::i;:::-;216:15528:64;-1:-1:-1;;;;;;;;;;;216:15528:64;;1727:30:32;1719:87;:::i;:::-;1208:7:62;;:::i;:::-;1219:10;216:15528:64;;1208:21:62;1204:94;;3325:5:32;3311:12;;;:::i;:::-;3325:5;;:::i;1204:94:62:-;1252:35;1279:7;;:::i;:::-;216:15528:64;;-1:-1:-1;;;1252:35:62;;216:15528:64;;;1219:10:62;216:15528:64;1252:35:62;;;:::i;:::-;;;;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;19929:66:63;216:15528:64;;;;;;:::i;:::-;19754:248:63;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;;19853:25:63;216:15528:64;19853:25:63;:::i;:::-;19888:26;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;;;;;19962:11:63;216:15528:64;;;;;;;;;;;;;;19929:66:63;216:15528:64;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;216:15528:64;6295:68:63;216:15528:64;;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;-1:-1:-1;216:15528:64;3167:61;216:15528;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;3167:61;216:15528;3167:61;;216:15528;;3167:61;;;;216:15528;;3167:61;;216:15528;;3167:61;;216:15528;3167:61;;;;;216:15528;3167:61;;216:15528;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6920:107:63;216:15528:64;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;6920:107:63;216:15528:64;;;6920:107:63;216:15528:64;;;;;6920:107:63;:::i;:::-;216:15528:64;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1719:87:32;1654:6;216:15528:64;;1629:80:32;1645:4;1637:23;;;1629:80;:::i;1719:87::-;1208:7:62;;:::i;:::-;1219:10;216:15528:64;;1208:21:62;1204:94;;3865:4:32;;;:::i;216:15528:64:-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;-1:-1:-1;216:15528:64;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;216:15528:64;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;:::i;:::-;;;12154:16:63;216:15528:64;;:::i;:::-;;12242:13:63;216:15528:64;12250:4:63;216:15528:64;;:::i;12242:13:63:-;216:15528:64;12189:101:63;216:15528:64;12257:23:63;216:15528:64;;:::i;:::-;12282:7:63;12189:101;12282:7;;:::i;:::-;216:15528:64;;-1:-1:-1;;;216:15528:64;12189:101:63;;;216:15528:64;;;;12189:101:63;;;:::i;:::-;;216:15528:64;;12189:101:63;;;;;;:::i;:::-;216:15528:64;;12112:192:63;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;12112:192:63;;;;;;12332:53;;-1:-1:-1;;;;;216:15528:64;12332:53:63;:::i;:::-;216:15528:64;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;216:15528:64;;;;2089:6:32;-1:-1:-1;;;;;216:15528:64;2080:4:32;2072:23;216:15528:64;;;;-1:-1:-1;;;;;;;;;;;216:15528:64;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;2492:103:17;;;:::i;:::-;15402:1009:63;;:::i;:::-;216:15528:64;15595:26:63;15539:10;15595:26;:::i;:::-;216:15528:64;:::i;:::-;-1:-1:-1;15716:3:63;216:15528:64;;15687:27:63;;;;;15859:49;:35;15874:19;;;;;:::i;:::-;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;15859:49:63;216:15528:64;;;;689:66:28;;;;;15859:72:63;;15539:10;-1:-1:-1;15539:10:63;15859:72;15539:10;;15859:72;;;;:::i;:::-;;;;;;;;;15716:3;15859:72;-1:-1:-1;15859:72:63;;;15716:3;15949:21;;15945:232;;15716:3;;;:::i;:::-;15672:13;;15945:232;15990:70;:50;:29;15539:10;15990:29;:::i;:::-;16020:19;;;;;:::i;:::-;15990:50;;:::i;:::-;216:15528:64;;;15990:70:63;:::i;:::-;216:15528:64;;15945:232:63;;;15859:72;;;;;;;;;;;;;;:::i;:::-;;;;15687:27;16361:43;;15687:27;16265:13;216:15528:64;;16213:11:63;216:15528:64;;:::i;:::-;16258:4:63;15539:10;;16265:13;;:::i;:::-;16289:40;:27;15539:10;16289:27;:::i;:::-;:40;:57;216:15528:64;;;16289:57:63;:::i;:::-;216:15528:64;;;;15539:10:63;;;;16361:43;;:::i;:::-;;;;2557:1:17;1808;2086:22;216:15528:64;2006:109:17;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;;;-1:-1:-1;216:15528:64;3433:53;216:15528;;;-1:-1:-1;216:15528:64;;;;;;;;;;;3433:53;;216:15528;3433:53;;216:15528;3433:53;;;216:15528;3433:53;;;:::i;:::-;216:15528;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;216:15528:64;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;4397:1531;;:::i;:::-;4695:30;216:15528;;4695:30;;216:15528;-1:-1:-1;;;;;4669:69:64;4677:60;:49;216:15528;4677:49;:::i;4669:69::-;216:15528;4669:83;;:190;;;216:15528;4652:390;;5052:22;;216:15528;5052:22;;216:15528;;5052:22;:::i;:::-;;216:15528;;5052:22;5084:33;216:15528;5084:15;216:15528;;:::i;5084:33::-;216:15528;;;5084:85;;;;;;;216:15528;;;689:66:28;;;;;5084:85:64;;-1:-1:-1;;;5158:10:64;;;;5084:85;216:15528;5084:85;;;:::i;:::-;;5125:9;;5084:85;;;;;;;;5821:100;5084:85;216:15528;5084:85;5180:42;5084:85;;;216:15528;;5225:580;216:15528;;;;;:::i;:::-;;;;;5618:72;216:15528;5618:72;;216:15528;5618:72;216:15528;5618:72;;216:15528;;;5225:580;216:15528;;:::i;:::-;;;;;5225:580;216:15528;5225:580;;216:15528;;;;5225:580;;216:15528;;5225:580;;;:::i;:::-;216:15528;5225:580;;216:15528;;;;5225:580;;216:15528;;5225:580;5527:15;5225:580;;;216:15528;5225:580;689:66:28;5225:580:64;;216:15528;5225:580;;;216:15528;5225:580;;;216:15528;5225:580;5158:10;5225:580;;;;:::i;:::-;5180:42;:::i;:::-;216:15528;:::i;:::-;;;5883:20;216:15528;5821:100;216:15528;;5527:15;;;;5821:100;;;:::i;:::-;;;;216:15528;;5084:85;;;;;;:::i;:::-;;;;4652:390;4942:75;:49;4891:140;4942:49;;:::i;:::-;:75;216:15528;;;-1:-1:-1;;;4891:140:64;;216:15528;;;4931:9;216:15528;4891:140;;;:::i;4669:190::-;4784:49;:75;:49;;;:::i;:::-;:75;216:15528;4772:9;:87;4669:190;;216:15528;;;;;;-1:-1:-1;;216:15528:64;;;;5574:31:63;216:15528:64;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:17;;;:::i;:::-;16554:1562:63;;:::i;:::-;16750:26;16693:10;16750:26;:::i;:::-;16826:40;;16693:10;16826:58;16693:10;;16826:27;16693:10;16826:27;:::i;:::-;:40;216:15528:64;16826:58:63;:::i;:::-;16887:19;216:15528:64;-1:-1:-1;16822:140:63;;16693:10;;;17004:15;16693:10;;216:15528:64;16971:11:63;216:15528:64;;:::i;:::-;17004:15:63;:::i;:::-;-1:-1:-1;17030:951:63;16826:40;;;17030:951;18064:45;;16693:10;;17990:27;16693:10;17990:27;:::i;:::-;:40;:59;216:15528:64;;;17990:59:63;:::i;17079:3::-;216:15528:64;;;;;;17050:27:63;;;;;;;216:15528:64;17117:19:63;;;;:::i;:::-;216:15528:64;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;17154:60:63;;;;:::i;:::-;;;;216:15528:64;;;;;;689:66:28;;;;;17253:63:63;;16693:10;-1:-1:-1;16693:10:63;17253:63;16693:10;;;17253:63;;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;17253:63:63;;;;;;;-1:-1:-1;17253:63:63;;;17150:804;16693:10;17357:50;:29;16693:10;17357:29;:::i;:::-;216:15528:64;17387:19:63;;;;:::i;17357:50::-;216:15528:64;;17429:31:63;;;;;;216:15528:64;;-1:-1:-1;;;17491:57:63;;216:15528:64;17491:57:63;216:15528:64;;17491:57:63;;;;:::i;17425:259::-;16693:10;;;;;;;;17079:3;16693:10;17595:70;:50;:29;16693:10;17595:29;:::i;:::-;216:15528:64;17625:19:63;;;;:::i;17595:50::-;216:15528:64;;;17595:70:63;:::i;:::-;216:15528:64;;17079:3:63;:::i;:::-;17035:13;;;;;;;17253:63;;;;;;;;;;;;;;;:::i;:::-;;;;;17150:804;17828:27;17930:8;17079:3;17828:27;;17789:67;216:15528:64;17811:45:63;17828:27;;;;;;;:::i;:::-;17811:45;;:::i;216:15528:64:-;17789:19:63;;;;:::i;:::-;:67;;:::i;:::-;17874:20;;;:::i;17930:8::-;17079:3;:::i;17050:27::-;;;;;;16822:140;216:15528:64;;-1:-1:-1;;;16929:22:63;;;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;;;;;;;;6431:98:63;216:15528:64;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;6431:98:63;216:15528:64;;;6431:98:63;216:15528:64;;;;;6431:98:63;:::i;:::-;216:15528:64;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;5044:1:16;216:15528:64;;;;;;:::i;:::-;;-1:-1:-1;216:15528:64;;;;;;4881:14:16;:40;;;216:15528:64;4873:99:16;;;:::i;:::-;-1:-1:-1;;216:15528:64;;-1:-1:-1;216:15528:64;5044:1:16;:::i;:::-;5055:21;216:15528:64;;4882:13:16;216:15528:64;;4882:13:16;216:15528:64;;5055:21:16;216:15528:64;;;;;-1:-1:-1;;;;;;;;;;;5091:20:16;216:15528:64;;;;5091:20:16;216:15528:64;4881:40:16;-1:-1:-1;3659:1:64;216:15528;;;4899:22:16;4881:40;;216:15528:64;;;;;;;:::i;:::-;2492:103:17;;:::i;:::-;24741:583:63;;:::i;:::-;24873:14;216:15528:64;24874:13:63;216:15528:64;;;;;24873:14:63;24869:68;;24950:18;20547:22;;216:15528:64;20502:28:63;;;:::i;24950:18::-;24946:75;;25053:28;25257:60;216:15528:64;25053:28:63;25257:60;25053:28;;:::i;216:15528:64:-;25115:7:63;;;:::i;:::-;25133:35;25140:28;;;:::i;:::-;216:15528:64;25133:35:63;216:15528:64;;;;;;;;;;;;25133:35:63;25222:19;;216:15528:64;25179:11:63;216:15528:64;;:::i;:::-;25222:19:63;;216:15528:64;;;;25222:19:63;;:::i;:::-;216:15528:64;20547:22:63;216:15528:64;25257:60:63;;;;;:::i;24946:75::-;20547:22;216:15528:64;-1:-1:-1;;;24991:19:63;;216:15528:64;;24991:19:63;24869:68;216:15528:64;;-1:-1:-1;;;24910:16:63;;216:15528:64;;24910:16:63;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;5673:41:63;216:15528:64;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;5933:24:63;216:15528:64;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;1324:62:14;;:::i;:::-;2779:6;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;;;;;;;-1:-1:-1;;;;;216:15528:64;-1:-1:-1;;;;;;;;;;;216:15528:64;;2827:40:14;216:15528:64;;;;;;;;-1:-1:-1;;216:15528:64;;;;19177:237:63;;:::i;:::-;19304:4;216:15528:64;;;-1:-1:-1;;;19304:20:63;;216:15528:64;;;19304:20:63;;;216:15528:64;;-1:-1:-1;;;;;216:15528:64;-1:-1:-1;;216:15528:64;;;;;;;;19304:20:63;;;;;;;19398:8;19304:20;216:15528:64;19304:20:63;-1:-1:-1;19304:20:63;;;216:15528:64;19304:29:63;;216:15528:64;;19363:8:63;;;:::i;19304:20::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;;;;-1:-1:-1;;;;;;;;;;;216:15528:64;;;;;;;;;-1:-1:-1;;216:15528:64;;;;5477:38:63;216:15528:64;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;5764:25:63;216:15528:64;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;3493:29;216:15528;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;18458:321:63;;:::i;:::-;18582:4;216:15528:64;;;-1:-1:-1;;;18582:20:63;;216:15528:64;;;18582:20:63;;;216:15528:64;;-1:-1:-1;;216:15528:64;;;;;;-1:-1:-1;;;;;216:15528:64;18582:20:63;;;;;;216:15528:64;;18582:20:63;18574:38;18582:20;-1:-1:-1;18582:20:63;;;216:15528:64;18582:29:63;;216:15528:64;;:::i;18574:38:63:-;18641:8;;;:::i;:::-;18664:60;;;:::i;:::-;18660:113;;216:15528:64;18660:113:63;18753:8;;;:::i;18582:20::-;;;;;;;;;;;;:::i;:::-;;;;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;;;-1:-1:-1;216:15528:64;3234:58;216:15528;;;-1:-1:-1;216:15528:64;;;;3234:58;;;216:15528;3234:58;216:15528;3234:58;;;216:15528;;;;;;;3234:58;216:15528;3234:58;;216:15528;;3234:58;;;;216:15528;3234:58;;;:::i;:::-;;;;:::i;:::-;216:15528;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;216:15528:64;6629:60:63;216:15528:64;;;-1:-1:-1;216:15528:64;;;;;6629:60:63;216:15528:64;6629:60:63;216:15528:64;6629:60:63;;216:15528:64;6629:60:63;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;4930:27:63;216:15528:64;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;3459:29:12;216:15528:64;;;;;:::i;:::-;;;-1:-1:-1;216:15528:64;3459:6:12;216:15528:64;;;-1:-1:-1;216:15528:64;3459:29:12;:::i;216:15528:64:-;;;;;;-1:-1:-1;;216:15528:64;;;;;;;4436:42:63;216:15528:64;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;20547:22:63;216:15528:64;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;216:15528:64;20502:19:63;216:15528:64;;;;;-1:-1:-1;216:15528:64;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;20547:22:63;216:15528:64;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;1324:62:14;;:::i;:::-;9311:34:63;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;5296:26:63;216:15528:64;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;20273:18:63;216:15528:64;;-1:-1:-1;;;;;216:15528:64;;;20259:10:63;:32;;;20255:89;;20065:39;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;;;;;;;;;;;;;;;;20154:34:63;;216:15528:64;;20154:34:63;216:15528:64;;20255:89:63;216:15528:64;;-1:-1:-1;;;20314:19:63;;216:15528:64;;20314:19:63;216:15528:64;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6149:30:63;216:15528:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2492:103:17;;:::i;:::-;23920:7:63;23874:10;23920:7;:::i;:::-;23962;23874:10;23962:7;:::i;:::-;23874:10;216:15528:64;;24003:19:63;216:15528:64;;24200:48:63;;216:15528:64;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;24041:35:63;24048:28;23874:10;24048:28;:::i;24041:35::-;216:15528:64;24093:27:63;23874:10;24093:27;:::i;:::-;216:15528:64;:::i;:::-;24165:19:63;216:15528:64;24131:11:63;216:15528:64;;:::i;:::-;;;23874:10:63;;24165:19;;:::i;:::-;216:15528:64;;;23874:10:63;;;;24200:48;;:::i;:::-;;;;2557:1:17;1808;2086:22;216:15528:64;2006:109:17;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;;3039:35;216:15528;;;;;;;4610:7:63;216:15528:64;;;4610:7:63;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;216:15528:64:-;;;;;;-1:-1:-1;;216:15528:64;;;;;;;4610:7:63;216:15528:64;;;;;;;;;-1:-1:-1;;216:15528:64;;;;499:12:62;216:15528:64;;;;;:::i;:::-;5366:69:16;216:15528:64;-1:-1:-1;216:15528:64;;;;5366:69:16;:::i;:::-;499:12:62;:::i;216:15528:64:-;;;;;;-1:-1:-1;;216:15528:64;;;;;3080:35;216:15528;;;;;;;;;;;;;;;;;;;;;;;6064:27:63;216:15528:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;216:15528:64;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;9210:38;;;;;;:::i;:::-;9319:37;216:15528;9301:56;9319:37;;;216:15528;9301:56;:::i;:::-;216:15528;:::i;:::-;;;;9372:43;;;;9368:121;;9502:20;;;216:15528;;;;;;;;;;;;:::i;:::-;9498:129;;216:15528;9652:43;;216:15528;;;9640:9;;:55;9636:171;;216:15528;9842:55;216:15528;;9640:9;9842:55;:::i;:::-;216:15528;9907:33;216:15528;9907:15;216:15528;;:::i;9907:33::-;216:15528;;9907:144;;;;;;-1:-1:-1;216:15528:64;9907:144;216:15528;;;689:66:28;;;;;;;;;9907:144:64;;10031:10;9907:144;;;;;:::i;:::-;;;;;;;;;;10074:92;9907:144;216:15528;9907:144;;;216:15528;;10074:41;216:15528;;;;:::i;10074:41::-;216:15528;;;689:66:28;;;;;;;;;;10074:92:64;;;;;:::i;:::-;;;;;;;;;;216:15528;10074:92;-1:-1:-1;10074:92:64;;;216:15528;10177:52;;10519:227;10177:52;216:15528;10177:52;;;;-1:-1:-1;;;;;;;;;;;10177:52:64;;2980:1;216:15528;;;;;;;;;10177:52;10239:25;;;;216:15528;10366:49;10296:42;;;10341:15;;216:15528;;10366:36;10031:10;10366:36;;:49;:::i;:::-;10426:31;;;216:15528;;11092:20;216:15528;;;;;;;10426:31;216:15528;10487:16;;;216:15528;10487:16;:::i;:::-;;216:15528;;10487:16;216:15528;;:::i;:::-;;;;;;10031:10;;;;10519:227;;;:::i;:::-;;;;216:15528;;;;;;;;;;;;;10074:92;10177:52;10074:92;;;216:15528;-1:-1:-1;;;;;;;;;;;10074:92:64;;;;;;10519:227;10074:92;216:15528;10074:92;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9907:144;;;;;;:::i;:::-;;;;9636:171;216:15528;;-1:-1:-1;;;9718:78:64;;216:15528;;;9718:78;;9640:9;9718:78;;;;:::i;9498:129::-;216:15528;;-1:-1:-1;;;9576:40:64;;;;;216:15528;;;;;;;1252:35:62;;;9368:121:64;216:15528;;-1:-1:-1;;;9438:40:64;;;;;216:15528;;;;;;;1252:35:62;;;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;;;-1:-1:-1;216:15528:64;;;;6198:20;216:15528;;;;;6281:56;6198:42;;;216:15528;6281:56;;216:15528;;;6263:17;216:15528;;6198:42;216:15528;;;6263:81;216:15528;;;;;;;;6164:15;:180;6147:270;;6450:10;;;:::i;6147:270::-;216:15528;;-1:-1:-1;;;6376:30:64;;216:15528;6376:30;;216:15528;;;;;;1252:35:62;216:15528:64;;;;;;-1:-1:-1;;216:15528:64;;;;5837:7:12;216:15528:64;;;;;;;:::i;:::-;;-1:-1:-1;216:15528:64;4955:6:12;216:15528:64;;2809:4:12;4955:22;216:15528:64;-1:-1:-1;216:15528:64;4955:22:12;216:15528:64;2809:4:12;:::i;:::-;5837:7;:::i;216:15528:64:-;;;;;;-1:-1:-1;;216:15528:64;;;;6005:17:63;216:15528:64;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;4610:7:63;216:15528:64;;;;;;;;;-1:-1:-1;;216:15528:64;;;;5852:25:63;216:15528:64;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;-1:-1:-1;;216:15528:64;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;216:15528:64;;;;;;3459:29:12;216:15528:64;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;216:15528:64;3459:6:12;216:15528:64;;;-1:-1:-1;216:15528:64;3459:29:12;:::i;216:15528:64:-;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;:::i;:::-;1324:62:14;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;2423:22:14;216:15528:64;;2517:8:14;;;:::i;216:15528:64:-;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;5380:30:63;216:15528:64;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;-1:-1:-1;216:15528:64;3371:55;216:15528;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;:::i;3789:103:12:-;216:15528:64;-1:-1:-1;216:15528:64;3459:6:12;216:15528:64;;;3459:29:12;965:10:19;216:15528:64;-1:-1:-1;216:15528:64;3459:29:12;:::i;:::-;216:15528:64;;4260:23:12;4256:412;;3789:103;:::o;4256:412::-;965:10:19;2006:25:20;;;:::i;:::-;2041:15;;;;;:::i;:::-;;2066;;;;:::i;:::-;;216:15528:64;2124:5:20;4610:7:63;2124:5:20;;;;4299:358:12;216:15528:64;4351:274:12;2236:10:20;216:15528:64;4554:49:12;2236:10:20;2228:55;2236:10;;2228:55;:::i;:::-;4554:49:12;:::i;:::-;216:15528:64;;;4351:274:12;;;216:15528:64;;4351:274:12;;216:15528:64;;-1:-1:-1;;;216:15528:64;;;;;;;;:::i;:::-;-1:-1:-1;;;216:15528:64;;;;;;;4351:274:12;216:15528:64;;4351:274:12;;;;;;:::i;:::-;216:15528:64;;-1:-1:-1;;;4299:358:12;;216:15528:64;;;;4299:358:12;;;:::i;2131:3:20:-;2171:11;2179:3;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:20;;2150:33;;;;:::i;:::-;;216:15528:64;;2131:3:20;;:::i;:::-;2096:26;;216:15528:64;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;7938:233:12:-;-1:-1:-1;;;;;;;;;;;;216:15528:64;;;3459:6:12;216:15528:64;;-1:-1:-1;216:15528:64;3459:29:12;216:15528:64;-1:-1:-1;;;;;;;;;;;3459:29:12;:::i;:::-;216:15528:64;;8020:23:12;8016:149;;7938:233;;;:::o;8016:149::-;216:15528:64;;;3459:6:12;216:15528:64;;8059:29:12;216:15528:64;;;;8059:29:12;:::i;:::-;216:15528:64;;-1:-1:-1;;216:15528:64;8091:4:12;216:15528:64;;;965:10:19;;-1:-1:-1;;;;;216:15528:64;;-1:-1:-1;;;;;;;;;;;8114:40:12;;;7938:233::o;8342:234::-;-1:-1:-1;216:15528:64;;;;3459:6:12;216:15528:64;;;3459:29:12;216:15528:64;;;;3459:29:12;:::i;:::-;216:15528:64;;8421:149:12;;8342:234;;;:::o;8421:149::-;216:15528:64;;;3459:6:12;216:15528:64;;8463:29:12;216:15528:64;;;;8463:29:12;:::i;:::-;216:15528:64;;-1:-1:-1;;216:15528:64;;;965:10:19;;-1:-1:-1;;;;;216:15528:64;;8519:40:12;;;;8342:234::o;1620:130:14:-;1683:7;;:::i;:::-;965:10:19;-1:-1:-1;;;;;216:15528:64;;;1683:23:14;216:15528:64;;1620:130:14:o;216:15528:64:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;:::o;2687:187:14:-;2779:6;216:15528:64;;-1:-1:-1;;;;;216:15528:64;;;-1:-1:-1;;;;;;216:15528:64;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:14;2687:187::o;216:15528:64:-;;2016:1:20;216:15528:64;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;3321:1:32;216:15528:64;;;3321:1:32;216:15528:64;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;2073:1:20;216:15528:64;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;216:15528:64;;:::o;311:18:20:-;;;;:::o;:::-;;216:15528:64;;;;;311:18:20;;;;;;;;;;;216:15528:64;311:18:20;216:15528:64;;;311:18:20;;1884:437;216:15528:64;;;;;;:::i;:::-;;;;;;;;;;2041:15:20;;;;:::i;:::-;;2066;;;;:::i;:::-;;216:15528:64;2091:128:20;2124:5;2073:1;2124:5;;;;2228:55;2236:10;;;2228:55;:::i;2131:3::-;2179;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:20;;2150:33;;;;:::i;2131:3::-;2096:26;;;216:15528:64;;;;:::o;:::-;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;216:15528:64;;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;216:15528:64;;;;-1:-1:-1;;;216:15528:64;;;;;;;689:66:28;;;;;;;;;;;:::o;:::-;216:15528:64;;689:66:28;;;;;;;;;;;:::o;:::-;216:15528:64;;-1:-1:-1;;;689:66:28;;;;;;;;;;;216:15528:64;689:66:28;216:15528:64;;;689:66:28;-1:-1:-1;;;689:66:28;;;;;;;;;;;;;;;;;216:15528:64;689:66:28;216:15528:64;;;689:66:28;-1:-1:-1;;;689:66:28;;;;;;:::o;2494:922::-;;216:15528:64;-1:-1:-1;;;;;;;;;;;216:15528:64;;;;;;689:66:28;;;2993:17;;;;:::i;2906:504::-;216:15528:64;;-1:-1:-1;;;3046:52:28;;216:15528:64;3046:52:28;216:15528:64;3046:52:28;216:15528:64;-1:-1:-1;;;;;216:15528:64;;3046:52:28;;3321:1:32;;3046:52:28;;;2906:504;-1:-1:-1;3042:291:28;;216:15528:64;;-1:-1:-1;;;3262:56:28;;216:15528:64;3262:56:28;3046:52;3262:56;;;:::i;3042:291::-;3140:82;-1:-1:-1;;;;;;;;;;;3389:9:28;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;;;;;;;;;;;:::i;:::-;;;;;2494:922;;216:15528:64;-1:-1:-1;;;;;;;;;;;216:15528:64;;;;;;689:66:28;;;2993:17;;;;:::i;2906:504::-;216:15528:64;;-1:-1:-1;;;3046:52:28;;216:15528:64;3046:52:28;216:15528:64;3046:52:28;216:15528:64;-1:-1:-1;;;;;216:15528:64;;3046:52:28;;;;;;;2906:504;-1:-1:-1;3042:291:28;;216:15528:64;;-1:-1:-1;;;3262:56:28;;216:15528:64;3262:56:28;3046:52;3262:56;;;:::i;3042:291::-;3140:82;-1:-1:-1;;;;;;;;;;;3389:9:28;3148:28;;3140:82;:::i;:::-;3389:9;:::i;3046:52::-;;;;;;;;;;;;;;;:::i;:::-;;;;;1406:259;1702:19:38;;:23;216:15528:64;;-1:-1:-1;;;;;;;;;;;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;1406:259:28:o;216:15528:64:-;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;;;2057:265:28;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;-1:-1:-1;;;;;;;;;;;3321:1:32;;1889:27:28;216:15528:64;;2208:15:28;;;:28;;;2057:265;2204:112;;2057:265;;:::o;2204:112::-;7307:69:38;216:15528:64;3321:1:32;216:15528:64;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;7265:25:38;;;;;;;;;:::i;:::-;7307:69;;:::i;:::-;;2057:265:28:o;2208:28::-;;3321:1:32;2208:28:28;;2057:265;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;-1:-1:-1;;;;;;;;;;;1889:27:28;;;216:15528:64;;2208:15:28;;;:28;;;2204:112;;2057:265;;:::o;2208:28::-;;216:15528:64;2208:28:28;;216:15528:64;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;216:15528:64;;;;:::o;:::-;;;:::o;7671:628:38:-;;;;7875:418;;;216:15528:64;;;7906:22:38;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;216:15528:64;;8201:17:38;:::o;216:15528:64:-;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;;;;7875:418:38;216:15528:64;;;;-1:-1:-1;8980:21:38;:17;;9152:142;;;;;;;8976:379;216:15528:64;;-1:-1:-1;;;9324:20:38;;216:15528:64;;;9324:20:38;;;;;;:::i;216:15528:64:-;;;;:::o;:::-;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;;;5328:125:16;499:12:62;5328:125:16;5366:69;216:15528:64;5374:13:16;216:15528:64;;;;5366:69:16;:::i;216:15528:64:-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;525:604:62:-;1534:6:14;216:15528:64;-1:-1:-1;;;;;216:15528:64;707:33:62;;;;822:19;:::o;703:420::-;216:15528:64;;-1:-1:-1;;;876:40:62;;;216:15528:64;876:40:62;216:15528:64;876:40:62;;;744:1;;876:40;;;703:420;-1:-1:-1;872:241:62;;1079:19;;:::o;872:241::-;960:13;;;:::o;876:40::-;;;;;;;;;;;;;;;:::i;:::-;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;;;3246:506:16;;;;;3302:13;216:15528:64;;;;404:115:62;216:15528:64;;;;;3301:14:16;3347:34;;;;;;3246:506;3346:108;;;;3246:506;3325:201;;;:::i;:::-;216:15528:64;;;;;;;;;;;3562:65:16;;3246:506;404:115:62;;:::i;:::-;1889:111:17;;:::i;:::-;2838:65:12;;:::i;:::-;9705:18:63;;:::i;:::-;9762:19;;;;;216:15528:64;9754:28:63;;216:15528:64;;;;:::i;9754:28:63:-;;:::i;:::-;9812:19;;;9793:39;;216:15528:64;;;;:::i;9793:39:63:-;9861:12;216:15528:64;;;;:::i;9861:12:63:-;9903:23;;;;216:15528:64;;;;:::i;9903:23:63:-;10078:33;216:15528:64;9942:20:63;;;216:15528:64;;;9938:95:63;;3246:506:16;10042:26:63;10049:19;216:15528:64;;;;:::i;10049:19:63:-;10042:26;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;10078:33:63;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;10078:33:63;10125:27;;;;;216:15528:64;;10125:32:63;10121:89;;216:15528:64;10470:41:63;216:15528:64;10578:26:63;216:15528:64;10323:37:63;216:15528:64;10339:21:63;216:15528:64;10278:35:63;216:15528:64;;10219:49:63;10615:47;216:15528:64;;10219:49:63;216:15528:64;;10219:49:63;216:15528:64;10278:35:63;216:15528:64;;;;;;;;;;;;;;;;;10323:37:63;216:15528:64;10386:21:63;;;;216:15528:64;:::i;:::-;;10436:23:63;;;;216:15528:64;:::i;:::-;9812:19:63;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;10470:41:63;10521:33;216:15528:64;10535:19:63;;;216:15528:64;;:::i;:::-;10323:37:63;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;10578:26:63;10564:40;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;10615:47:63;:::i;:::-;10694:18;216:15528:64;10694:16:63;216:15528:64;10042:26:63;216:15528:64;;:::i;10694:16:63:-;216:15528:64;;-1:-1:-1;;;10694:18:63;;216:15528:64;;;;;10694:18:63;;;;;;10673:40;10694:18;;;;;3246:506:16;-1:-1:-1;10673:40:63;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;10673:40:63;10812:20;216:15528:64;10564:40:63;216:15528:64;;:::i;10812:20:63:-;:32;;;:20;;10887:16;;11508:106;10887:16;11245:74;10887:16;;:::i;:::-;10942:10;10917:35;10942:10;10917:35;;;:::i;:::-;;:::i;:::-;11245:74;11265:30;216:15528:64;;11265:30:63;:::i;:::-;11245:74;;:::i;:::-;11329:67;11391:4;11329:67;11349:30;216:15528:64;;11349:30:63;:::i;11329:67::-;216:15528:64;;11508:22:63;216:15528:64;10673:40:63;216:15528:64;;:::i;11508:22:63:-;689:66:28;11531:13:63;;;216:15528:64;11561:16:63;;;;;;;216:15528:64;;689:66:28;;;;;;;;;;11508:106:63;;11391:4;11508:106;10694:18;11508:106;;;:::i;:::-;;;;;;;;;;11484:130;11718:50;11508:106;11672:36;11508:106;216:15528:64;11508:106:63;11784:63;11508:106;;;;10808:427;11484:130;;;216:15528:64;;11484:130:63;216:15528:64;:::i;:::-;11672:36:63;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;11672:36:63;11718:50;216:15528:64;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;11718:50:63;11484:130;216:15528:64;11830:16:63;;216:15528:64;11784:63:63;216:15528:64;;11784:63:63;;;;;:::i;:::-;;;;3647:99:16;;3246:506;:::o;3647:99::-;-1:-1:-1;;;;;;;;;;;3681:21:16;;216:15528:64;;4882:13:16;216:15528:64;;4882:13:16;216:15528:64;;3681:21:16;216:15528:64;3551:1:16;216:15528:64;;;;;;3721:14:16;;;;3246:506::o;11508:106:63:-;;;;;;-1:-1:-1;11508:106:63;;;;;;:::i;:::-;;;;;10808:427;216:15528:64;;-1:-1:-1;;;11009:23:63;;216:15528:64;;11009:23:63;216:15528:64;10694:18:63;216:15528:64;;11009:23:63;;;;;;;;;;;10808:427;216:15528:64;11068:32:63;11082:17;216:15528:64;;11082:17:63;:::i;:::-;11068:32;:::i;:::-;11119:13;;;216:15528:64;;;11114:111:63;10808:427;;;;11245:74;11508:106;10808:427;;;;11153:3;216:15528:64;;11134:17:63;;;;;11201:9;11176:34;11201:9;;11153:3;11201:9;;;:::i;:::-;11176:34;;;;:::i;11153:3::-;11119:13;;;11134:17;;;11009:23;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;10694:18;;;;;;;;;;;;;;:::i;:::-;;;;10121:89;216:15528:64;;-1:-1:-1;;;10180:19:63;;;;;9938:95;10002:19;216:15528:64;10002:19:63;;;216:15528:64;;:::i;10002:19:63:-;9938:95;;3562:65:16;-1:-1:-1;;216:15528:64;;;;;3562:65:16;;;3346:108;3426:4;;1702:19:38;:23;3387:66:16;;3346:108;3387:66;-1:-1:-1;216:15528:64;;;3452:1:16;3436:17;3346:108;;3347:34;216:15528:64;3380:1:16;216:15528:64;;;3365:16:16;3347:34;;216:15528:64;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;10370:37:63;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;:::o;:::-;;;10417:42:63;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;216:15528:64;;;;10370:37:63;216:15528:64;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;216:15528:64;;;;;10370:37:63;216:15528:64;;-1:-1:-1;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;10417:42:63;216:15528:64;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;10417:42:63;216:15528:64;;-1:-1:-1;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;216:15528:64;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;:::o;:::-;-1:-1:-1;;;;;216:15528:64;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;10901:1:63;216:15528:64;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;-1:-1:-1;;216:15528:64;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;216:15528:64;;;;;;;;:::o;:::-;-1:-1:-1;;216:15528:64;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;10370:37:63;216:15528:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;216:15528:64;;;;-1:-1:-1;216:15528:64;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;216:15528:64;;;;-1:-1:-1;216:15528:64;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;216:15528:64;;;;-1:-1:-1;;;216:15528:64;;;;11625:36:63;216:15528:64;;;;;;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;;-1:-1:-1;216:15528:64;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;5328:125:16:-;5366:69;216:15528:64;5374:13:16;216:15528:64;;;;5366:69:16;:::i;7523:247:12:-;-1:-1:-1;;;;;;;;;;;2365:4:12;216:15528:64;;;4955:6:12;216:15528:64;;4955:22:12;216:15528:64;;;;;;2365:4:12;;7711:52;2365:4;;7711:52;7523:247::o;5328:125:16:-;5366:69;216:15528:64;5374:13:16;216:15528:64;;;;5366:69:16;;;:::i;:::-;;:::i;:::-;1808:1:17;2086:22;216:15528:64;5328:125:16:o;8639:133:63:-;-1:-1:-1;;;;;216:15528:64;8713:22:63;8709:56;;8639:133::o;8709:56::-;216:15528:64;;-1:-1:-1;;;8744:21:63;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12805:14:63;216:15528:64;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;216:15528:64;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;12688:1:63;216:15528:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12398:661:63:-;;;;;4436:42;;-1:-1:-1;;;;;216:15528:64;;12666:65:63;;12398:661;12907:19;;12740:20;216:15528:64;;12688:1:63;216:15528:64;;:::i;:::-;;12839:134:63;:33;216:15528:64;12839:4:63;216:15528:64;;:::i;12839:33:63:-;216:15528:64;12907:19:63;12886:9;216:15528:64;;;;12907:19:63;;;;;;;:::i;:::-;;216:15528:64;;12907:19:63;;;;;;:::i;:::-;216:15528:64;;;689:66:28;;;;;;;;;;12839:134:63;;;;;;:::i;:::-;;;;;;;;;;12989:63;12839:134;12688:1;12839:134;;;12398:661;12830:143;12989:63;12830:143;;216:15528:64;;;13027:4:63;;;;12989:63;;;:::i;12839:134::-;12989:63;12839:134;;;;;12907:19;12839:134;;;;;;;;;:::i;:::-;;;;;12666:65;12706:14;;-1:-1:-1;12666:65:63;;216:15528:64;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;:::i;:::-;;;:::o;:::-;;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;216:15528:64;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;:::o;7933:157:63:-;216:15528:64;;;;;;;;-1:-1:-1;216:15528:64;20502:19:63;216:15528:64;;;;20547:22:63;-1:-1:-1;216:15528:64;20547:22:63;216:15528:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20547:22:63;216:15528:64;;;;;8009:75:63;;7933:157::o;8096:163::-;-1:-1:-1;;;;;216:15528:64;-1:-1:-1;216:15528:64;;;8173:17:63;216:15528:64;;;;;;;;8172:29:63;8168:85;;8096:163::o;8168:85::-;216:15528:64;;-1:-1:-1;;;8224:18:63;;;;;216:15528:64;;;;;;;-1:-1:-1;;216:15528:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;14963:433:63;;;216:15528:64;;;;;;;;-1:-1:-1;216:15528:64;15097:18:63;216:15528:64;;;-1:-1:-1;216:15528:64;-1:-1:-1;15183:3:63;216:15528:64;;15154:27:63;;;;;;;15206:19;;;;:::i;:::-;216:15528:64;;;;;;;;;;;;;15206:32:63;15202:178;;15183:3;;;;;;:::i;:::-;15139:13;;15202:178;-1:-1:-1;;216:15528:64;;;;;;;15183:3:63;15280:45;;;;;;:::i;:::-;216:15528:64;;;;;;;15258:19:63;;;;:::i;:::-;216:15528:64;;;;;:::i;:::-;;;15343:20:63;;;:::i;:::-;15202:178;;;15154:27;;;;;;;14963:433::o;2601:287:17:-;1851:1;2733:7;216:15528:64;2733:19:17;1851:1;;;2733:7;216:15528:64;2601:287:17:o;1851:1::-;216:15528:64;;-1:-1:-1;;;1851:1:17;;;;;;;;;;;216:15528:64;1851:1:17;216:15528:64;;;1851:1:17;;;;1355:203:37;;1482:68;1355:203;1482:68;;1355:203;216:15528:64;;689:66:28;;;;;;1482:68:37;;;;;;;;:::i;:::-;;216:15528:64;;1482:68:37;;;;;;:::i;:::-;216:15528:64;;5535:69:38;;-1:-1:-1;;;;;216:15528:64;;;;:::i;:::-;-1:-1:-1;216:15528:64;;;;;;;;;;;5487:31:38;;;;;;;;;;;:::i;5535:69::-;216:15528:64;;5728:22:37;;;:56;;;;;5196:642;216:15528:64;;;;;;;5196:642:37;:::o;216:15528:64:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;5728:56:37;5754:30;;;;;;216:15528:64;;;;5754:30:37;;216:15528:64;;;;:::i;:::-;5728:56:37;;;;;7775:152:63;7857:10;-1:-1:-1;216:15528:64;20502:19:63;216:15528:64;;20547:22:63;-1:-1:-1;216:15528:64;;;20547:22:63;216:15528:64;;;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;20547:22:63;216:15528:64;;;;;;;7843:78:63;;7775:152::o;216:15528:64:-;;;;;;;;;;;;;;:::o;941:175:37:-;1050:58;;941:175;;1050:58;216:15528:64;;689:66:28;;;;;;1050:58:37;;;;;;;;:::i;1349:282:43:-;216:15528:64;;4592:71:43;;;;;1204:36:21;-1:-1:-1;1204:36:21;;;4592:71:43;;;;;;;;216:15528:64;4592:71:43;;;;;;:::i;:::-;4784:212;;;;;;;;-1:-1:-1;4784:212:43;5013:29;;;;1349:282;5013:48;;;;1349:282;975:149;;;;1349:282;1543:81;;;;;;1536:88;1349:282;:::o;1543:81::-;1570:54;;;;:::i;975:149::-;216:15528:64;;;;-1:-1:-1;216:15528:64;;;;;4592:71:43;;;;;;216:15528:64;;;4592:71:43;;;216:15528:64;4592:71:43;;;;;;:::i;:::-;4784:212;;;-1:-1:-1;4784:212:43;;;;;5013:29;;975:149;5013:48;;;;;975:149;1059:65;;975:149;;;;;;5013:48;5046:15;;;;5013:48;;;:29;5024:18;;;-1:-1:-1;5013:29:43;;;;:48;5046:15;;;-1:-1:-1;5013:48:43;;;:29;5024:18;-1:-1:-1;5024:18:43;;-1:-1:-1;5013:29:43;;;4421:647;-1:-1:-1;4592:71:43;4421:647;216:15528:64;;4592:71:43;;;1204:36:21;;;;4592:71:43;;17181:32:63;;;4592:71:43;;;216:15528:64;4592:71:43;;;;;;:::i;:::-;4784:212;;;;-1:-1:-1;4784:212:43;;5013:29;;;4421:647;5013:48;;;;5006:55;4421:647;:::o;5013:48::-;5046:15;;;;4421:647;:::o;5013:29::-;4592:71;-1:-1:-1;5024:18:43;;-1:-1:-1;5013:29:43;;;216:15528:64;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:66:28;;216:15528:64;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;689:66:28;216:15528:64;;;;;689:66:28;216:15528:64;;;;;:::o;7602:167:63:-;-1:-1:-1;;;;;;;;;;;;216:15528:64;3459:6:12;216:15528:64;;;3459:29:12;7690:10:63;-1:-1:-1;;;;;;;;;;;3459:29:12;:::i;:::-;216:15528:64;;7665:36:63;7661:102;;7602:167::o;7661:102::-;216:15528:64;;-1:-1:-1;;;7724:28:63;;7690:10;7724:28;;;216:15528:64;;;7724:28:63;18919:252;-1:-1:-1;;;;;216:15528:64;-1:-1:-1;216:15528:64;;;18994:17:63;216:15528:64;;;;;;;;;;;18990:85:63;;216:15528:64;;;19137:27:63;216:15528:64;-1:-1:-1;216:15528:64;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;19137:27:63;18919:252::o;18990:85::-;216:15528:64;;-1:-1:-1;;;19048:16:63;;;;;19420:194;216:15528:64;19581:26:63;19420:194;19510:9;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;19561:5:63;216:15528:64;;;19530:17:63;216:15528:64;;;;;;;;;-1:-1:-1;;216:15528:64;;;;;;;19581:26:63;19420:194::o;24261:474::-;;-1:-1:-1;216:15528:64;;;;;;;;;;24374:18:63;216:15528:64;;;;;;;;;:::i;:::-;24482:13:63;24526:3;216:15528:64;;24497:27:63;;;;;24657:52;:35;24672:19;;;;;:::i;24657:52::-;:61;;;;;;216:15528:64;;;689:66:28;;;;;24657:61:63;;;;;;;;;;;:::i;:::-;;;;;;;;;;24526:3;24657:61;;;24526:3;;:::i;:::-;24482:13;;24657:61;;;;;;:::i;:::-;;;;;216:15528:64;;;24497:27:63;;;;;;;24261:474::o;3594:421:64:-;216:15528;;;;3703:39;;216:15528;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;3703:39;;;216:15528;;;;:::i;:::-;;;;;;;;;;:::i;:::-;3703:39;216:15528;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3753:92;3771:74;3788:56;216:15528;3806:23;216:15528;;:::i;:::-;3831:12;216:15528;3831:12;;;;;:::i;:::-;;216:15528;;3831:12;3788:56;:::i;3771:74::-;3753:92;216:15528;;-1:-1:-1;;;;;;216:15528:64;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;3753:92;3855:26;216:15528;3753:92;216:15528;;:::i;3855:26::-;:28;;;;;;-1:-1:-1;216:15528:64;;3855:28;216:15528;;689:66:28;;;;;;;3855:28:64;;;;;;;;;3988:19;3855:28;;;3594:421;3988:19;;;:::i;3855:28::-;;;;;;:::i;:::-;;;;4749:279:3;;2273:565:15;4749:279:3;216:15528:64;;4867:36:3;;;4884:10;;216:15528:64;;;;;;;;;4867:36:3;;;;;:::i;:::-;216:15528:64;4857:47:3;;2273:565:15;;;;;;;;-1:-1:-1;2273:565:15;;;;4867:36:3;2273:565:15;;;-1:-1:-1;2273:565:15;-1:-1:-1;;;;;216:15528:64;;2855:22:15;216:15528:64;;4749:279:3;:::o;216:15528:64:-;;;-1:-1:-1;;;216:15528:64;;4867:36:3;216:15528:64;;;;;;;;;-1:-1:-1;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;216:15528:64;;;;-1:-1:-1;216:15528:64;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;216:15528:64;;;-1:-1:-1;;;216:15528:64;;;;;;;;-1:-1:-1;216:15528:64;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;6474:2230::-;6591:32;;;:::i;:::-;6637:14;;;216:15528;;;;;;;:::i;:::-;6637:45;;;;;:96;;;6474:2230;6633:167;;;6836:20;216:15528;6937:31;216:15528;;6866:22;;;;:::i;:::-;6836:20;216:15528;;6866:22;6937:31;:::i;:::-;6898:36;216:15528;;6898:36;:::i;:::-;216:15528;:::i;:::-;7016:36;216:15528;;7016:36;:::i;:::-;7338:21;;;;216:15528;;;;;7321:39;7365:32;7321:39;;;216:15528;;;;;:::i;:::-;7321:39;216:15528;7321:39;216:15528;;7321:39;;;;;;;;:::i;:::-;216:15528;7311:50;;:86;7365:32;;-1:-1:-1;;7445:20:64;;216:15528;;;-1:-1:-1;;;;;;;;;;;8616:81:64;7445:20;;8616:81;;8554:46;;216:15528;;-1:-1:-1;;216:15528:64;8571:29;216:15528;;;;8554:46;216:15528;;;8616:81;;;;;:::i;:::-;;;;6474:2230::o;7307:1237::-;7540:25;216:15528;;7496:39;;;216:15528;7496:39;216:15528;;;;;:::i;:::-;7496:39;;;;;;;;:::i;:::-;216:15528;7486:50;;:79;7540:25;;7606:20;;8616:81;7606:20;-1:-1:-1;;;;;;;;;;;7606:20:64;;;;7338:21;7606:20;8554:46;7606:20;;216:15528;7581:22;;216:15528;7482:1062;216:15528;;-1:-1:-1;;216:15528:64;8571:29;216:15528;;;;7482:1062;7701:26;216:15528;;7657:39;;;216:15528;7657:39;216:15528;;;;;:::i;7657:39::-;216:15528;7647:50;;:80;7701:26;;7769:20;;8616:81;7769:20;7743:46;-1:-1:-1;;;;;;;;;;;7769:20:64;;;;7743:23;216:15528;7769:20;8554:46;7769:20;;216:15528;;;;;;7743:23;;:46;:::i;7643:901::-;7864:24;216:15528;;7820:39;;;216:15528;7820:39;216:15528;;;;;:::i;7820:39::-;216:15528;7810:50;;:78;7864:24;;7928:23;;8616:81;7928:23;7904:47;-1:-1:-1;;;;;;;;;;;7928:23:64;;;;7904:21;216:15528;7928:23;8554:46;7928:23;;216:15528;;:::i;:::-;7904:21;;:47;:::i;7806:738::-;8026:24;216:15528;;7982:39;;;216:15528;7982:39;216:15528;;;;;:::i;7982:39::-;216:15528;7972:50;;:78;8026:24;;8096:23;;8616:81;8096:23;8066:54;-1:-1:-1;;;;;;;;;;;8096:23:64;;;;;8090:30;216:15528;8096:23;8554:46;8096:23;;216:15528;;:::i;7968:576::-;8195:26;216:15528;;8151:39;;;216:15528;8151:39;216:15528;;;;;:::i;8151:39::-;216:15528;8141:50;;:80;8195:26;;8263:22;;8616:81;8263:22;216:15528;-1:-1:-1;;;;;;;;;;;8263:22:64;;;;;;8554:46;8263:22;;8237:23;;216:15528;:::i;8137:407::-;216:15528;8360:29;216:15528;8316:39;216:15528;;8316:39;;;216:15528;;;;;;:::i;:::-;8316:39;;;;;;;;:::i;:::-;216:15528;8306:50;;:83;8360:29;;8616:81;8434:22;216:15528;-1:-1:-1;;;;;;;;;;;8434:22:64;;;;8405:26;8434:22;8554:46;8434:22;;8405:26;;216:15528;:::i;8302:242::-;216:15528;;-1:-1:-1;;;8494:39:64;;216:15528;8494:39;216:15528;8494:39;;;;:::i;6633:167::-;216:15528;;-1:-1:-1;;;6756:33:64;;;;;216:15528;;;;;1252:35:62;6637:96:64;6704:29;216:15528;;;;;:::i;:::-;6686:47;6637:96;;;216:15528;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;216:15528:64;;;;;;;;-1:-1:-1;;216:15528:64;;;;:::o;:::-;;;;;2980:1;216:15528;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;216:15528:64;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13368:2374::-;13485:30;;;216:15528;;-1:-1:-1;;;;;216:15528:64;13485:30;216:15528;;;;;:::i;:::-;;13485:44;;;:99;;;;13368:2374;13485:1137;;;13368:2374;13468:2268;;;13368:2374;;;:::o;13468:2268::-;14686:30;216:15528;;;14668:49;:62;216:15528;14668:49;;;:::i;:::-;:62;;:::i;:::-;216:15528;14668:96;216:15528;;;;:::i;14668:96::-;216:15528;;14668:96;;;;:212;;;13468:2268;14647:522;;;;13468:2268;15318:407;216:15528;15183:32;;-1:-1:-1;;;;;;;;;;;216:15528:64;;15183:32;:::i;:::-;14686:30;216:15528;;15183:32;216:15528;;15229:49;216:15528;;15229:49;:::i;:::-;216:15528;:::i;:::-;;;;;;;;:::i;:::-;;;;:::i;:::-;15501:43;;;;216:15528;15562:44;;;216:15528;15624:31;216:15528;15624:31;;;216:15528;15673:38;;216:15528;;15501:43;216:15528;15318:407;;;;216:15528;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14647:522;14913:41;216:15528;;;;:::i;14913:41::-;216:15528;;;;;:::i;:::-;14913:73;;;;;;216:15528;;-1:-1:-1;;;14913:73:64;;216:15528;13527:1;;216:15528;;;;13527:1;;216:15528;;14913:73;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14913:73:64;15318:407;14913:73;;;14647:522;216:15528;15009:145;15067:37;216:15528;;;;:::i;15067:37::-;216:15528;;;;:::i;:::-;;15009:145;216:15528;;15060:4;;;;15009:145;;:::i;:::-;;;;14647:522;;;;;14913:73;;;;;;:::i;:::-;;;;14668:212;14788:60;:49;;;;;;:::i;:60::-;216:15528;14788:92;216:15528;;;;:::i;14788:92::-;216:15528;;14788:92;;14668:212;;;;13485:1137;13678:30;216:15528;;-1:-1:-1;13626:96:64;13660:62;216:15528;13660:49;216:15528;13660:49;:::i;13626:96::-;;;;;:216;;;13485:1137;13626:394;;;;13485:1137;13626:574;;;;13485:1137;13626:700;;;;13485:1137;13626:868;;;;13485:1137;13626:978;;;;13485:1137;;;;;13626:978;14522:23;;14549:55;:49;14522:23;;;216:15528;14549:49;;:::i;:::-;:55;216:15528;14522:82;;13626:978;;;:868;14354:38;;216:15528;14354:38;;216:15528;14424:70;:49;;;:::i;:::-;:70;216:15528;14354:140;;13626:868;;;:700;14228:31;;;;;216:15528;14263:63;:49;;;:::i;:::-;:63;216:15528;14228:98;;13626:700;;;:574;14048:44;;;;;216:15528;14124:76;:49;;;:::i;:::-;:76;216:15528;14048:152;;13626:574;;;:394;13870:43;;;;;216:15528;13945:75;:49;;;:::i;:::-;:75;216:15528;13870:150;;13626:394;;;:216;216:15528;;;;;;:::i;:::-;13782:49;13750:92;13782:60;:49;;;:::i;13750:92::-;216:15528;;13750:92;;13626:216;;;13485:99;216:15528;;13533:51;:37;216:15528;;;;:::i;13533:51::-;;;13485:99;;","linkReferences":{},"immutableReferences":{"16633":[{"start":7829,"length":32},{"start":8466,"length":32},{"start":9408,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","RULING_OPTIONS()":"626c47e8","VERSION()":"ffa1ad74","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","arbitrableConfigs(uint256)":"41bb7605","changeRequestCounter()":"c642e344","cloneNonce()":"33960459","collateralVault()":"0bece79c","collateralVaultTemplate()":"77122d56","communityFee()":"8961be6b","communityName()":"c6d572ae","configChangeRequests(uint256)":"0392fd5d","configurations(uint256)":"8749e26f","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createChangeRequest(string,uint256,address,string,bool)":"5804663b","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"524e59e8","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"e16d0e32","currentArbitrableConfigVersion()":"125fd1d9","currentConfigVersion()":"bb290b5b","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","disputeChangeRequest(uint256,string,bytes)":"d28afd48","disputeCounter()":"7d36f4d3","disputeIdToRequestId(uint256)":"ff79dd51","disputes(uint256)":"564a565d","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","finalizeChangeRequest(uint256)":"d3f6b05b","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string),address,address,address)":"34196355","initialize(address)":"c4d66de8","initializeV2(bytes)":"66d721bd","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","rule(uint256,uint256)":"311a6c56","setBasisStakedAmount(uint256)":"31f61bca","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","setStrategyTemplate(address)":"1b71f0e4","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"}],\"name\":\"ChangeAlreadyExecuted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"}],\"name\":\"ChangeRequestNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"}],\"name\":\"ChangeRequestNotInList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requiredAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitratorCanRule\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"}],\"name\":\"StillInDelayPeriod\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_parameterName\",\"type\":\"string\"}],\"name\":\"UnknownParameter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentArbitrableConfigVersion\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"name\":\"ArbitrableConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"changeRequestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ChangeRequestDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_arbitrableDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_externalDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_templateId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_templateUri\",\"type\":\"string\"}],\"name\":\"DisputeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"parameter\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"ParameterChangeFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"parameter\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ParameterChangeRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"}],\"name\":\"TribunaSafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RULING_OPTIONS\",\"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\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"arbitrableConfigs\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"changeRequestCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVault\",\"outputs\":[{\"internalType\":\"contract ICollateralVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"configChangeRequests\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"parameterName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"newUintValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"newAddressValue\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newStringValue\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"newBoolValue\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enum RegistryCommunityV0_1.ChangeRequestlStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_1.DisputeInfo\",\"name\":\"disputeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"configurations\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"communityFee\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeReceiver\",\"type\":\"address\"},{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"communityName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"parameterName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"newUintValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"newAddressValue\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newStringValue\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"newBoolValue\",\"type\":\"bool\"}],\"name\":\"createChangeRequest\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentArbitrableConfigVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentConfigVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_changeRequestId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_context\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"disputeChangeRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputeIdToRequestId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputes\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"externalDisputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"templateId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"templateUri\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"}],\"name\":\"finalizeChangeRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeRequest(address,uint256,uint256,uint256,string)\":{\"details\":\"To be emitted when a dispute is created to link the correct meta-evidence to the disputeID.\",\"params\":{\"_arbitrableDisputeID\":\"The identifier of the dispute in the Arbitrable contract.\",\"_arbitrator\":\"The arbitrator of the contract.\",\"_externalDisputeID\":\"An identifier created outside Kleros by the protocol requesting arbitration.\",\"_templateId\":\"The identifier of the dispute template. Should not be used with _templateUri.\",\"_templateUri\":\"The URI to the dispute template. For example on IPFS: starting with '/ipfs/'. Should not be used with _templateId.\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrator\":\"The arbitrator giving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"createChangeRequest(string,uint256,address,string,bool)\":{\"params\":{\"newAddressValue\":\"New value if it's an address type\",\"newBoolValue\":\"New value if it's a bool type\",\"newStringValue\":\"New value if it's a string type\",\"newUintValue\":\"New value if it's a uint type\",\"parameterName\":\"The name of the parameter to change\"}},\"disputeChangeRequest(uint256,string,bytes)\":{\"details\":\"Allows a user to request a dispute with a specific arbitrator.\",\"params\":{\"_changeRequestId\":\"The id of the change request.\",\"_context\":\"The context for the dispute.\",\"_extraData\":\"Extra data for the aribtrator.\"}},\"finalizeChangeRequest(uint256)\":{\"params\":{\"_requestId\":\"The ID of the change request\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"rule(uint256,uint256)\":{\"details\":\"Function to give a ruling for a dispute. Only callable by the arbitrator.\",\"params\":{\"_disputeID\":\"The identifier of the dispute in this contract.\",\"_ruling\":\"The ruling given by the arbitrator.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"collateralVaultTemplate()\":{\"notice\":\"The address of the collateral vault template\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"createChangeRequest(string,uint256,address,string,bool)\":{\"notice\":\"Function to create a change request for a parameter\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"finalizeChangeRequest(uint256)\":{\"notice\":\"Finalize the parameter change after the delay period has passed\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"initializeV2(bytes)\":{\"notice\":\"Initialize the new version (v2) of the contract.\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":\"RegistryCommunityV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0xd8f86796d48402aebf778bf0764b75dcba2924092d33b8fea29b2c3688b83f1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://63ba6960cc3b30d90294c574977bbc07915269267ea1d3477f36ffb92e1b272e\",\"dweb:/ipfs/QmesCAMxdPxu4Bp7aQs9Ac4RdhgPnWy3EMSZ2hep2KtBAh\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[{"internalType":"uint256","name":"_requestId","type":"uint256"}],"type":"error","name":"ChangeAlreadyExecuted"},{"inputs":[{"internalType":"uint256","name":"_requestId","type":"uint256"}],"type":"error","name":"ChangeRequestNotActive"},{"inputs":[{"internalType":"uint256","name":"_requestId","type":"uint256"}],"type":"error","name":"ChangeRequestNotInList"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[{"internalType":"uint256","name":"_sentAmount","type":"uint256"},{"internalType":"uint256","name":"_requiredAmount","type":"uint256"}],"type":"error","name":"InsufficientCollateral"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"OnlyArbitratorCanRule"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[{"internalType":"uint256","name":"_requestId","type":"uint256"}],"type":"error","name":"StillInDelayPeriod"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[{"internalType":"string","name":"_parameterName","type":"string"}],"type":"error","name":"UnknownParameter"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"currentArbitrableConfigVersion","type":"uint256","indexed":false},{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRuling","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256","indexed":false}],"type":"event","name":"ArbitrableConfigUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"uint256","name":"changeRequestId","type":"uint256","indexed":false},{"internalType":"uint256","name":"disputeId","type":"uint256","indexed":false},{"internalType":"address","name":"challenger","type":"address","indexed":false},{"internalType":"string","name":"context","type":"string","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ChangeRequestDisputed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_arbitrableDisputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_externalDisputeID","type":"uint256","indexed":false},{"internalType":"uint256","name":"_templateId","type":"uint256","indexed":false},{"internalType":"string","name":"_templateUri","type":"string","indexed":false}],"type":"event","name":"DisputeRequest","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256","indexed":true},{"internalType":"string","name":"parameter","type":"string","indexed":false},{"internalType":"uint256","name":"version","type":"uint256","indexed":false}],"type":"event","name":"ParameterChangeFinalized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256","indexed":true},{"internalType":"string","name":"parameter","type":"string","indexed":false},{"internalType":"uint256","name":"version","type":"uint256","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ParameterChangeRequested","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false}],"type":"event","name":"TribunaSafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RULING_OPTIONS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"arbitrableConfigs","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"},{"internalType":"uint256","name":"delay","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"changeRequestCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVault","outputs":[{"internalType":"contract ICollateralVault","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"configChangeRequests","outputs":[{"internalType":"uint256","name":"requestId","type":"uint256"},{"internalType":"string","name":"parameterName","type":"string"},{"internalType":"uint256","name":"newUintValue","type":"uint256"},{"internalType":"address","name":"newAddressValue","type":"address"},{"internalType":"string","name":"newStringValue","type":"string"},{"internalType":"bool","name":"newBoolValue","type":"bool"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"enum RegistryCommunityV0_1.ChangeRequestlStatus","name":"status","type":"uint8"},{"internalType":"struct RegistryCommunityV0_1.DisputeInfo","name":"disputeInfo","type":"tuple","components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"disputeTimestamp","type":"uint256"},{"internalType":"address","name":"challenger","type":"address"}]},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"configurations","outputs":[{"internalType":"uint256","name":"registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"communityFee","type":"uint256"},{"internalType":"bool","name":"isKickEnabled","type":"bool"},{"internalType":"address","name":"feeReceiver","type":"address"},{"internalType":"contract ISafe","name":"councilSafe","type":"address"},{"internalType":"string","name":"communityName","type":"string"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"parameterName","type":"string"},{"internalType":"uint256","name":"newUintValue","type":"uint256"},{"internalType":"address","name":"newAddressValue","type":"address"},{"internalType":"string","name":"newStringValue","type":"string"},{"internalType":"bool","name":"newBoolValue","type":"bool"}],"stateMutability":"payable","type":"function","name":"createChangeRequest"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentArbitrableConfigVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentConfigVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"uint256","name":"_changeRequestId","type":"uint256"},{"internalType":"string","name":"_context","type":"string"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"disputeChangeRequest","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputeIdToRequestId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputes","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"uint256","name":"externalDisputeID","type":"uint256"},{"internalType":"uint256","name":"templateId","type":"uint256"},{"internalType":"string","name":"templateUri","type":"string"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_requestId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"finalizeChangeRequest"},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rule"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"createChangeRequest(string,uint256,address,string,bool)":{"params":{"newAddressValue":"New value if it's an address type","newBoolValue":"New value if it's a bool type","newStringValue":"New value if it's a string type","newUintValue":"New value if it's a uint type","parameterName":"The name of the parameter to change"}},"disputeChangeRequest(uint256,string,bytes)":{"details":"Allows a user to request a dispute with a specific arbitrator.","params":{"_changeRequestId":"The id of the change request.","_context":"The context for the dispute.","_extraData":"Extra data for the aribtrator."}},"finalizeChangeRequest(uint256)":{"params":{"_requestId":"The ID of the change request"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"rule(uint256,uint256)":{"details":"Function to give a ruling for a dispute. Only callable by the arbitrator.","params":{"_disputeID":"The identifier of the dispute in this contract.","_ruling":"The ruling given by the arbitrator."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"collateralVaultTemplate()":{"notice":"The address of the collateral vault template"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"createChangeRequest(string,uint256,address,string,bool)":{"notice":"Function to create a change request for a parameter"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"finalizeChangeRequest(uint256)":{"notice":"Finalize the parameter change after the delay period has passed"},"gardenToken()":{"notice":"The token used to stake in the community"},"initializeV2(bytes)":{"notice":"Initialize the new version (v2) of the contract."},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":"RegistryCommunityV0_1"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0xd8f86796d48402aebf778bf0764b75dcba2924092d33b8fea29b2c3688b83f1f","urls":["bzz-raw://63ba6960cc3b30d90294c574977bbc07915269267ea1d3477f36ffb92e1b272e","dweb:/ipfs/QmesCAMxdPxu4Bp7aQs9Ac4RdhgPnWy3EMSZ2hep2KtBAh"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":14129,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":14132,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":14756,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":13921,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":14041,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":14306,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":14375,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":15030,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":13528,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)13523_storage)"},{"astId":13835,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":30258,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registerStakeAmount","offset":0,"slot":"251","type":"t_uint256"},{"astId":30261,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"communityFee","offset":0,"slot":"252","type":"t_uint256"},{"astId":30264,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"cloneNonce","offset":0,"slot":"253","type":"t_uint256"},{"astId":30267,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"profileId","offset":0,"slot":"254","type":"t_bytes32"},{"astId":30270,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"isKickEnabled","offset":0,"slot":"255","type":"t_bool"},{"astId":30273,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"feeReceiver","offset":1,"slot":"255","type":"t_address"},{"astId":30276,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registryFactory","offset":0,"slot":"256","type":"t_address"},{"astId":30279,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"collateralVaultTemplate","offset":0,"slot":"257","type":"t_address"},{"astId":30282,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"strategyTemplate","offset":0,"slot":"258","type":"t_address"},{"astId":30285,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":30289,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)506"},{"astId":30293,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)17398"},{"astId":30297,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)33359"},{"astId":30301,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)33092"},{"astId":30304,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":30307,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":30312,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":30319,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":30325,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)30466_storage)"},{"astId":30331,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":30338,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":30342,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":31983,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"},{"astId":32169,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"currentArbitrableConfigVersion","offset":0,"slot":"322","type":"t_uint256"},{"astId":32171,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"currentConfigVersion","offset":0,"slot":"323","type":"t_uint256"},{"astId":32173,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"changeRequestCounter","offset":0,"slot":"324","type":"t_uint256"},{"astId":32176,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"collateralVault","offset":0,"slot":"325","type":"t_contract(ICollateralVault)33266"},{"astId":32181,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"arbitrableConfigs","offset":0,"slot":"326","type":"t_mapping(t_uint256,t_struct(ArbitrableConfig)32112_storage)"},{"astId":32186,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"configurations","offset":0,"slot":"327","type":"t_mapping(t_uint256,t_struct(ConfigParameters)32128_storage)"},{"astId":32191,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"configChangeRequests","offset":0,"slot":"328","type":"t_mapping(t_uint256,t_struct(ConfigChangeRequest)32160_storage)"},{"astId":32195,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"disputeIdToRequestId","offset":0,"slot":"329","type":"t_mapping(t_uint256,t_uint256)"},{"astId":32200,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"disputes","offset":0,"slot":"330","type":"t_mapping(t_uint256,t_struct(ArbitrableDispute)32096_storage)"},{"astId":32202,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"disputeCounter","offset":0,"slot":"331","type":"t_uint256"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)33092":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IArbitrator)33233":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ICollateralVault)33266":{"encoding":"inplace","label":"contract ICollateralVault","numberOfBytes":"20"},"t_contract(IERC20)17398":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)506":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)33359":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_enum(ChangeRequestlStatus)32086":{"encoding":"inplace","label":"enum RegistryCommunityV0_1.ChangeRequestlStatus","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)30466_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunityV0_0.Member)","numberOfBytes":"32","value":"t_struct(Member)30466_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)13523_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)13523_storage"},"t_mapping(t_uint256,t_struct(ArbitrableConfig)32112_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig)","numberOfBytes":"32","value":"t_struct(ArbitrableConfig)32112_storage"},"t_mapping(t_uint256,t_struct(ArbitrableDispute)32096_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableDispute)","numberOfBytes":"32","value":"t_struct(ArbitrableDispute)32096_storage"},"t_mapping(t_uint256,t_struct(ConfigChangeRequest)32160_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigChangeRequest)","numberOfBytes":"32","value":"t_struct(ConfigChangeRequest)32160_storage"},"t_mapping(t_uint256,t_struct(ConfigParameters)32128_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigParameters)","numberOfBytes":"32","value":"t_struct(ConfigParameters)32128_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(ArbitrableConfig)32112_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_1.ArbitrableConfig","numberOfBytes":"224","members":[{"astId":32099,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)33233"},{"astId":32101,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"tribunalSafe","offset":0,"slot":"1","type":"t_address"},{"astId":32103,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"submitterCollateralAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":32105,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"challengerCollateralAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":32107,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"defaultRuling","offset":0,"slot":"4","type":"t_uint256"},{"astId":32109,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"defaultRulingTimeout","offset":0,"slot":"5","type":"t_uint256"},{"astId":32111,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"delay","offset":0,"slot":"6","type":"t_uint256"}]},"t_struct(ArbitrableDispute)32096_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_1.ArbitrableDispute","numberOfBytes":"128","members":[{"astId":32089,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)33233"},{"astId":32091,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"externalDisputeID","offset":0,"slot":"1","type":"t_uint256"},{"astId":32093,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"templateId","offset":0,"slot":"2","type":"t_uint256"},{"astId":32095,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"templateUri","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(ConfigChangeRequest)32160_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_1.ConfigChangeRequest","numberOfBytes":"416","members":[{"astId":32137,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"requestId","offset":0,"slot":"0","type":"t_uint256"},{"astId":32139,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"parameterName","offset":0,"slot":"1","type":"t_string_storage"},{"astId":32141,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"newUintValue","offset":0,"slot":"2","type":"t_uint256"},{"astId":32143,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"newAddressValue","offset":0,"slot":"3","type":"t_address"},{"astId":32145,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"newStringValue","offset":0,"slot":"4","type":"t_string_storage"},{"astId":32147,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"newBoolValue","offset":0,"slot":"5","type":"t_bool"},{"astId":32149,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"timestamp","offset":0,"slot":"6","type":"t_uint256"},{"astId":32152,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"status","offset":0,"slot":"7","type":"t_enum(ChangeRequestlStatus)32086"},{"astId":32155,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"disputeInfo","offset":0,"slot":"8","type":"t_struct(DisputeInfo)32135_storage"},{"astId":32157,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"arbitrableConfigVersion","offset":0,"slot":"11","type":"t_uint256"},{"astId":32159,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"submitter","offset":0,"slot":"12","type":"t_address"}]},"t_struct(ConfigParameters)32128_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_1.ConfigParameters","numberOfBytes":"192","members":[{"astId":32114,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registerStakeAmount","offset":0,"slot":"0","type":"t_uint256"},{"astId":32116,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"communityFee","offset":0,"slot":"1","type":"t_uint256"},{"astId":32118,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"isKickEnabled","offset":0,"slot":"2","type":"t_bool"},{"astId":32120,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"feeReceiver","offset":1,"slot":"2","type":"t_address"},{"astId":32123,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"councilSafe","offset":0,"slot":"3","type":"t_contract(ISafe)33359"},{"astId":32125,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"communityName","offset":0,"slot":"4","type":"t_string_storage"},{"astId":32127,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"covenantIpfsHash","offset":0,"slot":"5","type":"t_string_storage"}]},"t_struct(DisputeInfo)32135_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_1.DisputeInfo","numberOfBytes":"96","members":[{"astId":32130,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"disputeId","offset":0,"slot":"0","type":"t_uint256"},{"astId":32132,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"disputeTimestamp","offset":0,"slot":"1","type":"t_uint256"},{"astId":32134,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"challenger","offset":0,"slot":"2","type":"t_address"}]},"t_struct(Member)30466_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_0.Member","numberOfBytes":"96","members":[{"astId":30461,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":30463,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":30465,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)13523_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":13520,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":13522,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","id":33052,"exportedSymbols":{"AccessControlUpgradeable":[13836],"CVStrategyV0_0":[29818],"Clone":[706],"ERC165Checker":[18752],"ERC1967Proxy":[16082],"FAllo":[33092],"IAllo":[314],"IArbitrable":[33129],"IArbitrator":[33233],"ICollateralVault":[33266],"IERC20":[17398],"IPointStrategy":[26144],"IRegistry":[506],"IRegistryFactory":[29833],"ISafe":[33359],"Metadata":[802],"ProxyOwnableUpgrader":[30015],"ReentrancyGuardUpgradeable":[14376],"RegistryCommunityV0_0":[31984],"RegistryCommunityV0_1":[33051],"SafeERC20":[17835],"StrategyStruct":[26266],"UUPSUpgradeable":[16733],"Upgrades":[22009]},"nodeType":"SourceUnit","src":"42:15703:64","nodes":[{"id":31986,"nodeType":"PragmaDirective","src":"42:24:64","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":31987,"nodeType":"ImportDirective","src":"68:37:64","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":33052,"sourceUnit":31985,"symbolAliases":[],"unitAlias":""},{"id":31988,"nodeType":"ImportDirective","src":"106:39:64","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":33052,"sourceUnit":33130,"symbolAliases":[],"unitAlias":""},{"id":31990,"nodeType":"ImportDirective","src":"146:68:64","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":33052,"sourceUnit":33267,"symbolAliases":[{"foreign":{"id":31989,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33266,"src":"154:16:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":33051,"nodeType":"ContractDefinition","src":"216:15528:64","nodes":[{"id":31998,"nodeType":"ErrorDefinition","src":"291:49:64","nodes":[],"errorSelector":"10da4e36","name":"ChangeRequestNotInList","nameLocation":"297:22:64","parameters":{"id":31997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31996,"mutability":"mutable","name":"_requestId","nameLocation":"328:10:64","nodeType":"VariableDeclaration","scope":31998,"src":"320:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31995,"name":"uint256","nodeType":"ElementaryTypeName","src":"320:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"319:20:64"}},{"id":32002,"nodeType":"ErrorDefinition","src":"345:49:64","nodes":[],"errorSelector":"9b2948bc","name":"ChangeRequestNotActive","nameLocation":"351:22:64","parameters":{"id":32001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32000,"mutability":"mutable","name":"_requestId","nameLocation":"382:10:64","nodeType":"VariableDeclaration","scope":32002,"src":"374:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31999,"name":"uint256","nodeType":"ElementaryTypeName","src":"374:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"373:20:64"}},{"id":32008,"nodeType":"ErrorDefinition","src":"399:75:64","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"405:22:64","parameters":{"id":32007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32004,"mutability":"mutable","name":"_sentAmount","nameLocation":"436:11:64","nodeType":"VariableDeclaration","scope":32008,"src":"428:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32003,"name":"uint256","nodeType":"ElementaryTypeName","src":"428:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32006,"mutability":"mutable","name":"_requiredAmount","nameLocation":"457:15:64","nodeType":"VariableDeclaration","scope":32008,"src":"449:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32005,"name":"uint256","nodeType":"ElementaryTypeName","src":"449:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"427:46:64"}},{"id":32012,"nodeType":"ErrorDefinition","src":"479:48:64","nodes":[],"errorSelector":"c66e7936","name":"ChangeAlreadyExecuted","nameLocation":"485:21:64","parameters":{"id":32011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32010,"mutability":"mutable","name":"_requestId","nameLocation":"515:10:64","nodeType":"VariableDeclaration","scope":32012,"src":"507:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32009,"name":"uint256","nodeType":"ElementaryTypeName","src":"507:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"506:20:64"}},{"id":32016,"nodeType":"ErrorDefinition","src":"532:45:64","nodes":[],"errorSelector":"fd98b9ed","name":"StillInDelayPeriod","nameLocation":"538:18:64","parameters":{"id":32015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32014,"mutability":"mutable","name":"_requestId","nameLocation":"565:10:64","nodeType":"VariableDeclaration","scope":32016,"src":"557:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32013,"name":"uint256","nodeType":"ElementaryTypeName","src":"557:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"556:20:64"}},{"id":32018,"nodeType":"ErrorDefinition","src":"582:30:64","nodes":[],"errorSelector":"23f869e0","name":"OnlyArbitratorCanRule","nameLocation":"588:21:64","parameters":{"id":32017,"nodeType":"ParameterList","parameters":[],"src":"609:2:64"}},{"id":32022,"nodeType":"ErrorDefinition","src":"617:46:64","nodes":[],"errorSelector":"e074621d","name":"UnknownParameter","nameLocation":"623:16:64","parameters":{"id":32021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32020,"mutability":"mutable","name":"_parameterName","nameLocation":"647:14:64","nodeType":"VariableDeclaration","scope":32022,"src":"640:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32019,"name":"string","nodeType":"ElementaryTypeName","src":"640:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"639:23:64"}},{"id":32030,"nodeType":"EventDefinition","src":"669:88:64","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"675:21:64","parameters":{"id":32029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32024,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"705:8:64","nodeType":"VariableDeclaration","scope":32030,"src":"697:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32023,"name":"address","nodeType":"ElementaryTypeName","src":"697:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32026,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"723:10:64","nodeType":"VariableDeclaration","scope":32030,"src":"715:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32025,"name":"address","nodeType":"ElementaryTypeName","src":"715:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32028,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"743:12:64","nodeType":"VariableDeclaration","scope":32030,"src":"735:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32027,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"696:60:64"}},{"id":32047,"nodeType":"EventDefinition","src":"762:302:64","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"768:23:64","parameters":{"id":32046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32032,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"809:30:64","nodeType":"VariableDeclaration","scope":32047,"src":"801:38:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32031,"name":"uint256","nodeType":"ElementaryTypeName","src":"801:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32035,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"861:10:64","nodeType":"VariableDeclaration","scope":32047,"src":"849:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"},"typeName":{"id":32034,"nodeType":"UserDefinedTypeName","pathNode":{"id":32033,"name":"IArbitrator","nameLocations":["849:11:64"],"nodeType":"IdentifierPath","referencedDeclaration":33233,"src":"849:11:64"},"referencedDeclaration":33233,"src":"849:11:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":32037,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"889:12:64","nodeType":"VariableDeclaration","scope":32047,"src":"881:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32036,"name":"address","nodeType":"ElementaryTypeName","src":"881:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32039,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"919:25:64","nodeType":"VariableDeclaration","scope":32047,"src":"911:33:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32038,"name":"uint256","nodeType":"ElementaryTypeName","src":"911:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32041,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"962:26:64","nodeType":"VariableDeclaration","scope":32047,"src":"954:34:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32040,"name":"uint256","nodeType":"ElementaryTypeName","src":"954:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32043,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"1006:13:64","nodeType":"VariableDeclaration","scope":32047,"src":"998:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32042,"name":"uint256","nodeType":"ElementaryTypeName","src":"998:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32045,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"1037:20:64","nodeType":"VariableDeclaration","scope":32047,"src":"1029:28:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32044,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"791:272:64"}},{"id":32057,"nodeType":"EventDefinition","src":"1069:112:64","nodes":[],"anonymous":false,"eventSelector":"52f4cb740254ed67a4254f58aa5cc61342f447c5fa0abe72548b6866ea709b7b","name":"ParameterChangeRequested","nameLocation":"1075:24:64","parameters":{"id":32056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32049,"indexed":true,"mutability":"mutable","name":"requestId","nameLocation":"1116:9:64","nodeType":"VariableDeclaration","scope":32057,"src":"1100:25:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32048,"name":"uint256","nodeType":"ElementaryTypeName","src":"1100:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32051,"indexed":false,"mutability":"mutable","name":"parameter","nameLocation":"1134:9:64","nodeType":"VariableDeclaration","scope":32057,"src":"1127:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32050,"name":"string","nodeType":"ElementaryTypeName","src":"1127:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32053,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"1153:7:64","nodeType":"VariableDeclaration","scope":32057,"src":"1145:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32052,"name":"uint256","nodeType":"ElementaryTypeName","src":"1145:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32055,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"1170:9:64","nodeType":"VariableDeclaration","scope":32057,"src":"1162:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32054,"name":"uint256","nodeType":"ElementaryTypeName","src":"1162:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1099:81:64"}},{"id":32065,"nodeType":"EventDefinition","src":"1186:93:64","nodes":[],"anonymous":false,"eventSelector":"5b18efbc622a61b1368ba1988fa8076b9a3afdcbc1f7ea55e556b5f785ed5a20","name":"ParameterChangeFinalized","nameLocation":"1192:24:64","parameters":{"id":32064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32059,"indexed":true,"mutability":"mutable","name":"requestId","nameLocation":"1233:9:64","nodeType":"VariableDeclaration","scope":32065,"src":"1217:25:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32058,"name":"uint256","nodeType":"ElementaryTypeName","src":"1217:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32061,"indexed":false,"mutability":"mutable","name":"parameter","nameLocation":"1251:9:64","nodeType":"VariableDeclaration","scope":32065,"src":"1244:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32060,"name":"string","nodeType":"ElementaryTypeName","src":"1244:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32063,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"1270:7:64","nodeType":"VariableDeclaration","scope":32065,"src":"1262:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32062,"name":"uint256","nodeType":"ElementaryTypeName","src":"1262:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1216:62:64"}},{"id":32080,"nodeType":"EventDefinition","src":"1284:205:64","nodes":[],"anonymous":false,"eventSelector":"59e087303584a0da9096007d7b681a1e6f51324d1691eed6f35eb8965d96ae3a","name":"ChangeRequestDisputed","nameLocation":"1290:21:64","parameters":{"id":32079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32068,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"1333:10:64","nodeType":"VariableDeclaration","scope":32080,"src":"1321:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"},"typeName":{"id":32067,"nodeType":"UserDefinedTypeName","pathNode":{"id":32066,"name":"IArbitrator","nameLocations":["1321:11:64"],"nodeType":"IdentifierPath","referencedDeclaration":33233,"src":"1321:11:64"},"referencedDeclaration":33233,"src":"1321:11:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":32070,"indexed":false,"mutability":"mutable","name":"changeRequestId","nameLocation":"1361:15:64","nodeType":"VariableDeclaration","scope":32080,"src":"1353:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32069,"name":"uint256","nodeType":"ElementaryTypeName","src":"1353:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32072,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"1394:9:64","nodeType":"VariableDeclaration","scope":32080,"src":"1386:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32071,"name":"uint256","nodeType":"ElementaryTypeName","src":"1386:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32074,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"1421:10:64","nodeType":"VariableDeclaration","scope":32080,"src":"1413:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32073,"name":"address","nodeType":"ElementaryTypeName","src":"1413:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32076,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"1448:7:64","nodeType":"VariableDeclaration","scope":32080,"src":"1441:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32075,"name":"string","nodeType":"ElementaryTypeName","src":"1441:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32078,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"1473:9:64","nodeType":"VariableDeclaration","scope":32080,"src":"1465:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32077,"name":"uint256","nodeType":"ElementaryTypeName","src":"1465:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1311:177:64"}},{"id":32086,"nodeType":"EnumDefinition","src":"1495:162:64","nodes":[],"canonicalName":"RegistryCommunityV0_1.ChangeRequestlStatus","members":[{"id":32081,"name":"Active","nameLocation":"1531:6:64","nodeType":"EnumValue","src":"1531:6:64"},{"id":32082,"name":"Cancelled","nameLocation":"1547:9:64","nodeType":"EnumValue","src":"1547:9:64"},{"id":32083,"name":"Executed","nameLocation":"1607:8:64","nodeType":"EnumValue","src":"1607:8:64"},{"id":32084,"name":"Disputed","nameLocation":"1625:8:64","nodeType":"EnumValue","src":"1625:8:64"},{"id":32085,"name":"Rejected","nameLocation":"1643:8:64","nodeType":"EnumValue","src":"1643:8:64"}],"name":"ChangeRequestlStatus","nameLocation":"1500:20:64"},{"id":32096,"nodeType":"StructDefinition","src":"1663:155:64","nodes":[],"canonicalName":"RegistryCommunityV0_1.ArbitrableDispute","members":[{"constant":false,"id":32089,"mutability":"mutable","name":"arbitrator","nameLocation":"1710:10:64","nodeType":"VariableDeclaration","scope":32096,"src":"1698:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"},"typeName":{"id":32088,"nodeType":"UserDefinedTypeName","pathNode":{"id":32087,"name":"IArbitrator","nameLocations":["1698:11:64"],"nodeType":"IdentifierPath","referencedDeclaration":33233,"src":"1698:11:64"},"referencedDeclaration":33233,"src":"1698:11:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":32091,"mutability":"mutable","name":"externalDisputeID","nameLocation":"1738:17:64","nodeType":"VariableDeclaration","scope":32096,"src":"1730:25:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32090,"name":"uint256","nodeType":"ElementaryTypeName","src":"1730:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32093,"mutability":"mutable","name":"templateId","nameLocation":"1773:10:64","nodeType":"VariableDeclaration","scope":32096,"src":"1765:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32092,"name":"uint256","nodeType":"ElementaryTypeName","src":"1765:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32095,"mutability":"mutable","name":"templateUri","nameLocation":"1800:11:64","nodeType":"VariableDeclaration","scope":32096,"src":"1793:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32094,"name":"string","nodeType":"ElementaryTypeName","src":"1793:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ArbitrableDispute","nameLocation":"1670:17:64","scope":33051,"visibility":"public"},{"id":32112,"nodeType":"StructDefinition","src":"1824:272:64","nodes":[],"canonicalName":"RegistryCommunityV0_1.ArbitrableConfig","members":[{"constant":false,"id":32099,"mutability":"mutable","name":"arbitrator","nameLocation":"1870:10:64","nodeType":"VariableDeclaration","scope":32112,"src":"1858:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"},"typeName":{"id":32098,"nodeType":"UserDefinedTypeName","pathNode":{"id":32097,"name":"IArbitrator","nameLocations":["1858:11:64"],"nodeType":"IdentifierPath","referencedDeclaration":33233,"src":"1858:11:64"},"referencedDeclaration":33233,"src":"1858:11:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":32101,"mutability":"mutable","name":"tribunalSafe","nameLocation":"1898:12:64","nodeType":"VariableDeclaration","scope":32112,"src":"1890:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32100,"name":"address","nodeType":"ElementaryTypeName","src":"1890:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32103,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"1928:25:64","nodeType":"VariableDeclaration","scope":32112,"src":"1920:33:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32102,"name":"uint256","nodeType":"ElementaryTypeName","src":"1920:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32105,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"1971:26:64","nodeType":"VariableDeclaration","scope":32112,"src":"1963:34:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32104,"name":"uint256","nodeType":"ElementaryTypeName","src":"1963:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32107,"mutability":"mutable","name":"defaultRuling","nameLocation":"2015:13:64","nodeType":"VariableDeclaration","scope":32112,"src":"2007:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32106,"name":"uint256","nodeType":"ElementaryTypeName","src":"2007:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32109,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"2046:20:64","nodeType":"VariableDeclaration","scope":32112,"src":"2038:28:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32108,"name":"uint256","nodeType":"ElementaryTypeName","src":"2038:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32111,"mutability":"mutable","name":"delay","nameLocation":"2084:5:64","nodeType":"VariableDeclaration","scope":32112,"src":"2076:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32110,"name":"uint256","nodeType":"ElementaryTypeName","src":"2076:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"1831:16:64","scope":33051,"visibility":"public"},{"id":32128,"nodeType":"StructDefinition","src":"2102:245:64","nodes":[],"canonicalName":"RegistryCommunityV0_1.ConfigParameters","members":[{"constant":false,"id":32114,"mutability":"mutable","name":"registerStakeAmount","nameLocation":"2144:19:64","nodeType":"VariableDeclaration","scope":32128,"src":"2136:27:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32113,"name":"uint256","nodeType":"ElementaryTypeName","src":"2136:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32116,"mutability":"mutable","name":"communityFee","nameLocation":"2181:12:64","nodeType":"VariableDeclaration","scope":32128,"src":"2173:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32115,"name":"uint256","nodeType":"ElementaryTypeName","src":"2173:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32118,"mutability":"mutable","name":"isKickEnabled","nameLocation":"2208:13:64","nodeType":"VariableDeclaration","scope":32128,"src":"2203:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32117,"name":"bool","nodeType":"ElementaryTypeName","src":"2203:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32120,"mutability":"mutable","name":"feeReceiver","nameLocation":"2239:11:64","nodeType":"VariableDeclaration","scope":32128,"src":"2231:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32119,"name":"address","nodeType":"ElementaryTypeName","src":"2231:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32123,"mutability":"mutable","name":"councilSafe","nameLocation":"2266:11:64","nodeType":"VariableDeclaration","scope":32128,"src":"2260:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$33359","typeString":"contract ISafe"},"typeName":{"id":32122,"nodeType":"UserDefinedTypeName","pathNode":{"id":32121,"name":"ISafe","nameLocations":["2260:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":33359,"src":"2260:5:64"},"referencedDeclaration":33359,"src":"2260:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$33359","typeString":"contract ISafe"}},"visibility":"internal"},{"constant":false,"id":32125,"mutability":"mutable","name":"communityName","nameLocation":"2294:13:64","nodeType":"VariableDeclaration","scope":32128,"src":"2287:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32124,"name":"string","nodeType":"ElementaryTypeName","src":"2287:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32127,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"2324:16:64","nodeType":"VariableDeclaration","scope":32128,"src":"2317:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32126,"name":"string","nodeType":"ElementaryTypeName","src":"2317:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ConfigParameters","nameLocation":"2109:16:64","scope":33051,"visibility":"public"},{"id":32135,"nodeType":"StructDefinition","src":"2353:115:64","nodes":[],"canonicalName":"RegistryCommunityV0_1.DisputeInfo","members":[{"constant":false,"id":32130,"mutability":"mutable","name":"disputeId","nameLocation":"2390:9:64","nodeType":"VariableDeclaration","scope":32135,"src":"2382:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32129,"name":"uint256","nodeType":"ElementaryTypeName","src":"2382:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32132,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2417:16:64","nodeType":"VariableDeclaration","scope":32135,"src":"2409:24:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32131,"name":"uint256","nodeType":"ElementaryTypeName","src":"2409:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32134,"mutability":"mutable","name":"challenger","nameLocation":"2451:10:64","nodeType":"VariableDeclaration","scope":32135,"src":"2443:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32133,"name":"address","nodeType":"ElementaryTypeName","src":"2443:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"DisputeInfo","nameLocation":"2360:11:64","scope":33051,"visibility":"public"},{"id":32160,"nodeType":"StructDefinition","src":"2474:377:64","nodes":[],"canonicalName":"RegistryCommunityV0_1.ConfigChangeRequest","members":[{"constant":false,"id":32137,"mutability":"mutable","name":"requestId","nameLocation":"2519:9:64","nodeType":"VariableDeclaration","scope":32160,"src":"2511:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32136,"name":"uint256","nodeType":"ElementaryTypeName","src":"2511:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32139,"mutability":"mutable","name":"parameterName","nameLocation":"2545:13:64","nodeType":"VariableDeclaration","scope":32160,"src":"2538:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32138,"name":"string","nodeType":"ElementaryTypeName","src":"2538:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32141,"mutability":"mutable","name":"newUintValue","nameLocation":"2576:12:64","nodeType":"VariableDeclaration","scope":32160,"src":"2568:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32140,"name":"uint256","nodeType":"ElementaryTypeName","src":"2568:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32143,"mutability":"mutable","name":"newAddressValue","nameLocation":"2606:15:64","nodeType":"VariableDeclaration","scope":32160,"src":"2598:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32142,"name":"address","nodeType":"ElementaryTypeName","src":"2598:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32145,"mutability":"mutable","name":"newStringValue","nameLocation":"2638:14:64","nodeType":"VariableDeclaration","scope":32160,"src":"2631:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32144,"name":"string","nodeType":"ElementaryTypeName","src":"2631:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32147,"mutability":"mutable","name":"newBoolValue","nameLocation":"2667:12:64","nodeType":"VariableDeclaration","scope":32160,"src":"2662:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32146,"name":"bool","nodeType":"ElementaryTypeName","src":"2662:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32149,"mutability":"mutable","name":"timestamp","nameLocation":"2697:9:64","nodeType":"VariableDeclaration","scope":32160,"src":"2689:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32148,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32152,"mutability":"mutable","name":"status","nameLocation":"2737:6:64","nodeType":"VariableDeclaration","scope":32160,"src":"2716:27:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"},"typeName":{"id":32151,"nodeType":"UserDefinedTypeName","pathNode":{"id":32150,"name":"ChangeRequestlStatus","nameLocations":["2716:20:64"],"nodeType":"IdentifierPath","referencedDeclaration":32086,"src":"2716:20:64"},"referencedDeclaration":32086,"src":"2716:20:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"visibility":"internal"},{"constant":false,"id":32155,"mutability":"mutable","name":"disputeInfo","nameLocation":"2765:11:64","nodeType":"VariableDeclaration","scope":32160,"src":"2753:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage_ptr","typeString":"struct RegistryCommunityV0_1.DisputeInfo"},"typeName":{"id":32154,"nodeType":"UserDefinedTypeName","pathNode":{"id":32153,"name":"DisputeInfo","nameLocations":["2753:11:64"],"nodeType":"IdentifierPath","referencedDeclaration":32135,"src":"2753:11:64"},"referencedDeclaration":32135,"src":"2753:11:64","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage_ptr","typeString":"struct RegistryCommunityV0_1.DisputeInfo"}},"visibility":"internal"},{"constant":false,"id":32157,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"2794:23:64","nodeType":"VariableDeclaration","scope":32160,"src":"2786:31:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32156,"name":"uint256","nodeType":"ElementaryTypeName","src":"2786:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32159,"mutability":"mutable","name":"submitter","nameLocation":"2835:9:64","nodeType":"VariableDeclaration","scope":32160,"src":"2827:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32158,"name":"address","nodeType":"ElementaryTypeName","src":"2827:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ConfigChangeRequest","nameLocation":"2481:19:64","scope":33051,"visibility":"public"},{"id":32164,"nodeType":"StructDefinition","src":"2857:76:64","nodes":[],"canonicalName":"RegistryCommunityV0_1.InitializeV2Params","members":[{"constant":false,"id":32163,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"2910:16:64","nodeType":"VariableDeclaration","scope":32164,"src":"2893:33:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig"},"typeName":{"id":32162,"nodeType":"UserDefinedTypeName","pathNode":{"id":32161,"name":"ArbitrableConfig","nameLocations":["2893:16:64"],"nodeType":"IdentifierPath","referencedDeclaration":32112,"src":"2893:16:64"},"referencedDeclaration":32112,"src":"2893:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig"}},"visibility":"internal"}],"name":"InitializeV2Params","nameLocation":"2864:18:64","scope":33051,"visibility":"public"},{"id":32167,"nodeType":"VariableDeclaration","src":"2939:42:64","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"2963:14:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32165,"name":"uint256","nodeType":"ElementaryTypeName","src":"2939:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":32166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2980:1:64","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":32169,"nodeType":"VariableDeclaration","src":"2988:45:64","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"3003:30:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32168,"name":"uint256","nodeType":"ElementaryTypeName","src":"2988:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":32171,"nodeType":"VariableDeclaration","src":"3039:35:64","nodes":[],"constant":false,"functionSelector":"bb290b5b","mutability":"mutable","name":"currentConfigVersion","nameLocation":"3054:20:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32170,"name":"uint256","nodeType":"ElementaryTypeName","src":"3039:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":32173,"nodeType":"VariableDeclaration","src":"3080:35:64","nodes":[],"constant":false,"functionSelector":"c642e344","mutability":"mutable","name":"changeRequestCounter","nameLocation":"3095:20:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32172,"name":"uint256","nodeType":"ElementaryTypeName","src":"3080:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":32176,"nodeType":"VariableDeclaration","src":"3121:39:64","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"3145:15:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"},"typeName":{"id":32175,"nodeType":"UserDefinedTypeName","pathNode":{"id":32174,"name":"ICollateralVault","nameLocations":["3121:16:64"],"nodeType":"IdentifierPath","referencedDeclaration":33266,"src":"3121:16:64"},"referencedDeclaration":33266,"src":"3121:16:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":32181,"nodeType":"VariableDeclaration","src":"3167:61:64","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"3211:17:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig)"},"typeName":{"id":32180,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32177,"name":"uint256","nodeType":"ElementaryTypeName","src":"3175:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3167:36:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32179,"nodeType":"UserDefinedTypeName","pathNode":{"id":32178,"name":"ArbitrableConfig","nameLocations":["3186:16:64"],"nodeType":"IdentifierPath","referencedDeclaration":32112,"src":"3186:16:64"},"referencedDeclaration":32112,"src":"3186:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig"}}},"visibility":"public"},{"id":32186,"nodeType":"VariableDeclaration","src":"3234:58:64","nodes":[],"constant":false,"functionSelector":"8749e26f","mutability":"mutable","name":"configurations","nameLocation":"3278:14:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigParameters_$32128_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigParameters)"},"typeName":{"id":32185,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32182,"name":"uint256","nodeType":"ElementaryTypeName","src":"3242:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3234:36:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigParameters_$32128_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigParameters)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32184,"nodeType":"UserDefinedTypeName","pathNode":{"id":32183,"name":"ConfigParameters","nameLocations":["3253:16:64"],"nodeType":"IdentifierPath","referencedDeclaration":32128,"src":"3253:16:64"},"referencedDeclaration":32128,"src":"3253:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters"}}},"visibility":"public"},{"id":32191,"nodeType":"VariableDeclaration","src":"3298:67:64","nodes":[],"constant":false,"functionSelector":"0392fd5d","mutability":"mutable","name":"configChangeRequests","nameLocation":"3345:20:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigChangeRequest_$32160_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigChangeRequest)"},"typeName":{"id":32190,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32187,"name":"uint256","nodeType":"ElementaryTypeName","src":"3306:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3298:39:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigChangeRequest_$32160_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigChangeRequest)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32189,"nodeType":"UserDefinedTypeName","pathNode":{"id":32188,"name":"ConfigChangeRequest","nameLocations":["3317:19:64"],"nodeType":"IdentifierPath","referencedDeclaration":32160,"src":"3317:19:64"},"referencedDeclaration":32160,"src":"3317:19:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest"}}},"visibility":"public"},{"id":32195,"nodeType":"VariableDeclaration","src":"3371:55:64","nodes":[],"constant":false,"functionSelector":"ff79dd51","mutability":"mutable","name":"disputeIdToRequestId","nameLocation":"3406:20:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":32194,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32192,"name":"uint256","nodeType":"ElementaryTypeName","src":"3379:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3371:27:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32193,"name":"uint256","nodeType":"ElementaryTypeName","src":"3390:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":32200,"nodeType":"VariableDeclaration","src":"3433:53:64","nodes":[],"constant":false,"functionSelector":"564a565d","mutability":"mutable","name":"disputes","nameLocation":"3478:8:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableDispute_$32096_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableDispute)"},"typeName":{"id":32199,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32196,"name":"uint256","nodeType":"ElementaryTypeName","src":"3441:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3433:37:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableDispute_$32096_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableDispute)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32198,"nodeType":"UserDefinedTypeName","pathNode":{"id":32197,"name":"ArbitrableDispute","nameLocations":["3452:17:64"],"nodeType":"IdentifierPath","referencedDeclaration":32096,"src":"3452:17:64"},"referencedDeclaration":32096,"src":"3452:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableDispute_$32096_storage_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableDispute"}}},"visibility":"public"},{"id":32202,"nodeType":"VariableDeclaration","src":"3493:29:64","nodes":[],"constant":false,"functionSelector":"7d36f4d3","mutability":"mutable","name":"disputeCounter","nameLocation":"3508:14:64","scope":33051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32201,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":32243,"nodeType":"FunctionDefinition","src":"3594:421:64","nodes":[],"body":{"id":32242,"nodeType":"Block","src":"3662:353:64","nodes":[],"statements":[{"assignments":[32213],"declarations":[{"constant":false,"id":32213,"mutability":"mutable","name":"ip","nameLocation":"3698:2:64","nodeType":"VariableDeclaration","scope":32242,"src":"3672:28:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeV2Params_$32164_memory_ptr","typeString":"struct RegistryCommunityV0_1.InitializeV2Params"},"typeName":{"id":32212,"nodeType":"UserDefinedTypeName","pathNode":{"id":32211,"name":"InitializeV2Params","nameLocations":["3672:18:64"],"nodeType":"IdentifierPath","referencedDeclaration":32164,"src":"3672:18:64"},"referencedDeclaration":32164,"src":"3672:18:64","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeV2Params_$32164_storage_ptr","typeString":"struct RegistryCommunityV0_1.InitializeV2Params"}},"visibility":"internal"}],"id":32220,"initialValue":{"arguments":[{"id":32216,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32205,"src":"3714:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":32217,"name":"InitializeV2Params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32164,"src":"3722:18:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeV2Params_$32164_storage_ptr_$","typeString":"type(struct RegistryCommunityV0_1.InitializeV2Params storage pointer)"}}],"id":32218,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3721:20:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeV2Params_$32164_storage_ptr_$","typeString":"type(struct RegistryCommunityV0_1.InitializeV2Params storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeV2Params_$32164_storage_ptr_$","typeString":"type(struct RegistryCommunityV0_1.InitializeV2Params storage pointer)"}],"expression":{"id":32214,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3703:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":32215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3707:6:64","memberName":"decode","nodeType":"MemberAccess","src":"3703:10:64","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":32219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3703:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeV2Params_$32164_memory_ptr","typeString":"struct RegistryCommunityV0_1.InitializeV2Params memory"}},"nodeType":"VariableDeclarationStatement","src":"3672:70:64"},{"expression":{"id":32230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":32221,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32176,"src":"3753:15:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":32225,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30279,"src":"3806:23:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3831:12:64","subExpression":{"id":32226,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30264,"src":"3831:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32223,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"3788:5:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$706_$","typeString":"type(library Clone)"}},"id":32224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3794:11:64","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":705,"src":"3788:17:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":32228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3788:56:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":32222,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33266,"src":"3771:16:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$33266_$","typeString":"type(contract ICollateralVault)"}},"id":32229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3771:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"src":"3753:92:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"id":32231,"nodeType":"ExpressionStatement","src":"3753:92:64"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":32232,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32176,"src":"3855:15:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"id":32234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3871:10:64","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":33238,"src":"3855:26:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":32235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3855:28:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32236,"nodeType":"ExpressionStatement","src":"3855:28:64"},{"expression":{"arguments":[{"expression":{"id":32238,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32213,"src":"3988:2:64","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeV2Params_$32164_memory_ptr","typeString":"struct RegistryCommunityV0_1.InitializeV2Params memory"}},"id":32239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3991:16:64","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":32163,"src":"3988:19:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}],"id":32237,"name":"_setArbitrableParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33050,"src":"3967:20:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$32112_memory_ptr_$returns$__$","typeString":"function (struct RegistryCommunityV0_1.ArbitrableConfig memory)"}},"id":32240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3967:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32241,"nodeType":"ExpressionStatement","src":"3967:41:64"}]},"documentation":{"id":32203,"nodeType":"StructuredDocumentation","src":"3529:60:64","text":"@notice Initialize the new version (v2) of the contract."},"functionSelector":"66d721bd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":32208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3659:1:64","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":32209,"kind":"modifierInvocation","modifierName":{"id":32207,"name":"reinitializer","nameLocations":["3645:13:64"],"nodeType":"IdentifierPath","referencedDeclaration":14226,"src":"3645:13:64"},"nodeType":"ModifierInvocation","src":"3645:16:64"}],"name":"initializeV2","nameLocation":"3603:12:64","parameters":{"id":32206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32205,"mutability":"mutable","name":"_data","nameLocation":"3629:5:64","nodeType":"VariableDeclaration","scope":32243,"src":"3616:18:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":32204,"name":"bytes","nodeType":"ElementaryTypeName","src":"3616:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3615:20:64"},"returnParameters":{"id":32210,"nodeType":"ParameterList","parameters":[],"src":"3662:0:64"},"scope":33051,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":32342,"nodeType":"FunctionDefinition","src":"4397:1531:64","nodes":[],"body":{"id":32341,"nodeType":"Block","src":"4614:1314:64","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":32257,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30365,"src":"4624:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":32258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4624:17:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32259,"nodeType":"ExpressionStatement","src":"4624:17:64"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":32262,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"4677:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32264,"indexExpression":{"id":32263,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"4695:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4677:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4727:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"4677:60:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}],"id":32261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4669:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32260,"name":"address","nodeType":"ElementaryTypeName","src":"4669:7:64","typeDescriptions":{}}},"id":32266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4669:69:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":32269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4750:1:64","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":32268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4742:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32267,"name":"address","nodeType":"ElementaryTypeName","src":"4742:7:64","typeDescriptions":{}}},"id":32270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4742:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4669:83:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32272,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4772:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4776:5:64","memberName":"value","nodeType":"MemberAccess","src":"4772:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":32274,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"4784:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32276,"indexExpression":{"id":32275,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"4802:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4784:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4834:25:64","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32103,"src":"4784:75:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4772:87:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4669:190:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32290,"nodeType":"IfStatement","src":"4652:390:64","trueBody":{"id":32289,"nodeType":"Block","src":"4870:172:64","statements":[{"errorCall":{"arguments":[{"expression":{"id":32281,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4931:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4935:5:64","memberName":"value","nodeType":"MemberAccess","src":"4931:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":32283,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"4942:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32285,"indexExpression":{"id":32284,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"4960:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4942:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4992:25:64","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32103,"src":"4942:75:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32280,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32008,"src":"4891:22:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4891:140:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32288,"nodeType":"RevertStatement","src":"4884:147:64"}]}},{"expression":{"id":32292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5052:22:64","subExpression":{"id":32291,"name":"changeRequestCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32173,"src":"5052:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32293,"nodeType":"ExpressionStatement","src":"5052:22:64"},{"expression":{"arguments":[{"id":32300,"name":"changeRequestCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32173,"src":"5136:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32301,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5158:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5162:6:64","memberName":"sender","nodeType":"MemberAccess","src":"5158:10:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":32294,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32176,"src":"5084:15:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"id":32296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5100:17:64","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":33245,"src":"5084:33:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":32299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":32297,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5125:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5129:5:64","memberName":"value","nodeType":"MemberAccess","src":"5125:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"5084:51:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":32303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5084:85:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32304,"nodeType":"ExpressionStatement","src":"5084:85:64"},{"expression":{"id":32331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":32305,"name":"configChangeRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32191,"src":"5180:20:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigChangeRequest_$32160_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigChangeRequest storage ref)"}},"id":32307,"indexExpression":{"id":32306,"name":"changeRequestCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32173,"src":"5201:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5180:42:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":32309,"name":"changeRequestCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32173,"src":"5270:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32310,"name":"parameterName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32246,"src":"5319:13:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":32311,"name":"newUintValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32248,"src":"5360:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32312,"name":"newAddressValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32250,"src":"5403:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32313,"name":"newStringValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32252,"src":"5448:14:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":32314,"name":"newBoolValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32254,"src":"5490:12:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":32315,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5527:5:64","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5533:9:64","memberName":"timestamp","nodeType":"MemberAccess","src":"5527:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32317,"name":"ChangeRequestlStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32086,"src":"5564:20:64","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ChangeRequestlStatus_$32086_$","typeString":"type(enum RegistryCommunityV0_1.ChangeRequestlStatus)"}},"id":32318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5585:6:64","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":32081,"src":"5564:27:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},{"arguments":[{"hexValue":"30","id":32320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5642:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":32321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5663:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":32324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5686:1:64","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":32323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5678:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32322,"name":"address","nodeType":"ElementaryTypeName","src":"5678:7:64","typeDescriptions":{}}},"id":32325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5678:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"id":32319,"name":"DisputeInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32135,"src":"5618:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_DisputeInfo_$32135_storage_ptr_$","typeString":"type(struct RegistryCommunityV0_1.DisputeInfo storage pointer)"}},"id":32326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5631:9:64","5645:16:64","5666:10:64"],"names":["disputeId","disputeTimestamp","challenger"],"nodeType":"FunctionCall","src":"5618:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_memory_ptr","typeString":"struct RegistryCommunityV0_1.DisputeInfo memory"}},{"id":32327,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"5729:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32328,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5784:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5788:6:64","memberName":"sender","nodeType":"MemberAccess","src":"5784:10:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"},{"typeIdentifier":"t_struct$_DisputeInfo_$32135_memory_ptr","typeString":"struct RegistryCommunityV0_1.DisputeInfo memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":32308,"name":"ConfigChangeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32160,"src":"5225:19:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ConfigChangeRequest_$32160_storage_ptr_$","typeString":"type(struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer)"}},"id":32330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5259:9:64","5304:13:64","5346:12:64","5386:15:64","5432:14:64","5476:12:64","5516:9:64","5556:6:64","5605:11:64","5704:23:64","5773:9:64"],"names":["requestId","parameterName","newUintValue","newAddressValue","newStringValue","newBoolValue","timestamp","status","disputeInfo","arbitrableConfigVersion","submitter"],"nodeType":"FunctionCall","src":"5225:580:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_memory_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest memory"}},"src":"5180:625:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage ref"}},"id":32332,"nodeType":"ExpressionStatement","src":"5180:625:64"},{"eventCall":{"arguments":[{"id":32334,"name":"changeRequestCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32173,"src":"5846:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32335,"name":"parameterName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32246,"src":"5868:13:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":32336,"name":"currentConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32171,"src":"5883:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32337,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5905:5:64","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5911:9:64","memberName":"timestamp","nodeType":"MemberAccess","src":"5905:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32333,"name":"ParameterChangeRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32057,"src":"5821:24:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,string memory,uint256,uint256)"}},"id":32339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5821:100:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32340,"nodeType":"EmitStatement","src":"5816:105:64"}]},"documentation":{"id":32244,"nodeType":"StructuredDocumentation","src":"4021:371:64","text":"@notice Function to create a change request for a parameter\n @param parameterName The name of the parameter to change\n @param newUintValue New value if it's a uint type\n @param newAddressValue New value if it's an address type\n @param newStringValue New value if it's a string type\n @param newBoolValue New value if it's a bool type"},"functionSelector":"5804663b","implemented":true,"kind":"function","modifiers":[],"name":"createChangeRequest","nameLocation":"4406:19:64","parameters":{"id":32255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32246,"mutability":"mutable","name":"parameterName","nameLocation":"4449:13:64","nodeType":"VariableDeclaration","scope":32342,"src":"4435:27:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32245,"name":"string","nodeType":"ElementaryTypeName","src":"4435:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32248,"mutability":"mutable","name":"newUintValue","nameLocation":"4480:12:64","nodeType":"VariableDeclaration","scope":32342,"src":"4472:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32247,"name":"uint256","nodeType":"ElementaryTypeName","src":"4472:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32250,"mutability":"mutable","name":"newAddressValue","nameLocation":"4510:15:64","nodeType":"VariableDeclaration","scope":32342,"src":"4502:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32249,"name":"address","nodeType":"ElementaryTypeName","src":"4502:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32252,"mutability":"mutable","name":"newStringValue","nameLocation":"4549:14:64","nodeType":"VariableDeclaration","scope":32342,"src":"4535:28:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32251,"name":"string","nodeType":"ElementaryTypeName","src":"4535:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32254,"mutability":"mutable","name":"newBoolValue","nameLocation":"4578:12:64","nodeType":"VariableDeclaration","scope":32342,"src":"4573:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32253,"name":"bool","nodeType":"ElementaryTypeName","src":"4573:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4425:171:64"},"returnParameters":{"id":32256,"nodeType":"ParameterList","parameters":[],"src":"4614:0:64"},"scope":33051,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32374,"nodeType":"FunctionDefinition","src":"6069:399:64","nodes":[],"body":{"id":32373,"nodeType":"Block","src":"6137:331:64","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32348,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6164:5:64","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6170:9:64","memberName":"timestamp","nodeType":"MemberAccess","src":"6164:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":32350,"name":"configChangeRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32191,"src":"6198:20:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigChangeRequest_$32160_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigChangeRequest storage ref)"}},"id":32352,"indexExpression":{"id":32351,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32345,"src":"6219:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6198:32:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage ref"}},"id":32353,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6231:9:64","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":32149,"src":"6198:42:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"baseExpression":{"id":32354,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"6263:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32359,"indexExpression":{"expression":{"baseExpression":{"id":32355,"name":"configChangeRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32191,"src":"6281:20:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigChangeRequest_$32160_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigChangeRequest storage ref)"}},"id":32357,"indexExpression":{"id":32356,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32345,"src":"6302:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6281:32:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage ref"}},"id":32358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6314:23:64","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":32157,"src":"6281:56:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6263:75:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6339:5:64","memberName":"delay","nodeType":"MemberAccess","referencedDeclaration":32111,"src":"6263:81:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6198:146:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6164:180:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32368,"nodeType":"IfStatement","src":"6147:270:64","trueBody":{"id":32367,"nodeType":"Block","src":"6355:62:64","statements":[{"errorCall":{"arguments":[{"id":32364,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32345,"src":"6395:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32363,"name":"StillInDelayPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32016,"src":"6376:18:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":32365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6376:30:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32366,"nodeType":"RevertStatement","src":"6369:37:64"}]}},{"expression":{"arguments":[{"id":32370,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32345,"src":"6450:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32369,"name":"_finalizeChangeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32588,"src":"6427:22:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":32371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6427:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32372,"nodeType":"ExpressionStatement","src":"6427:34:64"}]},"documentation":{"id":32343,"nodeType":"StructuredDocumentation","src":"5934:130:64","text":"@notice Finalize the parameter change after the delay period has passed\n @param _requestId The ID of the change request"},"functionSelector":"d3f6b05b","implemented":true,"kind":"function","modifiers":[],"name":"finalizeChangeRequest","nameLocation":"6078:21:64","parameters":{"id":32346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32345,"mutability":"mutable","name":"_requestId","nameLocation":"6108:10:64","nodeType":"VariableDeclaration","scope":32374,"src":"6100:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32344,"name":"uint256","nodeType":"ElementaryTypeName","src":"6100:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6099:20:64"},"returnParameters":{"id":32347,"nodeType":"ParameterList","parameters":[],"src":"6137:0:64"},"scope":33051,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":32588,"nodeType":"FunctionDefinition","src":"6474:2230:64","nodes":[],"body":{"id":32587,"nodeType":"Block","src":"6543:2161:64","nodes":[],"statements":[{"assignments":[32381],"declarations":[{"constant":false,"id":32381,"mutability":"mutable","name":"request","nameLocation":"6581:7:64","nodeType":"VariableDeclaration","scope":32587,"src":"6553:35:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest"},"typeName":{"id":32380,"nodeType":"UserDefinedTypeName","pathNode":{"id":32379,"name":"ConfigChangeRequest","nameLocations":["6553:19:64"],"nodeType":"IdentifierPath","referencedDeclaration":32160,"src":"6553:19:64"},"referencedDeclaration":32160,"src":"6553:19:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest"}},"visibility":"internal"}],"id":32385,"initialValue":{"baseExpression":{"id":32382,"name":"configChangeRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32191,"src":"6591:20:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigChangeRequest_$32160_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigChangeRequest storage ref)"}},"id":32384,"indexExpression":{"id":32383,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32376,"src":"6612:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6591:32:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6553:70:64"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"},"id":32390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32386,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"6637:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6645:6:64","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":32152,"src":"6637:14:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":32388,"name":"ChangeRequestlStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32086,"src":"6655:20:64","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ChangeRequestlStatus_$32086_$","typeString":"type(enum RegistryCommunityV0_1.ChangeRequestlStatus)"}},"id":32389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6676:6:64","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":32081,"src":"6655:27:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"src":"6637:45:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"},"id":32395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32391,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"6686:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6694:6:64","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":32152,"src":"6686:14:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":32393,"name":"ChangeRequestlStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32086,"src":"6704:20:64","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ChangeRequestlStatus_$32086_$","typeString":"type(enum RegistryCommunityV0_1.ChangeRequestlStatus)"}},"id":32394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6725:8:64","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":32084,"src":"6704:29:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"src":"6686:47:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6637:96:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32402,"nodeType":"IfStatement","src":"6633:167:64","trueBody":{"id":32401,"nodeType":"Block","src":"6735:65:64","statements":[{"errorCall":{"arguments":[{"id":32398,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32376,"src":"6778:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32397,"name":"ChangeAlreadyExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32012,"src":"6756:21:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":32399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6756:33:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32400,"nodeType":"RevertStatement","src":"6749:40:64"}]}},{"assignments":[32404],"declarations":[{"constant":false,"id":32404,"mutability":"mutable","name":"currentConfigId","nameLocation":"6818:15:64","nodeType":"VariableDeclaration","scope":32587,"src":"6810:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32403,"name":"uint256","nodeType":"ElementaryTypeName","src":"6810:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":32406,"initialValue":{"id":32405,"name":"currentConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32171,"src":"6836:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6810:46:64"},{"expression":{"id":32408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6866:22:64","subExpression":{"id":32407,"name":"currentConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32171,"src":"6866:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32409,"nodeType":"ExpressionStatement","src":"6866:22:64"},{"expression":{"id":32416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":32410,"name":"configurations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32186,"src":"6898:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigParameters_$32128_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigParameters storage ref)"}},"id":32412,"indexExpression":{"id":32411,"name":"currentConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32171,"src":"6913:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6898:36:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":32413,"name":"configurations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32186,"src":"6937:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigParameters_$32128_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigParameters storage ref)"}},"id":32415,"indexExpression":{"id":32414,"name":"currentConfigId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32404,"src":"6952:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6937:31:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage ref"}},"src":"6898:70:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage ref"}},"id":32417,"nodeType":"ExpressionStatement","src":"6898:70:64"},{"assignments":[32420],"declarations":[{"constant":false,"id":32420,"mutability":"mutable","name":"newConfig","nameLocation":"7004:9:64","nodeType":"VariableDeclaration","scope":32587,"src":"6979:34:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters"},"typeName":{"id":32419,"nodeType":"UserDefinedTypeName","pathNode":{"id":32418,"name":"ConfigParameters","nameLocations":["6979:16:64"],"nodeType":"IdentifierPath","referencedDeclaration":32128,"src":"6979:16:64"},"referencedDeclaration":32128,"src":"6979:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters"}},"visibility":"internal"}],"id":32424,"initialValue":{"baseExpression":{"id":32421,"name":"configurations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32186,"src":"7016:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigParameters_$32128_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigParameters storage ref)"}},"id":32423,"indexExpression":{"id":32422,"name":"currentConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32171,"src":"7031:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7016:36:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6979:73:64"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":32435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":32428,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"7338:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7346:13:64","memberName":"parameterName","nodeType":"MemberAccess","referencedDeclaration":32139,"src":"7338:21:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":32426,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7321:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":32427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7325:12:64","memberName":"encodePacked","nodeType":"MemberAccess","src":"7321:16:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":32430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7321:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":32425,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7311:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7311:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"72656769737465725374616b65416d6f756e74","id":32433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7375:21:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a28f6b5b63e8557cbb98133c24a12accd676244ba9c20bcb4f6ee3a753f1f1e4","typeString":"literal_string \"registerStakeAmount\""},"value":"registerStakeAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a28f6b5b63e8557cbb98133c24a12accd676244ba9c20bcb4f6ee3a753f1f1e4","typeString":"literal_string \"registerStakeAmount\""}],"id":32432,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7365:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7365:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7311:86:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":32454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":32447,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"7513:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7521:13:64","memberName":"parameterName","nodeType":"MemberAccess","referencedDeclaration":32139,"src":"7513:21:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":32445,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7496:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":32446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7500:12:64","memberName":"encodePacked","nodeType":"MemberAccess","src":"7496:16:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":32449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7496:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":32444,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7486:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7486:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"636f6d6d756e697479466565","id":32452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7550:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_70abf8091da6ee64da3d8eb28f12686e8cea2743399fbe2d8daa3ed87e4cd4f8","typeString":"literal_string \"communityFee\""},"value":"communityFee"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70abf8091da6ee64da3d8eb28f12686e8cea2743399fbe2d8daa3ed87e4cd4f8","typeString":"literal_string \"communityFee\""}],"id":32451,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7540:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7540:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7486:79:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":32473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":32466,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"7674:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7682:13:64","memberName":"parameterName","nodeType":"MemberAccess","referencedDeclaration":32139,"src":"7674:21:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":32464,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7657:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":32465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7661:12:64","memberName":"encodePacked","nodeType":"MemberAccess","src":"7657:16:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":32468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7657:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":32463,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7647:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7647:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"69734b69636b456e61626c6564","id":32471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7711:15:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a908023e2d2c1996a0e14e3b5c41aa4e8bb264abd5d2ddba6d968f49032c18e9","typeString":"literal_string \"isKickEnabled\""},"value":"isKickEnabled"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a908023e2d2c1996a0e14e3b5c41aa4e8bb264abd5d2ddba6d968f49032c18e9","typeString":"literal_string \"isKickEnabled\""}],"id":32470,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7701:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7701:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7647:80:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":32492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":32485,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"7837:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7845:13:64","memberName":"parameterName","nodeType":"MemberAccess","referencedDeclaration":32139,"src":"7837:21:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":32483,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7820:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":32484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7824:12:64","memberName":"encodePacked","nodeType":"MemberAccess","src":"7820:16:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":32487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7820:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":32482,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7810:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7810:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"6665655265636569766572","id":32490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7874:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""},"value":"feeReceiver"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""}],"id":32489,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7864:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7864:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7810:78:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":32511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":32504,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"7999:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8007:13:64","memberName":"parameterName","nodeType":"MemberAccess","referencedDeclaration":32139,"src":"7999:21:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":32502,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7982:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":32503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7986:12:64","memberName":"encodePacked","nodeType":"MemberAccess","src":"7982:16:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":32506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7982:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":32501,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7972:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7972:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"636f756e63696c53616665","id":32509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8036:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d32fdea93dd8719902490c9fbb09c60bc6aaac6f04216bd1b18dc53d9c5bcb19","typeString":"literal_string \"councilSafe\""},"value":"councilSafe"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d32fdea93dd8719902490c9fbb09c60bc6aaac6f04216bd1b18dc53d9c5bcb19","typeString":"literal_string \"councilSafe\""}],"id":32508,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8026:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8026:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7972:78:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":32532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":32525,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"8168:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32526,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8176:13:64","memberName":"parameterName","nodeType":"MemberAccess","referencedDeclaration":32139,"src":"8168:21:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":32523,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8151:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":32524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8155:12:64","memberName":"encodePacked","nodeType":"MemberAccess","src":"8151:16:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":32527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8151:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":32522,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8141:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8141:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"636f6d6d756e6974794e616d65","id":32530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8205:15:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ecea437d1b7c4448a6ee4a5450fd64bc261d017c8ee363673061c5a0893057ed","typeString":"literal_string \"communityName\""},"value":"communityName"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ecea437d1b7c4448a6ee4a5450fd64bc261d017c8ee363673061c5a0893057ed","typeString":"literal_string \"communityName\""}],"id":32529,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8195:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8195:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8141:80:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":32551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":32544,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"8333:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8341:13:64","memberName":"parameterName","nodeType":"MemberAccess","referencedDeclaration":32139,"src":"8333:21:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":32542,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8316:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":32543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8320:12:64","memberName":"encodePacked","nodeType":"MemberAccess","src":"8316:16:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":32546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8316:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":32541,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8306:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8306:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"636f76656e616e744970667348617368","id":32549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8370:18:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccadc1d3741e240c13959ff8ea9817f7b6c9c59dd5388094d4c7081cfd01caea","typeString":"literal_string \"covenantIpfsHash\""},"value":"covenantIpfsHash"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccadc1d3741e240c13959ff8ea9817f7b6c9c59dd5388094d4c7081cfd01caea","typeString":"literal_string \"covenantIpfsHash\""}],"id":32548,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8360:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8360:29:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8306:83:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":32565,"nodeType":"Block","src":"8473:71:64","statements":[{"errorCall":{"arguments":[{"expression":{"id":32561,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"8511:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8519:13:64","memberName":"parameterName","nodeType":"MemberAccess","referencedDeclaration":32139,"src":"8511:21:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":32560,"name":"UnknownParameter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32022,"src":"8494:16:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":32563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8494:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32564,"nodeType":"RevertStatement","src":"8487:46:64"}]},"id":32566,"nodeType":"IfStatement","src":"8302:242:64","trueBody":{"id":32559,"nodeType":"Block","src":"8391:76:64","statements":[{"expression":{"id":32557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32552,"name":"newConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32420,"src":"8405:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage pointer"}},"id":32554,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8415:16:64","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":32127,"src":"8405:26:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32555,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"8434:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32556,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8442:14:64","memberName":"newStringValue","nodeType":"MemberAccess","referencedDeclaration":32145,"src":"8434:22:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"src":"8405:51:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":32558,"nodeType":"ExpressionStatement","src":"8405:51:64"}]}},"id":32567,"nodeType":"IfStatement","src":"8137:407:64","trueBody":{"id":32540,"nodeType":"Block","src":"8223:73:64","statements":[{"expression":{"id":32538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32533,"name":"newConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32420,"src":"8237:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage pointer"}},"id":32535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8247:13:64","memberName":"communityName","nodeType":"MemberAccess","referencedDeclaration":32125,"src":"8237:23:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32536,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"8263:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32537,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8271:14:64","memberName":"newStringValue","nodeType":"MemberAccess","referencedDeclaration":32145,"src":"8263:22:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"src":"8237:48:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":32539,"nodeType":"ExpressionStatement","src":"8237:48:64"}]}},"id":32568,"nodeType":"IfStatement","src":"7968:576:64","trueBody":{"id":32521,"nodeType":"Block","src":"8052:79:64","statements":[{"expression":{"id":32519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32512,"name":"newConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32420,"src":"8066:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage pointer"}},"id":32514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8076:11:64","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":32123,"src":"8066:21:64","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$33359","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":32516,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"8096:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8104:15:64","memberName":"newAddressValue","nodeType":"MemberAccess","referencedDeclaration":32143,"src":"8096:23:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":32515,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33359,"src":"8090:5:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$33359_$","typeString":"type(contract ISafe)"}},"id":32518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8090:30:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$33359","typeString":"contract ISafe"}},"src":"8066:54:64","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$33359","typeString":"contract ISafe"}},"id":32520,"nodeType":"ExpressionStatement","src":"8066:54:64"}]}},"id":32569,"nodeType":"IfStatement","src":"7806:738:64","trueBody":{"id":32500,"nodeType":"Block","src":"7890:72:64","statements":[{"expression":{"id":32498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32493,"name":"newConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32420,"src":"7904:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage pointer"}},"id":32495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7914:11:64","memberName":"feeReceiver","nodeType":"MemberAccess","referencedDeclaration":32120,"src":"7904:21:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32496,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"7928:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7936:15:64","memberName":"newAddressValue","nodeType":"MemberAccess","referencedDeclaration":32143,"src":"7928:23:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7904:47:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":32499,"nodeType":"ExpressionStatement","src":"7904:47:64"}]}},"id":32570,"nodeType":"IfStatement","src":"7643:901:64","trueBody":{"id":32481,"nodeType":"Block","src":"7729:71:64","statements":[{"expression":{"id":32479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32474,"name":"newConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32420,"src":"7743:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage pointer"}},"id":32476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7753:13:64","memberName":"isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":32118,"src":"7743:23:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32477,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"7769:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7777:12:64","memberName":"newBoolValue","nodeType":"MemberAccess","referencedDeclaration":32147,"src":"7769:20:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7743:46:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32480,"nodeType":"ExpressionStatement","src":"7743:46:64"}]}},"id":32571,"nodeType":"IfStatement","src":"7482:1062:64","trueBody":{"id":32462,"nodeType":"Block","src":"7567:70:64","statements":[{"expression":{"id":32460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32455,"name":"newConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32420,"src":"7581:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage pointer"}},"id":32457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7591:12:64","memberName":"communityFee","nodeType":"MemberAccess","referencedDeclaration":32116,"src":"7581:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32458,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"7606:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7614:12:64","memberName":"newUintValue","nodeType":"MemberAccess","referencedDeclaration":32141,"src":"7606:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7581:45:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32461,"nodeType":"ExpressionStatement","src":"7581:45:64"}]}},"id":32572,"nodeType":"IfStatement","src":"7307:1237:64","trueBody":{"id":32443,"nodeType":"Block","src":"7399:77:64","statements":[{"expression":{"id":32441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32436,"name":"newConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32420,"src":"7413:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigParameters_$32128_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigParameters storage pointer"}},"id":32438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7423:19:64","memberName":"registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":32114,"src":"7413:29:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32439,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"7445:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7453:12:64","memberName":"newUintValue","nodeType":"MemberAccess","referencedDeclaration":32141,"src":"7445:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7413:52:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32442,"nodeType":"ExpressionStatement","src":"7413:52:64"}]}},{"expression":{"id":32578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32573,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"8554:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8562:6:64","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":32152,"src":"8554:14:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32576,"name":"ChangeRequestlStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32086,"src":"8571:20:64","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ChangeRequestlStatus_$32086_$","typeString":"type(enum RegistryCommunityV0_1.ChangeRequestlStatus)"}},"id":32577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8592:8:64","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":32083,"src":"8571:29:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"src":"8554:46:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"id":32579,"nodeType":"ExpressionStatement","src":"8554:46:64"},{"eventCall":{"arguments":[{"id":32581,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32376,"src":"8641:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32582,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32381,"src":"8653:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32583,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8661:13:64","memberName":"parameterName","nodeType":"MemberAccess","referencedDeclaration":32139,"src":"8653:21:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"id":32584,"name":"currentConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32171,"src":"8676:20:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32580,"name":"ParameterChangeFinalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32065,"src":"8616:24:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (uint256,string memory,uint256)"}},"id":32585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8616:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32586,"nodeType":"EmitStatement","src":"8611:86:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_finalizeChangeRequest","nameLocation":"6483:22:64","parameters":{"id":32377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32376,"mutability":"mutable","name":"_requestId","nameLocation":"6514:10:64","nodeType":"VariableDeclaration","scope":32588,"src":"6506:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32375,"name":"uint256","nodeType":"ElementaryTypeName","src":"6506:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6505:20:64"},"returnParameters":{"id":32378,"nodeType":"ParameterList","parameters":[],"src":"6543:0:64"},"scope":33051,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":32737,"nodeType":"FunctionDefinition","src":"8958:1795:64","nodes":[],"body":{"id":32736,"nodeType":"Block","src":"9156:1597:64","nodes":[],"statements":[{"assignments":[32602],"declarations":[{"constant":false,"id":32602,"mutability":"mutable","name":"changeRequest","nameLocation":"9194:13:64","nodeType":"VariableDeclaration","scope":32736,"src":"9166:41:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest"},"typeName":{"id":32601,"nodeType":"UserDefinedTypeName","pathNode":{"id":32600,"name":"ConfigChangeRequest","nameLocations":["9166:19:64"],"nodeType":"IdentifierPath","referencedDeclaration":32160,"src":"9166:19:64"},"referencedDeclaration":32160,"src":"9166:19:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest"}},"visibility":"internal"}],"id":32606,"initialValue":{"baseExpression":{"id":32603,"name":"configChangeRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32191,"src":"9210:20:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigChangeRequest_$32160_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigChangeRequest storage ref)"}},"id":32605,"indexExpression":{"id":32604,"name":"_changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32591,"src":"9231:16:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9210:38:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9166:82:64"},{"assignments":[32609],"declarations":[{"constant":false,"id":32609,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"9282:16:64","nodeType":"VariableDeclaration","scope":32736,"src":"9258:40:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig"},"typeName":{"id":32608,"nodeType":"UserDefinedTypeName","pathNode":{"id":32607,"name":"ArbitrableConfig","nameLocations":["9258:16:64"],"nodeType":"IdentifierPath","referencedDeclaration":32112,"src":"9258:16:64"},"referencedDeclaration":32112,"src":"9258:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig"}},"visibility":"internal"}],"id":32614,"initialValue":{"baseExpression":{"id":32610,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"9301:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32613,"indexExpression":{"expression":{"id":32611,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32602,"src":"9319:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9333:23:64","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":32157,"src":"9319:37:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9301:56:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9258:99:64"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32615,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32602,"src":"9372:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9386:9:64","memberName":"requestId","nodeType":"MemberAccess","referencedDeclaration":32137,"src":"9372:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":32617,"name":"_changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32591,"src":"9399:16:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9372:43:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32624,"nodeType":"IfStatement","src":"9368:121:64","trueBody":{"id":32623,"nodeType":"Block","src":"9417:72:64","statements":[{"errorCall":{"arguments":[{"id":32620,"name":"_changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32591,"src":"9461:16:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32619,"name":"ChangeRequestNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31998,"src":"9438:22:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":32621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9438:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32622,"nodeType":"RevertStatement","src":"9431:47:64"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"},"id":32629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32625,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32602,"src":"9502:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32626,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9516:6:64","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":32152,"src":"9502:20:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":32627,"name":"ChangeRequestlStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32086,"src":"9526:20:64","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ChangeRequestlStatus_$32086_$","typeString":"type(enum RegistryCommunityV0_1.ChangeRequestlStatus)"}},"id":32628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9547:6:64","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":32081,"src":"9526:27:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"src":"9502:51:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32635,"nodeType":"IfStatement","src":"9498:129:64","trueBody":{"id":32634,"nodeType":"Block","src":"9555:72:64","statements":[{"errorCall":{"arguments":[{"id":32631,"name":"_changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32591,"src":"9599:16:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32630,"name":"ChangeRequestNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32002,"src":"9576:22:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":32632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9576:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32633,"nodeType":"RevertStatement","src":"9569:47:64"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32636,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9640:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9644:5:64","memberName":"value","nodeType":"MemberAccess","src":"9640:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":32638,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32609,"src":"9652:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9669:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"9652:43:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9640:55:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32649,"nodeType":"IfStatement","src":"9636:171:64","trueBody":{"id":32648,"nodeType":"Block","src":"9697:110:64","statements":[{"errorCall":{"arguments":[{"expression":{"id":32642,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9741:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9745:5:64","memberName":"value","nodeType":"MemberAccess","src":"9741:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32644,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32609,"src":"9752:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9769:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"9752:43:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32641,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32008,"src":"9718:22:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9718:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32647,"nodeType":"RevertStatement","src":"9711:85:64"}]}},{"assignments":[32651],"declarations":[{"constant":false,"id":32651,"mutability":"mutable","name":"arbitrationFee","nameLocation":"9825:14:64","nodeType":"VariableDeclaration","scope":32736,"src":"9817:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32650,"name":"uint256","nodeType":"ElementaryTypeName","src":"9817:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":32657,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32652,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9842:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9846:5:64","memberName":"value","nodeType":"MemberAccess","src":"9842:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":32654,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32609,"src":"9854:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9871:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"9854:43:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9842:55:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9817:80:64"},{"expression":{"arguments":[{"expression":{"id":32664,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32602,"src":"10006:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10020:9:64","memberName":"requestId","nodeType":"MemberAccess","referencedDeclaration":32137,"src":"10006:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32666,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10031:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10035:6:64","memberName":"sender","nodeType":"MemberAccess","src":"10031:10:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":32658,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32176,"src":"9907:15:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"id":32660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9923:17:64","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":33245,"src":"9907:33:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":32663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":32661,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32609,"src":"9948:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32662,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9965:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"9948:43:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9907:85:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":32668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9907:144:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32669,"nodeType":"ExpressionStatement","src":"9907:144:64"},{"expression":{"id":32679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":32670,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32598,"src":"10062:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":32676,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32167,"src":"10139:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32677,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32595,"src":"10155:10:64","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":32671,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32609,"src":"10074:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10091:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"10074:27:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"id":32673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10102:13:64","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":33180,"src":"10074:41:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":32675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":32674,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32651,"src":"10123:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"10074:64:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":32678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10074:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10062:104:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32680,"nodeType":"ExpressionStatement","src":"10062:104:64"},{"expression":{"id":32686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32681,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32602,"src":"10177:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10191:6:64","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":32152,"src":"10177:20:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32684,"name":"ChangeRequestlStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32086,"src":"10200:20:64","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ChangeRequestlStatus_$32086_$","typeString":"type(enum RegistryCommunityV0_1.ChangeRequestlStatus)"}},"id":32685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10221:8:64","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":32084,"src":"10200:29:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"src":"10177:52:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"id":32687,"nodeType":"ExpressionStatement","src":"10177:52:64"},{"expression":{"id":32694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":32688,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32602,"src":"10239:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10253:11:64","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":32155,"src":"10239:25:64","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage","typeString":"struct RegistryCommunityV0_1.DisputeInfo storage ref"}},"id":32692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10265:9:64","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":32130,"src":"10239:35:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":32693,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32598,"src":"10277:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10239:47:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32695,"nodeType":"ExpressionStatement","src":"10239:47:64"},{"expression":{"id":32703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":32696,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32602,"src":"10296:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32699,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10310:11:64","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":32155,"src":"10296:25:64","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage","typeString":"struct RegistryCommunityV0_1.DisputeInfo storage ref"}},"id":32700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10322:16:64","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":32132,"src":"10296:42:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32701,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"10341:5:64","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10347:9:64","memberName":"timestamp","nodeType":"MemberAccess","src":"10341:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10296:60:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32704,"nodeType":"ExpressionStatement","src":"10296:60:64"},{"expression":{"id":32712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":32705,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32602,"src":"10366:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32708,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10380:11:64","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":32155,"src":"10366:25:64","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage","typeString":"struct RegistryCommunityV0_1.DisputeInfo storage ref"}},"id":32709,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10392:10:64","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":32134,"src":"10366:36:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32710,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10405:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10409:6:64","memberName":"sender","nodeType":"MemberAccess","src":"10405:10:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10366:49:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":32713,"nodeType":"ExpressionStatement","src":"10366:49:64"},{"expression":{"id":32718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":32714,"name":"disputeIdToRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32195,"src":"10426:20:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":32716,"indexExpression":{"id":32715,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32598,"src":"10447:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10426:31:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":32717,"name":"_changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32591,"src":"10460:16:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10426:50:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32719,"nodeType":"ExpressionStatement","src":"10426:50:64"},{"expression":{"id":32721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10487:16:64","subExpression":{"id":32720,"name":"disputeCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32202,"src":"10487:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32722,"nodeType":"ExpressionStatement","src":"10487:16:64"},{"eventCall":{"arguments":[{"expression":{"id":32724,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32609,"src":"10554:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32725,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10571:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"10554:27:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},{"id":32726,"name":"_changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32591,"src":"10595:16:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32727,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32598,"src":"10625:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32728,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10648:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10652:6:64","memberName":"sender","nodeType":"MemberAccess","src":"10648:10:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32730,"name":"_context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32593,"src":"10672:8:64","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":32731,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32602,"src":"10694:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32732,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10708:11:64","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":32155,"src":"10694:25:64","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage","typeString":"struct RegistryCommunityV0_1.DisputeInfo storage ref"}},"id":32733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10720:16:64","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":32132,"src":"10694:42:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32723,"name":"ChangeRequestDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32080,"src":"10519:21:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$33233_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":32734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10519:227:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32735,"nodeType":"EmitStatement","src":"10514:232:64"}]},"documentation":{"id":32589,"nodeType":"StructuredDocumentation","src":"8710:243:64","text":"@dev Allows a user to request a dispute with a specific arbitrator.\n @param _changeRequestId The id of the change request.\n @param _context The context for the dispute.\n @param _extraData Extra data for the aribtrator."},"functionSelector":"d28afd48","implemented":true,"kind":"function","modifiers":[],"name":"disputeChangeRequest","nameLocation":"8967:20:64","parameters":{"id":32596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32591,"mutability":"mutable","name":"_changeRequestId","nameLocation":"8996:16:64","nodeType":"VariableDeclaration","scope":32737,"src":"8988:24:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32590,"name":"uint256","nodeType":"ElementaryTypeName","src":"8988:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32593,"mutability":"mutable","name":"_context","nameLocation":"9030:8:64","nodeType":"VariableDeclaration","scope":32737,"src":"9014:24:64","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":32592,"name":"string","nodeType":"ElementaryTypeName","src":"9014:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32595,"mutability":"mutable","name":"_extraData","nameLocation":"9055:10:64","nodeType":"VariableDeclaration","scope":32737,"src":"9040:25:64","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":32594,"name":"bytes","nodeType":"ElementaryTypeName","src":"9040:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8987:79:64"},"returnParameters":{"id":32599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32598,"mutability":"mutable","name":"disputeId","nameLocation":"9141:9:64","nodeType":"VariableDeclaration","scope":32737,"src":"9133:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32597,"name":"uint256","nodeType":"ElementaryTypeName","src":"9133:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9132:19:64"},"scope":33051,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":32892,"nodeType":"FunctionDefinition","src":"10979:2131:64","nodes":[],"body":{"id":32891,"nodeType":"Block","src":"11056:2054:64","nodes":[],"statements":[{"assignments":[32747],"declarations":[{"constant":false,"id":32747,"mutability":"mutable","name":"changeRequestId","nameLocation":"11074:15:64","nodeType":"VariableDeclaration","scope":32891,"src":"11066:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32746,"name":"uint256","nodeType":"ElementaryTypeName","src":"11066:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":32751,"initialValue":{"baseExpression":{"id":32748,"name":"disputeIdToRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32195,"src":"11092:20:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":32750,"indexExpression":{"id":32749,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32740,"src":"11113:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11092:32:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11066:58:64"},{"assignments":[32754],"declarations":[{"constant":false,"id":32754,"mutability":"mutable","name":"changeRequest","nameLocation":"11163:13:64","nodeType":"VariableDeclaration","scope":32891,"src":"11135:41:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest"},"typeName":{"id":32753,"nodeType":"UserDefinedTypeName","pathNode":{"id":32752,"name":"ConfigChangeRequest","nameLocations":["11135:19:64"],"nodeType":"IdentifierPath","referencedDeclaration":32160,"src":"11135:19:64"},"referencedDeclaration":32160,"src":"11135:19:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest"}},"visibility":"internal"}],"id":32758,"initialValue":{"baseExpression":{"id":32755,"name":"configChangeRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32191,"src":"11179:20:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ConfigChangeRequest_$32160_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ConfigChangeRequest storage ref)"}},"id":32757,"indexExpression":{"id":32756,"name":"changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32747,"src":"11200:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11179:37:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11135:81:64"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32759,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11230:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11234:6:64","memberName":"sender","nodeType":"MemberAccess","src":"11230:10:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"baseExpression":{"id":32763,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"11252:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32766,"indexExpression":{"expression":{"id":32764,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"11270:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11284:23:64","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":32157,"src":"11270:37:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11252:56:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32767,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11309:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"11252:67:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}],"id":32762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11244:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32761,"name":"address","nodeType":"ElementaryTypeName","src":"11244:7:64","typeDescriptions":{}}},"id":32768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11244:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11230:90:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32774,"nodeType":"IfStatement","src":"11226:151:64","trueBody":{"id":32773,"nodeType":"Block","src":"11322:55:64","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":32770,"name":"OnlyArbitratorCanRule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32018,"src":"11343:21:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":32771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11343:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32772,"nodeType":"RevertStatement","src":"11336:30:64"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32775,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32742,"src":"11391:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":32776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11402:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11391:12:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32800,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32742,"src":"11740:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":32801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11751:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11740:12:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32837,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32742,"src":"12358:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":32838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12369:1:64","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12358:12:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32878,"nodeType":"IfStatement","src":"12354:638:64","trueBody":{"id":32877,"nodeType":"Block","src":"12372:620:64","statements":[{"expression":{"id":32845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32840,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"12386:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12400:6:64","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":32152,"src":"12386:20:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32843,"name":"ChangeRequestlStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32086,"src":"12409:20:64","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ChangeRequestlStatus_$32086_$","typeString":"type(enum RegistryCommunityV0_1.ChangeRequestlStatus)"}},"id":32844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12430:8:64","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":32085,"src":"12409:29:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"src":"12386:52:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"id":32846,"nodeType":"ExpressionStatement","src":"12386:52:64"},{"expression":{"arguments":[{"id":32850,"name":"changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32747,"src":"12504:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":32851,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"12537:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12551:11:64","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":32155,"src":"12537:25:64","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage","typeString":"struct RegistryCommunityV0_1.DisputeInfo storage ref"}},"id":32853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12563:10:64","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":32134,"src":"12537:36:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":32854,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"12591:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32857,"indexExpression":{"expression":{"id":32855,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"12609:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12623:23:64","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":32157,"src":"12609:37:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12591:56:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12648:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"12591:83:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32847,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32176,"src":"12452:15:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"id":32849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12468:18:64","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":33254,"src":"12452:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":32859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12452:236:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32860,"nodeType":"ExpressionStatement","src":"12452:236:64"},{"expression":{"arguments":[{"id":32864,"name":"changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32747,"src":"12757:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32865,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"12790:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12804:9:64","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":32159,"src":"12790:23:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":32867,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"12831:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12845:11:64","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":32155,"src":"12831:25:64","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage","typeString":"struct RegistryCommunityV0_1.DisputeInfo storage ref"}},"id":32869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12857:10:64","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":32134,"src":"12831:36:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":32870,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"12885:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32873,"indexExpression":{"expression":{"id":32871,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"12903:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32872,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12917:23:64","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":32157,"src":"12903:37:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12885:56:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12942:25:64","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32103,"src":"12885:82:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32861,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32176,"src":"12702:15:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"id":32863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12718:21:64","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":33265,"src":"12702:37:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":32875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12702:279:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32876,"nodeType":"ExpressionStatement","src":"12702:279:64"}]}},"id":32879,"nodeType":"IfStatement","src":"11736:1256:64","trueBody":{"id":32836,"nodeType":"Block","src":"11754:594:64","statements":[{"expression":{"arguments":[{"id":32804,"name":"changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32747,"src":"11791:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32803,"name":"_finalizeChangeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32588,"src":"11768:22:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":32805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11768:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32806,"nodeType":"ExpressionStatement","src":"11768:39:64"},{"expression":{"arguments":[{"id":32810,"name":"changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32747,"src":"11876:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":32811,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"11909:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11923:11:64","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":32155,"src":"11909:25:64","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage","typeString":"struct RegistryCommunityV0_1.DisputeInfo storage ref"}},"id":32813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11935:10:64","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":32134,"src":"11909:36:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":32814,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"11963:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32815,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11977:9:64","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":32159,"src":"11963:23:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":32816,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"12004:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32819,"indexExpression":{"expression":{"id":32817,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"12022:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32818,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12036:23:64","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":32157,"src":"12022:37:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12004:56:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12061:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"12004:83:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32807,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32176,"src":"11821:15:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"id":32809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11837:21:64","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":33265,"src":"11821:37:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":32821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11821:280:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32822,"nodeType":"ExpressionStatement","src":"11821:280:64"},{"expression":{"arguments":[{"id":32826,"name":"changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32747,"src":"12167:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":32827,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"12200:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12214:9:64","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":32159,"src":"12200:23:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":32829,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"12241:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32832,"indexExpression":{"expression":{"id":32830,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"12259:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32831,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12273:23:64","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":32157,"src":"12259:37:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12241:56:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32833,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12298:25:64","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32103,"src":"12241:82:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32823,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32176,"src":"12115:15:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"id":32825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12131:18:64","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":33254,"src":"12115:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":32834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12115:222:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32835,"nodeType":"ExpressionStatement","src":"12115:222:64"}]}},"id":32880,"nodeType":"IfStatement","src":"11387:1605:64","trueBody":{"id":32799,"nodeType":"Block","src":"11405:325:64","statements":[{"expression":{"id":32783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":32778,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"11419:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11433:6:64","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":32152,"src":"11419:20:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":32781,"name":"ChangeRequestlStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32086,"src":"11442:20:64","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ChangeRequestlStatus_$32086_$","typeString":"type(enum RegistryCommunityV0_1.ChangeRequestlStatus)"}},"id":32782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11463:6:64","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":32081,"src":"11442:27:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"src":"11419:50:64","typeDescriptions":{"typeIdentifier":"t_enum$_ChangeRequestlStatus_$32086","typeString":"enum RegistryCommunityV0_1.ChangeRequestlStatus"}},"id":32784,"nodeType":"ExpressionStatement","src":"11419:50:64"},{"expression":{"arguments":[{"id":32788,"name":"changeRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32747,"src":"11535:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":32789,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"11568:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11582:11:64","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":32155,"src":"11568:25:64","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeInfo_$32135_storage","typeString":"struct RegistryCommunityV0_1.DisputeInfo storage ref"}},"id":32791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11594:10:64","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":32134,"src":"11568:36:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":32792,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"11622:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32795,"indexExpression":{"expression":{"id":32793,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"11640:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11654:23:64","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":32157,"src":"11640:37:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11622:56:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11679:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"11622:83:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32785,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32176,"src":"11483:15:64","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$33266","typeString":"contract ICollateralVault"}},"id":32787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11499:18:64","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":33254,"src":"11483:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":32797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11483:236:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32798,"nodeType":"ExpressionStatement","src":"11483:236:64"}]}},{"eventCall":{"arguments":[{"expression":{"baseExpression":{"id":32882,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"13014:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32885,"indexExpression":{"expression":{"id":32883,"name":"changeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32754,"src":"13032:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_ConfigChangeRequest_$32160_storage_ptr","typeString":"struct RegistryCommunityV0_1.ConfigChangeRequest storage pointer"}},"id":32884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13046:23:64","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":32157,"src":"13032:37:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13014:56:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13071:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"13014:67:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},{"id":32887,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32740,"src":"13083:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32888,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32742,"src":"13095:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32881,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33120,"src":"13007:6:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$33233_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":32889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13007:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32890,"nodeType":"EmitStatement","src":"13002:101:64"}]},"baseFunctions":[33128],"documentation":{"id":32738,"nodeType":"StructuredDocumentation","src":"10759:215:64","text":"@dev Function to give a ruling for a dispute. Only callable by the arbitrator.\n @param _disputeID The identifier of the dispute in this contract.\n @param _ruling The ruling given by the arbitrator."},"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"10988:4:64","overrides":{"id":32744,"nodeType":"OverrideSpecifier","overrides":[],"src":"11047:8:64"},"parameters":{"id":32743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32740,"mutability":"mutable","name":"_disputeID","nameLocation":"11001:10:64","nodeType":"VariableDeclaration","scope":32892,"src":"10993:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32739,"name":"uint256","nodeType":"ElementaryTypeName","src":"10993:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32742,"mutability":"mutable","name":"_ruling","nameLocation":"11021:7:64","nodeType":"VariableDeclaration","scope":32892,"src":"11013:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32741,"name":"uint256","nodeType":"ElementaryTypeName","src":"11013:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10992:37:64"},"returnParameters":{"id":32745,"nodeType":"ParameterList","parameters":[],"src":"11056:0:64"},"scope":33051,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":32901,"nodeType":"FunctionDefinition","src":"13282:80:64","nodes":[],"body":{"id":32900,"nodeType":"Block","src":"13360:2:64","nodes":[],"statements":[]},"documentation":{"id":32893,"nodeType":"StructuredDocumentation","src":"13116:161:64","text":"@dev Internal function to handle the ruling logic\n @param _disputeID The ID of the dispute.\n @param _ruling The ruling given by the arbitrator."},"implemented":true,"kind":"function","modifiers":[],"name":"_executeRuling","nameLocation":"13291:14:64","parameters":{"id":32898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32895,"mutability":"mutable","name":"_disputeID","nameLocation":"13314:10:64","nodeType":"VariableDeclaration","scope":32901,"src":"13306:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32894,"name":"uint256","nodeType":"ElementaryTypeName","src":"13306:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32897,"mutability":"mutable","name":"_ruling","nameLocation":"13334:7:64","nodeType":"VariableDeclaration","scope":32901,"src":"13326:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32896,"name":"uint256","nodeType":"ElementaryTypeName","src":"13326:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13305:37:64"},"returnParameters":{"id":32899,"nodeType":"ParameterList","parameters":[],"src":"13360:0:64"},"scope":33051,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33050,"nodeType":"FunctionDefinition","src":"13368:2374:64","nodes":[],"body":{"id":33049,"nodeType":"Block","src":"13458:2284:64","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32907,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"13485:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13503:12:64","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":32101,"src":"13485:30:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":32911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13527:1:64","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":32910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13519:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32909,"name":"address","nodeType":"ElementaryTypeName","src":"13519:7:64","typeDescriptions":{}}},"id":32912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13519:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13485:44:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":32916,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"13541:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32917,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13559:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"13541:28:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}],"id":32915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13533:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32914,"name":"address","nodeType":"ElementaryTypeName","src":"13533:7:64","typeDescriptions":{}}},"id":32918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13533:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":32921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13582:1:64","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":32920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13574:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32919,"name":"address","nodeType":"ElementaryTypeName","src":"13574:7:64","typeDescriptions":{}}},"id":32922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13574:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13533:51:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13485:99:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32925,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"13626:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13644:12:64","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":32101,"src":"13626:30:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":32927,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"13660:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32929,"indexExpression":{"id":32928,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"13678:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13660:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13710:12:64","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":32101,"src":"13660:62:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13626:96:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"},"id":32938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32932,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"13750:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13768:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"13750:28:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":32934,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"13782:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32936,"indexExpression":{"id":32935,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"13800:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13782:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13832:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"13782:60:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"src":"13750:92:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13626:216:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32940,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"13870:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13888:25:64","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32103,"src":"13870:43:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":32942,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"13945:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32944,"indexExpression":{"id":32943,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"13963:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13945:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13995:25:64","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32103,"src":"13945:75:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13870:150:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13626:394:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32948,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"14048:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14066:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"14048:44:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":32950,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"14124:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32952,"indexExpression":{"id":32951,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"14142:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14124:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14174:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"14124:76:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14048:152:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13626:574:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32956,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"14228:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14246:13:64","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":32107,"src":"14228:31:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":32958,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"14263:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32960,"indexExpression":{"id":32959,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"14281:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14263:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14313:13:64","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":32107,"src":"14263:63:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14228:98:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13626:700:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32964,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"14354:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14372:20:64","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":32109,"src":"14354:38:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":32966,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"14424:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32968,"indexExpression":{"id":32967,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"14442:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14424:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32969,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14474:20:64","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":32109,"src":"14424:70:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14354:140:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13626:868:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32972,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"14522:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14540:5:64","memberName":"delay","nodeType":"MemberAccess","referencedDeclaration":32111,"src":"14522:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":32974,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"14549:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32976,"indexExpression":{"id":32975,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"14567:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14549:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32977,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14599:5:64","memberName":"delay","nodeType":"MemberAccess","referencedDeclaration":32111,"src":"14549:55:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14522:82:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13626:978:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":32980,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13604:1018:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13485:1137:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33048,"nodeType":"IfStatement","src":"13468:2268:64","trueBody":{"id":33047,"nodeType":"Block","src":"14633:1103:64","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":32982,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"14668:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32984,"indexExpression":{"id":32983,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"14686:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14668:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14718:12:64","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":32101,"src":"14668:62:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":32986,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"14734:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32987,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14752:12:64","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":32101,"src":"14734:30:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14668:96:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"},"id":32995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":32989,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"14788:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":32991,"indexExpression":{"id":32990,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"14806:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14788:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":32992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14838:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"14788:60:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":32993,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"14852:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":32994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14870:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"14852:28:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"src":"14788:92:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14668:212:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33021,"nodeType":"IfStatement","src":"14647:522:64","trueBody":{"id":33020,"nodeType":"Block","src":"14895:274:64","statements":[{"expression":{"arguments":[{"expression":{"id":33002,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"14955:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14973:12:64","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":32101,"src":"14955:30:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":32997,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"14913:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14931:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"14913:28:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},"id":33001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14942:12:64","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":33232,"src":"14913:41:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":33004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14913:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33005,"nodeType":"ExpressionStatement","src":"14913:73:64"},{"eventCall":{"arguments":[{"arguments":[{"id":33009,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15060:4:64","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$33051","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$33051","typeString":"contract RegistryCommunityV0_1"}],"id":33008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15052:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33007,"name":"address","nodeType":"ElementaryTypeName","src":"15052:7:64","typeDescriptions":{}}},"id":33010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15052:13:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":33013,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"15075:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15093:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"15075:28:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}],"id":33012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15067:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33011,"name":"address","nodeType":"ElementaryTypeName","src":"15067:7:64","typeDescriptions":{}}},"id":33015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15067:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":33016,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"15106:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15124:12:64","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":32101,"src":"15106:30:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33006,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"15009:21:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":33018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15009:145:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33019,"nodeType":"EmitStatement","src":"15004:150:64"}]}},{"expression":{"id":33023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15183:32:64","subExpression":{"id":33022,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"15183:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33024,"nodeType":"ExpressionStatement","src":"15183:32:64"},{"expression":{"id":33029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":33025,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"15229:17:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$32112_storage_$","typeString":"mapping(uint256 => struct RegistryCommunityV0_1.ArbitrableConfig storage ref)"}},"id":33027,"indexExpression":{"id":33026,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"15247:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15229:49:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33028,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"15281:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"src":"15229:69:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig storage ref"}},"id":33030,"nodeType":"ExpressionStatement","src":"15229:69:64"},{"eventCall":{"arguments":[{"id":33032,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32169,"src":"15359:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":33033,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"15407:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33034,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15425:10:64","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":32099,"src":"15407:28:64","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"}},{"expression":{"id":33035,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"15453:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15471:12:64","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":32101,"src":"15453:30:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":33037,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"15501:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15519:25:64","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32103,"src":"15501:43:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":33039,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"15562:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33040,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15580:26:64","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":32105,"src":"15562:44:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":33041,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"15624:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15642:13:64","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":32107,"src":"15624:31:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":33043,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32904,"src":"15673:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig memory"}},"id":33044,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15691:20:64","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":32109,"src":"15673:38:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$33233","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33031,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32047,"src":"15318:23:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$33233_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":33045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15318:407:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33046,"nodeType":"EmitStatement","src":"15313:412:64"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setArbitrableParams","nameLocation":"13377:20:64","parameters":{"id":32905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32904,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"13422:17:64","nodeType":"VariableDeclaration","scope":33050,"src":"13398:41:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_memory_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig"},"typeName":{"id":32903,"nodeType":"UserDefinedTypeName","pathNode":{"id":32902,"name":"ArbitrableConfig","nameLocations":["13398:16:64"],"nodeType":"IdentifierPath","referencedDeclaration":32112,"src":"13398:16:64"},"referencedDeclaration":32112,"src":"13398:16:64","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$32112_storage_ptr","typeString":"struct RegistryCommunityV0_1.ArbitrableConfig"}},"visibility":"internal"}],"src":"13397:43:64"},"returnParameters":{"id":32906,"nodeType":"ParameterList","parameters":[],"src":"13458:0:64"},"scope":33051,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":31991,"name":"RegistryCommunityV0_0","nameLocations":["250:21:64"],"nodeType":"IdentifierPath","referencedDeclaration":31984,"src":"250:21:64"},"id":31992,"nodeType":"InheritanceSpecifier","src":"250:21:64"},{"baseName":{"id":31993,"name":"IArbitrable","nameLocations":["273:11:64"],"nodeType":"IdentifierPath","referencedDeclaration":33129,"src":"273:11:64"},"id":31994,"nodeType":"InheritanceSpecifier","src":"273:11:64"}],"canonicalName":"RegistryCommunityV0_1","contractDependencies":[16082],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[33051,33129,31984,13836,15031,15043,13909,14376,30015,16733,16386,16035,16045,14042,14757,14291],"name":"RegistryCommunityV0_1","nameLocation":"225:21:64","scope":33052,"usedErrors":[29938,30159,30161,30165,30167,30169,30171,30173,30175,30177,30179,30181,30183,30185,30187,30189,30191,30193,30199,31998,32002,32008,32012,32016,32018,32022]}],"license":"AGPL-3.0-only"},"id":64} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json b/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json index 745a1efe1..05eeb1a30 100644 --- a/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json +++ b/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunityTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a080604052346100315730608052611cff90816100378239608051818181610a8f01528181610b920152610e2b0152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200131f575080630a992e0c14620012ae5780631459457a14620010c25780631b71f0e414620010795780633659cfe61462000e025780634f1ef2861462000b3d57806352d1902d1462000a7a5780635a2c8ace14620009ec5780635c94e4d214620009c15780635decae021462000978578063715018a6146200092857806377122d5614620008fd5780638279c7db14620008915780638da5cb5b1462000860578063987435be1462000759578063affed0e01462000840578063b0d3713a14620007f7578063b5b3ca2c1462000784578063b8bed9011462000759578063beb331a31462000328578063c4d66de81462000298578063f2fde38b1462000200578063f5016b5e14620001ba5763ffa1ad74146200014057600080fd5b34620001b5576000366003190112620001b55760408051908101906001600160401b038211818310176200019f576200019b9160405260038152620302e360ec1b60208201526040519182916020835260208301906200142a565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001b5576020366003190112620001b5576001600160a01b03620001df62001345565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001b5576020366003190112620001b5576200021d62001345565b620002276200146c565b6001600160a01b0381161562000244576200024290620014ce565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001b5576020366003190112620001b557620002b562001345565b60ff60005460081c1615620002cf576200024290620014ce565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001b557600319602036820112620001b5576001600160401b0360043511620001b5576101808160043536030112620001b5576040519061018082016001600160401b038111838210176200019f576040526200038c6004356004016200135c565b8252600435602401356001600160a01b0381168103620001b5576020830152600435604481013560408401526064810135606084015260848101356080840152620003da9060a4016200135c565b60a0830152620003ef60c4600435016200135c565b60c083015260043560e401356001600160401b038111620001b55760409060043501918236030112620001b55760408051919082016001600160401b038111838210176200019f57604052600481013582526024810135906001600160401b038211620001b557600462000467923692010162001409565b602082015260e082015260043561010401356001600160a01b0381168103620001b55761010082015260043561012401356001600160401b038111620001b557620004ba90600436918135010162001409565b61012082015260043561014401358015159003620001b5576004356101448101356101408301526001600160401b036101649091013511620001b5576200050d3660048035610164810135010162001409565b610160820152606554600019811462000743576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200066b9362000695939192918116911662000562620016dd565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200060e906102648801906200142a565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a015291610160916200064991906200142a565b9261014081015115156101e48a0152015190878303016102048801526200142a565b604485019390935260648401526001600160a01b0316608483015203601f1981018352826200138d565b6040519161041080840192906001600160401b038411858510176200019f578493620006d4936040926200179a8739815281602082015201906200142a565b03906000f08015620007375760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001b5576000366003190112620001b5576067546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b5577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007c462001345565b60243590620007d26200146c565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001b5576020366003190112620001b5576200081462001345565b6200081e6200146c565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576020606554604051908152f35b34620001b5576000366003190112620001b55760206200087f620016dd565b6040516001600160a01b039091168152f35b34620001b5576020366003190112620001b55760008051602062001c4a8339815191526020620008c062001345565b620008ca6200146c565b620008d58162001776565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001b5576000366003190112620001b557606a546040516001600160a01b039091168152602090f35b34620001b5576000366003190112620001b557620009456200146c565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c0a8339815191528280a3005b34620001b5576020366003190112620001b5576200099562001345565b6200099f6200146c565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576069546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b55762000a0962001345565b60243590811515809203620001b5577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a476200146c565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001b5576000366003190112620001b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ad757602060405160008051602062001bea8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001b55762000b5462001345565b6024356001600160401b038111620001b55736602382011215620001b55762000b88903690602481600401359101620013cd565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bc33084141562001506565b62000be360008051602062001bea83398151915293828554161462001557565b62000bed620016dd565b813391160362000dd95760008051602062001baa8339815191525460ff161562000c1f575050506200024290620015a8565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000da4575b5062000c955760405162461bcd60e51b815260048101869052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d5e5762000ca984620015a8565b60008051602062001c2a833981519152600080a281511580159062000d55575b62000cd057005b62000242926000806040519462000ce78662001371565b6027865260008051602062001c8a83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d4b573d62000d2b81620013b1565b9062000d3b60405192836200138d565b8152600081943d92013e6200163a565b606092506200163a565b50600162000cc9565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000dd1575b62000dbf81836200138d565b81010312620001b55751908762000c44565b503d62000db3565b60449062000de6620016dd565b60405163163678e960e01b815233600482015291166024820152fd5b34620001b557602080600319360112620001b55762000e2062001345565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e5a3082141562001506565b62000e7a60008051602062001bea83398151915291858354161462001557565b62000e84620016dd565b84339116036200106c57604051828101949091906001600160401b038611838710176200019f57856040526000835260ff60008051602062001baa833981519152541660001462000edf5750505050620002429150620015a8565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162001037575b5062000f555760405162461bcd60e51b815260048101879052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000ff15762000f6982620015a8565b60008051602062001c2a833981519152600080a282511580159062000fe8575b62000f9057005b60008062000242956040519562000fa78762001371565b6027875260008051602062001c8a83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d4b573d62000d2b81620013b1565b50600062000f89565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001064575b6200105281836200138d565b81010312620001b55751908862000f04565b503d62001046565b60448462000de6620016dd565b34620001b5576020366003190112620001b5576200109662001345565b620010a06200146c565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b55760a0366003190112620001b557620010df62001345565b6001600160a01b039060243590828216808303620001b55760443591848316808403620001b557606435868116809103620001b55760843596871692838803620001b5576000549760ff8960081c16159889809a620012a0575b801562001287575b156200122b5760ff1981166001176000558962001218575b5060ff60005460081c1615620002cf576200119f6020976200119f60008051602062001c4a8339815191529a62001194620011a596620014ce565b600060655562001776565b62001776565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a1620011e057005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558962001159565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620011415750600160ff82161462001141565b50600160ff82161062001139565b34620001b5576020366003190112620001b5576001600160a01b03620012d362001345565b1680600052606660205260ff6001604060002001541615620013075760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001b5576000366003190112620001b5576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001b557565b35906001600160a01b0382168203620001b557565b606081019081106001600160401b038211176200019f57604052565b601f909101601f19168101906001600160401b038211908210176200019f57604052565b6001600160401b0381116200019f57601f01601f191660200190565b929192620013db82620013b1565b91620013eb60405193846200138d565b829481845281830111620001b5578281602093846000960137010152565b9080601f83011215620001b5578160206200142793359101620013cd565b90565b919082519283825260005b84811062001457575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162001435565b62001476620016dd565b336001600160a01b03909116036200148a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c0a833981519152600080a3565b156200150e57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200155f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015df5760008051602062001bea83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156200169f575081511562001650575090565b3b156200165a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016b35750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016d99060248301906200142a565b0390fd5b6033546001600160a01b0390811690813b620016f7575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001729575b505062001724575090565b905090565b602093919293813d82116200176d575b8162001748602093836200138d565b81010312620017695751918216820362001766575090388062001719565b80fd5b5080fd5b3d915062001739565b6001600160a01b0316156200178757565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a26469706673582212202603895606627d30f087fd8adf07ada9eea272be6ef90f42f36294ada33872d464736f6c63430008130033","sourceMap":"480:4585:104:-:0;;;;;;;1088:4:61;1080:13;;480:4585:104;;;;;;1080:13:61;480:4585:104;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200131f575080630a992e0c14620012ae5780631459457a14620010c25780631b71f0e414620010795780633659cfe61462000e025780634f1ef2861462000b3d57806352d1902d1462000a7a5780635a2c8ace14620009ec5780635c94e4d214620009c15780635decae021462000978578063715018a6146200092857806377122d5614620008fd5780638279c7db14620008915780638da5cb5b1462000860578063987435be1462000759578063affed0e01462000840578063b0d3713a14620007f7578063b5b3ca2c1462000784578063b8bed9011462000759578063beb331a31462000328578063c4d66de81462000298578063f2fde38b1462000200578063f5016b5e14620001ba5763ffa1ad74146200014057600080fd5b34620001b5576000366003190112620001b55760408051908101906001600160401b038211818310176200019f576200019b9160405260038152620302e360ec1b60208201526040519182916020835260208301906200142a565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001b5576020366003190112620001b5576001600160a01b03620001df62001345565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001b5576020366003190112620001b5576200021d62001345565b620002276200146c565b6001600160a01b0381161562000244576200024290620014ce565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001b5576020366003190112620001b557620002b562001345565b60ff60005460081c1615620002cf576200024290620014ce565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001b557600319602036820112620001b5576001600160401b0360043511620001b5576101808160043536030112620001b5576040519061018082016001600160401b038111838210176200019f576040526200038c6004356004016200135c565b8252600435602401356001600160a01b0381168103620001b5576020830152600435604481013560408401526064810135606084015260848101356080840152620003da9060a4016200135c565b60a0830152620003ef60c4600435016200135c565b60c083015260043560e401356001600160401b038111620001b55760409060043501918236030112620001b55760408051919082016001600160401b038111838210176200019f57604052600481013582526024810135906001600160401b038211620001b557600462000467923692010162001409565b602082015260e082015260043561010401356001600160a01b0381168103620001b55761010082015260043561012401356001600160401b038111620001b557620004ba90600436918135010162001409565b61012082015260043561014401358015159003620001b5576004356101448101356101408301526001600160401b036101649091013511620001b5576200050d3660048035610164810135010162001409565b610160820152606554600019811462000743576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200066b9362000695939192918116911662000562620016dd565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200060e906102648801906200142a565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a015291610160916200064991906200142a565b9261014081015115156101e48a0152015190878303016102048801526200142a565b604485019390935260648401526001600160a01b0316608483015203601f1981018352826200138d565b6040519161041080840192906001600160401b038411858510176200019f578493620006d4936040926200179a8739815281602082015201906200142a565b03906000f08015620007375760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001b5576000366003190112620001b5576067546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b5577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007c462001345565b60243590620007d26200146c565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001b5576020366003190112620001b5576200081462001345565b6200081e6200146c565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576020606554604051908152f35b34620001b5576000366003190112620001b55760206200087f620016dd565b6040516001600160a01b039091168152f35b34620001b5576020366003190112620001b55760008051602062001c4a8339815191526020620008c062001345565b620008ca6200146c565b620008d58162001776565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001b5576000366003190112620001b557606a546040516001600160a01b039091168152602090f35b34620001b5576000366003190112620001b557620009456200146c565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c0a8339815191528280a3005b34620001b5576020366003190112620001b5576200099562001345565b6200099f6200146c565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576069546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b55762000a0962001345565b60243590811515809203620001b5577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a476200146c565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001b5576000366003190112620001b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ad757602060405160008051602062001bea8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001b55762000b5462001345565b6024356001600160401b038111620001b55736602382011215620001b55762000b88903690602481600401359101620013cd565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bc33084141562001506565b62000be360008051602062001bea83398151915293828554161462001557565b62000bed620016dd565b813391160362000dd95760008051602062001baa8339815191525460ff161562000c1f575050506200024290620015a8565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000da4575b5062000c955760405162461bcd60e51b815260048101869052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d5e5762000ca984620015a8565b60008051602062001c2a833981519152600080a281511580159062000d55575b62000cd057005b62000242926000806040519462000ce78662001371565b6027865260008051602062001c8a83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d4b573d62000d2b81620013b1565b9062000d3b60405192836200138d565b8152600081943d92013e6200163a565b606092506200163a565b50600162000cc9565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000dd1575b62000dbf81836200138d565b81010312620001b55751908762000c44565b503d62000db3565b60449062000de6620016dd565b60405163163678e960e01b815233600482015291166024820152fd5b34620001b557602080600319360112620001b55762000e2062001345565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e5a3082141562001506565b62000e7a60008051602062001bea83398151915291858354161462001557565b62000e84620016dd565b84339116036200106c57604051828101949091906001600160401b038611838710176200019f57856040526000835260ff60008051602062001baa833981519152541660001462000edf5750505050620002429150620015a8565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162001037575b5062000f555760405162461bcd60e51b815260048101879052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000ff15762000f6982620015a8565b60008051602062001c2a833981519152600080a282511580159062000fe8575b62000f9057005b60008062000242956040519562000fa78762001371565b6027875260008051602062001c8a83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d4b573d62000d2b81620013b1565b50600062000f89565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001064575b6200105281836200138d565b81010312620001b55751908862000f04565b503d62001046565b60448462000de6620016dd565b34620001b5576020366003190112620001b5576200109662001345565b620010a06200146c565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b55760a0366003190112620001b557620010df62001345565b6001600160a01b039060243590828216808303620001b55760443591848316808403620001b557606435868116809103620001b55760843596871692838803620001b5576000549760ff8960081c16159889809a620012a0575b801562001287575b156200122b5760ff1981166001176000558962001218575b5060ff60005460081c1615620002cf576200119f6020976200119f60008051602062001c4a8339815191529a62001194620011a596620014ce565b600060655562001776565b62001776565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a1620011e057005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558962001159565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620011415750600160ff82161462001141565b50600160ff82161062001139565b34620001b5576020366003190112620001b5576001600160a01b03620012d362001345565b1680600052606660205260ff6001604060002001541615620013075760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001b5576000366003190112620001b5576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001b557565b35906001600160a01b0382168203620001b557565b606081019081106001600160401b038211176200019f57604052565b601f909101601f19168101906001600160401b038211908210176200019f57604052565b6001600160401b0381116200019f57601f01601f191660200190565b929192620013db82620013b1565b91620013eb60405193846200138d565b829481845281830111620001b5578281602093846000960137010152565b9080601f83011215620001b5578160206200142793359101620013cd565b90565b919082519283825260005b84811062001457575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162001435565b62001476620016dd565b336001600160a01b03909116036200148a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c0a833981519152600080a3565b156200150e57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200155f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015df5760008051602062001bea83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156200169f575081511562001650575090565b3b156200165a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016b35750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016d99060248301906200142a565b0390fd5b6033546001600160a01b0390811690813b620016f7575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001729575b505062001724575090565b905090565b602093919293813d82116200176d575b8162001748602093836200138d565b81010312620017695751918216820362001766575090388062001719565b80fd5b5080fd5b3d915062001739565b6001600160a01b0316156200178757565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a26469706673582212202603895606627d30f087fd8adf07ada9eea272be6ef90f42f36294ada33872d464736f6c63430008130033","sourceMap":"480:4585:104:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;-1:-1:-1;;;;;480:4585:104;;:::i;:::-;;;;4736:15;480:4585;;;689:66:57;480:4585:104;;;;4736:33;689:66:57;;480:4585:104;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;480:4585:104;;2423:22:42;480:4585:104;;2517:8:42;;;:::i;:::-;480:4585:104;;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;;:::i;:::-;689:66:57;480:4585:104;;;;689:66:57;480:4585:104;;;499:12:102;;;:::i;480:4585:104:-;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3184:7;480:4585;-1:-1:-1;;480:4585:104;;;;;;;3184:7;480:4585;;;;;3235:4;480:4585;;;;3310:25;480:4585;3441:16;480:4585;3459:23;480:4585;-1:-1:-1;;;;;480:4585:104;;;;;;3350:155;;480:4585;;;;;;;3484:7;;:::i;:::-;480:4585;;;-1:-1:-1;;;480:4585:104;3350:155;;;;;;;480:4585;;3350:155;;480:4585;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3390:41;480:4585;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3390:41;;480:4585;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;;;-1:-1:-1;480:4585:104;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;3350:155;-1:-1:-1;;3350:155:104;;;;;;:::i;:::-;480:4585;;;3272:243;;;;;;-1:-1:-1;;;;;3272:243:104;;;;;;;;;;480:4585;3272:243;480:4585;3272:243;;;;480:4585;;;;;;;;;;:::i;:::-;3272:243;;480:4585;3272:243;;;;;480:4585;;;;;;;;;;;3674:15;480:4585;;;;;;3674:49;480:4585;;;;;;;;;3745:44;480:4585;;;;;;3745:44;480:4585;;;;;;3272:243;480:4585;;689:66:57;480:4585:104;689:66:57;;;;;480:4585:104;;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;665:33;480:4585;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;4362:43;480:4585;;;:::i;:::-;;;1324:62:42;;;:::i;:::-;480:4585:104;;;;;;;;;;4298:15;480:4585;;;;;;;;;;;;;;;;4362:43;480:4585;;;;;;;-1:-1:-1;;480:4585:104;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;2162:34:104;480:4585;;-1:-1:-1;;;;;;480:4585:104;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;583:20;480:4585;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;-1:-1:-1;;;;;;;;;;;480:4585:104;;;:::i;:::-;1324:62:42;;:::i;:::-;3952:15:104;;;:::i;:::-;3978:36;480:4585;;-1:-1:-1;;;;;;480:4585:104;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;4029:31;480:4585;;;;;;;-1:-1:-1;;480:4585:104;;;;787:38;480:4585;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;1324:62:42;;:::i;:::-;2779:6;480:4585:104;;-1:-1:-1;;;;;;480:4585:104;;;;;;;-1:-1:-1;;;;;480:4585:104;-1:-1:-1;;;;;;;;;;;480:4585:104;;2827:40:42;480:4585:104;;;;;;;-1:-1:-1;;480:4585:104;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;1898:36:104;480:4585;;-1:-1:-1;;;;;;480:4585:104;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;750:31;480:4585;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;;:::i;:::-;;;;;;;;;;;;4577:42;1324:62:42;480:4585:104;1324:62:42;;;:::i;:::-;480:4585:104;;;;;;;;;;4518:15;480:4585;;;;;;4518:33;480:4585;;;;;;;;;;;;;;;;;;;;4577:42;480:4585;;;;;;;-1:-1:-1;;480:4585:104;;;;2089:6:61;-1:-1:-1;;;;;480:4585:104;2080:4:61;2072:23;480:4585:104;;;;;-1:-1:-1;;;;;;;;;;;480:4585:104;;;;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;;:::i;:::-;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;480:4585:104;;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;480:4585:104;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:102;;:::i;:::-;1219:10;;480:4585:104;;1208:21:102;1204:94;;-1:-1:-1;;;;;;;;;;;689:66:57;;;;;;2993:17;;;;;;:::i;2906:504::-;480:4585:104;;;;689:66:57;;;;3046:52;;;;;;480:4585:104;3046:52:57;;;;480:4585:104;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;480:4585:104;;-1:-1:-1;;;3262:56:57;;480:4585:104;3262:56:57;;689:66;;;;480:4585:104;689:66:57;;480:4585:104;-1:-1:-1;;;;;;;;;;;480:4585:104;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;480:4585:104;1889:27:57;;480:4585:104;;2208:15:57;;;:28;;;3042:291;2204:112;;480:4585:104;2204:112:57;7307:69:73;480:4585:104;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;480:4585:104;;;;-1:-1:-1;;;480:4585:104;;;;7265:25:73;;;;;;;;;480:4585:104;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:73;:::i;480:4585:104:-;;;-1:-1:-1;7307:69:73;:::i;2208:28:57:-;;480:4585:104;2208:28:57;;689:66;480:4585:104;;-1:-1:-1;;;689:66:57;;480:4585:104;689:66:57;;;;;;480:4585:104;689:66:57;;480:4585:104;-1:-1:-1;;;;;;;;;;;480:4585:104;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;1204:94:102;480:4585:104;1279:7:102;;;:::i;:::-;480:4585:104;;-1:-1:-1;;;1252:35:102;;1219:10;480:4585:104;1252:35:102;;480:4585:104;;;;;;;1252:35:102;480:4585:104;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;480:4585:104;1654:6:61;480:4585:104;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;480:4585:104;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:102;;:::i;:::-;1219:10;;480:4585:104;;1208:21:102;1204:94;;480:4585:104;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;689:66:57;-1:-1:-1;;;;;;;;;;;689:66:57;;2906:504;689:66;;;2993:17;;;;;;;;:::i;2906:504::-;480:4585:104;;;;;;;;689:66:57;;;3046:52;;;;480:4585:104;3046:52:57;;;;480:4585:104;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;480:4585:104;;-1:-1:-1;;;3262:56:57;;480:4585:104;3262:56:57;;689:66;;;;;;;480:4585:104;-1:-1:-1;;;;;;;;;;;480:4585:104;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;480:4585:104;1889:27:57;;480:4585:104;;2208:15:57;;;:28;;;3042:291;2204:112;;480:4585:104;2204:112:57;480:4585:104;;7307:69:73;480:4585:104;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;480:4585:104;;;;-1:-1:-1;;;480:4585:104;;;;7265:25:73;;;;;;480:4585:104;;;;;;;;:::i;2208:28:57:-;;480:4585:104;2208:28:57;;689:66;480:4585:104;;-1:-1:-1;;;689:66:57;;480:4585:104;689:66:57;;;;;;;;;480:4585:104;-1:-1:-1;;;;;;;;;;;480:4585:104;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;1204:94:102;480:4585:104;1279:7:102;;;:::i;480:4585:104:-;;;;;;-1:-1:-1;;480:4585:104;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;2031:27:104;480:4585;;-1:-1:-1;;;;;;480:4585:104;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:104;;;;;;:::i;:::-;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;689:66:57;480:4585:104;;;689:66:57;3301:14:44;3347:34;;;;;;480:4585:104;3346:108:44;;;;480:4585:104;;;;-1:-1:-1;;480:4585:104;;;;;;;3562:65:44;;480:4585:104;;689:66:57;480:4585:104;;;;689:66:57;480:4585:104;;;2567:26;480:4585;499:12:102;2518:19:104;-1:-1:-1;;;;;;;;;;;499:12:102;;2623:24:104;499:12:102;;:::i;:::-;480:4585:104;2480:9;480:4585;2518:19;:::i;:::-;2567:26;:::i;2623:24::-;480:4585;;;;;;;;;2658:40;480:4585;;;2658:40;480:4585;;2708:54;480:4585;;;2708:54;480:4585;;2772:36;480:4585;;;2772:36;480:4585;2818:50;480:4585;;;2818:50;480:4585;;;;;;2883:35;3647:99:44;;480:4585:104;3647:99:44;480:4585:104;;;;;;;3721:14:44;480:4585:104;;;;;;3721:14:44;480:4585:104;3562:65:44;-1:-1:-1;;480:4585:104;;;;;3562:65:44;;;480:4585:104;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:104;;;;;;;3346:108:44;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;689::57;480:4585:104;689:66:57;;;3436:17:44;3346:108;;3347:34;689:66:57;480:4585:104;689:66:57;;;3365:16:44;3347:34;;480:4585:104;;;;;;-1:-1:-1;;480:4585:104;;;;-1:-1:-1;;;;;480:4585:104;;:::i;:::-;;;;;4881:15;480:4585;;689:66:57;480:4585:104;;;;4881:33;689:66:57;;4880:34:104;4876:100;;480:4585;;4881:15;480:4585;;;;;;;;;;;;;4876:100;480:4585;;;;4937:28;;;;;;480:4585;4937:28;;480:4585;4937:28;480:4585;;;;;;-1:-1:-1;;480:4585:104;;;;704:40;480:4585;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;:::o;:::-;;;-1:-1:-1;;;;;480:4585:104;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;:::o;:::-;3350:155;480:4585;;;-1:-1:-1;;480:4585:104;;;;-1:-1:-1;;;;;480:4585:104;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;480:4585:104;;;;3350:155;480:4585;-1:-1:-1;;480:4585:104;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;480:4585:104;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3350:155;;;480:4585;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;1620:130:42;1683:7;;:::i;:::-;965:10:48;-1:-1:-1;;;;;480:4585:104;;;1683:23:42;480:4585:104;;1620:130:42:o;480:4585:104:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;480:4585:104;;-1:-1:-1;;;;;480:4585:104;;;-1:-1:-1;;;;;;480:4585:104;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;480:4585:104:-;;;;:::o;:::-;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;480:4585:104;;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;480:4585:104;;;;-1:-1:-1;;;480:4585:104;;;;;;;1406:259:57;1702:19:73;;:23;480:4585:104;;-1:-1:-1;;;;;;;;;;;480:4585:104;;-1:-1:-1;;;;;;480:4585:104;-1:-1:-1;;;;;480:4585:104;;;;;;;;;1406:259:57:o;480:4585:104:-;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:104;;;;;;;7671:628:73;;;;7875:418;;;480:4585:104;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;480:4585:104;;8201:17:73;:::o;480:4585:104:-;;;-1:-1:-1;;;480:4585:104;;;;;;;;;;;;;;;;;;;;7875:418:73;480:4585:104;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;480:4585:104;;-1:-1:-1;;;9324:20:73;;480:4585:104;9324:20:73;;;480:4585:104;;;;;;;;;;;:::i;:::-;9324:20:73;;;525:604:102;1534:6:42;480:4585:104;-1:-1:-1;;;;;480:4585:104;;;;707:33:102;;;;822:19;;:::o;703:420::-;480:4585:104;;-1:-1:-1;;;876:40:102;;;480:4585:104;876:40:102;480:4585:104;876:40:102;;;;;;-1:-1:-1;876:40:102;;;703:420;-1:-1:-1;;872:241:102;;1079:19;;:::o;872:241::-;960:13;;;:::o;876:40::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;480:4585:104;;;;;;;;;;;;876:40:102;;;;;;480:4585:104;;;;;;;876:40:102;;;-1:-1:-1;876:40:102;;1658:141:104;-1:-1:-1;;;;;480:4585:104;1740:22;1736:56;;1658:141::o;1736:56::-;480:4585;;-1:-1:-1;;;1771:21:104;;;;","linkReferences":{},"immutableReferences":{"54869":[{"start":2703,"length":32},{"start":2962,"length":32},{"start":3627,"length":32}]}},"methodIdentifiers":{"VERSION()":"ffa1ad74","collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string))":"beb331a3","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initialize(address,address,address,address,address)":"1459457a","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","setRegistryCommunityTemplate(address)":"5decae02","setStrategyTemplate(address)":"1b71f0e4","strategyTemplate()":"5c94e4d2","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setRegistryCommunityTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":\"RegistryFactoryV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunityTemplate"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":"RegistryFactoryV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":71997,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":72002,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)71989_storage)"},{"astId":72004,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":72006,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":72008,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":72010,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":72342,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)71989_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)71989_storage"},"t_struct(CommunityInfo)71989_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":71986,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":71988,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","id":72344,"exportedSymbols":{"Clone":[3002],"CommunityInfo":[71989],"ERC1967Proxy":[54318],"ProxyOwnableUpgrader":[70005],"RegistryCommunityV0_0":[71974],"RegistryFactoryV0_0":[72343]},"nodeType":"SourceUnit","src":"42:5024:104","nodes":[{"id":71976,"nodeType":"PragmaDirective","src":"42:24:104","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":71978,"nodeType":"ImportDirective","src":"68:85:104","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":72344,"sourceUnit":71975,"symbolAliases":[{"foreign":{"id":71977,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"76:21:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71980,"nodeType":"ImportDirective","src":"154:65:104","nodes":[],"absolutePath":"pkg/contracts/src/ProxyOwnableUpgrader.sol","file":"../ProxyOwnableUpgrader.sol","nameLocation":"-1:-1:-1","scope":72344,"sourceUnit":70006,"symbolAliases":[{"foreign":{"id":71979,"name":"ProxyOwnableUpgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70005,"src":"162:20:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71982,"nodeType":"ImportDirective","src":"220:84:104","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":72344,"sourceUnit":54319,"symbolAliases":[{"foreign":{"id":71981,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54318,"src":"228:12:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71984,"nodeType":"ImportDirective","src":"305:65:104","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":72344,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":71983,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"313:5:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71989,"nodeType":"StructDefinition","src":"372:57:104","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":71986,"mutability":"mutable","name":"fee","nameLocation":"407:3:104","nodeType":"VariableDeclaration","scope":71989,"src":"399:11:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71985,"name":"uint256","nodeType":"ElementaryTypeName","src":"399:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71988,"mutability":"mutable","name":"valid","nameLocation":"421:5:104","nodeType":"VariableDeclaration","scope":71989,"src":"416:10:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71987,"name":"bool","nodeType":"ElementaryTypeName","src":"416:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"379:13:104","scope":72344,"visibility":"public"},{"id":72343,"nodeType":"ContractDefinition","src":"480:4585:104","nodes":[{"id":71995,"nodeType":"VariableDeclaration","src":"539:38:104","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"562:7:104","scope":72343,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71993,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":71994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"572:5:104","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":71997,"nodeType":"VariableDeclaration","src":"583:20:104","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"598:5:104","scope":72343,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71996,"name":"uint256","nodeType":"ElementaryTypeName","src":"583:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72002,"nodeType":"VariableDeclaration","src":"610:49:104","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"644:15:104","scope":72343,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$71989_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":72001,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":71998,"name":"address","nodeType":"ElementaryTypeName","src":"618:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"610:33:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$71989_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72000,"nodeType":"UserDefinedTypeName","pathNode":{"id":71999,"name":"CommunityInfo","nameLocations":["629:13:104"],"nodeType":"IdentifierPath","referencedDeclaration":71989,"src":"629:13:104"},"referencedDeclaration":71989,"src":"629:13:104","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$71989_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":72004,"nodeType":"VariableDeclaration","src":"665:33:104","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"680:18:104","scope":72343,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72003,"name":"address","nodeType":"ElementaryTypeName","src":"665:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":72006,"nodeType":"VariableDeclaration","src":"704:40:104","nodes":[],"constant":false,"functionSelector":"02c1d0b1","mutability":"mutable","name":"registryCommunityTemplate","nameLocation":"719:25:104","scope":72343,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72005,"name":"address","nodeType":"ElementaryTypeName","src":"704:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":72008,"nodeType":"VariableDeclaration","src":"750:31:104","nodes":[],"constant":false,"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"765:16:104","scope":72343,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72007,"name":"address","nodeType":"ElementaryTypeName","src":"750:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":72010,"nodeType":"VariableDeclaration","src":"787:38:104","nodes":[],"constant":false,"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"802:23:104","scope":72343,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72009,"name":"address","nodeType":"ElementaryTypeName","src":"787:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":72014,"nodeType":"EventDefinition","src":"998:46:104","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"1004:14:104","parameters":{"id":72013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72012,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"1027:15:104","nodeType":"VariableDeclaration","scope":72014,"src":"1019:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72011,"name":"address","nodeType":"ElementaryTypeName","src":"1019:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1018:25:104"}},{"id":72020,"nodeType":"EventDefinition","src":"1049:66:104","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"1055:14:104","parameters":{"id":72019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72016,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1078:10:104","nodeType":"VariableDeclaration","scope":72020,"src":"1070:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72015,"name":"address","nodeType":"ElementaryTypeName","src":"1070:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72018,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"1098:15:104","nodeType":"VariableDeclaration","scope":72020,"src":"1090:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72017,"name":"uint256","nodeType":"ElementaryTypeName","src":"1090:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1069:45:104"}},{"id":72024,"nodeType":"EventDefinition","src":"1120:51:104","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"1126:16:104","parameters":{"id":72023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72022,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"1151:18:104","nodeType":"VariableDeclaration","scope":72024,"src":"1143:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72021,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1142:28:104"}},{"id":72030,"nodeType":"EventDefinition","src":"1176:62:104","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"1182:20:104","parameters":{"id":72029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72026,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1211:10:104","nodeType":"VariableDeclaration","scope":72030,"src":"1203:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72025,"name":"address","nodeType":"ElementaryTypeName","src":"1203:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72028,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"1228:8:104","nodeType":"VariableDeclaration","scope":72030,"src":"1223:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72027,"name":"bool","nodeType":"ElementaryTypeName","src":"1223:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1202:35:104"}},{"id":72034,"nodeType":"ErrorDefinition","src":"1410:43:104","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1416:16:104","parameters":{"id":72033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72032,"mutability":"mutable","name":"_community","nameLocation":"1441:10:104","nodeType":"VariableDeclaration","scope":72034,"src":"1433:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72031,"name":"address","nodeType":"ElementaryTypeName","src":"1433:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1432:20:104"}},{"id":72036,"nodeType":"ErrorDefinition","src":"1458:28:104","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1464:19:104","parameters":{"id":72035,"nodeType":"ParameterList","parameters":[],"src":"1483:2:104"}},{"id":72052,"nodeType":"FunctionDefinition","src":"1658:141:104","nodes":[],"body":{"id":72051,"nodeType":"Block","src":"1726:73:104","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72041,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72038,"src":"1740:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1760:1:104","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":72043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1752:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72042,"name":"address","nodeType":"ElementaryTypeName","src":"1752:7:104","typeDescriptions":{}}},"id":72045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1752:10:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1740:22:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72050,"nodeType":"IfStatement","src":"1736:56:104","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72047,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72036,"src":"1771:19:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:21:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72049,"nodeType":"RevertStatement","src":"1764:28:104"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1667:18:104","parameters":{"id":72039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72038,"mutability":"mutable","name":"_address","nameLocation":"1694:8:104","nodeType":"VariableDeclaration","scope":72052,"src":"1686:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72037,"name":"address","nodeType":"ElementaryTypeName","src":"1686:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1685:18:104"},"returnParameters":{"id":72040,"nodeType":"ParameterList","parameters":[],"src":"1726:0:104"},"scope":72343,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":72064,"nodeType":"FunctionDefinition","src":"1805:136:104","nodes":[],"body":{"id":72063,"nodeType":"Block","src":"1888:53:104","nodes":[],"statements":[{"expression":{"id":72061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72059,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72006,"src":"1898:25:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72060,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72054,"src":"1926:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1898:36:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72062,"nodeType":"ExpressionStatement","src":"1898:36:104"}]},"functionSelector":"5decae02","implemented":true,"kind":"function","modifiers":[{"id":72057,"kind":"modifierInvocation","modifierName":{"id":72056,"name":"onlyOwner","nameLocations":["1878:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"1878:9:104"},"nodeType":"ModifierInvocation","src":"1878:9:104"}],"name":"setRegistryCommunityTemplate","nameLocation":"1814:28:104","parameters":{"id":72055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72054,"mutability":"mutable","name":"template","nameLocation":"1851:8:104","nodeType":"VariableDeclaration","scope":72064,"src":"1843:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72053,"name":"address","nodeType":"ElementaryTypeName","src":"1843:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1842:18:104"},"returnParameters":{"id":72058,"nodeType":"ParameterList","parameters":[],"src":"1888:0:104"},"scope":72343,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72076,"nodeType":"FunctionDefinition","src":"1947:118:104","nodes":[],"body":{"id":72075,"nodeType":"Block","src":"2021:44:104","nodes":[],"statements":[{"expression":{"id":72073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72071,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72008,"src":"2031:16:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72072,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72066,"src":"2050:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2031:27:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72074,"nodeType":"ExpressionStatement","src":"2031:27:104"}]},"functionSelector":"1b71f0e4","implemented":true,"kind":"function","modifiers":[{"id":72069,"kind":"modifierInvocation","modifierName":{"id":72068,"name":"onlyOwner","nameLocations":["2011:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"2011:9:104"},"nodeType":"ModifierInvocation","src":"2011:9:104"}],"name":"setStrategyTemplate","nameLocation":"1956:19:104","parameters":{"id":72067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72066,"mutability":"mutable","name":"template","nameLocation":"1984:8:104","nodeType":"VariableDeclaration","scope":72076,"src":"1976:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72065,"name":"address","nodeType":"ElementaryTypeName","src":"1976:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1975:18:104"},"returnParameters":{"id":72070,"nodeType":"ParameterList","parameters":[],"src":"2021:0:104"},"scope":72343,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72088,"nodeType":"FunctionDefinition","src":"2071:132:104","nodes":[],"body":{"id":72087,"nodeType":"Block","src":"2152:51:104","nodes":[],"statements":[{"expression":{"id":72085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72083,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72010,"src":"2162:23:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72084,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72078,"src":"2188:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2162:34:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72086,"nodeType":"ExpressionStatement","src":"2162:34:104"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":72081,"kind":"modifierInvocation","modifierName":{"id":72080,"name":"onlyOwner","nameLocations":["2142:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"2142:9:104"},"nodeType":"ModifierInvocation","src":"2142:9:104"}],"name":"setCollateralVaultTemplate","nameLocation":"2080:26:104","parameters":{"id":72079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72078,"mutability":"mutable","name":"template","nameLocation":"2115:8:104","nodeType":"VariableDeclaration","scope":72088,"src":"2107:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72077,"name":"address","nodeType":"ElementaryTypeName","src":"2107:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2106:18:104"},"returnParameters":{"id":72082,"nodeType":"ParameterList","parameters":[],"src":"2152:0:104"},"scope":72343,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72146,"nodeType":"FunctionDefinition","src":"2209:780:104","nodes":[],"body":{"id":72145,"nodeType":"Block","src":"2436:553:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":72106,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72090,"src":"2463:6:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72103,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2446:5:104","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RegistryFactoryV0_0_$72343_$","typeString":"type(contract super RegistryFactoryV0_0)"}},"id":72105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2452:10:104","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":69940,"src":"2446:16:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2446:24:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72108,"nodeType":"ExpressionStatement","src":"2446:24:104"},{"expression":{"id":72111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72109,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71997,"src":"2480:5:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":72110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2488:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2480:9:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72112,"nodeType":"ExpressionStatement","src":"2480:9:104"},{"expression":{"arguments":[{"id":72114,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72092,"src":"2518:19:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72113,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72052,"src":"2499:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2499:39:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72116,"nodeType":"ExpressionStatement","src":"2499:39:104"},{"expression":{"arguments":[{"id":72118,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72094,"src":"2567:26:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72117,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72052,"src":"2548:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2548:46:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72120,"nodeType":"ExpressionStatement","src":"2548:46:104"},{"expression":{"arguments":[{"id":72122,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72098,"src":"2623:24:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72121,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72052,"src":"2604:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2604:44:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72124,"nodeType":"ExpressionStatement","src":"2604:44:104"},{"expression":{"id":72127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72125,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72004,"src":"2658:18:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72126,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72092,"src":"2679:19:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2658:40:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72128,"nodeType":"ExpressionStatement","src":"2658:40:104"},{"expression":{"id":72131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72129,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72006,"src":"2708:25:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72130,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72094,"src":"2736:26:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2708:54:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72132,"nodeType":"ExpressionStatement","src":"2708:54:104"},{"expression":{"id":72135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72133,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72008,"src":"2772:16:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72134,"name":"_strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72096,"src":"2791:17:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2772:36:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72136,"nodeType":"ExpressionStatement","src":"2772:36:104"},{"expression":{"id":72139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72137,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72010,"src":"2818:23:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72138,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72098,"src":"2844:24:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2818:50:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72140,"nodeType":"ExpressionStatement","src":"2818:50:104"},{"eventCall":{"arguments":[{"id":72142,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72092,"src":"2898:19:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72141,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72014,"src":"2883:14:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2883:35:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72144,"nodeType":"EmitStatement","src":"2878:40:104"}]},"functionSelector":"1459457a","implemented":true,"kind":"function","modifiers":[{"id":72101,"kind":"modifierInvocation","modifierName":{"id":72100,"name":"initializer","nameLocations":["2424:11:104"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"2424:11:104"},"nodeType":"ModifierInvocation","src":"2424:11:104"}],"name":"initialize","nameLocation":"2218:10:104","parameters":{"id":72099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72090,"mutability":"mutable","name":"_owner","nameLocation":"2246:6:104","nodeType":"VariableDeclaration","scope":72146,"src":"2238:14:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72089,"name":"address","nodeType":"ElementaryTypeName","src":"2238:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72092,"mutability":"mutable","name":"_gardensFeeReceiver","nameLocation":"2270:19:104","nodeType":"VariableDeclaration","scope":72146,"src":"2262:27:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72091,"name":"address","nodeType":"ElementaryTypeName","src":"2262:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72094,"mutability":"mutable","name":"_registryCommunityTemplate","nameLocation":"2307:26:104","nodeType":"VariableDeclaration","scope":72146,"src":"2299:34:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72093,"name":"address","nodeType":"ElementaryTypeName","src":"2299:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72096,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"2351:17:104","nodeType":"VariableDeclaration","scope":72146,"src":"2343:25:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72095,"name":"address","nodeType":"ElementaryTypeName","src":"2343:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72098,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"2386:24:104","nodeType":"VariableDeclaration","scope":72146,"src":"2378:32:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72097,"name":"address","nodeType":"ElementaryTypeName","src":"2378:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2228:188:104"},"returnParameters":{"id":72102,"nodeType":"ParameterList","parameters":[],"src":"2436:0:104"},"scope":72343,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":72229,"nodeType":"FunctionDefinition","src":"2995:844:104","nodes":[],"body":{"id":72228,"nodeType":"Block","src":"3158:681:104","nodes":[],"statements":[{"expression":{"id":72159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72154,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72149,"src":"3168:6:104","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":72156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3175:6:104","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":70200,"src":"3168:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3184:7:104","subExpression":{"id":72157,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71997,"src":"3184:5:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3168:23:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72160,"nodeType":"ExpressionStatement","src":"3168:23:104"},{"expression":{"id":72168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72161,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72149,"src":"3201:6:104","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":72163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3208:16:104","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70202,"src":"3201:23:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72166,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3235:4:104","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}],"id":72165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3227:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72164,"name":"address","nodeType":"ElementaryTypeName","src":"3227:7:104","typeDescriptions":{}}},"id":72167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3227:13:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3201:39:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72169,"nodeType":"ExpressionStatement","src":"3201:39:104"},{"assignments":[72172],"declarations":[{"constant":false,"id":72172,"mutability":"mutable","name":"proxy","nameLocation":"3264:5:104","nodeType":"VariableDeclaration","scope":72228,"src":"3251:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"},"typeName":{"id":72171,"nodeType":"UserDefinedTypeName","pathNode":{"id":72170,"name":"ERC1967Proxy","nameLocations":["3251:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":54318,"src":"3251:12:104"},"referencedDeclaration":54318,"src":"3251:12:104","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":72192,"initialValue":{"arguments":[{"arguments":[{"id":72178,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72006,"src":"3310:25:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3302:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72176,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:104","typeDescriptions":{}}},"id":72179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:34:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":72182,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"3390:21:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$71974_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":72183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3412:10:104","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70759,"src":"3390:32:104","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_InitializeParams_$70216_memory_ptr_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityV0_0.InitializeParams memory,address,address,address)"}},"id":72184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3423:8:104","memberName":"selector","nodeType":"MemberAccess","src":"3390:41:104","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":72185,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72149,"src":"3433:6:104","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},{"id":72186,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72008,"src":"3441:16:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72187,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72010,"src":"3459:23:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":72188,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[69983],"referencedDeclaration":69983,"src":"3484:5:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":72189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3484:7:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72180,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3350:3:104","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3354:18:104","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3350:22:104","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":72190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3350:155:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3272:16:104","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$54318_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":72174,"nodeType":"UserDefinedTypeName","pathNode":{"id":72173,"name":"ERC1967Proxy","nameLocations":["3276:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":54318,"src":"3276:12:104"},"referencedDeclaration":54318,"src":"3276:12:104","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}}},"id":72191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3272:243:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"3251:264:104"},{"assignments":[72195],"declarations":[{"constant":false,"id":72195,"mutability":"mutable","name":"registryCommunity","nameLocation":"3548:17:104","nodeType":"VariableDeclaration","scope":72228,"src":"3526:39:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":72194,"nodeType":"UserDefinedTypeName","pathNode":{"id":72193,"name":"RegistryCommunityV0_0","nameLocations":["3526:21:104"],"nodeType":"IdentifierPath","referencedDeclaration":71974,"src":"3526:21:104"},"referencedDeclaration":71974,"src":"3526:21:104","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":72205,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":72201,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72172,"src":"3606:5:104","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}],"id":72200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3598:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72199,"name":"address","nodeType":"ElementaryTypeName","src":"3598:7:104","typeDescriptions":{}}},"id":72202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3598:14:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3590:8:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":72197,"name":"address","nodeType":"ElementaryTypeName","src":"3590:8:104","stateMutability":"payable","typeDescriptions":{}}},"id":72203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3590:23:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72196,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"3568:21:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$71974_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":72204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3568:46:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"3526:88:104"},{"expression":{"id":72214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":72206,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72002,"src":"3674:15:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$71989_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":72211,"indexExpression":{"arguments":[{"id":72209,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72195,"src":"3698:17:104","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":72208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3690:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72207,"name":"address","nodeType":"ElementaryTypeName","src":"3690:7:104","typeDescriptions":{}}},"id":72210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3690:26:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3674:43:104","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$71989_storage","typeString":"struct CommunityInfo storage ref"}},"id":72212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3718:5:104","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":71988,"src":"3674:49:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":72213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3726:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3674:56:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72215,"nodeType":"ExpressionStatement","src":"3674:56:104"},{"eventCall":{"arguments":[{"arguments":[{"id":72219,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72195,"src":"3770:17:104","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":72218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3762:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72217,"name":"address","nodeType":"ElementaryTypeName","src":"3762:7:104","typeDescriptions":{}}},"id":72220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3762:26:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72216,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72024,"src":"3745:16:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3745:44:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72222,"nodeType":"EmitStatement","src":"3740:49:104"},{"expression":{"arguments":[{"id":72225,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72195,"src":"3814:17:104","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":72224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3806:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72223,"name":"address","nodeType":"ElementaryTypeName","src":"3806:7:104","typeDescriptions":{}}},"id":72226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3806:26:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":72153,"id":72227,"nodeType":"Return","src":"3799:33:104"}]},"functionSelector":"beb331a3","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"3004:14:104","parameters":{"id":72150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72149,"mutability":"mutable","name":"params","nameLocation":"3065:6:104","nodeType":"VariableDeclaration","scope":72229,"src":"3019:52:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":72148,"nodeType":"UserDefinedTypeName","pathNode":{"id":72147,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["3019:21:104","3041:16:104"],"nodeType":"IdentifierPath","referencedDeclaration":70216,"src":"3019:38:104"},"referencedDeclaration":70216,"src":"3019:38:104","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70216_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"3018:54:104"},"returnParameters":{"id":72153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72152,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"3129:23:104","nodeType":"VariableDeclaration","scope":72229,"src":"3121:31:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72151,"name":"address","nodeType":"ElementaryTypeName","src":"3121:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3120:33:104"},"scope":72343,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72249,"nodeType":"FunctionDefinition","src":"3845:222:104","nodes":[],"body":{"id":72248,"nodeType":"Block","src":"3923:144:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":72237,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72231,"src":"3952:15:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72236,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72052,"src":"3933:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3933:35:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72239,"nodeType":"ExpressionStatement","src":"3933:35:104"},{"expression":{"id":72242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72240,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72004,"src":"3978:18:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72241,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72231,"src":"3999:15:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3978:36:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72243,"nodeType":"ExpressionStatement","src":"3978:36:104"},{"eventCall":{"arguments":[{"id":72245,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72231,"src":"4044:15:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72244,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72014,"src":"4029:14:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4029:31:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72247,"nodeType":"EmitStatement","src":"4024:36:104"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":72234,"kind":"modifierInvocation","modifierName":{"id":72233,"name":"onlyOwner","nameLocations":["3913:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"3913:9:104"},"nodeType":"ModifierInvocation","src":"3913:9:104"}],"name":"setReceiverAddress","nameLocation":"3854:18:104","parameters":{"id":72232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72231,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"3881:15:104","nodeType":"VariableDeclaration","scope":72249,"src":"3873:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72230,"name":"address","nodeType":"ElementaryTypeName","src":"3873:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3872:25:104"},"returnParameters":{"id":72235,"nodeType":"ParameterList","parameters":[],"src":"3923:0:104"},"scope":72343,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72257,"nodeType":"FunctionDefinition","src":"4073:115:104","nodes":[],"body":{"id":72256,"nodeType":"Block","src":"4146:42:104","nodes":[],"statements":[{"expression":{"id":72254,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72004,"src":"4163:18:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":72253,"id":72255,"nodeType":"Return","src":"4156:25:104"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"4082:21:104","parameters":{"id":72250,"nodeType":"ParameterList","parameters":[],"src":"4103:2:104"},"returnParameters":{"id":72253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72252,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72257,"src":"4137:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72251,"name":"address","nodeType":"ElementaryTypeName","src":"4137:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4136:9:104"},"scope":72343,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":72279,"nodeType":"FunctionDefinition","src":"4194:218:104","nodes":[],"body":{"id":72278,"nodeType":"Block","src":"4288:124:104","nodes":[],"statements":[{"expression":{"id":72271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":72266,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72002,"src":"4298:15:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$71989_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":72268,"indexExpression":{"id":72267,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72259,"src":"4314:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4298:27:104","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$71989_storage","typeString":"struct CommunityInfo storage ref"}},"id":72269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4326:3:104","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":71986,"src":"4298:31:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72270,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72261,"src":"4332:15:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4298:49:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72272,"nodeType":"ExpressionStatement","src":"4298:49:104"},{"eventCall":{"arguments":[{"id":72274,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72259,"src":"4377:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72275,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72261,"src":"4389:15:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72273,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72020,"src":"4362:14:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4362:43:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72277,"nodeType":"EmitStatement","src":"4357:48:104"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":72264,"kind":"modifierInvocation","modifierName":{"id":72263,"name":"onlyOwner","nameLocations":["4278:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"4278:9:104"},"nodeType":"ModifierInvocation","src":"4278:9:104"}],"name":"setProtocolFee","nameLocation":"4203:14:104","parameters":{"id":72262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72259,"mutability":"mutable","name":"_community","nameLocation":"4226:10:104","nodeType":"VariableDeclaration","scope":72279,"src":"4218:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72258,"name":"address","nodeType":"ElementaryTypeName","src":"4218:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72261,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"4246:15:104","nodeType":"VariableDeclaration","scope":72279,"src":"4238:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72260,"name":"uint256","nodeType":"ElementaryTypeName","src":"4238:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4217:45:104"},"returnParameters":{"id":72265,"nodeType":"ParameterList","parameters":[],"src":"4288:0:104"},"scope":72343,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72301,"nodeType":"FunctionDefinition","src":"4418:208:104","nodes":[],"body":{"id":72300,"nodeType":"Block","src":"4508:118:104","nodes":[],"statements":[{"expression":{"id":72293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":72288,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72002,"src":"4518:15:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$71989_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":72290,"indexExpression":{"id":72289,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72281,"src":"4534:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4518:27:104","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$71989_storage","typeString":"struct CommunityInfo storage ref"}},"id":72291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4546:5:104","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":71988,"src":"4518:33:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72292,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72283,"src":"4554:8:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4518:44:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72294,"nodeType":"ExpressionStatement","src":"4518:44:104"},{"eventCall":{"arguments":[{"id":72296,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72281,"src":"4598:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72297,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72283,"src":"4610:8:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":72295,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72030,"src":"4577:20:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":72298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4577:42:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72299,"nodeType":"EmitStatement","src":"4572:47:104"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":72286,"kind":"modifierInvocation","modifierName":{"id":72285,"name":"onlyOwner","nameLocations":["4498:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"4498:9:104"},"nodeType":"ModifierInvocation","src":"4498:9:104"}],"name":"setCommunityValidity","nameLocation":"4427:20:104","parameters":{"id":72284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72281,"mutability":"mutable","name":"_community","nameLocation":"4456:10:104","nodeType":"VariableDeclaration","scope":72301,"src":"4448:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72280,"name":"address","nodeType":"ElementaryTypeName","src":"4448:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72283,"mutability":"mutable","name":"_isValid","nameLocation":"4473:8:104","nodeType":"VariableDeclaration","scope":72301,"src":"4468:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72282,"name":"bool","nodeType":"ElementaryTypeName","src":"4468:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4447:35:104"},"returnParameters":{"id":72287,"nodeType":"ParameterList","parameters":[],"src":"4508:0:104"},"scope":72343,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72314,"nodeType":"FunctionDefinition","src":"4632:144:104","nodes":[],"body":{"id":72313,"nodeType":"Block","src":"4719:57:104","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":72308,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72002,"src":"4736:15:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$71989_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":72310,"indexExpression":{"id":72309,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72303,"src":"4752:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4736:27:104","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$71989_storage","typeString":"struct CommunityInfo storage ref"}},"id":72311,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4764:5:104","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":71988,"src":"4736:33:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72307,"id":72312,"nodeType":"Return","src":"4729:40:104"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"4641:20:104","parameters":{"id":72304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72303,"mutability":"mutable","name":"_community","nameLocation":"4670:10:104","nodeType":"VariableDeclaration","scope":72314,"src":"4662:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72302,"name":"address","nodeType":"ElementaryTypeName","src":"4662:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4661:20:104"},"returnParameters":{"id":72307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72314,"src":"4713:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72305,"name":"bool","nodeType":"ElementaryTypeName","src":"4713:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4712:6:104"},"scope":72343,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":72338,"nodeType":"FunctionDefinition","src":"4782:249:104","nodes":[],"body":{"id":72337,"nodeType":"Block","src":"4866:165:104","nodes":[],"statements":[{"condition":{"id":72325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4880:34:104","subExpression":{"expression":{"baseExpression":{"id":72321,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72002,"src":"4881:15:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$71989_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":72323,"indexExpression":{"id":72322,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72316,"src":"4897:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4881:27:104","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$71989_storage","typeString":"struct CommunityInfo storage ref"}},"id":72324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4909:5:104","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":71988,"src":"4881:33:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72331,"nodeType":"IfStatement","src":"4876:100:104","trueBody":{"id":72330,"nodeType":"Block","src":"4916:60:104","statements":[{"errorCall":{"arguments":[{"id":72327,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72316,"src":"4954:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72326,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72034,"src":"4937:16:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4937:28:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72329,"nodeType":"RevertStatement","src":"4930:35:104"}]}},{"expression":{"expression":{"baseExpression":{"id":72332,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72002,"src":"4993:15:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$71989_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":72334,"indexExpression":{"id":72333,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72316,"src":"5009:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4993:27:104","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$71989_storage","typeString":"struct CommunityInfo storage ref"}},"id":72335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5021:3:104","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":71986,"src":"4993:31:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72320,"id":72336,"nodeType":"Return","src":"4986:38:104"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"4791:14:104","parameters":{"id":72317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72316,"mutability":"mutable","name":"_community","nameLocation":"4814:10:104","nodeType":"VariableDeclaration","scope":72338,"src":"4806:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72315,"name":"address","nodeType":"ElementaryTypeName","src":"4806:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4805:20:104"},"returnParameters":{"id":72320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72338,"src":"4857:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72318,"name":"uint256","nodeType":"ElementaryTypeName","src":"4857:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4856:9:104"},"scope":72343,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":72342,"nodeType":"VariableDeclaration","src":"5037:25:104","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5057:5:104","scope":72343,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":72339,"name":"uint256","nodeType":"ElementaryTypeName","src":"5037:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72341,"length":{"hexValue":"3530","id":72340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5045:2:104","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5037:11:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":71991,"name":"ProxyOwnableUpgrader","nameLocations":["512:20:104"],"nodeType":"IdentifierPath","referencedDeclaration":70005,"src":"512:20:104"},"id":71992,"nodeType":"InheritanceSpecifier","src":"512:20:104"}],"canonicalName":"RegistryFactoryV0_0","contractDependencies":[54318],"contractKind":"contract","documentation":{"id":71990,"nodeType":"StructuredDocumentation","src":"431:49:104","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[72343,70005,54969,54622,54271,54281,52200,52993,52449],"name":"RegistryFactoryV0_0","nameLocation":"489:19:104","scope":72344,"usedErrors":[69928,72034,72036]}],"license":"AGPL-3.0-only"},"id":104} \ No newline at end of file +{"abi":[{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunityTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a080604052346100315730608052611cff90816100378239608051818181610a8f01528181610b920152610e2b0152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200131f575080630a992e0c14620012ae5780631459457a14620010c25780631b71f0e414620010795780633659cfe61462000e025780634f1ef2861462000b3d57806352d1902d1462000a7a5780635a2c8ace14620009ec5780635c94e4d214620009c15780635decae021462000978578063715018a6146200092857806377122d5614620008fd5780638279c7db14620008915780638da5cb5b1462000860578063987435be1462000759578063affed0e01462000840578063b0d3713a14620007f7578063b5b3ca2c1462000784578063b8bed9011462000759578063beb331a31462000328578063c4d66de81462000298578063f2fde38b1462000200578063f5016b5e14620001ba5763ffa1ad74146200014057600080fd5b34620001b5576000366003190112620001b55760408051908101906001600160401b038211818310176200019f576200019b9160405260038152620302e360ec1b60208201526040519182916020835260208301906200142a565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001b5576020366003190112620001b5576001600160a01b03620001df62001345565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001b5576020366003190112620001b5576200021d62001345565b620002276200146c565b6001600160a01b0381161562000244576200024290620014ce565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001b5576020366003190112620001b557620002b562001345565b60ff60005460081c1615620002cf576200024290620014ce565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001b557600319602036820112620001b5576001600160401b0360043511620001b5576101808160043536030112620001b5576040519061018082016001600160401b038111838210176200019f576040526200038c6004356004016200135c565b8252600435602401356001600160a01b0381168103620001b5576020830152600435604481013560408401526064810135606084015260848101356080840152620003da9060a4016200135c565b60a0830152620003ef60c4600435016200135c565b60c083015260043560e401356001600160401b038111620001b55760409060043501918236030112620001b55760408051919082016001600160401b038111838210176200019f57604052600481013582526024810135906001600160401b038211620001b557600462000467923692010162001409565b602082015260e082015260043561010401356001600160a01b0381168103620001b55761010082015260043561012401356001600160401b038111620001b557620004ba90600436918135010162001409565b61012082015260043561014401358015159003620001b5576004356101448101356101408301526001600160401b036101649091013511620001b5576200050d3660048035610164810135010162001409565b610160820152606554600019811462000743576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200066b9362000695939192918116911662000562620016dd565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200060e906102648801906200142a565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a015291610160916200064991906200142a565b9261014081015115156101e48a0152015190878303016102048801526200142a565b604485019390935260648401526001600160a01b0316608483015203601f1981018352826200138d565b6040519161041080840192906001600160401b038411858510176200019f578493620006d4936040926200179a8739815281602082015201906200142a565b03906000f08015620007375760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001b5576000366003190112620001b5576067546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b5577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007c462001345565b60243590620007d26200146c565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001b5576020366003190112620001b5576200081462001345565b6200081e6200146c565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576020606554604051908152f35b34620001b5576000366003190112620001b55760206200087f620016dd565b6040516001600160a01b039091168152f35b34620001b5576020366003190112620001b55760008051602062001c4a8339815191526020620008c062001345565b620008ca6200146c565b620008d58162001776565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001b5576000366003190112620001b557606a546040516001600160a01b039091168152602090f35b34620001b5576000366003190112620001b557620009456200146c565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c0a8339815191528280a3005b34620001b5576020366003190112620001b5576200099562001345565b6200099f6200146c565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576069546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b55762000a0962001345565b60243590811515809203620001b5577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a476200146c565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001b5576000366003190112620001b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ad757602060405160008051602062001bea8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001b55762000b5462001345565b6024356001600160401b038111620001b55736602382011215620001b55762000b88903690602481600401359101620013cd565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bc33084141562001506565b62000be360008051602062001bea83398151915293828554161462001557565b62000bed620016dd565b813391160362000dd95760008051602062001baa8339815191525460ff161562000c1f575050506200024290620015a8565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000da4575b5062000c955760405162461bcd60e51b815260048101869052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d5e5762000ca984620015a8565b60008051602062001c2a833981519152600080a281511580159062000d55575b62000cd057005b62000242926000806040519462000ce78662001371565b6027865260008051602062001c8a83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d4b573d62000d2b81620013b1565b9062000d3b60405192836200138d565b8152600081943d92013e6200163a565b606092506200163a565b50600162000cc9565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000dd1575b62000dbf81836200138d565b81010312620001b55751908762000c44565b503d62000db3565b60449062000de6620016dd565b60405163163678e960e01b815233600482015291166024820152fd5b34620001b557602080600319360112620001b55762000e2062001345565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e5a3082141562001506565b62000e7a60008051602062001bea83398151915291858354161462001557565b62000e84620016dd565b84339116036200106c57604051828101949091906001600160401b038611838710176200019f57856040526000835260ff60008051602062001baa833981519152541660001462000edf5750505050620002429150620015a8565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162001037575b5062000f555760405162461bcd60e51b815260048101879052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000ff15762000f6982620015a8565b60008051602062001c2a833981519152600080a282511580159062000fe8575b62000f9057005b60008062000242956040519562000fa78762001371565b6027875260008051602062001c8a83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d4b573d62000d2b81620013b1565b50600062000f89565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001064575b6200105281836200138d565b81010312620001b55751908862000f04565b503d62001046565b60448462000de6620016dd565b34620001b5576020366003190112620001b5576200109662001345565b620010a06200146c565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b55760a0366003190112620001b557620010df62001345565b6001600160a01b039060243590828216808303620001b55760443591848316808403620001b557606435868116809103620001b55760843596871692838803620001b5576000549760ff8960081c16159889809a620012a0575b801562001287575b156200122b5760ff1981166001176000558962001218575b5060ff60005460081c1615620002cf576200119f6020976200119f60008051602062001c4a8339815191529a62001194620011a596620014ce565b600060655562001776565b62001776565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a1620011e057005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558962001159565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620011415750600160ff82161462001141565b50600160ff82161062001139565b34620001b5576020366003190112620001b5576001600160a01b03620012d362001345565b1680600052606660205260ff6001604060002001541615620013075760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001b5576000366003190112620001b5576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001b557565b35906001600160a01b0382168203620001b557565b606081019081106001600160401b038211176200019f57604052565b601f909101601f19168101906001600160401b038211908210176200019f57604052565b6001600160401b0381116200019f57601f01601f191660200190565b929192620013db82620013b1565b91620013eb60405193846200138d565b829481845281830111620001b5578281602093846000960137010152565b9080601f83011215620001b5578160206200142793359101620013cd565b90565b919082519283825260005b84811062001457575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162001435565b62001476620016dd565b336001600160a01b03909116036200148a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c0a833981519152600080a3565b156200150e57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200155f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015df5760008051602062001bea83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156200169f575081511562001650575090565b3b156200165a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016b35750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016d99060248301906200142a565b0390fd5b6033546001600160a01b0390811690813b620016f7575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001729575b505062001724575090565b905090565b602093919293813d82116200176d575b8162001748602093836200138d565b81010312620017695751918216820362001766575090388062001719565b80fd5b5080fd5b3d915062001739565b6001600160a01b0316156200178757565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122033f0a9d1793f90fc961617711fc56f8bbd8ed7df3cc6b5c214af8e42eb49dd9164736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220599b2178b1d8fb140e08466f29498b5206cd868f32343a750fa3a9c0c17ea5b164736f6c63430008130033","sourceMap":"480:4585:105:-:0;;;;;;;1088:4:61;1080:13;;480:4585:105;;;;;;1080:13:61;480:4585:105;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200131f575080630a992e0c14620012ae5780631459457a14620010c25780631b71f0e414620010795780633659cfe61462000e025780634f1ef2861462000b3d57806352d1902d1462000a7a5780635a2c8ace14620009ec5780635c94e4d214620009c15780635decae021462000978578063715018a6146200092857806377122d5614620008fd5780638279c7db14620008915780638da5cb5b1462000860578063987435be1462000759578063affed0e01462000840578063b0d3713a14620007f7578063b5b3ca2c1462000784578063b8bed9011462000759578063beb331a31462000328578063c4d66de81462000298578063f2fde38b1462000200578063f5016b5e14620001ba5763ffa1ad74146200014057600080fd5b34620001b5576000366003190112620001b55760408051908101906001600160401b038211818310176200019f576200019b9160405260038152620302e360ec1b60208201526040519182916020835260208301906200142a565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001b5576020366003190112620001b5576001600160a01b03620001df62001345565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001b5576020366003190112620001b5576200021d62001345565b620002276200146c565b6001600160a01b0381161562000244576200024290620014ce565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001b5576020366003190112620001b557620002b562001345565b60ff60005460081c1615620002cf576200024290620014ce565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001b557600319602036820112620001b5576001600160401b0360043511620001b5576101808160043536030112620001b5576040519061018082016001600160401b038111838210176200019f576040526200038c6004356004016200135c565b8252600435602401356001600160a01b0381168103620001b5576020830152600435604481013560408401526064810135606084015260848101356080840152620003da9060a4016200135c565b60a0830152620003ef60c4600435016200135c565b60c083015260043560e401356001600160401b038111620001b55760409060043501918236030112620001b55760408051919082016001600160401b038111838210176200019f57604052600481013582526024810135906001600160401b038211620001b557600462000467923692010162001409565b602082015260e082015260043561010401356001600160a01b0381168103620001b55761010082015260043561012401356001600160401b038111620001b557620004ba90600436918135010162001409565b61012082015260043561014401358015159003620001b5576004356101448101356101408301526001600160401b036101649091013511620001b5576200050d3660048035610164810135010162001409565b610160820152606554600019811462000743576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200066b9362000695939192918116911662000562620016dd565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200060e906102648801906200142a565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a015291610160916200064991906200142a565b9261014081015115156101e48a0152015190878303016102048801526200142a565b604485019390935260648401526001600160a01b0316608483015203601f1981018352826200138d565b6040519161041080840192906001600160401b038411858510176200019f578493620006d4936040926200179a8739815281602082015201906200142a565b03906000f08015620007375760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001b5576000366003190112620001b5576067546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b5577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007c462001345565b60243590620007d26200146c565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001b5576020366003190112620001b5576200081462001345565b6200081e6200146c565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576020606554604051908152f35b34620001b5576000366003190112620001b55760206200087f620016dd565b6040516001600160a01b039091168152f35b34620001b5576020366003190112620001b55760008051602062001c4a8339815191526020620008c062001345565b620008ca6200146c565b620008d58162001776565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001b5576000366003190112620001b557606a546040516001600160a01b039091168152602090f35b34620001b5576000366003190112620001b557620009456200146c565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c0a8339815191528280a3005b34620001b5576020366003190112620001b5576200099562001345565b6200099f6200146c565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576069546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b55762000a0962001345565b60243590811515809203620001b5577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a476200146c565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001b5576000366003190112620001b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ad757602060405160008051602062001bea8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001b55762000b5462001345565b6024356001600160401b038111620001b55736602382011215620001b55762000b88903690602481600401359101620013cd565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bc33084141562001506565b62000be360008051602062001bea83398151915293828554161462001557565b62000bed620016dd565b813391160362000dd95760008051602062001baa8339815191525460ff161562000c1f575050506200024290620015a8565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000da4575b5062000c955760405162461bcd60e51b815260048101869052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d5e5762000ca984620015a8565b60008051602062001c2a833981519152600080a281511580159062000d55575b62000cd057005b62000242926000806040519462000ce78662001371565b6027865260008051602062001c8a83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d4b573d62000d2b81620013b1565b9062000d3b60405192836200138d565b8152600081943d92013e6200163a565b606092506200163a565b50600162000cc9565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000dd1575b62000dbf81836200138d565b81010312620001b55751908762000c44565b503d62000db3565b60449062000de6620016dd565b60405163163678e960e01b815233600482015291166024820152fd5b34620001b557602080600319360112620001b55762000e2062001345565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e5a3082141562001506565b62000e7a60008051602062001bea83398151915291858354161462001557565b62000e84620016dd565b84339116036200106c57604051828101949091906001600160401b038611838710176200019f57856040526000835260ff60008051602062001baa833981519152541660001462000edf5750505050620002429150620015a8565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162001037575b5062000f555760405162461bcd60e51b815260048101879052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000ff15762000f6982620015a8565b60008051602062001c2a833981519152600080a282511580159062000fe8575b62000f9057005b60008062000242956040519562000fa78762001371565b6027875260008051602062001c8a83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d4b573d62000d2b81620013b1565b50600062000f89565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001064575b6200105281836200138d565b81010312620001b55751908862000f04565b503d62001046565b60448462000de6620016dd565b34620001b5576020366003190112620001b5576200109662001345565b620010a06200146c565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b55760a0366003190112620001b557620010df62001345565b6001600160a01b039060243590828216808303620001b55760443591848316808403620001b557606435868116809103620001b55760843596871692838803620001b5576000549760ff8960081c16159889809a620012a0575b801562001287575b156200122b5760ff1981166001176000558962001218575b5060ff60005460081c1615620002cf576200119f6020976200119f60008051602062001c4a8339815191529a62001194620011a596620014ce565b600060655562001776565b62001776565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a1620011e057005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558962001159565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620011415750600160ff82161462001141565b50600160ff82161062001139565b34620001b5576020366003190112620001b5576001600160a01b03620012d362001345565b1680600052606660205260ff6001604060002001541615620013075760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001b5576000366003190112620001b5576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001b557565b35906001600160a01b0382168203620001b557565b606081019081106001600160401b038211176200019f57604052565b601f909101601f19168101906001600160401b038211908210176200019f57604052565b6001600160401b0381116200019f57601f01601f191660200190565b929192620013db82620013b1565b91620013eb60405193846200138d565b829481845281830111620001b5578281602093846000960137010152565b9080601f83011215620001b5578160206200142793359101620013cd565b90565b919082519283825260005b84811062001457575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162001435565b62001476620016dd565b336001600160a01b03909116036200148a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c0a833981519152600080a3565b156200150e57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200155f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015df5760008051602062001bea83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156200169f575081511562001650575090565b3b156200165a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016b35750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016d99060248301906200142a565b0390fd5b6033546001600160a01b0390811690813b620016f7575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001729575b505062001724575090565b905090565b602093919293813d82116200176d575b8162001748602093836200138d565b81010312620017695751918216820362001766575090388062001719565b80fd5b5080fd5b3d915062001739565b6001600160a01b0316156200178757565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122033f0a9d1793f90fc961617711fc56f8bbd8ed7df3cc6b5c214af8e42eb49dd9164736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220599b2178b1d8fb140e08466f29498b5206cd868f32343a750fa3a9c0c17ea5b164736f6c63430008130033","sourceMap":"480:4585:105:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;-1:-1:-1;;;;;480:4585:105;;:::i;:::-;;;;4736:15;480:4585;;;689:66:57;480:4585:105;;;;4736:33;689:66:57;;480:4585:105;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;480:4585:105;;2423:22:42;480:4585:105;;2517:8:42;;;:::i;:::-;480:4585:105;;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;;:::i;:::-;689:66:57;480:4585:105;;;;689:66:57;480:4585:105;;;499:12:101;;;:::i;480:4585:105:-;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3184:7;480:4585;-1:-1:-1;;480:4585:105;;;;;;;3184:7;480:4585;;;;;3235:4;480:4585;;;;3310:25;480:4585;3441:16;480:4585;3459:23;480:4585;-1:-1:-1;;;;;480:4585:105;;;;;;3350:155;;480:4585;;;;;;;3484:7;;:::i;:::-;480:4585;;;-1:-1:-1;;;480:4585:105;3350:155;;;;;;;480:4585;;3350:155;;480:4585;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3390:41;480:4585;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3390:41;;480:4585;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;;;-1:-1:-1;480:4585:105;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;3350:155;-1:-1:-1;;3350:155:105;;;;;;:::i;:::-;480:4585;;;3272:243;;;;;;-1:-1:-1;;;;;3272:243:105;;;;;;;;;;480:4585;3272:243;480:4585;3272:243;;;;480:4585;;;;;;;;;;:::i;:::-;3272:243;;480:4585;3272:243;;;;;480:4585;;;;;;;;;;;3674:15;480:4585;;;;;;3674:49;480:4585;;;;;;;;;3745:44;480:4585;;;;;;3745:44;480:4585;;;;;;3272:243;480:4585;;689:66:57;480:4585:105;689:66:57;;;;;480:4585:105;;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;665:33;480:4585;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;4362:43;480:4585;;;:::i;:::-;;;1324:62:42;;;:::i;:::-;480:4585:105;;;;;;;;;;4298:15;480:4585;;;;;;;;;;;;;;;;4362:43;480:4585;;;;;;;-1:-1:-1;;480:4585:105;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;2162:34:105;480:4585;;-1:-1:-1;;;;;;480:4585:105;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;583:20;480:4585;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;-1:-1:-1;;;;;;;;;;;480:4585:105;;;:::i;:::-;1324:62:42;;:::i;:::-;3952:15:105;;;:::i;:::-;3978:36;480:4585;;-1:-1:-1;;;;;;480:4585:105;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;4029:31;480:4585;;;;;;;-1:-1:-1;;480:4585:105;;;;787:38;480:4585;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;1324:62:42;;:::i;:::-;2779:6;480:4585:105;;-1:-1:-1;;;;;;480:4585:105;;;;;;;-1:-1:-1;;;;;480:4585:105;-1:-1:-1;;;;;;;;;;;480:4585:105;;2827:40:42;480:4585:105;;;;;;;-1:-1:-1;;480:4585:105;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;1898:36:105;480:4585;;-1:-1:-1;;;;;;480:4585:105;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;750:31;480:4585;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;;:::i;:::-;;;;;;;;;;;;4577:42;1324:62:42;480:4585:105;1324:62:42;;;:::i;:::-;480:4585:105;;;;;;;;;;4518:15;480:4585;;;;;;4518:33;480:4585;;;;;;;;;;;;;;;;;;;;4577:42;480:4585;;;;;;;-1:-1:-1;;480:4585:105;;;;2089:6:61;-1:-1:-1;;;;;480:4585:105;2080:4:61;2072:23;480:4585:105;;;;;-1:-1:-1;;;;;;;;;;;480:4585:105;;;;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;;:::i;:::-;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;480:4585:105;;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;480:4585:105;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:101;;:::i;:::-;1219:10;;480:4585:105;;1208:21:101;1204:94;;-1:-1:-1;;;;;;;;;;;689:66:57;;;;;;2993:17;;;;;;:::i;2906:504::-;480:4585:105;;;;689:66:57;;;;3046:52;;;;;;480:4585:105;3046:52:57;;;;480:4585:105;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;480:4585:105;;-1:-1:-1;;;3262:56:57;;480:4585:105;3262:56:57;;689:66;;;;480:4585:105;689:66:57;;480:4585:105;-1:-1:-1;;;;;;;;;;;480:4585:105;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;480:4585:105;1889:27:57;;480:4585:105;;2208:15:57;;;:28;;;3042:291;2204:112;;480:4585:105;2204:112:57;7307:69:73;480:4585:105;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;480:4585:105;;;;-1:-1:-1;;;480:4585:105;;;;7265:25:73;;;;;;;;;480:4585:105;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:73;:::i;480:4585:105:-;;;-1:-1:-1;7307:69:73;:::i;2208:28:57:-;;480:4585:105;2208:28:57;;689:66;480:4585:105;;-1:-1:-1;;;689:66:57;;480:4585:105;689:66:57;;;;;;480:4585:105;689:66:57;;480:4585:105;-1:-1:-1;;;;;;;;;;;480:4585:105;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;1204:94:101;480:4585:105;1279:7:101;;;:::i;:::-;480:4585:105;;-1:-1:-1;;;1252:35:101;;1219:10;480:4585:105;1252:35:101;;480:4585:105;;;;;;;1252:35:101;480:4585:105;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;480:4585:105;1654:6:61;480:4585:105;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;480:4585:105;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:101;;:::i;:::-;1219:10;;480:4585:105;;1208:21:101;1204:94;;480:4585:105;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;689:66:57;-1:-1:-1;;;;;;;;;;;689:66:57;;2906:504;689:66;;;2993:17;;;;;;;;:::i;2906:504::-;480:4585:105;;;;;;;;689:66:57;;;3046:52;;;;480:4585:105;3046:52:57;;;;480:4585:105;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;480:4585:105;;-1:-1:-1;;;3262:56:57;;480:4585:105;3262:56:57;;689:66;;;;;;;480:4585:105;-1:-1:-1;;;;;;;;;;;480:4585:105;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;480:4585:105;1889:27:57;;480:4585:105;;2208:15:57;;;:28;;;3042:291;2204:112;;480:4585:105;2204:112:57;480:4585:105;;7307:69:73;480:4585:105;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;480:4585:105;;;;-1:-1:-1;;;480:4585:105;;;;7265:25:73;;;;;;480:4585:105;;;;;;;;:::i;2208:28:57:-;;480:4585:105;2208:28:57;;689:66;480:4585:105;;-1:-1:-1;;;689:66:57;;480:4585:105;689:66:57;;;;;;;;;480:4585:105;-1:-1:-1;;;;;;;;;;;480:4585:105;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;1204:94:101;480:4585:105;1279:7:101;;;:::i;480:4585:105:-;;;;;;-1:-1:-1;;480:4585:105;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;2031:27:105;480:4585;;-1:-1:-1;;;;;;480:4585:105;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;-1:-1:-1;;480:4585:105;;;;;;:::i;:::-;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;689:66:57;480:4585:105;;;689:66:57;3301:14:44;3347:34;;;;;;480:4585:105;3346:108:44;;;;480:4585:105;;;;-1:-1:-1;;480:4585:105;;;;;;;3562:65:44;;480:4585:105;;689:66:57;480:4585:105;;;;689:66:57;480:4585:105;;;2567:26;480:4585;499:12:101;2518:19:105;-1:-1:-1;;;;;;;;;;;499:12:101;;2623:24:105;499:12:101;;:::i;:::-;480:4585:105;2480:9;480:4585;2518:19;:::i;:::-;2567:26;:::i;2623:24::-;480:4585;;;;;;;;;2658:40;480:4585;;;2658:40;480:4585;;2708:54;480:4585;;;2708:54;480:4585;;2772:36;480:4585;;;2772:36;480:4585;2818:50;480:4585;;;2818:50;480:4585;;;;;;2883:35;3647:99:44;;480:4585:105;3647:99:44;480:4585:105;;;;;;;3721:14:44;480:4585:105;;;;;;3721:14:44;480:4585:105;3562:65:44;-1:-1:-1;;480:4585:105;;;;;3562:65:44;;;480:4585:105;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:105;;;;;;;3346:108:44;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;689::57;480:4585:105;689:66:57;;;3436:17:44;3346:108;;3347:34;689:66:57;480:4585:105;689:66:57;;;3365:16:44;3347:34;;480:4585:105;;;;;;-1:-1:-1;;480:4585:105;;;;-1:-1:-1;;;;;480:4585:105;;:::i;:::-;;;;;4881:15;480:4585;;689:66:57;480:4585:105;;;;4881:33;689:66:57;;4880:34:105;4876:100;;480:4585;;4881:15;480:4585;;;;;;;;;;;;;4876:100;480:4585;;;;4937:28;;;;;;480:4585;4937:28;;480:4585;4937:28;480:4585;;;;;;-1:-1:-1;;480:4585:105;;;;704:40;480:4585;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;:::o;:::-;;;-1:-1:-1;;;;;480:4585:105;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;:::o;:::-;3350:155;480:4585;;;-1:-1:-1;;480:4585:105;;;;-1:-1:-1;;;;;480:4585:105;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;480:4585:105;;;;3350:155;480:4585;-1:-1:-1;;480:4585:105;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;480:4585:105;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3350:155;;;480:4585;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;1620:130:42;1683:7;;:::i;:::-;965:10:48;-1:-1:-1;;;;;480:4585:105;;;1683:23:42;480:4585:105;;1620:130:42:o;480:4585:105:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;480:4585:105;;-1:-1:-1;;;;;480:4585:105;;;-1:-1:-1;;;;;;480:4585:105;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;480:4585:105:-;;;;:::o;:::-;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;480:4585:105;;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;480:4585:105;;;;-1:-1:-1;;;480:4585:105;;;;;;;1406:259:57;1702:19:73;;:23;480:4585:105;;-1:-1:-1;;;;;;;;;;;480:4585:105;;-1:-1:-1;;;;;;480:4585:105;-1:-1:-1;;;;;480:4585:105;;;;;;;;;1406:259:57:o;480:4585:105:-;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;480:4585:105;;;;;;;7671:628:73;;;;7875:418;;;480:4585:105;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;480:4585:105;;8201:17:73;:::o;480:4585:105:-;;;-1:-1:-1;;;480:4585:105;;;;;;;;;;;;;;;;;;;;7875:418:73;480:4585:105;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;480:4585:105;;-1:-1:-1;;;9324:20:73;;480:4585:105;9324:20:73;;;480:4585:105;;;;;;;;;;;:::i;:::-;9324:20:73;;;525:604:101;1534:6:42;480:4585:105;-1:-1:-1;;;;;480:4585:105;;;;707:33:101;;;;822:19;;:::o;703:420::-;480:4585:105;;-1:-1:-1;;;876:40:101;;;480:4585:105;876:40:101;480:4585:105;876:40:101;;;;;;-1:-1:-1;876:40:101;;;703:420;-1:-1:-1;;872:241:101;;1079:19;;:::o;872:241::-;960:13;;;:::o;876:40::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;480:4585:105;;;;;;;;;;;;876:40:101;;;;;;480:4585:105;;;;;;;876:40:101;;;-1:-1:-1;876:40:101;;1658:141:105;-1:-1:-1;;;;;480:4585:105;1740:22;1736:56;;1658:141::o;1736:56::-;480:4585;;-1:-1:-1;;;1771:21:105;;;;","linkReferences":{},"immutableReferences":{"54869":[{"start":2703,"length":32},{"start":2962,"length":32},{"start":3627,"length":32}]}},"methodIdentifiers":{"VERSION()":"ffa1ad74","collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string))":"beb331a3","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initialize(address,address,address,address,address)":"1459457a","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","setRegistryCommunityTemplate(address)":"5decae02","setStrategyTemplate(address)":"1b71f0e4","strategyTemplate()":"5c94e4d2","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setRegistryCommunityTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":\"RegistryFactoryV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunityTemplate"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":"RegistryFactoryV0_0"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":73831,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":73836,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)73823_storage)"},{"astId":73838,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":73840,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":73842,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":73844,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":74176,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)73823_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)73823_storage"},"t_struct(CommunityInfo)73823_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":73820,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":73822,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","id":74178,"exportedSymbols":{"Clone":[3002],"CommunityInfo":[73823],"ERC1967Proxy":[54318],"ProxyOwnableUpgrader":[71125],"RegistryCommunityV0_0":[73113],"RegistryFactoryV0_0":[74177]},"nodeType":"SourceUnit","src":"42:5024:105","nodes":[{"id":73810,"nodeType":"PragmaDirective","src":"42:24:105","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73812,"nodeType":"ImportDirective","src":"68:85:105","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":74178,"sourceUnit":73114,"symbolAliases":[{"foreign":{"id":73811,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73113,"src":"76:21:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73814,"nodeType":"ImportDirective","src":"154:65:105","nodes":[],"absolutePath":"pkg/contracts/src/ProxyOwnableUpgrader.sol","file":"../ProxyOwnableUpgrader.sol","nameLocation":"-1:-1:-1","scope":74178,"sourceUnit":71126,"symbolAliases":[{"foreign":{"id":73813,"name":"ProxyOwnableUpgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71125,"src":"162:20:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73816,"nodeType":"ImportDirective","src":"220:84:105","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":74178,"sourceUnit":54319,"symbolAliases":[{"foreign":{"id":73815,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54318,"src":"228:12:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73818,"nodeType":"ImportDirective","src":"305:65:105","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":74178,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":73817,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"313:5:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73823,"nodeType":"StructDefinition","src":"372:57:105","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":73820,"mutability":"mutable","name":"fee","nameLocation":"407:3:105","nodeType":"VariableDeclaration","scope":73823,"src":"399:11:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73819,"name":"uint256","nodeType":"ElementaryTypeName","src":"399:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73822,"mutability":"mutable","name":"valid","nameLocation":"421:5:105","nodeType":"VariableDeclaration","scope":73823,"src":"416:10:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73821,"name":"bool","nodeType":"ElementaryTypeName","src":"416:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"379:13:105","scope":74178,"visibility":"public"},{"id":74177,"nodeType":"ContractDefinition","src":"480:4585:105","nodes":[{"id":73829,"nodeType":"VariableDeclaration","src":"539:38:105","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"562:7:105","scope":74177,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73827,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:105","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":73828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"572:5:105","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":73831,"nodeType":"VariableDeclaration","src":"583:20:105","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"598:5:105","scope":74177,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73830,"name":"uint256","nodeType":"ElementaryTypeName","src":"583:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":73836,"nodeType":"VariableDeclaration","src":"610:49:105","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"644:15:105","scope":74177,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73823_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":73835,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":73832,"name":"address","nodeType":"ElementaryTypeName","src":"618:7:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"610:33:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73823_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":73834,"nodeType":"UserDefinedTypeName","pathNode":{"id":73833,"name":"CommunityInfo","nameLocations":["629:13:105"],"nodeType":"IdentifierPath","referencedDeclaration":73823,"src":"629:13:105"},"referencedDeclaration":73823,"src":"629:13:105","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73823_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":73838,"nodeType":"VariableDeclaration","src":"665:33:105","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"680:18:105","scope":74177,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73837,"name":"address","nodeType":"ElementaryTypeName","src":"665:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73840,"nodeType":"VariableDeclaration","src":"704:40:105","nodes":[],"constant":false,"functionSelector":"02c1d0b1","mutability":"mutable","name":"registryCommunityTemplate","nameLocation":"719:25:105","scope":74177,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73839,"name":"address","nodeType":"ElementaryTypeName","src":"704:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73842,"nodeType":"VariableDeclaration","src":"750:31:105","nodes":[],"constant":false,"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"765:16:105","scope":74177,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73841,"name":"address","nodeType":"ElementaryTypeName","src":"750:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73844,"nodeType":"VariableDeclaration","src":"787:38:105","nodes":[],"constant":false,"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"802:23:105","scope":74177,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73843,"name":"address","nodeType":"ElementaryTypeName","src":"787:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73848,"nodeType":"EventDefinition","src":"998:46:105","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"1004:14:105","parameters":{"id":73847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73846,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"1027:15:105","nodeType":"VariableDeclaration","scope":73848,"src":"1019:23:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73845,"name":"address","nodeType":"ElementaryTypeName","src":"1019:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1018:25:105"}},{"id":73854,"nodeType":"EventDefinition","src":"1049:66:105","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"1055:14:105","parameters":{"id":73853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73850,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1078:10:105","nodeType":"VariableDeclaration","scope":73854,"src":"1070:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73849,"name":"address","nodeType":"ElementaryTypeName","src":"1070:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73852,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"1098:15:105","nodeType":"VariableDeclaration","scope":73854,"src":"1090:23:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73851,"name":"uint256","nodeType":"ElementaryTypeName","src":"1090:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1069:45:105"}},{"id":73858,"nodeType":"EventDefinition","src":"1120:51:105","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"1126:16:105","parameters":{"id":73857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73856,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"1151:18:105","nodeType":"VariableDeclaration","scope":73858,"src":"1143:26:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73855,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1142:28:105"}},{"id":73864,"nodeType":"EventDefinition","src":"1176:62:105","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"1182:20:105","parameters":{"id":73863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73860,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1211:10:105","nodeType":"VariableDeclaration","scope":73864,"src":"1203:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73859,"name":"address","nodeType":"ElementaryTypeName","src":"1203:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73862,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"1228:8:105","nodeType":"VariableDeclaration","scope":73864,"src":"1223:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73861,"name":"bool","nodeType":"ElementaryTypeName","src":"1223:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1202:35:105"}},{"id":73868,"nodeType":"ErrorDefinition","src":"1410:43:105","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1416:16:105","parameters":{"id":73867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73866,"mutability":"mutable","name":"_community","nameLocation":"1441:10:105","nodeType":"VariableDeclaration","scope":73868,"src":"1433:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73865,"name":"address","nodeType":"ElementaryTypeName","src":"1433:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1432:20:105"}},{"id":73870,"nodeType":"ErrorDefinition","src":"1458:28:105","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1464:19:105","parameters":{"id":73869,"nodeType":"ParameterList","parameters":[],"src":"1483:2:105"}},{"id":73886,"nodeType":"FunctionDefinition","src":"1658:141:105","nodes":[],"body":{"id":73885,"nodeType":"Block","src":"1726:73:105","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73875,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73872,"src":"1740:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1760:1:105","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":73877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1752:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73876,"name":"address","nodeType":"ElementaryTypeName","src":"1752:7:105","typeDescriptions":{}}},"id":73879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1752:10:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1740:22:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73884,"nodeType":"IfStatement","src":"1736:56:105","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73881,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73870,"src":"1771:19:105","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:21:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73883,"nodeType":"RevertStatement","src":"1764:28:105"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1667:18:105","parameters":{"id":73873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73872,"mutability":"mutable","name":"_address","nameLocation":"1694:8:105","nodeType":"VariableDeclaration","scope":73886,"src":"1686:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73871,"name":"address","nodeType":"ElementaryTypeName","src":"1686:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1685:18:105"},"returnParameters":{"id":73874,"nodeType":"ParameterList","parameters":[],"src":"1726:0:105"},"scope":74177,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":73898,"nodeType":"FunctionDefinition","src":"1805:136:105","nodes":[],"body":{"id":73897,"nodeType":"Block","src":"1888:53:105","nodes":[],"statements":[{"expression":{"id":73895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73893,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73840,"src":"1898:25:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73894,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73888,"src":"1926:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1898:36:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73896,"nodeType":"ExpressionStatement","src":"1898:36:105"}]},"functionSelector":"5decae02","implemented":true,"kind":"function","modifiers":[{"id":73891,"kind":"modifierInvocation","modifierName":{"id":73890,"name":"onlyOwner","nameLocations":["1878:9:105"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"1878:9:105"},"nodeType":"ModifierInvocation","src":"1878:9:105"}],"name":"setRegistryCommunityTemplate","nameLocation":"1814:28:105","parameters":{"id":73889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73888,"mutability":"mutable","name":"template","nameLocation":"1851:8:105","nodeType":"VariableDeclaration","scope":73898,"src":"1843:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73887,"name":"address","nodeType":"ElementaryTypeName","src":"1843:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1842:18:105"},"returnParameters":{"id":73892,"nodeType":"ParameterList","parameters":[],"src":"1888:0:105"},"scope":74177,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":73910,"nodeType":"FunctionDefinition","src":"1947:118:105","nodes":[],"body":{"id":73909,"nodeType":"Block","src":"2021:44:105","nodes":[],"statements":[{"expression":{"id":73907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73905,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73842,"src":"2031:16:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73906,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73900,"src":"2050:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2031:27:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73908,"nodeType":"ExpressionStatement","src":"2031:27:105"}]},"functionSelector":"1b71f0e4","implemented":true,"kind":"function","modifiers":[{"id":73903,"kind":"modifierInvocation","modifierName":{"id":73902,"name":"onlyOwner","nameLocations":["2011:9:105"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"2011:9:105"},"nodeType":"ModifierInvocation","src":"2011:9:105"}],"name":"setStrategyTemplate","nameLocation":"1956:19:105","parameters":{"id":73901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73900,"mutability":"mutable","name":"template","nameLocation":"1984:8:105","nodeType":"VariableDeclaration","scope":73910,"src":"1976:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73899,"name":"address","nodeType":"ElementaryTypeName","src":"1976:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1975:18:105"},"returnParameters":{"id":73904,"nodeType":"ParameterList","parameters":[],"src":"2021:0:105"},"scope":74177,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":73922,"nodeType":"FunctionDefinition","src":"2071:132:105","nodes":[],"body":{"id":73921,"nodeType":"Block","src":"2152:51:105","nodes":[],"statements":[{"expression":{"id":73919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73917,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73844,"src":"2162:23:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73918,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73912,"src":"2188:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2162:34:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73920,"nodeType":"ExpressionStatement","src":"2162:34:105"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":73915,"kind":"modifierInvocation","modifierName":{"id":73914,"name":"onlyOwner","nameLocations":["2142:9:105"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"2142:9:105"},"nodeType":"ModifierInvocation","src":"2142:9:105"}],"name":"setCollateralVaultTemplate","nameLocation":"2080:26:105","parameters":{"id":73913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73912,"mutability":"mutable","name":"template","nameLocation":"2115:8:105","nodeType":"VariableDeclaration","scope":73922,"src":"2107:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73911,"name":"address","nodeType":"ElementaryTypeName","src":"2107:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2106:18:105"},"returnParameters":{"id":73916,"nodeType":"ParameterList","parameters":[],"src":"2152:0:105"},"scope":74177,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":73980,"nodeType":"FunctionDefinition","src":"2209:780:105","nodes":[],"body":{"id":73979,"nodeType":"Block","src":"2436:553:105","nodes":[],"statements":[{"expression":{"arguments":[{"id":73940,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73924,"src":"2463:6:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73937,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2446:5:105","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RegistryFactoryV0_0_$74177_$","typeString":"type(contract super RegistryFactoryV0_0)"}},"id":73939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2452:10:105","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":71060,"src":"2446:16:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2446:24:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73942,"nodeType":"ExpressionStatement","src":"2446:24:105"},{"expression":{"id":73945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73943,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73831,"src":"2480:5:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":73944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2488:1:105","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2480:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73946,"nodeType":"ExpressionStatement","src":"2480:9:105"},{"expression":{"arguments":[{"id":73948,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73926,"src":"2518:19:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73947,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73886,"src":"2499:18:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2499:39:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73950,"nodeType":"ExpressionStatement","src":"2499:39:105"},{"expression":{"arguments":[{"id":73952,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73928,"src":"2567:26:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73951,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73886,"src":"2548:18:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2548:46:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73954,"nodeType":"ExpressionStatement","src":"2548:46:105"},{"expression":{"arguments":[{"id":73956,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73932,"src":"2623:24:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73955,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73886,"src":"2604:18:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2604:44:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73958,"nodeType":"ExpressionStatement","src":"2604:44:105"},{"expression":{"id":73961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73959,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73838,"src":"2658:18:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73960,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73926,"src":"2679:19:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2658:40:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73962,"nodeType":"ExpressionStatement","src":"2658:40:105"},{"expression":{"id":73965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73963,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73840,"src":"2708:25:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73964,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73928,"src":"2736:26:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2708:54:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73966,"nodeType":"ExpressionStatement","src":"2708:54:105"},{"expression":{"id":73969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73967,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73842,"src":"2772:16:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73968,"name":"_strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73930,"src":"2791:17:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2772:36:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73970,"nodeType":"ExpressionStatement","src":"2772:36:105"},{"expression":{"id":73973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73971,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73844,"src":"2818:23:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73972,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73932,"src":"2844:24:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2818:50:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73974,"nodeType":"ExpressionStatement","src":"2818:50:105"},{"eventCall":{"arguments":[{"id":73976,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73926,"src":"2898:19:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73975,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73848,"src":"2883:14:105","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2883:35:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73978,"nodeType":"EmitStatement","src":"2878:40:105"}]},"functionSelector":"1459457a","implemented":true,"kind":"function","modifiers":[{"id":73935,"kind":"modifierInvocation","modifierName":{"id":73934,"name":"initializer","nameLocations":["2424:11:105"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"2424:11:105"},"nodeType":"ModifierInvocation","src":"2424:11:105"}],"name":"initialize","nameLocation":"2218:10:105","parameters":{"id":73933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73924,"mutability":"mutable","name":"_owner","nameLocation":"2246:6:105","nodeType":"VariableDeclaration","scope":73980,"src":"2238:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73923,"name":"address","nodeType":"ElementaryTypeName","src":"2238:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73926,"mutability":"mutable","name":"_gardensFeeReceiver","nameLocation":"2270:19:105","nodeType":"VariableDeclaration","scope":73980,"src":"2262:27:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73925,"name":"address","nodeType":"ElementaryTypeName","src":"2262:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73928,"mutability":"mutable","name":"_registryCommunityTemplate","nameLocation":"2307:26:105","nodeType":"VariableDeclaration","scope":73980,"src":"2299:34:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73927,"name":"address","nodeType":"ElementaryTypeName","src":"2299:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73930,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"2351:17:105","nodeType":"VariableDeclaration","scope":73980,"src":"2343:25:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73929,"name":"address","nodeType":"ElementaryTypeName","src":"2343:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73932,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"2386:24:105","nodeType":"VariableDeclaration","scope":73980,"src":"2378:32:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73931,"name":"address","nodeType":"ElementaryTypeName","src":"2378:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2228:188:105"},"returnParameters":{"id":73936,"nodeType":"ParameterList","parameters":[],"src":"2436:0:105"},"scope":74177,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":74063,"nodeType":"FunctionDefinition","src":"2995:844:105","nodes":[],"body":{"id":74062,"nodeType":"Block","src":"3158:681:105","nodes":[],"statements":[{"expression":{"id":73993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73988,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73983,"src":"3168:6:105","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":73990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3175:6:105","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":71339,"src":"3168:13:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3184:7:105","subExpression":{"id":73991,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73831,"src":"3184:5:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3168:23:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73994,"nodeType":"ExpressionStatement","src":"3168:23:105"},{"expression":{"id":74002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73995,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73983,"src":"3201:6:105","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":73997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3208:16:105","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":71341,"src":"3201:23:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":74000,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3235:4:105","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$74177","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$74177","typeString":"contract RegistryFactoryV0_0"}],"id":73999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3227:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73998,"name":"address","nodeType":"ElementaryTypeName","src":"3227:7:105","typeDescriptions":{}}},"id":74001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3227:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3201:39:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74003,"nodeType":"ExpressionStatement","src":"3201:39:105"},{"assignments":[74006],"declarations":[{"constant":false,"id":74006,"mutability":"mutable","name":"proxy","nameLocation":"3264:5:105","nodeType":"VariableDeclaration","scope":74062,"src":"3251:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"},"typeName":{"id":74005,"nodeType":"UserDefinedTypeName","pathNode":{"id":74004,"name":"ERC1967Proxy","nameLocations":["3251:12:105"],"nodeType":"IdentifierPath","referencedDeclaration":54318,"src":"3251:12:105"},"referencedDeclaration":54318,"src":"3251:12:105","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":74026,"initialValue":{"arguments":[{"arguments":[{"id":74012,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73840,"src":"3310:25:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3302:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74010,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:105","typeDescriptions":{}}},"id":74013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:34:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":74016,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73113,"src":"3390:21:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$73113_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":74017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3412:10:105","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":71898,"src":"3390:32:105","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_InitializeParams_$71355_memory_ptr_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityV0_0.InitializeParams memory,address,address,address)"}},"id":74018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3423:8:105","memberName":"selector","nodeType":"MemberAccess","src":"3390:41:105","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":74019,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73983,"src":"3433:6:105","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},{"id":74020,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73842,"src":"3441:16:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74021,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73844,"src":"3459:23:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":74022,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[71103],"referencedDeclaration":71103,"src":"3484:5:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":74023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3484:7:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":74014,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3350:3:105","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":74015,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3354:18:105","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3350:22:105","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":74024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3350:155:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":74009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3272:16:105","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$54318_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":74008,"nodeType":"UserDefinedTypeName","pathNode":{"id":74007,"name":"ERC1967Proxy","nameLocations":["3276:12:105"],"nodeType":"IdentifierPath","referencedDeclaration":54318,"src":"3276:12:105"},"referencedDeclaration":54318,"src":"3276:12:105","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}}},"id":74025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3272:243:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"3251:264:105"},{"assignments":[74029],"declarations":[{"constant":false,"id":74029,"mutability":"mutable","name":"registryCommunity","nameLocation":"3548:17:105","nodeType":"VariableDeclaration","scope":74062,"src":"3526:39:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":74028,"nodeType":"UserDefinedTypeName","pathNode":{"id":74027,"name":"RegistryCommunityV0_0","nameLocations":["3526:21:105"],"nodeType":"IdentifierPath","referencedDeclaration":73113,"src":"3526:21:105"},"referencedDeclaration":73113,"src":"3526:21:105","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":74039,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":74035,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74006,"src":"3606:5:105","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$54318","typeString":"contract ERC1967Proxy"}],"id":74034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3598:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74033,"name":"address","nodeType":"ElementaryTypeName","src":"3598:7:105","typeDescriptions":{}}},"id":74036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3598:14:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3590:8:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":74031,"name":"address","nodeType":"ElementaryTypeName","src":"3590:8:105","stateMutability":"payable","typeDescriptions":{}}},"id":74037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3590:23:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":74030,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73113,"src":"3568:21:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$73113_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":74038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3568:46:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"3526:88:105"},{"expression":{"id":74048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":74040,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73836,"src":"3674:15:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73823_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74045,"indexExpression":{"arguments":[{"id":74043,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74029,"src":"3698:17:105","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":74042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3690:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74041,"name":"address","nodeType":"ElementaryTypeName","src":"3690:7:105","typeDescriptions":{}}},"id":74044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3690:26:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3674:43:105","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73823_storage","typeString":"struct CommunityInfo storage ref"}},"id":74046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3718:5:105","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":73822,"src":"3674:49:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3726:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3674:56:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74049,"nodeType":"ExpressionStatement","src":"3674:56:105"},{"eventCall":{"arguments":[{"arguments":[{"id":74053,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74029,"src":"3770:17:105","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":74052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3762:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74051,"name":"address","nodeType":"ElementaryTypeName","src":"3762:7:105","typeDescriptions":{}}},"id":74054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3762:26:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74050,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73858,"src":"3745:16:105","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":74055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3745:44:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74056,"nodeType":"EmitStatement","src":"3740:49:105"},{"expression":{"arguments":[{"id":74059,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74029,"src":"3814:17:105","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$73113","typeString":"contract RegistryCommunityV0_0"}],"id":74058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3806:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74057,"name":"address","nodeType":"ElementaryTypeName","src":"3806:7:105","typeDescriptions":{}}},"id":74060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3806:26:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73987,"id":74061,"nodeType":"Return","src":"3799:33:105"}]},"functionSelector":"beb331a3","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"3004:14:105","parameters":{"id":73984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73983,"mutability":"mutable","name":"params","nameLocation":"3065:6:105","nodeType":"VariableDeclaration","scope":74063,"src":"3019:52:105","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":73982,"nodeType":"UserDefinedTypeName","pathNode":{"id":73981,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["3019:21:105","3041:16:105"],"nodeType":"IdentifierPath","referencedDeclaration":71355,"src":"3019:38:105"},"referencedDeclaration":71355,"src":"3019:38:105","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71355_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"3018:54:105"},"returnParameters":{"id":73987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73986,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"3129:23:105","nodeType":"VariableDeclaration","scope":74063,"src":"3121:31:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73985,"name":"address","nodeType":"ElementaryTypeName","src":"3121:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3120:33:105"},"scope":74177,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74083,"nodeType":"FunctionDefinition","src":"3845:222:105","nodes":[],"body":{"id":74082,"nodeType":"Block","src":"3923:144:105","nodes":[],"statements":[{"expression":{"arguments":[{"id":74071,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74065,"src":"3952:15:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74070,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73886,"src":"3933:18:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":74072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3933:35:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74073,"nodeType":"ExpressionStatement","src":"3933:35:105"},{"expression":{"id":74076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74074,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73838,"src":"3978:18:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74075,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74065,"src":"3999:15:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3978:36:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74077,"nodeType":"ExpressionStatement","src":"3978:36:105"},{"eventCall":{"arguments":[{"id":74079,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74065,"src":"4044:15:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74078,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73848,"src":"4029:14:105","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":74080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4029:31:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74081,"nodeType":"EmitStatement","src":"4024:36:105"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":74068,"kind":"modifierInvocation","modifierName":{"id":74067,"name":"onlyOwner","nameLocations":["3913:9:105"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"3913:9:105"},"nodeType":"ModifierInvocation","src":"3913:9:105"}],"name":"setReceiverAddress","nameLocation":"3854:18:105","parameters":{"id":74066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74065,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"3881:15:105","nodeType":"VariableDeclaration","scope":74083,"src":"3873:23:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74064,"name":"address","nodeType":"ElementaryTypeName","src":"3873:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3872:25:105"},"returnParameters":{"id":74069,"nodeType":"ParameterList","parameters":[],"src":"3923:0:105"},"scope":74177,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74091,"nodeType":"FunctionDefinition","src":"4073:115:105","nodes":[],"body":{"id":74090,"nodeType":"Block","src":"4146:42:105","nodes":[],"statements":[{"expression":{"id":74088,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73838,"src":"4163:18:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":74087,"id":74089,"nodeType":"Return","src":"4156:25:105"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"4082:21:105","parameters":{"id":74084,"nodeType":"ParameterList","parameters":[],"src":"4103:2:105"},"returnParameters":{"id":74087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74086,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74091,"src":"4137:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74085,"name":"address","nodeType":"ElementaryTypeName","src":"4137:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4136:9:105"},"scope":74177,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":74113,"nodeType":"FunctionDefinition","src":"4194:218:105","nodes":[],"body":{"id":74112,"nodeType":"Block","src":"4288:124:105","nodes":[],"statements":[{"expression":{"id":74105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":74100,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73836,"src":"4298:15:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73823_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74102,"indexExpression":{"id":74101,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74093,"src":"4314:10:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4298:27:105","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73823_storage","typeString":"struct CommunityInfo storage ref"}},"id":74103,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4326:3:105","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":73820,"src":"4298:31:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74104,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74095,"src":"4332:15:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4298:49:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74106,"nodeType":"ExpressionStatement","src":"4298:49:105"},{"eventCall":{"arguments":[{"id":74108,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74093,"src":"4377:10:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74109,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74095,"src":"4389:15:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74107,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73854,"src":"4362:14:105","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":74110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4362:43:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74111,"nodeType":"EmitStatement","src":"4357:48:105"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":74098,"kind":"modifierInvocation","modifierName":{"id":74097,"name":"onlyOwner","nameLocations":["4278:9:105"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"4278:9:105"},"nodeType":"ModifierInvocation","src":"4278:9:105"}],"name":"setProtocolFee","nameLocation":"4203:14:105","parameters":{"id":74096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74093,"mutability":"mutable","name":"_community","nameLocation":"4226:10:105","nodeType":"VariableDeclaration","scope":74113,"src":"4218:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74092,"name":"address","nodeType":"ElementaryTypeName","src":"4218:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74095,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"4246:15:105","nodeType":"VariableDeclaration","scope":74113,"src":"4238:23:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74094,"name":"uint256","nodeType":"ElementaryTypeName","src":"4238:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4217:45:105"},"returnParameters":{"id":74099,"nodeType":"ParameterList","parameters":[],"src":"4288:0:105"},"scope":74177,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74135,"nodeType":"FunctionDefinition","src":"4418:208:105","nodes":[],"body":{"id":74134,"nodeType":"Block","src":"4508:118:105","nodes":[],"statements":[{"expression":{"id":74127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":74122,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73836,"src":"4518:15:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73823_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74124,"indexExpression":{"id":74123,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74115,"src":"4534:10:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4518:27:105","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73823_storage","typeString":"struct CommunityInfo storage ref"}},"id":74125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4546:5:105","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":73822,"src":"4518:33:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74126,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74117,"src":"4554:8:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4518:44:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74128,"nodeType":"ExpressionStatement","src":"4518:44:105"},{"eventCall":{"arguments":[{"id":74130,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74115,"src":"4598:10:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74131,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74117,"src":"4610:8:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74129,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73864,"src":"4577:20:105","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":74132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4577:42:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74133,"nodeType":"EmitStatement","src":"4572:47:105"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":74120,"kind":"modifierInvocation","modifierName":{"id":74119,"name":"onlyOwner","nameLocations":["4498:9:105"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"4498:9:105"},"nodeType":"ModifierInvocation","src":"4498:9:105"}],"name":"setCommunityValidity","nameLocation":"4427:20:105","parameters":{"id":74118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74115,"mutability":"mutable","name":"_community","nameLocation":"4456:10:105","nodeType":"VariableDeclaration","scope":74135,"src":"4448:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74114,"name":"address","nodeType":"ElementaryTypeName","src":"4448:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74117,"mutability":"mutable","name":"_isValid","nameLocation":"4473:8:105","nodeType":"VariableDeclaration","scope":74135,"src":"4468:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74116,"name":"bool","nodeType":"ElementaryTypeName","src":"4468:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4447:35:105"},"returnParameters":{"id":74121,"nodeType":"ParameterList","parameters":[],"src":"4508:0:105"},"scope":74177,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74148,"nodeType":"FunctionDefinition","src":"4632:144:105","nodes":[],"body":{"id":74147,"nodeType":"Block","src":"4719:57:105","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":74142,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73836,"src":"4736:15:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73823_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74144,"indexExpression":{"id":74143,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74137,"src":"4752:10:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4736:27:105","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73823_storage","typeString":"struct CommunityInfo storage ref"}},"id":74145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4764:5:105","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":73822,"src":"4736:33:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74141,"id":74146,"nodeType":"Return","src":"4729:40:105"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"4641:20:105","parameters":{"id":74138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74137,"mutability":"mutable","name":"_community","nameLocation":"4670:10:105","nodeType":"VariableDeclaration","scope":74148,"src":"4662:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74136,"name":"address","nodeType":"ElementaryTypeName","src":"4662:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4661:20:105"},"returnParameters":{"id":74141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74140,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74148,"src":"4713:4:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74139,"name":"bool","nodeType":"ElementaryTypeName","src":"4713:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4712:6:105"},"scope":74177,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":74172,"nodeType":"FunctionDefinition","src":"4782:249:105","nodes":[],"body":{"id":74171,"nodeType":"Block","src":"4866:165:105","nodes":[],"statements":[{"condition":{"id":74159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4880:34:105","subExpression":{"expression":{"baseExpression":{"id":74155,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73836,"src":"4881:15:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73823_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74157,"indexExpression":{"id":74156,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74150,"src":"4897:10:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4881:27:105","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73823_storage","typeString":"struct CommunityInfo storage ref"}},"id":74158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4909:5:105","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":73822,"src":"4881:33:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74165,"nodeType":"IfStatement","src":"4876:100:105","trueBody":{"id":74164,"nodeType":"Block","src":"4916:60:105","statements":[{"errorCall":{"arguments":[{"id":74161,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74150,"src":"4954:10:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74160,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73868,"src":"4937:16:105","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":74162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4937:28:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74163,"nodeType":"RevertStatement","src":"4930:35:105"}]}},{"expression":{"expression":{"baseExpression":{"id":74166,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73836,"src":"4993:15:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73823_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74168,"indexExpression":{"id":74167,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74150,"src":"5009:10:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4993:27:105","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73823_storage","typeString":"struct CommunityInfo storage ref"}},"id":74169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5021:3:105","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":73820,"src":"4993:31:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74154,"id":74170,"nodeType":"Return","src":"4986:38:105"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"4791:14:105","parameters":{"id":74151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74150,"mutability":"mutable","name":"_community","nameLocation":"4814:10:105","nodeType":"VariableDeclaration","scope":74172,"src":"4806:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74149,"name":"address","nodeType":"ElementaryTypeName","src":"4806:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4805:20:105"},"returnParameters":{"id":74154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74172,"src":"4857:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74152,"name":"uint256","nodeType":"ElementaryTypeName","src":"4857:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4856:9:105"},"scope":74177,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":74176,"nodeType":"VariableDeclaration","src":"5037:25:105","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5057:5:105","scope":74177,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":74173,"name":"uint256","nodeType":"ElementaryTypeName","src":"5037:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74175,"length":{"hexValue":"3530","id":74174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5045:2:105","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5037:11:105","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":73825,"name":"ProxyOwnableUpgrader","nameLocations":["512:20:105"],"nodeType":"IdentifierPath","referencedDeclaration":71125,"src":"512:20:105"},"id":73826,"nodeType":"InheritanceSpecifier","src":"512:20:105"}],"canonicalName":"RegistryFactoryV0_0","contractDependencies":[54318],"contractKind":"contract","documentation":{"id":73824,"nodeType":"StructuredDocumentation","src":"431:49:105","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[74177,71125,54969,54622,54271,54281,52200,52993,52449],"name":"RegistryFactoryV0_0","nameLocation":"489:19:105","scope":74178,"usedErrors":[71048,73868,73870]}],"license":"AGPL-3.0-only"},"id":105} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json b/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json index ec43ef1b5..bdb6c3cb4 100644 --- a/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json +++ b/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunityTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a080604052346100315730608052611d8b90816100378239608051818181610aff01528181610c020152610e9b0152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b11462001327575080630a992e0c14620012b65780631459457a14620011325780631b71f0e414620010e95780633659cfe61462000e725780634f1ef2861462000bad57806352d1902d1462000aea5780635a2c8ace1462000a5c5780635c94e4d21462000a315780635cd8a76b14620009cd5780635decae021462000984578063715018a6146200093457806377122d5614620009095780638279c7db146200089d5780638da5cb5b146200086c578063987435be1462000765578063affed0e0146200084c578063b0d3713a1462000803578063b5b3ca2c1462000790578063b8bed9011462000765578063beb331a31462000334578063c4d66de814620002a4578063f2fde38b146200020c578063f5016b5e14620001c65763ffa1ad74146200014c57600080fd5b34620001c1576000366003190112620001c15760408051908101906001600160401b03821181831017620001ab57620001a79160405260038152620302e360ec1b602082015260405191829160208352602083019062001432565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001c1576020366003190112620001c1576001600160a01b03620001eb6200134d565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001c1576020366003190112620001c157620002296200134d565b6200023362001474565b6001600160a01b0381161562000250576200024e90620014d6565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001c1576020366003190112620001c157620002c16200134d565b60ff60005460081c1615620002db576200024e90620014d6565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001c157600319602036820112620001c1576001600160401b0360043511620001c1576101808160043536030112620001c1576040519061018082016001600160401b03811183821017620001ab576040526200039860043560040162001364565b8252600435602401356001600160a01b0381168103620001c1576020830152600435604481013560408401526064810135606084015260848101356080840152620003e69060a40162001364565b60a0830152620003fb60c46004350162001364565b60c083015260043560e401356001600160401b038111620001c15760409060043501918236030112620001c15760408051919082016001600160401b03811183821017620001ab57604052600481013582526024810135906001600160401b038211620001c157600462000473923692010162001411565b602082015260e082015260043561010401356001600160a01b0381168103620001c15761010082015260043561012401356001600160401b038111620001c157620004c690600436918135010162001411565b61012082015260043561014401358015159003620001c1576004356101448101356101408301526001600160401b036101649091013511620001c157620005193660048035610164810135010162001411565b61016082015260655460001981146200074f576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200067793620006a193919291811691166200056e620016e5565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200061a9061026488019062001432565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a0152916101609162000655919062001432565b9261014081015115156101e48a01520151908783030161020488015262001432565b604485019390935260648401526001600160a01b0316608483015203601f19810183528262001395565b6040519161041080840192906001600160401b03841185851017620001ab578493620006e0936040926200180687398152816020820152019062001432565b03906000f08015620007435760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001c1576000366003190112620001c1576067546040516001600160a01b039091168152602090f35b34620001c1576040366003190112620001c1577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007d06200134d565b60243590620007de62001474565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001c1576020366003190112620001c157620008206200134d565b6200082a62001474565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c1576000366003190112620001c1576020606554604051908152f35b34620001c1576000366003190112620001c15760206200088b620016e5565b6040516001600160a01b039091168152f35b34620001c1576020366003190112620001c15760008051602062001cd68339815191526020620008cc6200134d565b620008d662001474565b620008e181620017e2565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001c1576000366003190112620001c157606a546040516001600160a01b039091168152602090f35b34620001c1576000366003190112620001c1576200095162001474565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c968339815191528280a3005b34620001c1576020366003190112620001c157620009a16200134d565b620009ab62001474565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c1576000366003190112620001c157600260005460ff8160081c16158062000a24575b620009ff906200177e565b61ffff19161760005560008051602062001c76833981519152602060405160028152a1005b5060ff81168211620009f4565b34620001c1576000366003190112620001c1576069546040516001600160a01b039091168152602090f35b34620001c1576040366003190112620001c15762000a796200134d565b60243590811515809203620001c1577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000ab762001474565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001c1576000366003190112620001c1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000b4757602060405160008051602062001c568339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001c15762000bc46200134d565b6024356001600160401b038111620001c15736602382011215620001c15762000bf8903690602481600401359101620013d5565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000c33308414156200150e565b62000c5360008051602062001c568339815191529382855416146200155f565b62000c5d620016e5565b813391160362000e495760008051602062001c168339815191525460ff161562000c8f575050506200024e90620015b0565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000e14575b5062000d055760405162461bcd60e51b815260048101869052602e602482015260008051602062001d3683398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000dce5762000d1984620015b0565b60008051602062001cb6833981519152600080a281511580159062000dc5575b62000d4057005b6200024e926000806040519462000d578662001379565b6027865260008051602062001d1683398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000dbb573d62000d9b81620013b9565b9062000dab604051928362001395565b8152600081943d92013e62001642565b6060925062001642565b50600162000d39565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001cf68339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000e41575b62000e2f818362001395565b81010312620001c15751908762000cb4565b503d62000e23565b60449062000e56620016e5565b60405163163678e960e01b815233600482015291166024820152fd5b34620001c157602080600319360112620001c15762000e906200134d565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000eca308214156200150e565b62000eea60008051602062001c568339815191529185835416146200155f565b62000ef4620016e5565b8433911603620010dc57604051828101949091906001600160401b03861183871017620001ab57856040526000835260ff60008051602062001c16833981519152541660001462000f4f57505050506200024e9150620015b0565b8492939416906040516352d1902d60e01b81528581600481865afa60009181620010a7575b5062000fc55760405162461bcd60e51b815260048101879052602e602482015260008051602062001d3683398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403620010615762000fd982620015b0565b60008051602062001cb6833981519152600080a282511580159062001058575b6200100057005b6000806200024e9560405195620010178762001379565b6027875260008051602062001d1683398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000dbb573d62000d9b81620013b9565b50600062000ff9565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001cf68339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311620010d4575b620010c2818362001395565b81010312620001c15751908862000f74565b503d620010b6565b60448462000e56620016e5565b34620001c1576020366003190112620001c157620011066200134d565b6200111062001474565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c15760a0366003190112620001c1576200114f6200134d565b6001600160a01b039060243590828216808303620001c15760443591848316808403620001c157606435868116809103620001c15760843596871692838803620001c1576000549760ff8960081c16159889809a620012a8575b80156200128f575b620011bc906200177e565b60ff198116600117600055896200127c575b5060ff60005460081c1615620002db57620012146020976200121460008051602062001cd68339815191529a620012096200121a96620014d6565b6000606555620017e2565b620017e2565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a16200125557005b61ff00196000541660005560008051602062001c76833981519152602060405160018152a1005b61ffff19166101011760005589620011ce565b50303b158015620011b1575060ff8116600114620011b1565b50600160ff821610620011a9565b34620001c1576020366003190112620001c1576001600160a01b03620012db6200134d565b1680600052606660205260ff60016040600020015416156200130f5760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001c1576000366003190112620001c1576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001c157565b35906001600160a01b0382168203620001c157565b606081019081106001600160401b03821117620001ab57604052565b601f909101601f19168101906001600160401b03821190821017620001ab57604052565b6001600160401b038111620001ab57601f01601f191660200190565b929192620013e382620013b9565b91620013f3604051938462001395565b829481845281830111620001c1578281602093846000960137010152565b9080601f83011215620001c1578160206200142f93359101620013d5565b90565b919082519283825260005b8481106200145f575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200143d565b6200147e620016e5565b336001600160a01b03909116036200149257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c96833981519152600080a3565b156200151657565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001c3683398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200156757565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001c3683398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015e75760008051602062001c5683398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620016a7575081511562001658575090565b3b15620016625790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016bb5750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016e190602483019062001432565b0390fd5b6033546001600160a01b0390811690813b620016ff575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001731575b50506200172c575090565b905090565b602093919293813d821162001775575b81620017506020938362001395565b8101031262001771575191821682036200176e575090388062001721565b80fd5b5080fd5b3d915062001741565b156200178657565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b6001600160a01b031615620017f357565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220739c59c092996638a2cbe193f3f16121881dd93612ff5664d9f0bc74a99b40a664736f6c63430008130033","sourceMap":"198:110:105:-:0;;;;;;;1088:4:61;1080:13;;198:110:105;;;;;;1080:13:61;198:110:105;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b11462001327575080630a992e0c14620012b65780631459457a14620011325780631b71f0e414620010e95780633659cfe61462000e725780634f1ef2861462000bad57806352d1902d1462000aea5780635a2c8ace1462000a5c5780635c94e4d21462000a315780635cd8a76b14620009cd5780635decae021462000984578063715018a6146200093457806377122d5614620009095780638279c7db146200089d5780638da5cb5b146200086c578063987435be1462000765578063affed0e0146200084c578063b0d3713a1462000803578063b5b3ca2c1462000790578063b8bed9011462000765578063beb331a31462000334578063c4d66de814620002a4578063f2fde38b146200020c578063f5016b5e14620001c65763ffa1ad74146200014c57600080fd5b34620001c1576000366003190112620001c15760408051908101906001600160401b03821181831017620001ab57620001a79160405260038152620302e360ec1b602082015260405191829160208352602083019062001432565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001c1576020366003190112620001c1576001600160a01b03620001eb6200134d565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001c1576020366003190112620001c157620002296200134d565b6200023362001474565b6001600160a01b0381161562000250576200024e90620014d6565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001c1576020366003190112620001c157620002c16200134d565b60ff60005460081c1615620002db576200024e90620014d6565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001c157600319602036820112620001c1576001600160401b0360043511620001c1576101808160043536030112620001c1576040519061018082016001600160401b03811183821017620001ab576040526200039860043560040162001364565b8252600435602401356001600160a01b0381168103620001c1576020830152600435604481013560408401526064810135606084015260848101356080840152620003e69060a40162001364565b60a0830152620003fb60c46004350162001364565b60c083015260043560e401356001600160401b038111620001c15760409060043501918236030112620001c15760408051919082016001600160401b03811183821017620001ab57604052600481013582526024810135906001600160401b038211620001c157600462000473923692010162001411565b602082015260e082015260043561010401356001600160a01b0381168103620001c15761010082015260043561012401356001600160401b038111620001c157620004c690600436918135010162001411565b61012082015260043561014401358015159003620001c1576004356101448101356101408301526001600160401b036101649091013511620001c157620005193660048035610164810135010162001411565b61016082015260655460001981146200074f576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200067793620006a193919291811691166200056e620016e5565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200061a9061026488019062001432565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a0152916101609162000655919062001432565b9261014081015115156101e48a01520151908783030161020488015262001432565b604485019390935260648401526001600160a01b0316608483015203601f19810183528262001395565b6040519161041080840192906001600160401b03841185851017620001ab578493620006e0936040926200180687398152816020820152019062001432565b03906000f08015620007435760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001c1576000366003190112620001c1576067546040516001600160a01b039091168152602090f35b34620001c1576040366003190112620001c1577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007d06200134d565b60243590620007de62001474565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001c1576020366003190112620001c157620008206200134d565b6200082a62001474565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c1576000366003190112620001c1576020606554604051908152f35b34620001c1576000366003190112620001c15760206200088b620016e5565b6040516001600160a01b039091168152f35b34620001c1576020366003190112620001c15760008051602062001cd68339815191526020620008cc6200134d565b620008d662001474565b620008e181620017e2565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001c1576000366003190112620001c157606a546040516001600160a01b039091168152602090f35b34620001c1576000366003190112620001c1576200095162001474565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c968339815191528280a3005b34620001c1576020366003190112620001c157620009a16200134d565b620009ab62001474565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c1576000366003190112620001c157600260005460ff8160081c16158062000a24575b620009ff906200177e565b61ffff19161760005560008051602062001c76833981519152602060405160028152a1005b5060ff81168211620009f4565b34620001c1576000366003190112620001c1576069546040516001600160a01b039091168152602090f35b34620001c1576040366003190112620001c15762000a796200134d565b60243590811515809203620001c1577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000ab762001474565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001c1576000366003190112620001c1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000b4757602060405160008051602062001c568339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001c15762000bc46200134d565b6024356001600160401b038111620001c15736602382011215620001c15762000bf8903690602481600401359101620013d5565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000c33308414156200150e565b62000c5360008051602062001c568339815191529382855416146200155f565b62000c5d620016e5565b813391160362000e495760008051602062001c168339815191525460ff161562000c8f575050506200024e90620015b0565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000e14575b5062000d055760405162461bcd60e51b815260048101869052602e602482015260008051602062001d3683398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000dce5762000d1984620015b0565b60008051602062001cb6833981519152600080a281511580159062000dc5575b62000d4057005b6200024e926000806040519462000d578662001379565b6027865260008051602062001d1683398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000dbb573d62000d9b81620013b9565b9062000dab604051928362001395565b8152600081943d92013e62001642565b6060925062001642565b50600162000d39565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001cf68339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000e41575b62000e2f818362001395565b81010312620001c15751908762000cb4565b503d62000e23565b60449062000e56620016e5565b60405163163678e960e01b815233600482015291166024820152fd5b34620001c157602080600319360112620001c15762000e906200134d565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000eca308214156200150e565b62000eea60008051602062001c568339815191529185835416146200155f565b62000ef4620016e5565b8433911603620010dc57604051828101949091906001600160401b03861183871017620001ab57856040526000835260ff60008051602062001c16833981519152541660001462000f4f57505050506200024e9150620015b0565b8492939416906040516352d1902d60e01b81528581600481865afa60009181620010a7575b5062000fc55760405162461bcd60e51b815260048101879052602e602482015260008051602062001d3683398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403620010615762000fd982620015b0565b60008051602062001cb6833981519152600080a282511580159062001058575b6200100057005b6000806200024e9560405195620010178762001379565b6027875260008051602062001d1683398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000dbb573d62000d9b81620013b9565b50600062000ff9565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001cf68339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311620010d4575b620010c2818362001395565b81010312620001c15751908862000f74565b503d620010b6565b60448462000e56620016e5565b34620001c1576020366003190112620001c157620011066200134d565b6200111062001474565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c15760a0366003190112620001c1576200114f6200134d565b6001600160a01b039060243590828216808303620001c15760443591848316808403620001c157606435868116809103620001c15760843596871692838803620001c1576000549760ff8960081c16159889809a620012a8575b80156200128f575b620011bc906200177e565b60ff198116600117600055896200127c575b5060ff60005460081c1615620002db57620012146020976200121460008051602062001cd68339815191529a620012096200121a96620014d6565b6000606555620017e2565b620017e2565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a16200125557005b61ff00196000541660005560008051602062001c76833981519152602060405160018152a1005b61ffff19166101011760005589620011ce565b50303b158015620011b1575060ff8116600114620011b1565b50600160ff821610620011a9565b34620001c1576020366003190112620001c1576001600160a01b03620012db6200134d565b1680600052606660205260ff60016040600020015416156200130f5760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001c1576000366003190112620001c1576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001c157565b35906001600160a01b0382168203620001c157565b606081019081106001600160401b03821117620001ab57604052565b601f909101601f19168101906001600160401b03821190821017620001ab57604052565b6001600160401b038111620001ab57601f01601f191660200190565b929192620013e382620013b9565b91620013f3604051938462001395565b829481845281830111620001c1578281602093846000960137010152565b9080601f83011215620001c1578160206200142f93359101620013d5565b90565b919082519283825260005b8481106200145f575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200143d565b6200147e620016e5565b336001600160a01b03909116036200149257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c96833981519152600080a3565b156200151657565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001c3683398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200156757565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001c3683398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015e75760008051602062001c5683398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620016a7575081511562001658575090565b3b15620016625790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016bb5750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016e190602483019062001432565b0390fd5b6033546001600160a01b0390811690813b620016ff575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001731575b50506200172c575090565b905090565b602093919293813d821162001775575b81620017506020938362001395565b8101031262001771575191821682036200176e575090388062001721565b80fd5b5080fd5b3d915062001741565b156200178657565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b6001600160a01b031615620017f357565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220739c59c092996638a2cbe193f3f16121881dd93612ff5664d9f0bc74a99b40a664736f6c63430008130033","sourceMap":"198:110:105:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;-1:-1:-1;;;;;198:110:105;;:::i;:::-;;;;4736:15:104;198:110:105;;;689:66:57;198:110:105;;;;4736:33:104;689:66:57;;198:110:105;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;198:110:105;;2423:22:42;198:110:105;;2517:8:42;;;:::i;:::-;198:110:105;;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;;:::i;:::-;689:66:57;198:110:105;;;;689:66:57;198:110:105;;;499:12:102;;;:::i;198:110:105:-;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3184:7:104;198:110:105;-1:-1:-1;;198:110:105;;;;;;;3184:7:104;198:110:105;;;;;3235:4:104;198:110:105;;;;3310:25:104;198:110:105;3441:16:104;198:110:105;3459:23:104;198:110:105;-1:-1:-1;;;;;198:110:105;;;;;;3350:155:104;;198:110:105;;;;;;;3484:7:104;;:::i;:::-;198:110:105;;;-1:-1:-1;;;198:110:105;3350:155:104;;;;;;;198:110:105;;3350:155:104;;198:110:105;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3390:41:104;198:110:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3390:41:104;;198:110:105;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;;;-1:-1:-1;198:110:105;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;3350:155:104;-1:-1:-1;;3350:155:104;;;;;;:::i;:::-;198:110:105;;;3272:243:104;;;;;;-1:-1:-1;;;;;3272:243:104;;;;;;;;;;198:110:105;3272:243:104;198:110:105;3272:243:104;;;;198:110:105;;;;;;;;;;:::i;:::-;3272:243:104;;198:110:105;3272:243:104;;;;;198:110:105;;;;;;;;;;;3674:15:104;198:110:105;;;;;;3674:49:104;198:110:105;;;;;;;;;3745:44:104;198:110:105;;;;;;3745:44:104;198:110:105;;;;;;3272:243:104;198:110:105;;689:66:57;198:110:105;689:66:57;;;;;198:110:105;;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;665:33:104;198:110:105;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;4362:43:104;198:110:105;;;:::i;:::-;;;1324:62:42;;;:::i;:::-;198:110:105;;;;;;;;;;4298:15:104;198:110:105;;;;;;;;;;;;;;;;4362:43:104;198:110:105;;;;;;;-1:-1:-1;;198:110:105;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;2162:34:104;198:110:105;;-1:-1:-1;;;;;;198:110:105;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;583:20:104;198:110:105;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;-1:-1:-1;;;;;;;;;;;198:110:105;;;:::i;:::-;1324:62:42;;:::i;:::-;3952:15:104;;;:::i;:::-;3978:36;198:110:105;;-1:-1:-1;;;;;;198:110:105;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;4029:31:104;198:110:105;;;;;;;-1:-1:-1;;198:110:105;;;;787:38:104;198:110:105;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;1324:62:42;;:::i;:::-;2779:6;198:110:105;;-1:-1:-1;;;;;;198:110:105;;;;;;;-1:-1:-1;;;;;198:110:105;-1:-1:-1;;;;;;;;;;;198:110:105;;2827:40:42;198:110:105;;;;;;;-1:-1:-1;;198:110:105;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;1898:36:104;198:110:105;;-1:-1:-1;;;;;;198:110:105;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;301:1;198:110;;689:66:57;198:110:105;;;689:66:57;4881:14:44;:40;;;198:110:105;4873:99:44;;;:::i;:::-;198:110:105;;;;;;-1:-1:-1;;;;;;;;;;;198:110:105;;;301:1;198:110;;5091:20:44;198:110:105;4881:40:44;-1:-1:-1;689:66:57;;;4899:22:44;-1:-1:-1;4881:40:44;;198:110:105;;;;;;-1:-1:-1;;198:110:105;;;;750:31:104;198:110:105;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;;:::i;:::-;;;;;;;;;;;;4577:42:104;1324:62:42;198:110:105;1324:62:42;;;:::i;:::-;198:110:105;;;;;;;;;;4518:15:104;198:110:105;;;;;;4518:33:104;198:110:105;;;;;;;;;;;;;;;;;;;;4577:42:104;198:110:105;;;;;;;-1:-1:-1;;198:110:105;;;;2089:6:61;-1:-1:-1;;;;;198:110:105;2080:4:61;2072:23;198:110:105;;;;;-1:-1:-1;;;;;;;;;;;198:110:105;;;;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:105;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;;:::i;:::-;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;198:110:105;;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;198:110:105;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:102;;:::i;:::-;1219:10;;198:110:105;;1208:21:102;1204:94;;-1:-1:-1;;;;;;;;;;;689:66:57;;;;;;2993:17;;;;;;:::i;2906:504::-;198:110:105;;;;689:66:57;;;;3046:52;;;;;;198:110:105;3046:52:57;;;;198:110:105;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;198:110:105;;-1:-1:-1;;;3262:56:57;;198:110:105;3262:56:57;;689:66;;;;198:110:105;689:66:57;;198:110:105;-1:-1:-1;;;;;;;;;;;198:110:105;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;198:110:105;1889:27:57;;198:110:105;;2208:15:57;;;:28;;;3042:291;2204:112;;198:110:105;2204:112:57;7307:69:73;198:110:105;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;198:110:105;;;;-1:-1:-1;;;198:110:105;;;;7265:25:73;;;;;;;;;198:110:105;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:73;:::i;198:110:105:-;;;-1:-1:-1;7307:69:73;:::i;2208:28:57:-;;198:110:105;2208:28:57;;689:66;198:110:105;;-1:-1:-1;;;689:66:57;;198:110:105;689:66:57;;;;;;198:110:105;689:66:57;;198:110:105;-1:-1:-1;;;;;;;;;;;198:110:105;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;1204:94:102;198:110:105;1279:7:102;;;:::i;:::-;198:110:105;;-1:-1:-1;;;1252:35:102;;1219:10;198:110:105;1252:35:102;;198:110:105;;;;;;;1252:35:102;198:110:105;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;198:110:105;1654:6:61;198:110:105;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;198:110:105;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:102;;:::i;:::-;1219:10;;198:110:105;;1208:21:102;1204:94;;198:110:105;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;689:66:57;-1:-1:-1;;;;;;;;;;;689:66:57;;2906:504;689:66;;;2993:17;;;;;;;;:::i;2906:504::-;198:110:105;;;;;;;;689:66:57;;;3046:52;;;;198:110:105;3046:52:57;;;;198:110:105;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;198:110:105;;-1:-1:-1;;;3262:56:57;;198:110:105;3262:56:57;;689:66;;;;;;;198:110:105;-1:-1:-1;;;;;;;;;;;198:110:105;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;198:110:105;1889:27:57;;198:110:105;;2208:15:57;;;:28;;;3042:291;2204:112;;198:110:105;2204:112:57;198:110:105;;7307:69:73;198:110:105;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;198:110:105;;;;-1:-1:-1;;;198:110:105;;;;7265:25:73;;;;;;198:110:105;;;;;;;;:::i;2208:28:57:-;;198:110:105;2208:28:57;;689:66;198:110:105;;-1:-1:-1;;;689:66:57;;198:110:105;689:66:57;;;;;;;;;198:110:105;-1:-1:-1;;;;;;;;;;;198:110:105;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;1204:94:102;198:110:105;1279:7:102;;;:::i;198:110:105:-;;;;;;-1:-1:-1;;198:110:105;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;2031:27:104;198:110:105;;-1:-1:-1;;;;;;198:110:105;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:105;;;;;;:::i;:::-;-1:-1:-1;;;;;198:110:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;689:66:57;198:110:105;;;689:66:57;3301:14:44;3347:34;;;;;;198:110:105;3346:108:44;;;;198:110:105;3325:201:44;;;:::i;:::-;-1:-1:-1;;198:110:105;;;;;;;3562:65:44;;198:110:105;;689:66:57;198:110:105;;;;689:66:57;198:110:105;;;2567:26:104;198:110:105;499:12:102;2518:19:104;-1:-1:-1;;;;;;;;;;;499:12:102;;2623:24:104;499:12:102;;:::i;:::-;198:110:105;2480:9:104;198:110:105;2518:19:104;:::i;:::-;2567:26;:::i;2623:24::-;198:110:105;;;;;;;;;2658:40:104;198:110:105;;;2658:40:104;198:110:105;;2708:54:104;198:110:105;;;2708:54:104;198:110:105;;2772:36:104;198:110:105;;;2772:36:104;198:110:105;2818:50:104;198:110:105;;;2818:50:104;198:110:105;;;;;;2883:35:104;3647:99:44;;198:110:105;3647:99:44;198:110:105;;;;;;;-1:-1:-1;;;;;;;;;;;198:110:105;;;;;;3721:14:44;198:110:105;3562:65:44;-1:-1:-1;;198:110:105;;;;;3562:65:44;;;3346:108;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;-1:-1:-1;689:66:57;;;198:110:105;3436:17:44;3346:108;;3347:34;689:66:57;198:110:105;689:66:57;;;3365:16:44;3347:34;;198:110:105;;;;;;-1:-1:-1;;198:110:105;;;;-1:-1:-1;;;;;198:110:105;;:::i;:::-;;;;;4881:15:104;198:110:105;;689:66:57;198:110:105;;;;4881:33:104;689:66:57;;4880:34:104;4876:100;;198:110:105;;4881:15:104;198:110:105;;;;;;;;;;;;;4876:100:104;198:110:105;;;;4937:28:104;;;;;;198:110:105;4937:28:104;;198:110:105;4937:28:104;198:110:105;;;;;;-1:-1:-1;;198:110:105;;;;704:40:104;198:110:105;-1:-1:-1;;;;;198:110:105;;;;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;:::o;:::-;;;-1:-1:-1;;;;;198:110:105;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;198:110:105;;;;;;;:::o;:::-;3350:155:104;198:110:105;;;-1:-1:-1;;198:110:105;;;;-1:-1:-1;;;;;198:110:105;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;198:110:105;;;;3350:155:104;198:110:105;-1:-1:-1;;198:110:105;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;198:110:105;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3350:155:104;;;198:110:105;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;1620:130:42;1683:7;;:::i;:::-;965:10:48;-1:-1:-1;;;;;198:110:105;;;1683:23:42;198:110:105;;1620:130:42:o;198:110:105:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;198:110:105;;-1:-1:-1;;;;;198:110:105;;;-1:-1:-1;;;;;;198:110:105;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;198:110:105:-;;;;:::o;:::-;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;198:110:105;;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;198:110:105;;;;-1:-1:-1;;;198:110:105;;;;;;;1406:259:57;1702:19:73;;:23;198:110:105;;-1:-1:-1;;;;;;;;;;;198:110:105;;-1:-1:-1;;;;;;198:110:105;-1:-1:-1;;;;;198:110:105;;;;;;;;;1406:259:57:o;198:110:105:-;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:105;;;;;;;7671:628:73;;;;7875:418;;;198:110:105;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;198:110:105;;8201:17:73;:::o;198:110:105:-;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;;;;;;;;;7875:418:73;198:110:105;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;198:110:105;;-1:-1:-1;;;9324:20:73;;198:110:105;9324:20:73;;;198:110:105;;;;;;;;;;;:::i;:::-;9324:20:73;;;525:604:102;1534:6:42;198:110:105;-1:-1:-1;;;;;198:110:105;;;;707:33:102;;;;822:19;;:::o;703:420::-;198:110:105;;-1:-1:-1;;;876:40:102;;;198:110:105;876:40:102;198:110:105;876:40:102;;;;;;-1:-1:-1;876:40:102;;;703:420;-1:-1:-1;;872:241:102;;1079:19;;:::o;872:241::-;960:13;;;:::o;876:40::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;198:110:105;;;;;;;;;;;;876:40:102;;;;;;198:110:105;;;;;;;876:40:102;;;-1:-1:-1;876:40:102;;198:110:105;;;;:::o;:::-;;;-1:-1:-1;;;198:110:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:105;;;;;;;1658:141:104;-1:-1:-1;;;;;198:110:105;1740:22:104;1736:56;;1658:141::o;1736:56::-;198:110:105;;-1:-1:-1;;;1771:21:104;;;;","linkReferences":{},"immutableReferences":{"54869":[{"start":2815,"length":32},{"start":3074,"length":32},{"start":3739,"length":32}]}},"methodIdentifiers":{"VERSION()":"ffa1ad74","collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string))":"beb331a3","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initialize(address,address,address,address,address)":"1459457a","initializeV2()":"5cd8a76b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","setRegistryCommunityTemplate(address)":"5decae02","setStrategyTemplate(address)":"1b71f0e4","strategyTemplate()":"5c94e4d2","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setRegistryCommunityTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol\":\"RegistryFactoryV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol\":{\"keccak256\":\"0xab28f640f29ef036ac547411b52bfbaa118a56e051c9caee6ae746f7bb64b873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a4e8930ce3bd25d196c54ee827187240eedcc7f7561de68c8ec8f1cada97d302\",\"dweb:/ipfs/QmNYaRMTJX43SqGQ4CYx2WcAJvDedZf8ZvZL2qCxvVjU3Q\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunityTemplate"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol":"RegistryFactoryV0_1"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol":{"keccak256":"0xab28f640f29ef036ac547411b52bfbaa118a56e051c9caee6ae746f7bb64b873","urls":["bzz-raw://a4e8930ce3bd25d196c54ee827187240eedcc7f7561de68c8ec8f1cada97d302","dweb:/ipfs/QmNYaRMTJX43SqGQ4CYx2WcAJvDedZf8ZvZL2qCxvVjU3Q"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":71997,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":72002,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)71989_storage)"},{"astId":72004,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":72006,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":72008,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":72010,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":72342,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)71989_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)71989_storage"},"t_struct(CommunityInfo)71989_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":71986,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":71988,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol","id":72359,"exportedSymbols":{"RegistryFactoryV0_0":[72343],"RegistryFactoryV0_1":[72358]},"nodeType":"SourceUnit","src":"42:267:105","nodes":[{"id":72345,"nodeType":"PragmaDirective","src":"42:24:105","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72347,"nodeType":"ImportDirective","src":"68:79:105","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","file":"../RegistryFactory/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":72359,"sourceUnit":72344,"symbolAliases":[{"foreign":{"id":72346,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72343,"src":"76:19:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72358,"nodeType":"ContractDefinition","src":"198:110:105","nodes":[{"id":72357,"nodeType":"FunctionDefinition","src":"256:50:105","nodes":[],"body":{"id":72356,"nodeType":"Block","src":"304:2:105","nodes":[],"statements":[]},"functionSelector":"5cd8a76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":72353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"301:1:105","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":72354,"kind":"modifierInvocation","modifierName":{"id":72352,"name":"reinitializer","nameLocations":["287:13:105"],"nodeType":"IdentifierPath","referencedDeclaration":52384,"src":"287:13:105"},"nodeType":"ModifierInvocation","src":"287:16:105"}],"name":"initializeV2","nameLocation":"265:12:105","parameters":{"id":72351,"nodeType":"ParameterList","parameters":[],"src":"277:2:105"},"returnParameters":{"id":72355,"nodeType":"ParameterList","parameters":[],"src":"304:0:105"},"scope":72358,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":72349,"name":"RegistryFactoryV0_0","nameLocations":["230:19:105"],"nodeType":"IdentifierPath","referencedDeclaration":72343,"src":"230:19:105"},"id":72350,"nodeType":"InheritanceSpecifier","src":"230:19:105"}],"canonicalName":"RegistryFactoryV0_1","contractDependencies":[54318],"contractKind":"contract","documentation":{"id":72348,"nodeType":"StructuredDocumentation","src":"149:49:105","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[72358,72343,70005,54969,54622,54271,54281,52200,52993,52449],"name":"RegistryFactoryV0_1","nameLocation":"207:19:105","scope":72359,"usedErrors":[69928,72034,72036]}],"license":"AGPL-3.0-only"},"id":105} \ No newline at end of file +{"abi":[{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunityTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a080604052346100315730608052611d8b90816100378239608051818181610aff01528181610c020152610e9b0152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b11462001327575080630a992e0c14620012b65780631459457a14620011325780631b71f0e414620010e95780633659cfe61462000e725780634f1ef2861462000bad57806352d1902d1462000aea5780635a2c8ace1462000a5c5780635c94e4d21462000a315780635cd8a76b14620009cd5780635decae021462000984578063715018a6146200093457806377122d5614620009095780638279c7db146200089d5780638da5cb5b146200086c578063987435be1462000765578063affed0e0146200084c578063b0d3713a1462000803578063b5b3ca2c1462000790578063b8bed9011462000765578063beb331a31462000334578063c4d66de814620002a4578063f2fde38b146200020c578063f5016b5e14620001c65763ffa1ad74146200014c57600080fd5b34620001c1576000366003190112620001c15760408051908101906001600160401b03821181831017620001ab57620001a79160405260038152620302e360ec1b602082015260405191829160208352602083019062001432565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001c1576020366003190112620001c1576001600160a01b03620001eb6200134d565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001c1576020366003190112620001c157620002296200134d565b6200023362001474565b6001600160a01b0381161562000250576200024e90620014d6565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001c1576020366003190112620001c157620002c16200134d565b60ff60005460081c1615620002db576200024e90620014d6565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001c157600319602036820112620001c1576001600160401b0360043511620001c1576101808160043536030112620001c1576040519061018082016001600160401b03811183821017620001ab576040526200039860043560040162001364565b8252600435602401356001600160a01b0381168103620001c1576020830152600435604481013560408401526064810135606084015260848101356080840152620003e69060a40162001364565b60a0830152620003fb60c46004350162001364565b60c083015260043560e401356001600160401b038111620001c15760409060043501918236030112620001c15760408051919082016001600160401b03811183821017620001ab57604052600481013582526024810135906001600160401b038211620001c157600462000473923692010162001411565b602082015260e082015260043561010401356001600160a01b0381168103620001c15761010082015260043561012401356001600160401b038111620001c157620004c690600436918135010162001411565b61012082015260043561014401358015159003620001c1576004356101448101356101408301526001600160401b036101649091013511620001c157620005193660048035610164810135010162001411565b61016082015260655460001981146200074f576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200067793620006a193919291811691166200056e620016e5565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200061a9061026488019062001432565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a0152916101609162000655919062001432565b9261014081015115156101e48a01520151908783030161020488015262001432565b604485019390935260648401526001600160a01b0316608483015203601f19810183528262001395565b6040519161041080840192906001600160401b03841185851017620001ab578493620006e0936040926200180687398152816020820152019062001432565b03906000f08015620007435760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001c1576000366003190112620001c1576067546040516001600160a01b039091168152602090f35b34620001c1576040366003190112620001c1577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007d06200134d565b60243590620007de62001474565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001c1576020366003190112620001c157620008206200134d565b6200082a62001474565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c1576000366003190112620001c1576020606554604051908152f35b34620001c1576000366003190112620001c15760206200088b620016e5565b6040516001600160a01b039091168152f35b34620001c1576020366003190112620001c15760008051602062001cd68339815191526020620008cc6200134d565b620008d662001474565b620008e181620017e2565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001c1576000366003190112620001c157606a546040516001600160a01b039091168152602090f35b34620001c1576000366003190112620001c1576200095162001474565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c968339815191528280a3005b34620001c1576020366003190112620001c157620009a16200134d565b620009ab62001474565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c1576000366003190112620001c157600260005460ff8160081c16158062000a24575b620009ff906200177e565b61ffff19161760005560008051602062001c76833981519152602060405160028152a1005b5060ff81168211620009f4565b34620001c1576000366003190112620001c1576069546040516001600160a01b039091168152602090f35b34620001c1576040366003190112620001c15762000a796200134d565b60243590811515809203620001c1577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000ab762001474565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001c1576000366003190112620001c1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000b4757602060405160008051602062001c568339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001c15762000bc46200134d565b6024356001600160401b038111620001c15736602382011215620001c15762000bf8903690602481600401359101620013d5565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000c33308414156200150e565b62000c5360008051602062001c568339815191529382855416146200155f565b62000c5d620016e5565b813391160362000e495760008051602062001c168339815191525460ff161562000c8f575050506200024e90620015b0565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000e14575b5062000d055760405162461bcd60e51b815260048101869052602e602482015260008051602062001d3683398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000dce5762000d1984620015b0565b60008051602062001cb6833981519152600080a281511580159062000dc5575b62000d4057005b6200024e926000806040519462000d578662001379565b6027865260008051602062001d1683398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000dbb573d62000d9b81620013b9565b9062000dab604051928362001395565b8152600081943d92013e62001642565b6060925062001642565b50600162000d39565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001cf68339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000e41575b62000e2f818362001395565b81010312620001c15751908762000cb4565b503d62000e23565b60449062000e56620016e5565b60405163163678e960e01b815233600482015291166024820152fd5b34620001c157602080600319360112620001c15762000e906200134d565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000eca308214156200150e565b62000eea60008051602062001c568339815191529185835416146200155f565b62000ef4620016e5565b8433911603620010dc57604051828101949091906001600160401b03861183871017620001ab57856040526000835260ff60008051602062001c16833981519152541660001462000f4f57505050506200024e9150620015b0565b8492939416906040516352d1902d60e01b81528581600481865afa60009181620010a7575b5062000fc55760405162461bcd60e51b815260048101879052602e602482015260008051602062001d3683398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403620010615762000fd982620015b0565b60008051602062001cb6833981519152600080a282511580159062001058575b6200100057005b6000806200024e9560405195620010178762001379565b6027875260008051602062001d1683398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000dbb573d62000d9b81620013b9565b50600062000ff9565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001cf68339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311620010d4575b620010c2818362001395565b81010312620001c15751908862000f74565b503d620010b6565b60448462000e56620016e5565b34620001c1576020366003190112620001c157620011066200134d565b6200111062001474565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c15760a0366003190112620001c1576200114f6200134d565b6001600160a01b039060243590828216808303620001c15760443591848316808403620001c157606435868116809103620001c15760843596871692838803620001c1576000549760ff8960081c16159889809a620012a8575b80156200128f575b620011bc906200177e565b60ff198116600117600055896200127c575b5060ff60005460081c1615620002db57620012146020976200121460008051602062001cd68339815191529a620012096200121a96620014d6565b6000606555620017e2565b620017e2565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a16200125557005b61ff00196000541660005560008051602062001c76833981519152602060405160018152a1005b61ffff19166101011760005589620011ce565b50303b158015620011b1575060ff8116600114620011b1565b50600160ff821610620011a9565b34620001c1576020366003190112620001c1576001600160a01b03620012db6200134d565b1680600052606660205260ff60016040600020015416156200130f5760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001c1576000366003190112620001c1576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001c157565b35906001600160a01b0382168203620001c157565b606081019081106001600160401b03821117620001ab57604052565b601f909101601f19168101906001600160401b03821190821017620001ab57604052565b6001600160401b038111620001ab57601f01601f191660200190565b929192620013e382620013b9565b91620013f3604051938462001395565b829481845281830111620001c1578281602093846000960137010152565b9080601f83011215620001c1578160206200142f93359101620013d5565b90565b919082519283825260005b8481106200145f575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200143d565b6200147e620016e5565b336001600160a01b03909116036200149257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c96833981519152600080a3565b156200151657565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001c3683398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200156757565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001c3683398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015e75760008051602062001c5683398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620016a7575081511562001658575090565b3b15620016625790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016bb5750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016e190602483019062001432565b0390fd5b6033546001600160a01b0390811690813b620016ff575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001731575b50506200172c575090565b905090565b602093919293813d821162001775575b81620017506020938362001395565b8101031262001771575191821682036200176e575090388062001721565b80fd5b5080fd5b3d915062001741565b156200178657565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b6001600160a01b031615620017f357565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122033f0a9d1793f90fc961617711fc56f8bbd8ed7df3cc6b5c214af8e42eb49dd9164736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a264697066735822122041cf25578d9d4549b3932a5cbf8996f3c24826a5bb5bc932e012fcb3f507624564736f6c63430008130033","sourceMap":"198:110:106:-:0;;;;;;;1088:4:61;1080:13;;198:110:106;;;;;;1080:13:61;198:110:106;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b11462001327575080630a992e0c14620012b65780631459457a14620011325780631b71f0e414620010e95780633659cfe61462000e725780634f1ef2861462000bad57806352d1902d1462000aea5780635a2c8ace1462000a5c5780635c94e4d21462000a315780635cd8a76b14620009cd5780635decae021462000984578063715018a6146200093457806377122d5614620009095780638279c7db146200089d5780638da5cb5b146200086c578063987435be1462000765578063affed0e0146200084c578063b0d3713a1462000803578063b5b3ca2c1462000790578063b8bed9011462000765578063beb331a31462000334578063c4d66de814620002a4578063f2fde38b146200020c578063f5016b5e14620001c65763ffa1ad74146200014c57600080fd5b34620001c1576000366003190112620001c15760408051908101906001600160401b03821181831017620001ab57620001a79160405260038152620302e360ec1b602082015260405191829160208352602083019062001432565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001c1576020366003190112620001c1576001600160a01b03620001eb6200134d565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001c1576020366003190112620001c157620002296200134d565b6200023362001474565b6001600160a01b0381161562000250576200024e90620014d6565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001c1576020366003190112620001c157620002c16200134d565b60ff60005460081c1615620002db576200024e90620014d6565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001c157600319602036820112620001c1576001600160401b0360043511620001c1576101808160043536030112620001c1576040519061018082016001600160401b03811183821017620001ab576040526200039860043560040162001364565b8252600435602401356001600160a01b0381168103620001c1576020830152600435604481013560408401526064810135606084015260848101356080840152620003e69060a40162001364565b60a0830152620003fb60c46004350162001364565b60c083015260043560e401356001600160401b038111620001c15760409060043501918236030112620001c15760408051919082016001600160401b03811183821017620001ab57604052600481013582526024810135906001600160401b038211620001c157600462000473923692010162001411565b602082015260e082015260043561010401356001600160a01b0381168103620001c15761010082015260043561012401356001600160401b038111620001c157620004c690600436918135010162001411565b61012082015260043561014401358015159003620001c1576004356101448101356101408301526001600160401b036101649091013511620001c157620005193660048035610164810135010162001411565b61016082015260655460001981146200074f576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200067793620006a193919291811691166200056e620016e5565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200061a9061026488019062001432565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a0152916101609162000655919062001432565b9261014081015115156101e48a01520151908783030161020488015262001432565b604485019390935260648401526001600160a01b0316608483015203601f19810183528262001395565b6040519161041080840192906001600160401b03841185851017620001ab578493620006e0936040926200180687398152816020820152019062001432565b03906000f08015620007435760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001c1576000366003190112620001c1576067546040516001600160a01b039091168152602090f35b34620001c1576040366003190112620001c1577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007d06200134d565b60243590620007de62001474565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001c1576020366003190112620001c157620008206200134d565b6200082a62001474565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c1576000366003190112620001c1576020606554604051908152f35b34620001c1576000366003190112620001c15760206200088b620016e5565b6040516001600160a01b039091168152f35b34620001c1576020366003190112620001c15760008051602062001cd68339815191526020620008cc6200134d565b620008d662001474565b620008e181620017e2565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001c1576000366003190112620001c157606a546040516001600160a01b039091168152602090f35b34620001c1576000366003190112620001c1576200095162001474565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c968339815191528280a3005b34620001c1576020366003190112620001c157620009a16200134d565b620009ab62001474565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c1576000366003190112620001c157600260005460ff8160081c16158062000a24575b620009ff906200177e565b61ffff19161760005560008051602062001c76833981519152602060405160028152a1005b5060ff81168211620009f4565b34620001c1576000366003190112620001c1576069546040516001600160a01b039091168152602090f35b34620001c1576040366003190112620001c15762000a796200134d565b60243590811515809203620001c1577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000ab762001474565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001c1576000366003190112620001c1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000b4757602060405160008051602062001c568339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001c15762000bc46200134d565b6024356001600160401b038111620001c15736602382011215620001c15762000bf8903690602481600401359101620013d5565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000c33308414156200150e565b62000c5360008051602062001c568339815191529382855416146200155f565b62000c5d620016e5565b813391160362000e495760008051602062001c168339815191525460ff161562000c8f575050506200024e90620015b0565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000e14575b5062000d055760405162461bcd60e51b815260048101869052602e602482015260008051602062001d3683398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000dce5762000d1984620015b0565b60008051602062001cb6833981519152600080a281511580159062000dc5575b62000d4057005b6200024e926000806040519462000d578662001379565b6027865260008051602062001d1683398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000dbb573d62000d9b81620013b9565b9062000dab604051928362001395565b8152600081943d92013e62001642565b6060925062001642565b50600162000d39565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001cf68339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000e41575b62000e2f818362001395565b81010312620001c15751908762000cb4565b503d62000e23565b60449062000e56620016e5565b60405163163678e960e01b815233600482015291166024820152fd5b34620001c157602080600319360112620001c15762000e906200134d565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000eca308214156200150e565b62000eea60008051602062001c568339815191529185835416146200155f565b62000ef4620016e5565b8433911603620010dc57604051828101949091906001600160401b03861183871017620001ab57856040526000835260ff60008051602062001c16833981519152541660001462000f4f57505050506200024e9150620015b0565b8492939416906040516352d1902d60e01b81528581600481865afa60009181620010a7575b5062000fc55760405162461bcd60e51b815260048101879052602e602482015260008051602062001d3683398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403620010615762000fd982620015b0565b60008051602062001cb6833981519152600080a282511580159062001058575b6200100057005b6000806200024e9560405195620010178762001379565b6027875260008051602062001d1683398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000dbb573d62000d9b81620013b9565b50600062000ff9565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001cf68339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311620010d4575b620010c2818362001395565b81010312620001c15751908862000f74565b503d620010b6565b60448462000e56620016e5565b34620001c1576020366003190112620001c157620011066200134d565b6200111062001474565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001c15760a0366003190112620001c1576200114f6200134d565b6001600160a01b039060243590828216808303620001c15760443591848316808403620001c157606435868116809103620001c15760843596871692838803620001c1576000549760ff8960081c16159889809a620012a8575b80156200128f575b620011bc906200177e565b60ff198116600117600055896200127c575b5060ff60005460081c1615620002db57620012146020976200121460008051602062001cd68339815191529a620012096200121a96620014d6565b6000606555620017e2565b620017e2565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a16200125557005b61ff00196000541660005560008051602062001c76833981519152602060405160018152a1005b61ffff19166101011760005589620011ce565b50303b158015620011b1575060ff8116600114620011b1565b50600160ff821610620011a9565b34620001c1576020366003190112620001c1576001600160a01b03620012db6200134d565b1680600052606660205260ff60016040600020015416156200130f5760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001c1576000366003190112620001c1576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001c157565b35906001600160a01b0382168203620001c157565b606081019081106001600160401b03821117620001ab57604052565b601f909101601f19168101906001600160401b03821190821017620001ab57604052565b6001600160401b038111620001ab57601f01601f191660200190565b929192620013e382620013b9565b91620013f3604051938462001395565b829481845281830111620001c1578281602093846000960137010152565b9080601f83011215620001c1578160206200142f93359101620013d5565b90565b919082519283825260005b8481106200145f575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200143d565b6200147e620016e5565b336001600160a01b03909116036200149257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c96833981519152600080a3565b156200151657565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001c3683398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200156757565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001c3683398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015e75760008051602062001c5683398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620016a7575081511562001658575090565b3b15620016625790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016bb5750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016e190602483019062001432565b0390fd5b6033546001600160a01b0390811690813b620016ff575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001731575b50506200172c575090565b905090565b602093919293813d821162001775575b81620017506020938362001395565b8101031262001771575191821682036200176e575090388062001721565b80fd5b5080fd5b3d915062001741565b156200178657565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b6001600160a01b031615620017f357565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122033f0a9d1793f90fc961617711fc56f8bbd8ed7df3cc6b5c214af8e42eb49dd9164736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a264697066735822122041cf25578d9d4549b3932a5cbf8996f3c24826a5bb5bc932e012fcb3f507624564736f6c63430008130033","sourceMap":"198:110:106:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;-1:-1:-1;;;;;198:110:106;;:::i;:::-;;;;4736:15:105;198:110:106;;;689:66:57;198:110:106;;;;4736:33:105;689:66:57;;198:110:106;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;198:110:106;;2423:22:42;198:110:106;;2517:8:42;;;:::i;:::-;198:110:106;;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;;:::i;:::-;689:66:57;198:110:106;;;;689:66:57;198:110:106;;;499:12:101;;;:::i;198:110:106:-;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3184:7:105;198:110:106;-1:-1:-1;;198:110:106;;;;;;;3184:7:105;198:110:106;;;;;3235:4:105;198:110:106;;;;3310:25:105;198:110:106;3441:16:105;198:110:106;3459:23:105;198:110:106;-1:-1:-1;;;;;198:110:106;;;;;;3350:155:105;;198:110:106;;;;;;;3484:7:105;;:::i;:::-;198:110:106;;;-1:-1:-1;;;198:110:106;3350:155:105;;;;;;;198:110:106;;3350:155:105;;198:110:106;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3390:41:105;198:110:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3390:41:105;;198:110:106;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;;;-1:-1:-1;198:110:106;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;3350:155:105;-1:-1:-1;;3350:155:105;;;;;;:::i;:::-;198:110:106;;;3272:243:105;;;;;;-1:-1:-1;;;;;3272:243:105;;;;;;;;;;198:110:106;3272:243:105;198:110:106;3272:243:105;;;;198:110:106;;;;;;;;;;:::i;:::-;3272:243:105;;198:110:106;3272:243:105;;;;;198:110:106;;;;;;;;;;;3674:15:105;198:110:106;;;;;;3674:49:105;198:110:106;;;;;;;;;3745:44:105;198:110:106;;;;;;3745:44:105;198:110:106;;;;;;3272:243:105;198:110:106;;689:66:57;198:110:106;689:66:57;;;;;198:110:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;665:33:105;198:110:106;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;4362:43:105;198:110:106;;;:::i;:::-;;;1324:62:42;;;:::i;:::-;198:110:106;;;;;;;;;;4298:15:105;198:110:106;;;;;;;;;;;;;;;;4362:43:105;198:110:106;;;;;;;-1:-1:-1;;198:110:106;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;2162:34:105;198:110:106;;-1:-1:-1;;;;;;198:110:106;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;583:20:105;198:110:106;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;-1:-1:-1;;;;;;;;;;;198:110:106;;;:::i;:::-;1324:62:42;;:::i;:::-;3952:15:105;;;:::i;:::-;3978:36;198:110:106;;-1:-1:-1;;;;;;198:110:106;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;4029:31:105;198:110:106;;;;;;;-1:-1:-1;;198:110:106;;;;787:38:105;198:110:106;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;1324:62:42;;:::i;:::-;2779:6;198:110:106;;-1:-1:-1;;;;;;198:110:106;;;;;;;-1:-1:-1;;;;;198:110:106;-1:-1:-1;;;;;;;;;;;198:110:106;;2827:40:42;198:110:106;;;;;;;-1:-1:-1;;198:110:106;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;1898:36:105;198:110:106;;-1:-1:-1;;;;;;198:110:106;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;301:1;198:110;;689:66:57;198:110:106;;;689:66:57;4881:14:44;:40;;;198:110:106;4873:99:44;;;:::i;:::-;198:110:106;;;;;;-1:-1:-1;;;;;;;;;;;198:110:106;;;301:1;198:110;;5091:20:44;198:110:106;4881:40:44;-1:-1:-1;689:66:57;;;4899:22:44;-1:-1:-1;4881:40:44;;198:110:106;;;;;;-1:-1:-1;;198:110:106;;;;750:31:105;198:110:106;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;;:::i;:::-;;;;;;;;;;;;4577:42:105;1324:62:42;198:110:106;1324:62:42;;;:::i;:::-;198:110:106;;;;;;;;;;4518:15:105;198:110:106;;;;;;4518:33:105;198:110:106;;;;;;;;;;;;;;;;;;;;4577:42:105;198:110:106;;;;;;;-1:-1:-1;;198:110:106;;;;2089:6:61;-1:-1:-1;;;;;198:110:106;2080:4:61;2072:23;198:110:106;;;;;-1:-1:-1;;;;;;;;;;;198:110:106;;;;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:106;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;;:::i;:::-;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;198:110:106;;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;198:110:106;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:101;;:::i;:::-;1219:10;;198:110:106;;1208:21:101;1204:94;;-1:-1:-1;;;;;;;;;;;689:66:57;;;;;;2993:17;;;;;;:::i;2906:504::-;198:110:106;;;;689:66:57;;;;3046:52;;;;;;198:110:106;3046:52:57;;;;198:110:106;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;198:110:106;;-1:-1:-1;;;3262:56:57;;198:110:106;3262:56:57;;689:66;;;;198:110:106;689:66:57;;198:110:106;-1:-1:-1;;;;;;;;;;;198:110:106;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;198:110:106;1889:27:57;;198:110:106;;2208:15:57;;;:28;;;3042:291;2204:112;;198:110:106;2204:112:57;7307:69:73;198:110:106;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;198:110:106;;;;-1:-1:-1;;;198:110:106;;;;7265:25:73;;;;;;;;;198:110:106;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;7307:69:73;:::i;198:110:106:-;;;-1:-1:-1;7307:69:73;:::i;2208:28:57:-;;198:110:106;2208:28:57;;689:66;198:110:106;;-1:-1:-1;;;689:66:57;;198:110:106;689:66:57;;;;;;198:110:106;689:66:57;;198:110:106;-1:-1:-1;;;;;;;;;;;198:110:106;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;1204:94:101;198:110:106;1279:7:101;;;:::i;:::-;198:110:106;;-1:-1:-1;;;1252:35:101;;1219:10;198:110:106;1252:35:101;;198:110:106;;;;;;;1252:35:101;198:110:106;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;198:110:106;1654:6:61;198:110:106;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;198:110:106;;;;;1727:30:61;1719:87;:::i;:::-;1208:7:101;;:::i;:::-;1219:10;;198:110:106;;1208:21:101;1204:94;;198:110:106;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;689:66:57;-1:-1:-1;;;;;;;;;;;689:66:57;;2906:504;689:66;;;2993:17;;;;;;;;:::i;2906:504::-;198:110:106;;;;;;;;689:66:57;;;3046:52;;;;198:110:106;3046:52:57;;;;198:110:106;;3046:52:57;;;2906:504;-1:-1:-1;3042:291:57;;198:110:106;;-1:-1:-1;;;3262:56:57;;198:110:106;3262:56:57;;689:66;;;;;;;198:110:106;-1:-1:-1;;;;;;;;;;;198:110:106;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;198:110:106;1889:27:57;;198:110:106;;2208:15:57;;;:28;;;3042:291;2204:112;;198:110:106;2204:112:57;198:110:106;;7307:69:73;198:110:106;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;198:110:106;;;;-1:-1:-1;;;198:110:106;;;;7265:25:73;;;;;;198:110:106;;;;;;;;:::i;2208:28:57:-;;198:110:106;2208:28:57;;689:66;198:110:106;;-1:-1:-1;;;689:66:57;;198:110:106;689:66:57;;;;;;;;;198:110:106;-1:-1:-1;;;;;;;;;;;198:110:106;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;;;;;;1204:94:101;198:110:106;1279:7:101;;;:::i;198:110:106:-;;;;;;-1:-1:-1;;198:110:106;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;2031:27:105;198:110:106;;-1:-1:-1;;;;;;198:110:106;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;-1:-1:-1;;198:110:106;;;;;;:::i;:::-;-1:-1:-1;;;;;198:110:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;689:66:57;198:110:106;;;689:66:57;3301:14:44;3347:34;;;;;;198:110:106;3346:108:44;;;;198:110:106;3325:201:44;;;:::i;:::-;-1:-1:-1;;198:110:106;;;;;;;3562:65:44;;198:110:106;;689:66:57;198:110:106;;;;689:66:57;198:110:106;;;2567:26:105;198:110:106;499:12:101;2518:19:105;-1:-1:-1;;;;;;;;;;;499:12:101;;2623:24:105;499:12:101;;:::i;:::-;198:110:106;2480:9:105;198:110:106;2518:19:105;:::i;:::-;2567:26;:::i;2623:24::-;198:110:106;;;;;;;;;2658:40:105;198:110:106;;;2658:40:105;198:110:106;;2708:54:105;198:110:106;;;2708:54:105;198:110:106;;2772:36:105;198:110:106;;;2772:36:105;198:110:106;2818:50:105;198:110:106;;;2818:50:105;198:110:106;;;;;;2883:35:105;3647:99:44;;198:110:106;3647:99:44;198:110:106;;;;;;;-1:-1:-1;;;;;;;;;;;198:110:106;;;;;;3721:14:44;198:110:106;3562:65:44;-1:-1:-1;;198:110:106;;;;;3562:65:44;;;3346:108;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;-1:-1:-1;689:66:57;;;198:110:106;3436:17:44;3346:108;;3347:34;689:66:57;198:110:106;689:66:57;;;3365:16:44;3347:34;;198:110:106;;;;;;-1:-1:-1;;198:110:106;;;;-1:-1:-1;;;;;198:110:106;;:::i;:::-;;;;;4881:15:105;198:110:106;;689:66:57;198:110:106;;;;4881:33:105;689:66:57;;4880:34:105;4876:100;;198:110:106;;4881:15:105;198:110:106;;;;;;;;;;;;;4876:100:105;198:110:106;;;;4937:28:105;;;;;;198:110:106;4937:28:105;;198:110:106;4937:28:105;198:110:106;;;;;;-1:-1:-1;;198:110:106;;;;704:40:105;198:110:106;-1:-1:-1;;;;;198:110:106;;;;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;:::o;:::-;;;-1:-1:-1;;;;;198:110:106;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;198:110:106;;;;;;;:::o;:::-;3350:155:105;198:110:106;;;-1:-1:-1;;198:110:106;;;;-1:-1:-1;;;;;198:110:106;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;198:110:106;;;;3350:155:105;198:110:106;-1:-1:-1;;198:110:106;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;198:110:106;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3350:155:105;;;198:110:106;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;1620:130:42;1683:7;;:::i;:::-;965:10:48;-1:-1:-1;;;;;198:110:106;;;1683:23:42;198:110:106;;1620:130:42:o;198:110:106:-;;;;;;;;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;198:110:106;;-1:-1:-1;;;;;198:110:106;;;-1:-1:-1;;;;;;198:110:106;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;198:110:106:-;;;;:::o;:::-;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;198:110:106;;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;198:110:106;;;;-1:-1:-1;;;198:110:106;;;;;;;1406:259:57;1702:19:73;;:23;198:110:106;;-1:-1:-1;;;;;;;;;;;198:110:106;;-1:-1:-1;;;;;;198:110:106;-1:-1:-1;;;;;198:110:106;;;;;;;;;1406:259:57:o;198:110:106:-;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:106;;;;;;;7671:628:73;;;;7875:418;;;198:110:106;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;198:110:106;;8201:17:73;:::o;198:110:106:-;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;;;;;;;;;7875:418:73;198:110:106;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;198:110:106;;-1:-1:-1;;;9324:20:73;;198:110:106;9324:20:73;;;198:110:106;;;;;;;;;;;:::i;:::-;9324:20:73;;;525:604:101;1534:6:42;198:110:106;-1:-1:-1;;;;;198:110:106;;;;707:33:101;;;;822:19;;:::o;703:420::-;198:110:106;;-1:-1:-1;;;876:40:101;;;198:110:106;876:40:101;198:110:106;876:40:101;;;;;;-1:-1:-1;876:40:101;;;703:420;-1:-1:-1;;872:241:101;;1079:19;;:::o;872:241::-;960:13;;;:::o;876:40::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;198:110:106;;;;;;;;;;;;876:40:101;;;;;;198:110:106;;;;;;;876:40:101;;;-1:-1:-1;876:40:101;;198:110:106;;;;:::o;:::-;;;-1:-1:-1;;;198:110:106;;;;;;;;;;;;;;;;;-1:-1:-1;;;198:110:106;;;;;;;1658:141:105;-1:-1:-1;;;;;198:110:106;1740:22:105;1736:56;;1658:141::o;1736:56::-;198:110:106;;-1:-1:-1;;;1771:21:105;;;;","linkReferences":{},"immutableReferences":{"54869":[{"start":2815,"length":32},{"start":3074,"length":32},{"start":3739,"length":32}]}},"methodIdentifiers":{"VERSION()":"ffa1ad74","collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string))":"beb331a3","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initialize(address,address,address,address,address)":"1459457a","initializeV2()":"5cd8a76b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","setRegistryCommunityTemplate(address)":"5decae02","setStrategyTemplate(address)":"1b71f0e4","strategyTemplate()":"5c94e4d2","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setRegistryCommunityTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol\":\"RegistryFactoryV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol\":{\"keccak256\":\"0xab28f640f29ef036ac547411b52bfbaa118a56e051c9caee6ae746f7bb64b873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a4e8930ce3bd25d196c54ee827187240eedcc7f7561de68c8ec8f1cada97d302\",\"dweb:/ipfs/QmNYaRMTJX43SqGQ4CYx2WcAJvDedZf8ZvZL2qCxvVjU3Q\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunityTemplate"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol":"RegistryFactoryV0_1"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol":{"keccak256":"0xab28f640f29ef036ac547411b52bfbaa118a56e051c9caee6ae746f7bb64b873","urls":["bzz-raw://a4e8930ce3bd25d196c54ee827187240eedcc7f7561de68c8ec8f1cada97d302","dweb:/ipfs/QmNYaRMTJX43SqGQ4CYx2WcAJvDedZf8ZvZL2qCxvVjU3Q"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":73831,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":73836,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)73823_storage)"},{"astId":73838,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":73840,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":73842,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":73844,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":74176,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)73823_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)73823_storage"},"t_struct(CommunityInfo)73823_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":73820,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":73822,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol","id":74193,"exportedSymbols":{"RegistryFactoryV0_0":[74177],"RegistryFactoryV0_1":[74192]},"nodeType":"SourceUnit","src":"42:267:106","nodes":[{"id":74179,"nodeType":"PragmaDirective","src":"42:24:106","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74181,"nodeType":"ImportDirective","src":"68:79:106","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","file":"../RegistryFactory/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":74193,"sourceUnit":74178,"symbolAliases":[{"foreign":{"id":74180,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74177,"src":"76:19:106","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74192,"nodeType":"ContractDefinition","src":"198:110:106","nodes":[{"id":74191,"nodeType":"FunctionDefinition","src":"256:50:106","nodes":[],"body":{"id":74190,"nodeType":"Block","src":"304:2:106","nodes":[],"statements":[]},"functionSelector":"5cd8a76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":74187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"301:1:106","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":74188,"kind":"modifierInvocation","modifierName":{"id":74186,"name":"reinitializer","nameLocations":["287:13:106"],"nodeType":"IdentifierPath","referencedDeclaration":52384,"src":"287:13:106"},"nodeType":"ModifierInvocation","src":"287:16:106"}],"name":"initializeV2","nameLocation":"265:12:106","parameters":{"id":74185,"nodeType":"ParameterList","parameters":[],"src":"277:2:106"},"returnParameters":{"id":74189,"nodeType":"ParameterList","parameters":[],"src":"304:0:106"},"scope":74192,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":74183,"name":"RegistryFactoryV0_0","nameLocations":["230:19:106"],"nodeType":"IdentifierPath","referencedDeclaration":74177,"src":"230:19:106"},"id":74184,"nodeType":"InheritanceSpecifier","src":"230:19:106"}],"canonicalName":"RegistryFactoryV0_1","contractDependencies":[54318],"contractKind":"contract","documentation":{"id":74182,"nodeType":"StructuredDocumentation","src":"149:49:106","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[74192,74177,71125,54969,54622,54271,54281,52200,52993,52449],"name":"RegistryFactoryV0_1","nameLocation":"207:19:106","scope":74193,"usedErrors":[71048,73868,73870]}],"license":"AGPL-3.0-only"},"id":106} \ No newline at end of file diff --git a/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json b/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json new file mode 100644 index 000000000..696c414d4 --- /dev/null +++ b/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506114aa8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106101ed5760003560e01c8062b1fad7146101f2578063030e4006146102175780630688b1351461021f5780630f166ad414610227578063174eedde1461022d5780631b96dce6146102345780631e7bcb2e1461023c5780631ed7831c146102445780632ade3880146102595780633e5e3c231461026e5780633f7286f4146102765780634bf4ba211461027e578063587c1243146102865780635aff59991461028e57806366d003ac1461029657806366d9a9a01461029e5780636a38dd0a146102b357806370a32944146102bb57806374d9284e1461022d578063759c9a86146102c357806379e62d0d146102cb5780637b103999146102d35780637b2edf32146102e95780637cbe79ed146102f1578063829e423f1461022d57806385226c81146102f95780638c7408c41461022d5780638e0d1a501461030e5780638e3c249314610316578063916a17c61461031e578063a407c67a14610326578063aa3744bd1461032e578063b5508aa914610336578063ba414fa61461033e578063d1e82b5814610356578063d1f2cd881461035e578063d5bee9f514610366578063da4bf0871461036e578063dac4eb1614610376578063e20c9f711461037e578063ef0d790f14610386578063fa7626d41461038e575b600080fd5b6101fa61039b565b6040516001600160a01b0390911681526020015b60405180910390f35b6101fa6103d0565b6101fa610406565b306101fa565b60006101fa565b6101fa610433565b6101fa610464565b61024c610497565b60405161020e9190611121565b6102616104f9565b60405161020e91906111be565b61024c61063b565b61024c61069b565b61024c6106fb565b6101fa61071e565b6101fa610751565b6101fa610784565b6102a66107b0565b60405161020e919061127e565b6101fa610896565b61024c6108c6565b6101fa61095e565b61024c61098d565b601e5461010090046001600160a01b03166101fa565b6101fa6109f5565b6101fa610a28565b610301610a55565b60405161020e9190611331565b6101fa610b25565b6101fa610b52565b6102a6610b85565b61024c610c6b565b6101fa610cd3565b610301610d00565b610346610dd0565b604051901515815260200161020e565b6101fa610e74565b6101fa610ea7565b6101fa610ed8565b6101fa610f06565b6101fa610f36565b61024c610f67565b6101fa610fc7565b601e546103469060ff1681565b60006103cb6040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610ff9565b905090565b60006103cb60405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610ff9565b60006103cb6040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610ff9565b606060168054806020026020016040519081016040528092919081815260200182805480156104ef57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104d1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561063257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101561061b57838290600052602060002001805461058e90611393565b80601f01602080910402602001604051908101604052809291908181526020018280546105ba90611393565b80156106075780601f106105dc57610100808354040283529160200191610607565b820191906000526020600020905b8154815290600101906020018083116105ea57829003601f168201915b50505050508152602001906001019061056f565b50505050815250508152602001906001019061051d565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006103cb6040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610ff9565b60006103cb6040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610ff9565b60006103cb604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610ff9565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561087e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108405790505b505050505081525050815260200190600101906107d4565b60006103cb6040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506108f3610464565b81600081518110610906576109066113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e6109f5565b81600181518110610941576109416113cd565b6001600160a01b0390921660209283029190910190910152919050565b60006103cb6040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506109ba61039b565b816000815181106109cd576109cd6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610896565b60006103cb6040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610ff9565b60006103cb6040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610ff9565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610a9890611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac490611393565b8015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b505050505081526020019060010190610a79565b60006103cb6040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610ff9565b60006103cb6040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610ff9565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610c5357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610c155790505b50505050508152505081526020019060010190610ba9565b60408051600280825260608083018452926000929190602083019080368337019050509050610c9861071e565b81600081518110610cab57610cab6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610b52565b60006103cb6040518060400160405280600a815260200169726563697069656e743160b01b815250610ff9565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610d4390611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6f90611393565b8015610dbc5780601f10610d9157610100808354040283529160200191610dbc565b820191906000526020600020905b815481529060010190602001808311610d9f57829003601f168201915b505050505081526020019060010190610d24565b60085460009060ff1615610de8575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d91906113e3565b1415905090565b60006103cb6040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610ff9565b60006103cb6040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610ff9565b60006103cb6040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610ff9565b606060158054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b60006103cb60405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b60006110048261100b565b5092915050565b6000808260405160200161101f91906113fc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae9190611418565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906110ea9085908790600401611448565b600060405180830381600087803b15801561110457600080fd5b505af1158015611118573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111625783516001600160a01b03168352928401929184019160010161113d565b50909695505050505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561126e57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561125857605f19898503018352611246848651611192565b948e01949350918d019160010161122a565b505050978a0197945050918801916001016111e5565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561132257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101561130d5783516001600160e01b0319168252928b019260019290920191908b01906112e3565b50978a019795505050918701916001016112a6565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561138657603f19888603018452611374858351611192565b94509285019290850190600101611358565b5092979650505050505050565b600181811c908216806113a757607f821691505b6020821081036113c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113f557600080fd5b5051919050565b6000825161140e81846020870161116e565b9190910192915050565b60006020828403121561142a57600080fd5b81516001600160a01b038116811461144157600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061146c90830184611192565b94935050505056fea264697066735822122036eba749f5d4da364b0892ee296f9406f97af78f997498ee89e5fb8cedfc18d764736f6c63430008130033","sourceMap":"393:304:18:-:0;;;3126:44:24;;;3166:4;-1:-1:-1;;3126:44:24;;;;;;;;1016:26:34;;;;;;;;;;;393:304:18;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101ed5760003560e01c8062b1fad7146101f2578063030e4006146102175780630688b1351461021f5780630f166ad414610227578063174eedde1461022d5780631b96dce6146102345780631e7bcb2e1461023c5780631ed7831c146102445780632ade3880146102595780633e5e3c231461026e5780633f7286f4146102765780634bf4ba211461027e578063587c1243146102865780635aff59991461028e57806366d003ac1461029657806366d9a9a01461029e5780636a38dd0a146102b357806370a32944146102bb57806374d9284e1461022d578063759c9a86146102c357806379e62d0d146102cb5780637b103999146102d35780637b2edf32146102e95780637cbe79ed146102f1578063829e423f1461022d57806385226c81146102f95780638c7408c41461022d5780638e0d1a501461030e5780638e3c249314610316578063916a17c61461031e578063a407c67a14610326578063aa3744bd1461032e578063b5508aa914610336578063ba414fa61461033e578063d1e82b5814610356578063d1f2cd881461035e578063d5bee9f514610366578063da4bf0871461036e578063dac4eb1614610376578063e20c9f711461037e578063ef0d790f14610386578063fa7626d41461038e575b600080fd5b6101fa61039b565b6040516001600160a01b0390911681526020015b60405180910390f35b6101fa6103d0565b6101fa610406565b306101fa565b60006101fa565b6101fa610433565b6101fa610464565b61024c610497565b60405161020e9190611121565b6102616104f9565b60405161020e91906111be565b61024c61063b565b61024c61069b565b61024c6106fb565b6101fa61071e565b6101fa610751565b6101fa610784565b6102a66107b0565b60405161020e919061127e565b6101fa610896565b61024c6108c6565b6101fa61095e565b61024c61098d565b601e5461010090046001600160a01b03166101fa565b6101fa6109f5565b6101fa610a28565b610301610a55565b60405161020e9190611331565b6101fa610b25565b6101fa610b52565b6102a6610b85565b61024c610c6b565b6101fa610cd3565b610301610d00565b610346610dd0565b604051901515815260200161020e565b6101fa610e74565b6101fa610ea7565b6101fa610ed8565b6101fa610f06565b6101fa610f36565b61024c610f67565b6101fa610fc7565b601e546103469060ff1681565b60006103cb6040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610ff9565b905090565b60006103cb60405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610ff9565b60006103cb6040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610ff9565b606060168054806020026020016040519081016040528092919081815260200182805480156104ef57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104d1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561063257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101561061b57838290600052602060002001805461058e90611393565b80601f01602080910402602001604051908101604052809291908181526020018280546105ba90611393565b80156106075780601f106105dc57610100808354040283529160200191610607565b820191906000526020600020905b8154815290600101906020018083116105ea57829003601f168201915b50505050508152602001906001019061056f565b50505050815250508152602001906001019061051d565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006103cb6040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610ff9565b60006103cb6040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610ff9565b60006103cb604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610ff9565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561087e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108405790505b505050505081525050815260200190600101906107d4565b60006103cb6040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506108f3610464565b81600081518110610906576109066113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e6109f5565b81600181518110610941576109416113cd565b6001600160a01b0390921660209283029190910190910152919050565b60006103cb6040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506109ba61039b565b816000815181106109cd576109cd6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610896565b60006103cb6040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610ff9565b60006103cb6040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610ff9565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610a9890611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac490611393565b8015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b505050505081526020019060010190610a79565b60006103cb6040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610ff9565b60006103cb6040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610ff9565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610c5357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610c155790505b50505050508152505081526020019060010190610ba9565b60408051600280825260608083018452926000929190602083019080368337019050509050610c9861071e565b81600081518110610cab57610cab6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610b52565b60006103cb6040518060400160405280600a815260200169726563697069656e743160b01b815250610ff9565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610d4390611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6f90611393565b8015610dbc5780601f10610d9157610100808354040283529160200191610dbc565b820191906000526020600020905b815481529060010190602001808311610d9f57829003601f168201915b505050505081526020019060010190610d24565b60085460009060ff1615610de8575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d91906113e3565b1415905090565b60006103cb6040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610ff9565b60006103cb6040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610ff9565b60006103cb6040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610ff9565b606060158054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b60006103cb60405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b60006110048261100b565b5092915050565b6000808260405160200161101f91906113fc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae9190611418565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906110ea9085908790600401611448565b600060405180830381600087803b15801561110457600080fd5b505af1158015611118573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111625783516001600160a01b03168352928401929184019160010161113d565b50909695505050505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561126e57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561125857605f19898503018352611246848651611192565b948e01949350918d019160010161122a565b505050978a0197945050918801916001016111e5565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561132257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101561130d5783516001600160e01b0319168252928b019260019290920191908b01906112e3565b50978a019795505050918701916001016112a6565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561138657603f19888603018452611374858351611192565b94509285019290850190600101611358565b5092979650505050505050565b600181811c908216806113a757607f821691505b6020821081036113c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113f557600080fd5b5051919050565b6000825161140e81846020870161116e565b9190910192915050565b60006020828403121561142a57600080fd5b81516001600160a01b038116811461144157600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061146c90830184611192565b94935050505056fea264697066735822122036eba749f5d4da364b0892ee296f9406f97af78f997498ee89e5fb8cedfc18d764736f6c63430008130033","sourceMap":"393:304:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:16;;;:::i;:::-;;;-1:-1:-1;;;;;178:32:139;;;160:51;;148:2;133:18;1763:107:16;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;2452:134:27:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;3221:133::-;;;:::i;2922:141::-;;;:::i;1331:118:16:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:27:-;;;:::i;:::-;;;;;;;:::i;1876:107:16:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:18:-;678:10;;;;;-1:-1:-1;;;;;678:10:18;610:85;;2673:113:16;;;:::i;439:101::-;;;:::i;2592:140:27:-;;;:::i;:::-;;;;;;;:::i;1537:101:16:-;;;:::i;3485:113::-;;;:::i;3069:146:27:-;;;:::i;3604:241:16:-;;;:::i;3938:101::-;;;:::i;2157:141:27:-;;;:::i;1243:204:23:-;;;:::i;:::-;;;5937:14:139;;5930:22;5912:41;;5900:2;5885:18;1243:204:23;5772:187:139;1644:113:16;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:27:-;;;:::i;3241:119:16:-;;;:::i;1016:26:34:-;;;;;;;;;1763:107:16;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:16;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:16;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:16;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:16;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:16;;;:8;:28::i;2452:134:27:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:27;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:27;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:27;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:16:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:16;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:16;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:16;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:16;;;:8;:21::i;2738:178:27:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:16;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:16;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:16;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:16;;;-1:-1:-1;;;;;2926:32:16;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:16;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:16:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:16;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:16;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:16;;;-1:-1:-1;;;;;2120:29:16;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:16;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:16;;;:8;:22::i;2592:140:27:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:16;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:16;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:16;;;:8;:28::i;3069:146:27:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:16;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:16;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:16;;;-1:-1:-1;;;;;3738:32:16;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:16;;;:8;:22::i;2157:141:27:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:23;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:23;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:23;;:7;:39;;;7011:51:139;;;-1:-1:-1;;;7078:18:139;;;7071:34;1428:1:23;;1377:7;;6984:18:139;;1377:39:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:16:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:16;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:16;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:16;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:16;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:16;;;:8;:26::i;2304:142:27:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:27;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:16:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:16;;;20439:125:25;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:25;20439:125;-1:-1:-1;;20439:125:25:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:25;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:25;;;;;7745:25:139;;;20293:33:25;-1:-1:-1;20344:7:25;;;;7718:18:139;;20344:19:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:25;;20337:26;;-1:-1:-1;20373:8:25;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;222:658:139:-;393:2;445:21;;;515:13;;418:18;;;537:22;;;364:4;;393:2;616:15;;;;590:2;575:18;;;364:4;659:195;673:6;670:1;667:13;659:195;;;738:13;;-1:-1:-1;;;;;734:39:139;722:52;;829:15;;;;794:12;;;;770:1;688:9;659:195;;;-1:-1:-1;871:3:139;;222:658;-1:-1:-1;;;;;;222:658:139:o;885:250::-;970:1;980:113;994:6;991:1;988:13;980:113;;;1070:11;;;1064:18;1051:11;;;1044:39;1016:2;1009:10;980:113;;;-1:-1:-1;;1127:1:139;1109:16;;1102:27;885:250::o;1140:271::-;1182:3;1220:5;1214:12;1247:6;1242:3;1235:19;1263:76;1332:6;1325:4;1320:3;1316:14;1309:4;1302:5;1298:16;1263:76;:::i;:::-;1393:2;1372:15;-1:-1:-1;;1368:29:139;1359:39;;;;1400:4;1355:50;;1140:271;-1:-1:-1;;1140:271:139:o;1416:1744::-;1651:2;1703:21;;;1773:13;;1676:18;;;1795:22;;;1622:4;;1651:2;1836;;1854:18;;;;1891:1;1934:15;;;1919:31;;1915:40;;1978:15;;;1622:4;;2042:1089;2058:6;2053:3;2050:15;2042:1089;;;-1:-1:-1;;2127:22:139;;;2123:36;2111:49;;2183:13;;2270:9;;-1:-1:-1;;;;;2266:35:139;2251:51;;2341:11;;2335:18;2373:15;;;2366:27;;;2454:19;;2223:15;;;2486:24;;;2667:21;;;;2533:2;2615:17;;;2603:30;;2599:39;;;2557:15;;;;2712:1;2726:296;2742:8;2737:3;2734:17;2726:296;;;2848:2;2844:7;2835:6;2827;2823:19;2819:33;2812:5;2805:48;2880:42;2915:6;2904:8;2898:15;2880:42;:::i;:::-;2951:17;;;;2870:52;-1:-1:-1;2994:14:139;;;;2770:1;2761:11;2726:296;;;-1:-1:-1;;;3109:12:139;;;;3045:6;-1:-1:-1;;3074:15:139;;;;2084:1;2075:11;2042:1089;;;-1:-1:-1;3148:6:139;;1416:1744;-1:-1:-1;;;;;;;;;;1416:1744:139:o;3165:1569::-;3369:4;3398:2;3438;3427:9;3423:18;3468:2;3457:9;3450:21;3491:6;3526;3520:13;3557:6;3549;3542:22;3583:2;3573:12;;3616:2;3605:9;3601:18;3594:25;;3678:2;3668:6;3665:1;3661:14;3650:9;3646:30;3642:39;3716:2;3708:6;3704:15;3737:1;3758;3768:937;3784:6;3779:3;3776:15;3768:937;;;3853:22;;;-1:-1:-1;;3849:36:139;3837:49;;3909:13;;3996:9;;-1:-1:-1;;;;;3992:35:139;3977:51;;4067:11;;4061:18;4099:15;;;4092:27;;;4180:19;;3949:15;;;4212:24;;;4302:21;;;;4347:1;;4270:2;4258:15;;;4361:236;4377:8;4372:3;4369:17;4361:236;;;4458:15;;-1:-1:-1;;;;;;4454:42:139;4440:57;;4566:17;;;;4405:1;4396:11;;;;;4523:14;;;;4361:236;;;-1:-1:-1;4683:12:139;;;;4620:5;-1:-1:-1;;;4648:15:139;;;;3810:1;3801:11;3768:937;;;-1:-1:-1;4722:6:139;;3165:1569;-1:-1:-1;;;;;;;;;3165:1569:139:o;4964:803::-;5126:4;5155:2;5195;5184:9;5180:18;5225:2;5214:9;5207:21;5248:6;5283;5277:13;5314:6;5306;5299:22;5352:2;5341:9;5337:18;5330:25;;5414:2;5404:6;5401:1;5397:14;5386:9;5382:30;5378:39;5364:53;;5452:2;5444:6;5440:15;5473:1;5483:255;5497:6;5494:1;5491:13;5483:255;;;5590:2;5586:7;5574:9;5566:6;5562:22;5558:36;5553:3;5546:49;5618:40;5651:6;5642;5636:13;5618:40;:::i;:::-;5608:50;-1:-1:-1;5716:12:139;;;;5681:15;;;;5519:1;5512:9;5483:255;;;-1:-1:-1;5755:6:139;;4964:803;-1:-1:-1;;;;;;;4964:803:139:o;6188:380::-;6267:1;6263:12;;;;6310;;;6331:61;;6385:4;6377:6;6373:17;6363:27;;6331:61;6438:2;6430:6;6427:14;6407:18;6404:38;6401:161;;6484:10;6479:3;6475:20;6472:1;6465:31;6519:4;6516:1;6509:15;6547:4;6544:1;6537:15;6401:161;;6188:380;;;:::o;6705:127::-;6766:10;6761:3;6757:20;6754:1;6747:31;6797:4;6794:1;6787:15;6821:4;6818:1;6811:15;7116:184;7186:6;7239:2;7227:9;7218:7;7214:23;7210:32;7207:52;;;7255:1;7252;7245:12;7207:52;-1:-1:-1;7278:16:139;;7116:184;-1:-1:-1;7116:184:139:o;7305:289::-;7436:3;7474:6;7468:13;7490:66;7549:6;7544:3;7537:4;7529:6;7525:17;7490:66;:::i;:::-;7572:16;;;;;7305:289;-1:-1:-1;;7305:289:139:o;7781:290::-;7851:6;7904:2;7892:9;7883:7;7879:23;7875:32;7872:52;;;7920:1;7917;7910:12;7872:52;7946:16;;-1:-1:-1;;;;;7991:31:139;;7981:42;;7971:70;;8037:1;8034;8027:12;7971:70;8060:5;7781:290;-1:-1:-1;;;7781:290:139:o;8076:317::-;-1:-1:-1;;;;;8253:32:139;;8235:51;;8322:2;8317;8302:18;;8295:30;;;-1:-1:-1;;8342:45:139;;8368:18;;8360:6;8342:45;:::i;:::-;8334:53;8076:317;-1:-1:-1;;;;8076:317:139:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetup\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup an empty Registry contract for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetup\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetup"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5146,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5339,"exportedSymbols":{"Accounts":[5068],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5174],"RegistrySetupFull":[5338],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"Test":[17877],"TestBase":[5876],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"42:2823:18","nodes":[{"id":5131,"nodeType":"PragmaDirective","src":"42:24:18","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5132,"nodeType":"ImportDirective","src":"68:28:18","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":5134,"nodeType":"ImportDirective","src":"98:62:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5133,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5136,"nodeType":"ImportDirective","src":"161:72:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5135,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5138,"nodeType":"ImportDirective","src":"234:40:18","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":5069,"symbolAliases":[{"foreign":{"id":5137,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5068,"src":"242:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5174,"nodeType":"ContractDefinition","src":"393:304:18","nodes":[{"id":5146,"nodeType":"VariableDeclaration","src":"440:28:18","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:18","scope":5174,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5145,"nodeType":"UserDefinedTypeName","pathNode":{"id":5144,"name":"Registry","nameLocations":["440:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:18"},"referencedDeclaration":2295,"src":"440:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5164,"nodeType":"FunctionDefinition","src":"475:129:18","nodes":[],"body":{"id":5163,"nodeType":"Block","src":"511:93:18","nodes":[],"statements":[{"expression":{"id":5154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5149,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"521:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:18","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5151,"nodeType":"UserDefinedTypeName","pathNode":{"id":5150,"name":"Registry","nameLocations":["538:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:18"},"referencedDeclaration":2295,"src":"538:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5155,"nodeType":"ExpressionStatement","src":"521:27:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5159,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4717,"src":"580:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5156,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"558:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:18","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5162,"nodeType":"ExpressionStatement","src":"558:39:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:18","parameters":{"id":5147,"nodeType":"ParameterList","parameters":[],"src":"499:2:18"},"returnParameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"511:0:18"},"scope":5174,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5173,"nodeType":"FunctionDefinition","src":"610:85:18","nodes":[],"body":{"id":5172,"nodeType":"Block","src":"661:34:18","nodes":[],"statements":[{"expression":{"id":5170,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"678:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5169,"id":5171,"nodeType":"Return","src":"671:17:18"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:18","parameters":{"id":5165,"nodeType":"ParameterList","parameters":[],"src":"627:2:18"},"returnParameters":{"id":5169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5173,"src":"651:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5167,"nodeType":"UserDefinedTypeName","pathNode":{"id":5166,"name":"Registry","nameLocations":["651:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:18"},"referencedDeclaration":2295,"src":"651:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:18"},"scope":5174,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5140,"name":"Test","nameLocations":["419:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"419:4:18"},"id":5141,"nodeType":"InheritanceSpecifier","src":"419:4:18"},{"baseName":{"id":5142,"name":"Accounts","nameLocations":["425:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":5068,"src":"425:8:18"},"id":5143,"nodeType":"InheritanceSpecifier","src":"425:8:18"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5139,"nodeType":"StructuredDocumentation","src":"276:117:18","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetup","nameLocation":"402:13:18","scope":5339,"usedErrors":[]},{"id":5338,"nodeType":"ContractDefinition","src":"833:2031:18","nodes":[{"id":5179,"nodeType":"VariableDeclaration","src":"883:32:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5181,"nodeType":"VariableDeclaration","src":"921:36:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5180,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5183,"nodeType":"VariableDeclaration","src":"964:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5185,"nodeType":"VariableDeclaration","src":"999:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5184,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5187,"nodeType":"VariableDeclaration","src":"1039:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5189,"nodeType":"VariableDeclaration","src":"1074:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5188,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5289,"nodeType":"FunctionDefinition","src":"1114:930:18","nodes":[],"body":{"id":5288,"nodeType":"Block","src":"1154:890:18","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5192,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5164,"src":"1164:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5194,"nodeType":"ExpressionStatement","src":"1164:17:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5198,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1201:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1192:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1192:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5201,"nodeType":"ExpressionStatement","src":"1192:22:18"},{"expression":{"id":5216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5202,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1224:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5207,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:18","1324:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5211,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1351:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5213,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"1365:13:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5203,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1242:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5217,"nodeType":"ExpressionStatement","src":"1224:166:18"},{"expression":{"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5218,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"1400:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5221,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1448:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5219,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1422:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5225,"nodeType":"ExpressionStatement","src":"1400:71:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5229,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1491:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5226,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1482:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1482:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5232,"nodeType":"ExpressionStatement","src":"1482:26:18"},{"expression":{"id":5247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5233,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1518:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5238,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:18","1610:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5242,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1633:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5244,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4933,"src":"1651:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5234,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1533:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5248,"nodeType":"ExpressionStatement","src":"1518:161:18"},{"expression":{"id":5255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5249,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"1689:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5252,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1734:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5250,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1708:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5256,"nodeType":"ExpressionStatement","src":"1689:65:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5260,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1774:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1765:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1765:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5263,"nodeType":"ExpressionStatement","src":"1765:26:18"},{"expression":{"id":5278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5264,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"1801:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5269,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:18","1893:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5273,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1916:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5275,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5007,"src":"1934:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5265,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1816:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5279,"nodeType":"ExpressionStatement","src":"1801:161:18"},{"expression":{"id":5286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5280,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"1972:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5283,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2017:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5281,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1991:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5287,"nodeType":"ExpressionStatement","src":"1972:65:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:18","parameters":{"id":5190,"nodeType":"ParameterList","parameters":[],"src":"1142:2:18"},"returnParameters":{"id":5191,"nodeType":"ParameterList","parameters":[],"src":"1154:0:18"},"scope":5338,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5297,"nodeType":"FunctionDefinition","src":"2050:103:18","nodes":[],"body":{"id":5296,"nodeType":"Block","src":"2114:39:18","nodes":[],"statements":[{"expression":{"id":5294,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"2131:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5293,"id":5295,"nodeType":"Return","src":"2124:22:18"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:18","parameters":{"id":5290,"nodeType":"ParameterList","parameters":[],"src":"2073:2:18"},"returnParameters":{"id":5293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5297,"src":"2105:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5305,"nodeType":"FunctionDefinition","src":"2159:111:18","nodes":[],"body":{"id":5304,"nodeType":"Block","src":"2227:43:18","nodes":[],"statements":[{"expression":{"id":5302,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"2244:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5301,"id":5303,"nodeType":"Return","src":"2237:26:18"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:18","parameters":{"id":5298,"nodeType":"ParameterList","parameters":[],"src":"2186:2:18"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5305,"src":"2218:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5299,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5313,"nodeType":"FunctionDefinition","src":"2276:97:18","nodes":[],"body":{"id":5312,"nodeType":"Block","src":"2337:36:18","nodes":[],"statements":[{"expression":{"id":5310,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"2354:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5309,"id":5311,"nodeType":"Return","src":"2347:19:18"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:18","parameters":{"id":5306,"nodeType":"ParameterList","parameters":[],"src":"2296:2:18"},"returnParameters":{"id":5309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5313,"src":"2328:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5321,"nodeType":"FunctionDefinition","src":"2461:105:18","nodes":[],"body":{"id":5320,"nodeType":"Block","src":"2526:40:18","nodes":[],"statements":[{"expression":{"id":5318,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"2543:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5317,"id":5319,"nodeType":"Return","src":"2536:23:18"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:18","parameters":{"id":5314,"nodeType":"ParameterList","parameters":[],"src":"2485:2:18"},"returnParameters":{"id":5317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5321,"src":"2517:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5315,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5329,"nodeType":"FunctionDefinition","src":"2572:97:18","nodes":[],"body":{"id":5328,"nodeType":"Block","src":"2633:36:18","nodes":[],"statements":[{"expression":{"id":5326,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2650:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5325,"id":5327,"nodeType":"Return","src":"2643:19:18"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:18","parameters":{"id":5322,"nodeType":"ParameterList","parameters":[],"src":"2592:2:18"},"returnParameters":{"id":5325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"2624:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5337,"nodeType":"FunctionDefinition","src":"2757:105:18","nodes":[],"body":{"id":5336,"nodeType":"Block","src":"2822:40:18","nodes":[],"statements":[{"expression":{"id":5334,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"2839:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5333,"id":5335,"nodeType":"Return","src":"2832:23:18"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:18","parameters":{"id":5330,"nodeType":"ParameterList","parameters":[],"src":"2781:2:18"},"returnParameters":{"id":5333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5337,"src":"2813:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5331,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5176,"name":"RegistrySetup","nameLocations":["863:13:18"],"nodeType":"IdentifierPath","referencedDeclaration":5174,"src":"863:13:18"},"id":5177,"nodeType":"InheritanceSpecifier","src":"863:13:18"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5175,"nodeType":"StructuredDocumentation","src":"699:134:18","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5338,5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetupFull","nameLocation":"842:17:18","scope":5339,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":18} \ No newline at end of file diff --git a/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json b/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json new file mode 100644 index 000000000..71f708055 --- /dev/null +++ b/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506115418061003d6000396000f3fe608060405234801561001057600080fd5b506004361061022f5760003560e01c8062b1fad714610234578063030e4006146102595780630688b135146102615780630f166ad414610269578063174eedde1461026f578063176effb31461027657806318540361146102875780631b96dce6146102995780631e7bcb2e146102a15780631ed7831c146102a95780632ade3880146102be5780633554642a146102d357806339f56f7f146102e45780633e5e3c23146102ec5780633f7286f4146102f45780634bf4ba21146102fc578063587c1243146103045780635aff59991461030c57806366d003ac1461031457806366d9a9a01461031c5780636a38dd0a1461033157806370a329441461033957806374d9284e1461026f578063759c9a861461034157806379e62d0d146103495780637b103999146103515780637b2edf32146103675780637cbe79ed1461036f578063829e423f1461026f57806385226c81146103775780638c7408c41461026f5780638e0d1a501461038c5780638e3c249314610394578063916a17c61461039c578063a407c67a146103a4578063aa3744bd146103ac578063b5508aa9146103b4578063ba414fa6146103bc578063c5d7d73b146103d4578063d1e82b58146103e5578063d1f2cd88146103ed578063d5bee9f5146103f5578063da4bf087146103fd578063dac4eb1614610405578063e20c9f711461040d578063ef0d790f14610415578063fa7626d41461041d578063fd325c601461042a575b600080fd5b61023c610432565b6040516001600160a01b0390911681526020015b60405180910390f35b61023c610467565b61023c61049d565b3061023c565b600061023c565b6020546001600160a01b031661023c565b6023545b604051908152602001610250565b61023c6104ca565b61023c6104fb565b6102b161052e565b60405161025091906111b8565b6102c6610590565b6040516102509190611255565b6024546001600160a01b031661023c565b60215461028b565b6102b16106d2565b6102b1610732565b6102b1610792565b61023c6107b5565b61023c6107e8565b61023c61081b565b610324610847565b6040516102509190611315565b61023c61092d565b6102b161095d565b61023c6109f5565b6102b1610a24565b601e5461010090046001600160a01b031661023c565b61023c610a8c565b61023c610abf565b61037f610aec565b60405161025091906113c8565b61023c610bbc565b61023c610be9565b610324610c1c565b6102b1610d02565b61023c610d6a565b61037f610d97565b6103c4610e67565b6040519015158152602001610250565b6022546001600160a01b031661023c565b61023c610f0b565b61023c610f3e565b61023c610f6f565b61023c610f9d565b61023c610fcd565b6102b1610ffe565b61023c61105e565b601e546103c49060ff1681565b601f5461028b565b60006104626040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250611090565b905090565b600061046260405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250611090565b60006104626040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250611090565b60006104626040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250611090565b6060601680548060200260200160405190810160405280929190818152602001828054801561058657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610568575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156106c957600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156106b25783829060005260206000200180546106259061142a565b80601f01602080910402602001604051908101604052809291908181526020018280546106519061142a565b801561069e5780601f106106735761010080835404028352916020019161069e565b820191906000526020600020905b81548152906001019060200180831161068157829003601f168201915b505050505081526020019060010190610606565b5050505081525050815260200190600101906105b4565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104626040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250611090565b60006104626040518060400160405280601081526020016f726563697069656e744164647265737360801b815250611090565b6000610462604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250611090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561091557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108d75790505b5050505050815250508152602001906001019061086b565b60006104626040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250611090565b6040805160028082526060808301845292600092919060208301908036833701905050905061098a6104fb565b8160008151811061099d5761099d611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610a8c565b816001815181106109d8576109d8611464565b6001600160a01b0390921660209283029190910190910152919050565b60006104626040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250611090565b60408051600280825260608083018452926000929190602083019080368337019050509050610a51610432565b81600081518110610a6457610a64611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c561092d565b60006104626040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250611090565b60006104626040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250611090565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610b2f9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b9061142a565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b505050505081526020019060010190610b10565b60006104626040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250611090565b60006104626040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250611090565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610cea57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610cac5790505b50505050508152505081526020019060010190610c40565b60408051600280825260608083018452926000929190602083019080368337019050509050610d2f6107b5565b81600081518110610d4257610d42611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610be9565b60006104626040518060400160405280600a815260200169726563697069656e743160b01b815250611090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610dda9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e069061142a565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b60085460009060ff1615610e7f575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f04919061147a565b1415905090565b60006104626040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250611090565b60006104626040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250611090565b60006104626040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250611090565b60006104626040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250611090565b60606015805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b600061046260405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b600061109b826110a2565b5092915050565b600080826040516020016110b69190611493565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015611121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906114af565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061118190859087906004016114df565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111f95783516001600160a01b0316835292840192918401916001016111d4565b50909695505050505050565b60005b83811015611220578181015183820152602001611208565b50506000910152565b60008151808452611241816020860160208601611205565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561130557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156112ef57605f198985030183526112dd848651611229565b948e01949350918d01916001016112c1565b505050978a01979450509188019160010161127c565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156113b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156113a45783516001600160e01b0319168252928b019260019290920191908b019061137a565b50978a0197955050509187019160010161133d565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561141d57603f1988860301845261140b858351611229565b945092850192908501906001016113ef565b5092979650505050505050565b600181811c9082168061143e57607f821691505b60208210810361145e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561148c57600080fd5b5051919050565b600082516114a5818460208701611205565b9190910192915050565b6000602082840312156114c157600080fd5b81516001600160a01b03811681146114d857600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061150390830184611229565b94935050505056fea2646970667358221220336be1dda6c53fb66eaaff80a8f4dd2bdd3e9ba0f3006b91f5dbd1e982575f6164736f6c63430008130033","sourceMap":"833:2031:18:-:0;;;3126:44:24;;;3166:4;-1:-1:-1;;3126:44:24;;;;;;;;1016:26:34;;;;;;;;;;;833:2031:18;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061022f5760003560e01c8062b1fad714610234578063030e4006146102595780630688b135146102615780630f166ad414610269578063174eedde1461026f578063176effb31461027657806318540361146102875780631b96dce6146102995780631e7bcb2e146102a15780631ed7831c146102a95780632ade3880146102be5780633554642a146102d357806339f56f7f146102e45780633e5e3c23146102ec5780633f7286f4146102f45780634bf4ba21146102fc578063587c1243146103045780635aff59991461030c57806366d003ac1461031457806366d9a9a01461031c5780636a38dd0a1461033157806370a329441461033957806374d9284e1461026f578063759c9a861461034157806379e62d0d146103495780637b103999146103515780637b2edf32146103675780637cbe79ed1461036f578063829e423f1461026f57806385226c81146103775780638c7408c41461026f5780638e0d1a501461038c5780638e3c249314610394578063916a17c61461039c578063a407c67a146103a4578063aa3744bd146103ac578063b5508aa9146103b4578063ba414fa6146103bc578063c5d7d73b146103d4578063d1e82b58146103e5578063d1f2cd88146103ed578063d5bee9f5146103f5578063da4bf087146103fd578063dac4eb1614610405578063e20c9f711461040d578063ef0d790f14610415578063fa7626d41461041d578063fd325c601461042a575b600080fd5b61023c610432565b6040516001600160a01b0390911681526020015b60405180910390f35b61023c610467565b61023c61049d565b3061023c565b600061023c565b6020546001600160a01b031661023c565b6023545b604051908152602001610250565b61023c6104ca565b61023c6104fb565b6102b161052e565b60405161025091906111b8565b6102c6610590565b6040516102509190611255565b6024546001600160a01b031661023c565b60215461028b565b6102b16106d2565b6102b1610732565b6102b1610792565b61023c6107b5565b61023c6107e8565b61023c61081b565b610324610847565b6040516102509190611315565b61023c61092d565b6102b161095d565b61023c6109f5565b6102b1610a24565b601e5461010090046001600160a01b031661023c565b61023c610a8c565b61023c610abf565b61037f610aec565b60405161025091906113c8565b61023c610bbc565b61023c610be9565b610324610c1c565b6102b1610d02565b61023c610d6a565b61037f610d97565b6103c4610e67565b6040519015158152602001610250565b6022546001600160a01b031661023c565b61023c610f0b565b61023c610f3e565b61023c610f6f565b61023c610f9d565b61023c610fcd565b6102b1610ffe565b61023c61105e565b601e546103c49060ff1681565b601f5461028b565b60006104626040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250611090565b905090565b600061046260405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250611090565b60006104626040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250611090565b60006104626040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250611090565b6060601680548060200260200160405190810160405280929190818152602001828054801561058657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610568575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156106c957600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156106b25783829060005260206000200180546106259061142a565b80601f01602080910402602001604051908101604052809291908181526020018280546106519061142a565b801561069e5780601f106106735761010080835404028352916020019161069e565b820191906000526020600020905b81548152906001019060200180831161068157829003601f168201915b505050505081526020019060010190610606565b5050505081525050815260200190600101906105b4565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104626040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250611090565b60006104626040518060400160405280601081526020016f726563697069656e744164647265737360801b815250611090565b6000610462604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250611090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561091557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108d75790505b5050505050815250508152602001906001019061086b565b60006104626040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250611090565b6040805160028082526060808301845292600092919060208301908036833701905050905061098a6104fb565b8160008151811061099d5761099d611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610a8c565b816001815181106109d8576109d8611464565b6001600160a01b0390921660209283029190910190910152919050565b60006104626040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250611090565b60408051600280825260608083018452926000929190602083019080368337019050509050610a51610432565b81600081518110610a6457610a64611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c561092d565b60006104626040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250611090565b60006104626040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250611090565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610b2f9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b9061142a565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b505050505081526020019060010190610b10565b60006104626040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250611090565b60006104626040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250611090565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610cea57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610cac5790505b50505050508152505081526020019060010190610c40565b60408051600280825260608083018452926000929190602083019080368337019050509050610d2f6107b5565b81600081518110610d4257610d42611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610be9565b60006104626040518060400160405280600a815260200169726563697069656e743160b01b815250611090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610dda9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e069061142a565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b60085460009060ff1615610e7f575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f04919061147a565b1415905090565b60006104626040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250611090565b60006104626040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250611090565b60006104626040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250611090565b60006104626040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250611090565b60606015805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b600061046260405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b600061109b826110a2565b5092915050565b600080826040516020016110b69190611493565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015611121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906114af565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061118190859087906004016114df565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111f95783516001600160a01b0316835292840192918401916001016111d4565b50909695505050505050565b60005b83811015611220578181015183820152602001611208565b50506000910152565b60008151808452611241816020860160208601611205565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561130557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156112ef57605f198985030183526112dd848651611229565b948e01949350918d01916001016112c1565b505050978a01979450509188019160010161127c565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156113b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156113a45783516001600160e01b0319168252928b019260019290920191908b019061137a565b50978a0197955050509187019160010161133d565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561141d57603f1988860301845261140b858351611229565b945092850192908501906001016113ef565b5092979650505050505050565b600181811c9082168061143e57607f821691505b60208210810361145e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561148c57600080fd5b5051919050565b600082516114a5818460208701611205565b9190910192915050565b6000602082840312156114c157600080fd5b81516001600160a01b03811681146114d857600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061150390830184611229565b94935050505056fea2646970667358221220336be1dda6c53fb66eaaff80a8f4dd2bdd3e9ba0f3006b91f5dbd1e982575f6164736f6c63430008130033","sourceMap":"833:2031:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:16;;;:::i;:::-;;;-1:-1:-1;;;;;178:32:139;;;160:51;;148:2;133:18;1763:107:16;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;2159:111:18;2244:19;;-1:-1:-1;;;;;2244:19:18;2159:111;;2572:97;2650:12;;2572:97;;;368:25:139;;;356:2;341:18;2572:97:18;222:177:139;3126:109:16;;;:::i;2554:113::-;;;:::i;2452:134:27:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;2757:105:18:-;2839:16;;-1:-1:-1;;;;;2839:16:18;2757:105;;2276:97;2354:12;;2276:97;;3221:133:27;;;:::i;2922:141::-;;;:::i;1331:118:16:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:27:-;;;:::i;:::-;;;;;;;:::i;1876:107:16:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:18:-;678:10;;;;;-1:-1:-1;;;;;678:10:18;610:85;;2673:113:16;;;:::i;439:101::-;;;:::i;2592:140:27:-;;;:::i;:::-;;;;;;;:::i;1537:101:16:-;;;:::i;3485:113::-;;;:::i;3069:146:27:-;;;:::i;3604:241:16:-;;;:::i;3938:101::-;;;:::i;2157:141:27:-;;;:::i;1243:204:23:-;;;:::i;:::-;;;6119:14:139;;6112:22;6094:41;;6082:2;6067:18;1243:204:23;5954:187:139;2461:105:18;2543:16;;-1:-1:-1;;;;;2543:16:18;2461:105;;1644:113:16;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:27:-;;;:::i;3241:119:16:-;;;:::i;1016:26:34:-;;;;;;;;;2050:103:18;2131:15;;2050:103;;1763:107:16;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:16;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:16;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:16;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:16;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:16;;;:8;:28::i;2452:134:27:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:27;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:27;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:27;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:16:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:16;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:16;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:16;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:16;;;:8;:21::i;2738:178:27:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:16;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:16;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:16;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:16;;;-1:-1:-1;;;;;2926:32:16;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:16;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:16:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:16;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:16;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:16;;;-1:-1:-1;;;;;2120:29:16;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:16;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:16;;;:8;:22::i;2592:140:27:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:16;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:16;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:16;;;:8;:28::i;3069:146:27:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:16;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:16;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:16;;;-1:-1:-1;;;;;3738:32:16;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:16;;;:8;:22::i;2157:141:27:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:23;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:23;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:23;;:7;:39;;;7193:51:139;;;-1:-1:-1;;;7260:18:139;;;7253:34;1428:1:23;;1377:7;;7166:18:139;;1377:39:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:16:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:16;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:16;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:16;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:16;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:16;;;:8;:26::i;2304:142:27:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:27;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:16:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:16;;;20439:125:25;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:25;20439:125;-1:-1:-1;;20439:125:25:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:25;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:25;;;;;368:25:139;;;20293:33:25;-1:-1:-1;20344:7:25;;;;341:18:139;;20344:19:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:25;;20337:26;;-1:-1:-1;20373:8:25;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;404:658:139:-;575:2;627:21;;;697:13;;600:18;;;719:22;;;546:4;;575:2;798:15;;;;772:2;757:18;;;546:4;841:195;855:6;852:1;849:13;841:195;;;920:13;;-1:-1:-1;;;;;916:39:139;904:52;;1011:15;;;;976:12;;;;952:1;870:9;841:195;;;-1:-1:-1;1053:3:139;;404:658;-1:-1:-1;;;;;;404:658:139:o;1067:250::-;1152:1;1162:113;1176:6;1173:1;1170:13;1162:113;;;1252:11;;;1246:18;1233:11;;;1226:39;1198:2;1191:10;1162:113;;;-1:-1:-1;;1309:1:139;1291:16;;1284:27;1067:250::o;1322:271::-;1364:3;1402:5;1396:12;1429:6;1424:3;1417:19;1445:76;1514:6;1507:4;1502:3;1498:14;1491:4;1484:5;1480:16;1445:76;:::i;:::-;1575:2;1554:15;-1:-1:-1;;1550:29:139;1541:39;;;;1582:4;1537:50;;1322:271;-1:-1:-1;;1322:271:139:o;1598:1744::-;1833:2;1885:21;;;1955:13;;1858:18;;;1977:22;;;1804:4;;1833:2;2018;;2036:18;;;;2073:1;2116:15;;;2101:31;;2097:40;;2160:15;;;1804:4;;2224:1089;2240:6;2235:3;2232:15;2224:1089;;;-1:-1:-1;;2309:22:139;;;2305:36;2293:49;;2365:13;;2452:9;;-1:-1:-1;;;;;2448:35:139;2433:51;;2523:11;;2517:18;2555:15;;;2548:27;;;2636:19;;2405:15;;;2668:24;;;2849:21;;;;2715:2;2797:17;;;2785:30;;2781:39;;;2739:15;;;;2894:1;2908:296;2924:8;2919:3;2916:17;2908:296;;;3030:2;3026:7;3017:6;3009;3005:19;3001:33;2994:5;2987:48;3062:42;3097:6;3086:8;3080:15;3062:42;:::i;:::-;3133:17;;;;3052:52;-1:-1:-1;3176:14:139;;;;2952:1;2943:11;2908:296;;;-1:-1:-1;;;3291:12:139;;;;3227:6;-1:-1:-1;;3256:15:139;;;;2266:1;2257:11;2224:1089;;;-1:-1:-1;3330:6:139;;1598:1744;-1:-1:-1;;;;;;;;;;1598:1744:139:o;3347:1569::-;3551:4;3580:2;3620;3609:9;3605:18;3650:2;3639:9;3632:21;3673:6;3708;3702:13;3739:6;3731;3724:22;3765:2;3755:12;;3798:2;3787:9;3783:18;3776:25;;3860:2;3850:6;3847:1;3843:14;3832:9;3828:30;3824:39;3898:2;3890:6;3886:15;3919:1;3940;3950:937;3966:6;3961:3;3958:15;3950:937;;;4035:22;;;-1:-1:-1;;4031:36:139;4019:49;;4091:13;;4178:9;;-1:-1:-1;;;;;4174:35:139;4159:51;;4249:11;;4243:18;4281:15;;;4274:27;;;4362:19;;4131:15;;;4394:24;;;4484:21;;;;4529:1;;4452:2;4440:15;;;4543:236;4559:8;4554:3;4551:17;4543:236;;;4640:15;;-1:-1:-1;;;;;;4636:42:139;4622:57;;4748:17;;;;4587:1;4578:11;;;;;4705:14;;;;4543:236;;;-1:-1:-1;4865:12:139;;;;4802:5;-1:-1:-1;;;4830:15:139;;;;3992:1;3983:11;3950:937;;;-1:-1:-1;4904:6:139;;3347:1569;-1:-1:-1;;;;;;;;;3347:1569:139:o;5146:803::-;5308:4;5337:2;5377;5366:9;5362:18;5407:2;5396:9;5389:21;5430:6;5465;5459:13;5496:6;5488;5481:22;5534:2;5523:9;5519:18;5512:25;;5596:2;5586:6;5583:1;5579:14;5568:9;5564:30;5560:39;5546:53;;5634:2;5626:6;5622:15;5655:1;5665:255;5679:6;5676:1;5673:13;5665:255;;;5772:2;5768:7;5756:9;5748:6;5744:22;5740:36;5735:3;5728:49;5800:40;5833:6;5824;5818:13;5800:40;:::i;:::-;5790:50;-1:-1:-1;5898:12:139;;;;5863:15;;;;5701:1;5694:9;5665:255;;;-1:-1:-1;5937:6:139;;5146:803;-1:-1:-1;;;;;;;5146:803:139:o;6370:380::-;6449:1;6445:12;;;;6492;;;6513:61;;6567:4;6559:6;6555:17;6545:27;;6513:61;6620:2;6612:6;6609:14;6589:18;6586:38;6583:161;;6666:10;6661:3;6657:20;6654:1;6647:31;6701:4;6698:1;6691:15;6729:4;6726:1;6719:15;6583:161;;6370:380;;;:::o;6887:127::-;6948:10;6943:3;6939:20;6936:1;6929:31;6979:4;6976:1;6969:15;7003:4;7000:1;6993:15;7298:184;7368:6;7421:2;7409:9;7400:7;7396:23;7392:32;7389:52;;;7437:1;7434;7427:12;7389:52;-1:-1:-1;7460:16:139;;7298:184;-1:-1:-1;7298:184:139:o;7487:289::-;7618:3;7656:6;7650:13;7672:66;7731:6;7726:3;7719:4;7711:6;7707:17;7672:66;:::i;:::-;7754:16;;;;;7487:289;-1:-1:-1;;7487:289:139:o;7963:290::-;8033:6;8086:2;8074:9;8065:7;8061:23;8057:32;8054:52;;;8102:1;8099;8092:12;8054:52;8128:16;;-1:-1:-1;;;;;8173:31:139;;8163:42;;8153:70;;8219:1;8216;8209:12;8153:70;8242:5;7963:290;-1:-1:-1;;;7963:290:139:o;8258:317::-;-1:-1:-1;;;;;8435:32:139;;8417:51;;8504:2;8499;8484:18;;8477:30;;;-1:-1:-1;;8524:45:139;;8550:18;;8542:6;8524:45;:::i;:::-;8516:53;8258:317;-1:-1:-1;;;;8258:317:139:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetupFull\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup a Registry contract with two identities for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetupFull\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetupFull"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5146,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5179,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5181,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5185,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5187,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5339,"exportedSymbols":{"Accounts":[5068],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5174],"RegistrySetupFull":[5338],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"Test":[17877],"TestBase":[5876],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"42:2823:18","nodes":[{"id":5131,"nodeType":"PragmaDirective","src":"42:24:18","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5132,"nodeType":"ImportDirective","src":"68:28:18","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":5134,"nodeType":"ImportDirective","src":"98:62:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5133,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5136,"nodeType":"ImportDirective","src":"161:72:18","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5135,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5138,"nodeType":"ImportDirective","src":"234:40:18","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5339,"sourceUnit":5069,"symbolAliases":[{"foreign":{"id":5137,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5068,"src":"242:8:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5174,"nodeType":"ContractDefinition","src":"393:304:18","nodes":[{"id":5146,"nodeType":"VariableDeclaration","src":"440:28:18","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:18","scope":5174,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5145,"nodeType":"UserDefinedTypeName","pathNode":{"id":5144,"name":"Registry","nameLocations":["440:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:18"},"referencedDeclaration":2295,"src":"440:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5164,"nodeType":"FunctionDefinition","src":"475:129:18","nodes":[],"body":{"id":5163,"nodeType":"Block","src":"511:93:18","nodes":[],"statements":[{"expression":{"id":5154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5149,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"521:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:18","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5151,"nodeType":"UserDefinedTypeName","pathNode":{"id":5150,"name":"Registry","nameLocations":["538:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:18"},"referencedDeclaration":2295,"src":"538:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5155,"nodeType":"ExpressionStatement","src":"521:27:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5159,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4717,"src":"580:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5156,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"558:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:18","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5162,"nodeType":"ExpressionStatement","src":"558:39:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:18","parameters":{"id":5147,"nodeType":"ParameterList","parameters":[],"src":"499:2:18"},"returnParameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"511:0:18"},"scope":5174,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5173,"nodeType":"FunctionDefinition","src":"610:85:18","nodes":[],"body":{"id":5172,"nodeType":"Block","src":"661:34:18","nodes":[],"statements":[{"expression":{"id":5170,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"678:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5169,"id":5171,"nodeType":"Return","src":"671:17:18"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:18","parameters":{"id":5165,"nodeType":"ParameterList","parameters":[],"src":"627:2:18"},"returnParameters":{"id":5169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5173,"src":"651:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5167,"nodeType":"UserDefinedTypeName","pathNode":{"id":5166,"name":"Registry","nameLocations":["651:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:18"},"referencedDeclaration":2295,"src":"651:8:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:18"},"scope":5174,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5140,"name":"Test","nameLocations":["419:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"419:4:18"},"id":5141,"nodeType":"InheritanceSpecifier","src":"419:4:18"},{"baseName":{"id":5142,"name":"Accounts","nameLocations":["425:8:18"],"nodeType":"IdentifierPath","referencedDeclaration":5068,"src":"425:8:18"},"id":5143,"nodeType":"InheritanceSpecifier","src":"425:8:18"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5139,"nodeType":"StructuredDocumentation","src":"276:117:18","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetup","nameLocation":"402:13:18","scope":5339,"usedErrors":[]},{"id":5338,"nodeType":"ContractDefinition","src":"833:2031:18","nodes":[{"id":5179,"nodeType":"VariableDeclaration","src":"883:32:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5181,"nodeType":"VariableDeclaration","src":"921:36:18","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5180,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5183,"nodeType":"VariableDeclaration","src":"964:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5185,"nodeType":"VariableDeclaration","src":"999:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5184,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5187,"nodeType":"VariableDeclaration","src":"1039:29:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5189,"nodeType":"VariableDeclaration","src":"1074:33:18","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:18","scope":5338,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5188,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5289,"nodeType":"FunctionDefinition","src":"1114:930:18","nodes":[],"body":{"id":5288,"nodeType":"Block","src":"1154:890:18","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5192,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5164,"src":"1164:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5194,"nodeType":"ExpressionStatement","src":"1164:17:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5198,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1201:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1192:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1192:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5201,"nodeType":"ExpressionStatement","src":"1192:22:18"},{"expression":{"id":5216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5202,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1224:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5207,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:18","1324:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5211,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"1351:10:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5213,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"1365:13:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5203,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1242:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5217,"nodeType":"ExpressionStatement","src":"1224:166:18"},{"expression":{"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5218,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"1400:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5221,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1448:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5219,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1422:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5225,"nodeType":"ExpressionStatement","src":"1400:71:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5229,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1491:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5226,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1482:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1482:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5232,"nodeType":"ExpressionStatement","src":"1482:26:18"},{"expression":{"id":5247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5233,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1518:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5238,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:18","1610:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5242,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"1633:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5244,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4933,"src":"1651:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5234,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1533:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5248,"nodeType":"ExpressionStatement","src":"1518:161:18"},{"expression":{"id":5255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5249,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"1689:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5252,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"1734:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5250,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1708:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5256,"nodeType":"ExpressionStatement","src":"1689:65:18"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5260,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1774:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"1765:2:18","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":5259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:18","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"1765:8:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5263,"nodeType":"ExpressionStatement","src":"1765:26:18"},{"expression":{"id":5278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5264,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"1801:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5269,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:18","1893:7:18"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5273,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"1916:14:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5275,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5007,"src":"1934:16:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5265,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1816:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:18","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:18","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5279,"nodeType":"ExpressionStatement","src":"1801:161:18"},{"expression":{"id":5286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5280,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"1972:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5283,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2017:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5281,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5146,"src":"1991:10:18","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:18","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:18","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:18","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5287,"nodeType":"ExpressionStatement","src":"1972:65:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:18","parameters":{"id":5190,"nodeType":"ParameterList","parameters":[],"src":"1142:2:18"},"returnParameters":{"id":5191,"nodeType":"ParameterList","parameters":[],"src":"1154:0:18"},"scope":5338,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5297,"nodeType":"FunctionDefinition","src":"2050:103:18","nodes":[],"body":{"id":5296,"nodeType":"Block","src":"2114:39:18","nodes":[],"statements":[{"expression":{"id":5294,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"2131:15:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5293,"id":5295,"nodeType":"Return","src":"2124:22:18"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:18","parameters":{"id":5290,"nodeType":"ParameterList","parameters":[],"src":"2073:2:18"},"returnParameters":{"id":5293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5297,"src":"2105:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5305,"nodeType":"FunctionDefinition","src":"2159:111:18","nodes":[],"body":{"id":5304,"nodeType":"Block","src":"2227:43:18","nodes":[],"statements":[{"expression":{"id":5302,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"2244:19:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5301,"id":5303,"nodeType":"Return","src":"2237:26:18"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:18","parameters":{"id":5298,"nodeType":"ParameterList","parameters":[],"src":"2186:2:18"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5305,"src":"2218:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5299,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5313,"nodeType":"FunctionDefinition","src":"2276:97:18","nodes":[],"body":{"id":5312,"nodeType":"Block","src":"2337:36:18","nodes":[],"statements":[{"expression":{"id":5310,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"2354:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5309,"id":5311,"nodeType":"Return","src":"2347:19:18"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:18","parameters":{"id":5306,"nodeType":"ParameterList","parameters":[],"src":"2296:2:18"},"returnParameters":{"id":5309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5313,"src":"2328:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5321,"nodeType":"FunctionDefinition","src":"2461:105:18","nodes":[],"body":{"id":5320,"nodeType":"Block","src":"2526:40:18","nodes":[],"statements":[{"expression":{"id":5318,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"2543:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5317,"id":5319,"nodeType":"Return","src":"2536:23:18"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:18","parameters":{"id":5314,"nodeType":"ParameterList","parameters":[],"src":"2485:2:18"},"returnParameters":{"id":5317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5321,"src":"2517:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5315,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5329,"nodeType":"FunctionDefinition","src":"2572:97:18","nodes":[],"body":{"id":5328,"nodeType":"Block","src":"2633:36:18","nodes":[],"statements":[{"expression":{"id":5326,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"2650:12:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5325,"id":5327,"nodeType":"Return","src":"2643:19:18"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:18","parameters":{"id":5322,"nodeType":"ParameterList","parameters":[],"src":"2592:2:18"},"returnParameters":{"id":5325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"2624:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5337,"nodeType":"FunctionDefinition","src":"2757:105:18","nodes":[],"body":{"id":5336,"nodeType":"Block","src":"2822:40:18","nodes":[],"statements":[{"expression":{"id":5334,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"2839:16:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5333,"id":5335,"nodeType":"Return","src":"2832:23:18"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:18","parameters":{"id":5330,"nodeType":"ParameterList","parameters":[],"src":"2781:2:18"},"returnParameters":{"id":5333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5337,"src":"2813:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5331,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:18"},"scope":5338,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5176,"name":"RegistrySetup","nameLocations":["863:13:18"],"nodeType":"IdentifierPath","referencedDeclaration":5174,"src":"863:13:18"},"id":5177,"nodeType":"InheritanceSpecifier","src":"863:13:18"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5175,"nodeType":"StructuredDocumentation","src":"699:134:18","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5338,5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873],"name":"RegistrySetupFull","nameLocation":"842:17:18","scope":5339,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":18} \ No newline at end of file diff --git a/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json b/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json index 8317735e0..9d98f5234 100644 --- a/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json +++ b/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"arbitrableTribunalSafe","inputs":[{"name":"arbitrable","type":"address","internalType":"address"}],"outputs":[{"name":"safe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_choices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"disputes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrated","type":"address","internalType":"contract IArbitrable"},{"name":"arbitratorExtraData","type":"bytes","internalType":"bytes"},{"name":"choices","type":"uint256","internalType":"uint256"},{"name":"arbitrationFee","type":"uint256","internalType":"uint256"},{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"status","type":"uint8","internalType":"enum SafeArbitrator.DisputeStatus"}],"stateMutability":"view"},{"type":"function","name":"executeRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"},{"name":"_arbitrable","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitrationFee","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ArbitrationFeeUpdated","inputs":[{"name":"_newArbitrationFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SafeArbitratorInitialized","inputs":[{"name":"_arbitrationFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SafeRegistered","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"address"},{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"DisputeAlreadySolved","inputs":[]},{"type":"error","name":"InvalidRuling","inputs":[]},{"type":"error","name":"NotEnoughArbitrationFees","inputs":[]},{"type":"error","name":"OnlySafe","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"safe","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a08060405234610031573060805261168f90816100378239608051818181610abe01528181610bb90152610dde0152f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c80631c3db16d1461104a57806326a0754c1461100e5780633659cfe614610db95780634f1ef28614610b6a57806352d1902d14610aab578063564a565d146109675780635ea7b4fc14610919578063715018a6146108ce5780637a1d3756146106f857806388d5b732146106855780638da5cb5b1461065c578063c13517e1146103a2578063d98493f614610357578063f2fde38b146102c6578063f6506db414610285578063f7434ea9146102415763fe4b84df146100d857600080fd5b3461023e57602036600319011261023e5760043581549060ff8260081c161591828093610231575b801561021a575b156101be5760ff19811660011784557fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be91602091846101ad575b5061015b60ff865460081c16610156816114a4565b6114a4565b61016433611272565b80606555604051908152a16101765780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538610141565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101075750600160ff821614610107565b50600160ff821610610100565b80fd5b503461023e57602036600319011261023e576004356001600160401b038111610281576102729036906004016111ed565b50506020606554604051908152f35b5080fd5b503461023e57608036600319011261023e576024356001600160401b038111610281576102b69036906004016111ed565b50506102c0611098565b50611504565b503461023e57602036600319011261023e576102e0611082565b6102e861121a565b6001600160a01b038116156103035761030090611272565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b503461023e57604036600319011261023e576004356001600160401b038111610281576103889036906004016111ed565b50506024356001600160a01b03811614611504575b600080fd5b50604036600319011261023e576001600160401b0390602435828111610281576103d09036906004016111ed565b9092606554341061064a57606654916040519460c08601918683108484111761063457610404926040523387523691611107565b906020850191825260043560408601523460608601528360808601528360a0860152600160401b83101561062057600183016066556104428361113e565b92909261060c57855183546001600160a01b0319166001600160a01b03919091161783555180519182116105f85761047d6001840154611173565b601f81116105b4575b50602090601f831160011461054557918060a09492600594889261053a575b50508160011b916000199060031b1c19161760018201555b604086015160028201556060860151600382015560808601516004820155019301519260028410156105265760209360ff8019835416911617905560405191817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995339280a38152f35b634e487b7160e01b83526021600452602483fd5b0151905038806104a5565b600184018652602086209190601f198416875b81811061059c575092600192859260059660a0989610610583575b505050811b0160018201556104bd565b015160001960f88460031b161c19169055388080610573565b92936020600181928786015181550195019301610558565b60018401865260208620601f840160051c8101602085106105f1575b601f830160051c820181106105e6575050610486565b8781556001016105d0565b50806105d0565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b600052604160045260246000fd5b60405163e4216b3160e01b8152600490fd5b503461023e578060031936011261023e576033546040516001600160a01b039091168152602090f35b503461023e57602036600319011261023e5761069f611082565b3380835260676020908152604080852080546001600160a01b0319166001600160a01b0390951694851790555192835290917f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f9190a280f35b503461023e57606036600319011261023e576004356001600160a01b03602480359082610723611098565b16928386526067602052806040872054168033146000146108b157506107488561113e565b50906002820154841161089f57600582019182549260ff8416600281101561088c5760011461087a576001600483019487865560ff1916179055878080806003850154335af16107966113d7565b501561084457549154879392909116803b156108405760448492604051958693849263188d362b60e11b84528b6004850152878401525af18015610835576107f7575b5050602060008051602061161a83398151915291604051908152a380f35b9194916001600160401b038211610823575060405292602060008051602061161a8339815191526107d9565b634e487b7160e01b8352604160045282fd5b6040513d88823e3d90fd5b8380fd5b60405162461bcd60e51b815260206004820152600f818601526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60405163bda17d9560e01b8152600490fd5b634e487b7160e01b8a526021600452858afd5b6040516309efd47960e41b8152600490fd5b826044916040519163d0774c9960e01b8352336004840152820152fd5b503461023e578060031936011261023e576108e761121a565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061159a8339815191528280a380f35b503461023e57602036600319011261023e577fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed602060043561095961121a565b80606555604051908152a180f35b503461023e5760208060031936011261028157600435606654811015610aa7576109909061113e565b5060018060a01b0381541691600191828101604051809487908354936109b585611173565b94858552878382169182600014610a85575050600114610a49575b50506109de925003846110c9565b600281015492610a1060038301549160c060ff60056004870154960154169560405198895288015260c08701906111ad565b936040860152606085015260808401526002811015610a355782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b86925089528189209089915b858310610a6d5750506109de935082010138806109d0565b8054838a018501528894508793909201918101610a55565b92509350506109de94915060ff191682840152151560051b82010138806109d0565b8280fd5b503461023e578060031936011261023e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b0457602060405160008051602061157a8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261023e57610b7f611082565b6024356001600160401b038111610aa75736602382011215610aa757610baf903690602481600401359101611107565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190610be9308514156112a9565b610c0660008051602061157a8339815191529482865416146112f8565b610c0e61121a565b60008051602061153a8339815191525460ff1615610c325750506103009150611347565b82919216604051936352d1902d60e01b85526020948581600481865afa879181610d86575b50610ca65760405162461bcd60e51b815260048101879052602e602482015260008051602061163a83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403610d4157610cb782611347565b6000805160206115ba8339815191528580a283835115801590610d39575b610ce1575b5050505080f35b80610d2f9460405194610cf3866110ae565b602786526000805160206115fa83398151915281870152660819985a5b195960ca1b604087015281519101845af4610d296113d7565b91611407565b5038808083610cda565b506001610cd5565b60405162461bcd60e51b815260048101849052602960248201526000805160206115da8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610db2575b610d9e81836110c9565b81010312610dae57519038610c57565b8780fd5b503d610d94565b503461023e5760208060031936011261028157610dd4611082565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610e0b308214156112a9565b610e2860008051602061157a8339815191529183835416146112f8565b610e3061121a565b604051848101929091906001600160401b03841183851017610ffa578360405286835260ff60008051602061153a8339815191525416600014610e7b57505050506103009150611347565b84939416906040516352d1902d60e01b81528681600481865afa889181610fc7575b50610eec5760405162461bcd60e51b815260048101889052602e602482015260008051602061163a83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503610f8257908591610f0084611347565b6000805160206115ba8339815191528380a2805115801590610f7b575b610f2a575b505050505080f35b610f709482916000805160206115fa83398151915260405196610f4c886110ae565b60278852870152660819985a5b195960ca1b60408701525190845af4610d296113d7565b503880808381610f22565b5081610f1d565b60405162461bcd60e51b815260048101859052602960248201526000805160206115da8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d8311610ff3575b610fdf81836110c9565b81010312610fef57519038610e9d565b8880fd5b503d610fd5565b634e487b7160e01b87526041600452602487fd5b503461023e57602036600319011261023e576020906001600160a01b039060409082611038611082565b16815260678452205416604051908152f35b503461023e57602036600319011261023e57606090600461106b813561113e565b500154906040519182528060208301526040820152f35b600435906001600160a01b038216820361039d57565b604435906001600160a01b038216820361039d57565b606081019081106001600160401b0382111761063457604052565b601f909101601f19168101906001600160401b0382119082101761063457604052565b6001600160401b03811161063457601f01601f191660200190565b929192611113826110ec565b9161112160405193846110c9565b82948184528183011161039d578281602093846000960137010152565b60665481101561115d5760666000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156111a3575b602083101461118d57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611182565b919082519283825260005b8481106111d9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111b8565b9181601f8401121561039d578235916001600160401b03831161039d576020838186019501011161039d57565b6033546001600160a01b0316330361122e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061159a833981519152600080a3565b156112b057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155a83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156112ff57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155a83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561137c5760008051602061157a83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15611402573d906113e8826110ec565b916113f660405193846110c9565b82523d6000602084013e565b606090565b91929015611469575081511561141b575090565b3b156114245790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561147c5750805190602001fd5b60405162461bcd60e51b8152602060048201529081906114a09060248301906111ad565b0390fd5b156114ab57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fdfe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e7562227645524331393637557067726164653a206e657720696d706c656d656e74617469a26469706673582212208e2976a1ffedf59a8602261a0b970677e1de2a1d3c58828056ae9e4b812da45d64736f6c63430008130033","sourceMap":"577:5165:108:-:0;;;;;;;1088:4:61;1080:13;;577:5165:108;;;;;;1080:13:61;577:5165:108;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b6000803560e01c80631c3db16d1461104a57806326a0754c1461100e5780633659cfe614610db95780634f1ef28614610b6a57806352d1902d14610aab578063564a565d146109675780635ea7b4fc14610919578063715018a6146108ce5780637a1d3756146106f857806388d5b732146106855780638da5cb5b1461065c578063c13517e1146103a2578063d98493f614610357578063f2fde38b146102c6578063f6506db414610285578063f7434ea9146102415763fe4b84df146100d857600080fd5b3461023e57602036600319011261023e5760043581549060ff8260081c161591828093610231575b801561021a575b156101be5760ff19811660011784557fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be91602091846101ad575b5061015b60ff865460081c16610156816114a4565b6114a4565b61016433611272565b80606555604051908152a16101765780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538610141565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101075750600160ff821614610107565b50600160ff821610610100565b80fd5b503461023e57602036600319011261023e576004356001600160401b038111610281576102729036906004016111ed565b50506020606554604051908152f35b5080fd5b503461023e57608036600319011261023e576024356001600160401b038111610281576102b69036906004016111ed565b50506102c0611098565b50611504565b503461023e57602036600319011261023e576102e0611082565b6102e861121a565b6001600160a01b038116156103035761030090611272565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b503461023e57604036600319011261023e576004356001600160401b038111610281576103889036906004016111ed565b50506024356001600160a01b03811614611504575b600080fd5b50604036600319011261023e576001600160401b0390602435828111610281576103d09036906004016111ed565b9092606554341061064a57606654916040519460c08601918683108484111761063457610404926040523387523691611107565b906020850191825260043560408601523460608601528360808601528360a0860152600160401b83101561062057600183016066556104428361113e565b92909261060c57855183546001600160a01b0319166001600160a01b03919091161783555180519182116105f85761047d6001840154611173565b601f81116105b4575b50602090601f831160011461054557918060a09492600594889261053a575b50508160011b916000199060031b1c19161760018201555b604086015160028201556060860151600382015560808601516004820155019301519260028410156105265760209360ff8019835416911617905560405191817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995339280a38152f35b634e487b7160e01b83526021600452602483fd5b0151905038806104a5565b600184018652602086209190601f198416875b81811061059c575092600192859260059660a0989610610583575b505050811b0160018201556104bd565b015160001960f88460031b161c19169055388080610573565b92936020600181928786015181550195019301610558565b60018401865260208620601f840160051c8101602085106105f1575b601f830160051c820181106105e6575050610486565b8781556001016105d0565b50806105d0565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b600052604160045260246000fd5b60405163e4216b3160e01b8152600490fd5b503461023e578060031936011261023e576033546040516001600160a01b039091168152602090f35b503461023e57602036600319011261023e5761069f611082565b3380835260676020908152604080852080546001600160a01b0319166001600160a01b0390951694851790555192835290917f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f9190a280f35b503461023e57606036600319011261023e576004356001600160a01b03602480359082610723611098565b16928386526067602052806040872054168033146000146108b157506107488561113e565b50906002820154841161089f57600582019182549260ff8416600281101561088c5760011461087a576001600483019487865560ff1916179055878080806003850154335af16107966113d7565b501561084457549154879392909116803b156108405760448492604051958693849263188d362b60e11b84528b6004850152878401525af18015610835576107f7575b5050602060008051602061161a83398151915291604051908152a380f35b9194916001600160401b038211610823575060405292602060008051602061161a8339815191526107d9565b634e487b7160e01b8352604160045282fd5b6040513d88823e3d90fd5b8380fd5b60405162461bcd60e51b815260206004820152600f818601526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60405163bda17d9560e01b8152600490fd5b634e487b7160e01b8a526021600452858afd5b6040516309efd47960e41b8152600490fd5b826044916040519163d0774c9960e01b8352336004840152820152fd5b503461023e578060031936011261023e576108e761121a565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061159a8339815191528280a380f35b503461023e57602036600319011261023e577fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed602060043561095961121a565b80606555604051908152a180f35b503461023e5760208060031936011261028157600435606654811015610aa7576109909061113e565b5060018060a01b0381541691600191828101604051809487908354936109b585611173565b94858552878382169182600014610a85575050600114610a49575b50506109de925003846110c9565b600281015492610a1060038301549160c060ff60056004870154960154169560405198895288015260c08701906111ad565b936040860152606085015260808401526002811015610a355782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b86925089528189209089915b858310610a6d5750506109de935082010138806109d0565b8054838a018501528894508793909201918101610a55565b92509350506109de94915060ff191682840152151560051b82010138806109d0565b8280fd5b503461023e578060031936011261023e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b0457602060405160008051602061157a8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261023e57610b7f611082565b6024356001600160401b038111610aa75736602382011215610aa757610baf903690602481600401359101611107565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190610be9308514156112a9565b610c0660008051602061157a8339815191529482865416146112f8565b610c0e61121a565b60008051602061153a8339815191525460ff1615610c325750506103009150611347565b82919216604051936352d1902d60e01b85526020948581600481865afa879181610d86575b50610ca65760405162461bcd60e51b815260048101879052602e602482015260008051602061163a83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403610d4157610cb782611347565b6000805160206115ba8339815191528580a283835115801590610d39575b610ce1575b5050505080f35b80610d2f9460405194610cf3866110ae565b602786526000805160206115fa83398151915281870152660819985a5b195960ca1b604087015281519101845af4610d296113d7565b91611407565b5038808083610cda565b506001610cd5565b60405162461bcd60e51b815260048101849052602960248201526000805160206115da8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610db2575b610d9e81836110c9565b81010312610dae57519038610c57565b8780fd5b503d610d94565b503461023e5760208060031936011261028157610dd4611082565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610e0b308214156112a9565b610e2860008051602061157a8339815191529183835416146112f8565b610e3061121a565b604051848101929091906001600160401b03841183851017610ffa578360405286835260ff60008051602061153a8339815191525416600014610e7b57505050506103009150611347565b84939416906040516352d1902d60e01b81528681600481865afa889181610fc7575b50610eec5760405162461bcd60e51b815260048101889052602e602482015260008051602061163a83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503610f8257908591610f0084611347565b6000805160206115ba8339815191528380a2805115801590610f7b575b610f2a575b505050505080f35b610f709482916000805160206115fa83398151915260405196610f4c886110ae565b60278852870152660819985a5b195960ca1b60408701525190845af4610d296113d7565b503880808381610f22565b5081610f1d565b60405162461bcd60e51b815260048101859052602960248201526000805160206115da8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d8311610ff3575b610fdf81836110c9565b81010312610fef57519038610e9d565b8880fd5b503d610fd5565b634e487b7160e01b87526041600452602487fd5b503461023e57602036600319011261023e576020906001600160a01b039060409082611038611082565b16815260678452205416604051908152f35b503461023e57602036600319011261023e57606090600461106b813561113e565b500154906040519182528060208301526040820152f35b600435906001600160a01b038216820361039d57565b604435906001600160a01b038216820361039d57565b606081019081106001600160401b0382111761063457604052565b601f909101601f19168101906001600160401b0382119082101761063457604052565b6001600160401b03811161063457601f01601f191660200190565b929192611113826110ec565b9161112160405193846110c9565b82948184528183011161039d578281602093846000960137010152565b60665481101561115d5760666000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156111a3575b602083101461118d57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611182565b919082519283825260005b8481106111d9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111b8565b9181601f8401121561039d578235916001600160401b03831161039d576020838186019501011161039d57565b6033546001600160a01b0316330361122e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061159a833981519152600080a3565b156112b057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155a83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156112ff57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155a83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561137c5760008051602061157a83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15611402573d906113e8826110ec565b916113f660405193846110c9565b82523d6000602084013e565b606090565b91929015611469575081511561141b575090565b3b156114245790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561147c5750805190602001fd5b60405162461bcd60e51b8152602060048201529081906114a09060248301906111ad565b0390fd5b156114ab57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fdfe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e7562227645524331393637557067726164653a206e657720696d706c656d656e74617469a26469706673582212208e2976a1ffedf59a8602261a0b970677e1de2a1d3c58828056ae9e4b812da45d64736f6c63430008130033","sourceMap":"577:5165:108:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:108;;;;;;;;;;;;;;3301:14:44;3347:34;;;;;;577:5165:108;3346:108:44;;;;577:5165:108;;;;-1:-1:-1;;577:5165:108;;;;;;2392:42;;577:5165;;;3562:65:44;;577:5165:108;;5366:69:44;577:5165:108;;;;;;5366:69:44;;;:::i;:::-;;:::i;:::-;1216:12:42;965:10:48;1216:12:42;:::i;:::-;577:5165:108;2345:32;577:5165;;;;;;2392:42;3647:99:44;;577:5165:108;;3647:99:44;577:5165:108;;;;;;;3721:14:44;577:5165:108;;;;;;3721:14:44;577:5165:108;;3562:65:44;-1:-1:-1;;577:5165:108;;;;;3562:65:44;;;577:5165:108;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;3346:108:44;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;577:5165:108;;;;;3436:17:44;3346:108;;3347:34;577:5165:108;;;;;3365:16:44;3347:34;;577:5165:108;;;;;;;;;;-1:-1:-1;;577:5165:108;;;;;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;:::i;:::-;;;;5107:14;577:5165;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:108;;;;;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;:::i;:::-;;;;;;;-1:-1:-1;;577:5165:108;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;577:5165:108;;2423:22:42;577:5165:108;;2517:8:42;;;:::i;:::-;577:5165:108;;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;-1:-1:-1;;577:5165:108;;;;;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;:::i;:::-;-1:-1:-1;;577:5165:108;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;-1:-1:-1;577:5165:108;;-1:-1:-1;;577:5165:108;;;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;;;;;:::i;:::-;;;5107:14;577:5165;3121:9;:39;3117:103;;3241:8;577:5165;;;;;;;;;;;;;;;;;;;;;;3349:10;577:5165;;;;;:::i;:::-;3293:283;577:5165;3293:283;;577:5165;;;;;;3293:283;;577:5165;3121:9;3293:283;;;577:5165;3293:283;;;;577:5165;3293:283;;;;577:5165;;;;;;;;;;;;3241:8;577:5165;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;;577:5165:108;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3293:283;577:5165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3293:283;;577:5165;;;;;3293:283;;;577:5165;;;;;3293:283;;;577:5165;;;;;;3293:283;;577:5165;;;;;;;;;;;;;;;;;;;;;;;3349:10;;3602:51;3349:10;3602:51;;;577:5165;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;-1:-1:-1;577:5165:108;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:108;;;;;;;;;;;;;;;;;3293:283;577:5165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;577:5165:108;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;;;;;;3117:103;577:5165;;-1:-1:-1;;;3183:26:108;;577:5165;;3183:26;577:5165;;;;;;;;;;;;;1534:6:42;577:5165:108;;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:108;;;;;;:::i;:::-;2837:10;577:5165;;;2814:22;577:5165;;;;;;;;;;-1:-1:-1;;;;;;577:5165:108;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;;2837:10;;2871:33;;577:5165;2871:33;577:5165;;;;;;;;;-1:-1:-1;;577:5165:108;;;;;;-1:-1:-1;;;;;577:5165:108;;;;;;;:::i;:::-;;;;;;2075:22;577:5165;;;;;;;;2061:10;;:49;2057:176;2061:49;;;4386:20;;;;:::i;:::-;4431:15;;;;;577:5165;4421:25;;4417:78;;4508:14;;;577:5165;;;;;;;4431:15;577:5165;;;;;;4508:38;4504:98;;577:5165;;4612:14;;577:5165;;;;;;;;;;4744:22;;;;577:5165;4744:22;;577:5165;2061:10;4712:59;;;;:::i;:::-;;577:5165;;;;;;;;;;;;4826:51;;;;;577:5165;;;;;689:66:57;;;;;;;;4826:51:108;;;577:5165;4826:51;;577:5165;;;;;4826:51;;;;;;;;2057:176;577:5165;;;-1:-1:-1;;;;;;;;;;;577:5165:108;;;;;;4892:53;577:5165;;4826:51;577:5165;;;-1:-1:-1;;;;;577:5165:108;;;;-1:-1:-1;577:5165:108;;;;-1:-1:-1;;;;;;;;;;;4826:51:108;;577:5165;-1:-1:-1;;;577:5165:108;;;;;;;4826:51;577:5165;;689:66:57;577:5165:108;;689:66:57;;;;4826:51:108;577:5165;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;4504:98;577:5165;;-1:-1:-1;;;4569:22:108;;577:5165;;4569:22;577:5165;-1:-1:-1;;;577:5165:108;;;;;;;;4417:78;577:5165;;-1:-1:-1;;;4469:15:108;;577:5165;;4469:15;2057:176;577:5165;;;;;2165:57;;;;;;2061:10;577:5165;2165:57;;577:5165;;;;2165:57;577:5165;;;;;;;;;;;;;1324:62:42;;:::i;:::-;2779:6;577:5165:108;;-1:-1:-1;;;;;;577:5165:108;;;;;;;-1:-1:-1;;;;;577:5165:108;-1:-1:-1;;;;;;;;;;;577:5165:108;;2827:40:42;577:5165:108;;;;;;;;;-1:-1:-1;;577:5165:108;;;;2707:38;577:5165;;;1324:62:42;;:::i;:::-;577:5165:108;2660:32;577:5165;;;;;;2707:38;577:5165;;;;;;;;;;;;;;;;;;1642:31;577:5165;1642:31;;;;;;;;:::i;:::-;577:5165;;;;;;;;;;;1642:31;;;;577:5165;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1642:31;;;577:5165;1642:31;577:5165;;1642:31;;577:5165;1642:31;577:5165;;1642:31;577:5165;1642:31;;577:5165;1642:31;;577:5165;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1642:31;577:5165;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;577:5165:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1642:31;;;;577:5165;;;;;;;;;;;;;2089:6:61;-1:-1:-1;;;;;577:5165:108;2080:4:61;2072:23;577:5165:108;;;;;-1:-1:-1;;;;;;;;;;;577:5165:108;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;;-1:-1:-1;577:5165:108;;-1:-1:-1;;577:5165:108;;;;;;:::i;:::-;;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;577:5165:108;;;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;577:5165:108;;;;;1727:30:61;1719:87;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:57;577:5165:108;;;;;2993:17:57;;;;;;:::i;2906:504::-;577:5165:108;;;;;;689:66:57;;;;3046:52;;;;;;577:5165:108;3046:52:57;;;;;;;;;2906:504;-1:-1:-1;3042:291:57;;577:5165:108;;-1:-1:-1;;;3262:56:57;;577:5165:108;3262:56:57;;689:66;;;;577:5165:108;689:66:57;;577:5165:108;-1:-1:-1;;;;;;;;;;;577:5165:108;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:57;;;577:5165:108;;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;577:5165:108;;2204:112:57;577:5165:108;7307:69:73;577:5165:108;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;577:5165:108;;;;-1:-1:-1;;;577:5165:108;;;;7265:25:73;;;;;;;;;:::i;:::-;7307:69;;:::i;:::-;;2204:112:57;;;;;;2208:28;;577:5165:108;2208:28:57;;689:66;577:5165:108;;-1:-1:-1;;;689:66:57;;577:5165:108;689:66:57;;;;;;577:5165:108;689:66:57;;577:5165:108;-1:-1:-1;;;;;;;;;;;577:5165:108;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;577:5165:108;;;3046:52:57;;;;;577:5165:108;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;577:5165:108;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;577:5165:108;;;;;1727:30:61;1719:87;:::i;:::-;1324:62:42;;:::i;:::-;577:5165:108;;;;;;;;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;689:66:57;577:5165:108;2906:504:57;577:5165:108;;;2993:17:57;;;;;;;;:::i;2906:504::-;577:5165:108;;;;;;;689:66:57;;;3046:52;;;;577:5165:108;3046:52:57;;;;;;;;;2906:504;-1:-1:-1;3042:291:57;;577:5165:108;;-1:-1:-1;;;3262:56:57;;577:5165:108;3262:56:57;;689:66;;;;;;;577:5165:108;-1:-1:-1;;;;;;;;;;;577:5165:108;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;3042:291;;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:57;;;577:5165:108;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;;577:5165:108;;2204:112:57;7307:69:73;577:5165:108;;;-1:-1:-1;;;;;;;;;;;577:5165:108;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;577:5165:108;;;;7265:25:73;;;;;;;:::i;7307:69::-;;2204:112:57;;;;;;;2208:28;;;;;689:66;577:5165:108;;-1:-1:-1;;;689:66:57;;577:5165:108;689:66:57;;;;;;;;;577:5165:108;-1:-1:-1;;;;;;;;;;;577:5165:108;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;577:5165:108;;;3046:52:57;;;;;577:5165:108;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:108;;;;;;-1:-1:-1;;;;;577:5165:108;;;;;;:::i;:::-;;;;1728:73;577:5165;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:108;;;;;;;5526:20;577:5165;;5526:20;:::i;:::-;5565:14;;577:5165;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;577:5165:108;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;577:5165:108;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;577:5165:108;;;;;;;:::o;:::-;;;;;-1:-1:-1;;577:5165:108;;;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;577:5165:108;;;;;;-1:-1:-1;;577:5165:108;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;577:5165:108;;;;;;:::o;:::-;5526:8;577:5165;;;;;;5526:8;-1:-1:-1;577:5165:108;;;-1:-1:-1;577:5165:108;;;;;-1:-1:-1;577:5165:108;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;577:5165:108;;;;;;;;;;;;;;;:::o;1620:130:42:-;1534:6;577:5165:108;-1:-1:-1;;;;;577:5165:108;965:10:48;1683:23:42;577:5165:108;;1620:130:42:o;577:5165:108:-;;;;689:66:57;;;577:5165:108;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;577:5165:108;;-1:-1:-1;;;;;577:5165:108;;;-1:-1:-1;;;;;;577:5165:108;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;577:5165:108:-;;;;:::o;:::-;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;577:5165:108;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;577:5165:108;;;;-1:-1:-1;;;577:5165:108;;;;;;;1406:259:57;1702:19:73;;:23;577:5165:108;;-1:-1:-1;;;;;;;;;;;577:5165:108;;-1:-1:-1;;;;;;577:5165:108;-1:-1:-1;;;;;577:5165:108;;;;;;;;;1406:259:57:o;577:5165:108:-;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;577:5165:108;;;;:::o;:::-;;;:::o;7671:628:73:-;;;;7875:418;;;577:5165:108;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;577:5165:108;;8201:17:73;:::o;577:5165:108:-;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;;;;;;7875:418:73;577:5165:108;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;577:5165:108;;-1:-1:-1;;;9324:20:73;;577:5165:108;9324:20:73;;;577:5165:108;;;;;;;;;;;:::i;:::-;9324:20:73;;;577:5165:108;;;;:::o;:::-;;;-1:-1:-1;;;577:5165:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:108;;;;;;;3698:241;577:5165;;-1:-1:-1;;;3909:23:108;;577:5165;3909:23;;;577:5165;;;;;;-1:-1:-1;;;577:5165:108;;;;;;3909:23","linkReferences":{},"immutableReferences":{"54869":[{"start":2750,"length":32},{"start":3001,"length":32},{"start":3550,"length":32}]}},"methodIdentifiers":{"arbitrableTribunalSafe(address)":"26a0754c","arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","disputes(uint256)":"564a565d","executeRuling(uint256,uint256,address)":"7a1d3756","initialize(uint256)":"fe4b84df","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registerSafe(address)":"88d5b732","renounceOwnership()":"715018a6","setArbitrationFee(uint256)":"5ea7b4fc","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DisputeAlreadySolved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRuling\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughArbitrationFees\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"name\":\"OnlySafe\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newArbitrationFee\",\"type\":\"uint256\"}],\"name\":\"ArbitrationFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"SafeArbitratorInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"SafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"arbitrable\",\"type\":\"address\"}],\"name\":\"arbitrableTribunalSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_choices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputes\",\"outputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"arbitrated\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"arbitratorExtraData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"choices\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrationFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"enum SafeArbitrator.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"executeRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"setArbitrationFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an arbitrator middleware that will allow a safe to decide on the result of disputes.\",\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"fee\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"_0\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"_0\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"executeRuling(uint256,uint256,address)\":{\"details\":\"Give a ruling to a dispute.\",\"params\":{\"_arbitrable\":\"Address of the arbitrable that the safe rules for\\\".\",\"_disputeID\":\"ID of the dispute to rule.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \\\"Refused to rule\\\".\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setArbitrationFee(uint256)\":{\"details\":\"Set the arbitration fee. Only callable by the owner.\",\"params\":{\"_arbitrationFee\":\"Amount to be paid for arbitration.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"Safe Arbitrator\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/SafeArbitrator.sol\":\"SafeArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d\",\"dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"DisputeAlreadySolved"},{"inputs":[],"type":"error","name":"InvalidRuling"},{"inputs":[],"type":"error","name":"NotEnoughArbitrationFees"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"safe","type":"address"}],"type":"error","name":"OnlySafe"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newArbitrationFee","type":"uint256","indexed":false}],"type":"event","name":"ArbitrationFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256","indexed":false}],"type":"event","name":"SafeArbitratorInitialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_arbitrable","type":"address","indexed":true},{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"SafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"arbitrable","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrableTribunalSafe","outputs":[{"internalType":"address","name":"safe","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_choices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputes","outputs":[{"internalType":"contract IArbitrable","name":"arbitrated","type":"address"},{"internalType":"bytes","name":"arbitratorExtraData","type":"bytes"},{"internalType":"uint256","name":"choices","type":"uint256"},{"internalType":"uint256","name":"arbitrationFee","type":"uint256"},{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"enum SafeArbitrator.DisputeStatus","name":"status","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"},{"internalType":"address","name":"_arbitrable","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"executeRuling"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setArbitrationFee"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"fee":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"_0":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"_0":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"executeRuling(uint256,uint256,address)":{"details":"Give a ruling to a dispute.","params":{"_arbitrable":"Address of the arbitrable that the safe rules for\".","_disputeID":"ID of the dispute to rule.","_ruling":"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\"."}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setArbitrationFee(uint256)":{"details":"Set the arbitration fee. Only callable by the owner.","params":{"_arbitrationFee":"Amount to be paid for arbitration."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/SafeArbitrator.sol":"SafeArbitrator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07","urls":["bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d","dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":72441,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"101","type":"t_uint256"},{"astId":72445,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"disputes","offset":0,"slot":"102","type":"t_array(t_struct(DisputeStruct)72439_storage)dyn_storage"},{"astId":72449,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrableTribunalSafe","offset":0,"slot":"103","type":"t_mapping(t_address,t_address)"},{"astId":72778,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(DisputeStruct)72439_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct SafeArbitrator.DisputeStruct[]","numberOfBytes":"32","base":"t_struct(DisputeStruct)72439_storage"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(IArbitrable)72857":{"encoding":"inplace","label":"contract IArbitrable","numberOfBytes":"20"},"t_enum(DisputeStatus)72424":{"encoding":"inplace","label":"enum SafeArbitrator.DisputeStatus","numberOfBytes":"1"},"t_mapping(t_address,t_address)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address)","numberOfBytes":"32","value":"t_address"},"t_struct(DisputeStruct)72439_storage":{"encoding":"inplace","label":"struct SafeArbitrator.DisputeStruct","numberOfBytes":"192","members":[{"astId":72427,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrated","offset":0,"slot":"0","type":"t_contract(IArbitrable)72857"},{"astId":72429,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitratorExtraData","offset":0,"slot":"1","type":"t_bytes_storage"},{"astId":72431,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"choices","offset":0,"slot":"2","type":"t_uint256"},{"astId":72433,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"3","type":"t_uint256"},{"astId":72435,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"ruling","offset":0,"slot":"4","type":"t_uint256"},{"astId":72438,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"status","offset":0,"slot":"5","type":"t_enum(DisputeStatus)72424"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/SafeArbitrator.sol","id":72780,"exportedSymbols":{"IArbitrable":[72857],"IArbitrator":[72961],"IERC20":[55825],"OwnableUpgradeable":[52200],"SafeArbitrator":[72779],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"33:5710:108","nodes":[{"id":72390,"nodeType":"PragmaDirective","src":"33:24:108","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72392,"nodeType":"ImportDirective","src":"59:70:108","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":72780,"sourceUnit":55826,"symbolAliases":[{"foreign":{"id":72391,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55825,"src":"67:6:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72394,"nodeType":"ImportDirective","src":"130:88:108","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":72780,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":72393,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"138:15:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72396,"nodeType":"ImportDirective","src":"219:110:108","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":72780,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":72395,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"227:18:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72398,"nodeType":"ImportDirective","src":"331:57:108","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":72780,"sourceUnit":72858,"symbolAliases":[{"foreign":{"id":72397,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72857,"src":"339:11:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72400,"nodeType":"ImportDirective","src":"389:57:108","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":72780,"sourceUnit":72962,"symbolAliases":[{"foreign":{"id":72399,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72961,"src":"397:11:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72779,"nodeType":"ContractDefinition","src":"577:5165:108","nodes":[{"id":72411,"nodeType":"EventDefinition","src":"659:56:108","nodes":[],"anonymous":false,"eventSelector":"b1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed","name":"ArbitrationFeeUpdated","nameLocation":"665:21:108","parameters":{"id":72410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72409,"indexed":false,"mutability":"mutable","name":"_newArbitrationFee","nameLocation":"695:18:108","nodeType":"VariableDeclaration","scope":72411,"src":"687:26:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72408,"name":"uint256","nodeType":"ElementaryTypeName","src":"687:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"686:28:108"}},{"id":72417,"nodeType":"EventDefinition","src":"720:65:108","nodes":[],"anonymous":false,"eventSelector":"2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f","name":"SafeRegistered","nameLocation":"726:14:108","parameters":{"id":72416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72413,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"757:11:108","nodeType":"VariableDeclaration","scope":72417,"src":"741:27:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72412,"name":"address","nodeType":"ElementaryTypeName","src":"741:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72415,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"778:5:108","nodeType":"VariableDeclaration","scope":72417,"src":"770:13:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72414,"name":"address","nodeType":"ElementaryTypeName","src":"770:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"740:44:108"}},{"id":72421,"nodeType":"EventDefinition","src":"790:57:108","nodes":[],"anonymous":false,"eventSelector":"c05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be","name":"SafeArbitratorInitialized","nameLocation":"796:25:108","parameters":{"id":72420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72419,"indexed":false,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"830:15:108","nodeType":"VariableDeclaration","scope":72421,"src":"822:23:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72418,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:25:108"}},{"id":72424,"nodeType":"EnumDefinition","src":"853:144:108","nodes":[],"canonicalName":"SafeArbitrator.DisputeStatus","members":[{"id":72422,"name":"Waiting","nameLocation":"882:7:108","nodeType":"EnumValue","src":"882:7:108"},{"id":72423,"name":"Solved","nameLocation":"956:6:108","nodeType":"EnumValue","src":"956:6:108"}],"name":"DisputeStatus","nameLocation":"858:13:108"},{"id":72439,"nodeType":"StructDefinition","src":"1003:509:108","nodes":[],"canonicalName":"SafeArbitrator.DisputeStruct","members":[{"constant":false,"id":72427,"mutability":"mutable","name":"arbitrated","nameLocation":"1046:10:108","nodeType":"VariableDeclaration","scope":72439,"src":"1034:22:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"},"typeName":{"id":72426,"nodeType":"UserDefinedTypeName","pathNode":{"id":72425,"name":"IArbitrable","nameLocations":["1034:11:108"],"nodeType":"IdentifierPath","referencedDeclaration":72857,"src":"1034:11:108"},"referencedDeclaration":72857,"src":"1034:11:108","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":72429,"mutability":"mutable","name":"arbitratorExtraData","nameLocation":"1115:19:108","nodeType":"VariableDeclaration","scope":72439,"src":"1109:25:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":72428,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:108","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":72431,"mutability":"mutable","name":"choices","nameLocation":"1186:7:108","nodeType":"VariableDeclaration","scope":72439,"src":"1178:15:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72430,"name":"uint256","nodeType":"ElementaryTypeName","src":"1178:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72433,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1268:14:108","nodeType":"VariableDeclaration","scope":72439,"src":"1260:22:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72432,"name":"uint256","nodeType":"ElementaryTypeName","src":"1260:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72435,"mutability":"mutable","name":"ruling","nameLocation":"1398:6:108","nodeType":"VariableDeclaration","scope":72439,"src":"1390:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72434,"name":"uint256","nodeType":"ElementaryTypeName","src":"1390:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72438,"mutability":"mutable","name":"status","nameLocation":"1463:6:108","nodeType":"VariableDeclaration","scope":72439,"src":"1449:20:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":72437,"nodeType":"UserDefinedTypeName","pathNode":{"id":72436,"name":"DisputeStatus","nameLocations":["1449:13:108"],"nodeType":"IdentifierPath","referencedDeclaration":72424,"src":"1449:13:108"},"referencedDeclaration":72424,"src":"1449:13:108","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"name":"DisputeStruct","nameLocation":"1010:13:108","scope":72779,"visibility":"public"},{"id":72441,"nodeType":"VariableDeclaration","src":"1518:30:108","nodes":[],"constant":false,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1534:14:108","scope":72779,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72440,"name":"uint256","nodeType":"ElementaryTypeName","src":"1518:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":72445,"nodeType":"VariableDeclaration","src":"1642:31:108","nodes":[],"constant":false,"functionSelector":"564a565d","mutability":"mutable","name":"disputes","nameLocation":"1665:8:108","scope":72779,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$72439_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct[]"},"typeName":{"baseType":{"id":72443,"nodeType":"UserDefinedTypeName","pathNode":{"id":72442,"name":"DisputeStruct","nameLocations":["1642:13:108"],"nodeType":"IdentifierPath","referencedDeclaration":72439,"src":"1642:13:108"},"referencedDeclaration":72439,"src":"1642:13:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"id":72444,"nodeType":"ArrayTypeName","src":"1642:15:108","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$72439_storage_$dyn_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct[]"}},"visibility":"public"},{"id":72449,"nodeType":"VariableDeclaration","src":"1728:73:108","nodes":[],"constant":false,"functionSelector":"26a0754c","mutability":"mutable","name":"arbitrableTribunalSafe","nameLocation":"1779:22:108","scope":72779,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":72448,"keyName":"arbitrable","keyNameLocation":"1744:10:108","keyType":{"id":72446,"name":"address","nodeType":"ElementaryTypeName","src":"1736:7:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1728:43:108","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"safe","valueNameLocation":"1766:4:108","valueType":{"id":72447,"name":"address","nodeType":"ElementaryTypeName","src":"1758:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":72455,"nodeType":"ErrorDefinition","src":"1858:45:108","nodes":[],"errorSelector":"d0774c99","name":"OnlySafe","nameLocation":"1864:8:108","parameters":{"id":72454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72451,"mutability":"mutable","name":"sender","nameLocation":"1881:6:108","nodeType":"VariableDeclaration","scope":72455,"src":"1873:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72450,"name":"address","nodeType":"ElementaryTypeName","src":"1873:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72453,"mutability":"mutable","name":"safe","nameLocation":"1897:4:108","nodeType":"VariableDeclaration","scope":72455,"src":"1889:12:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72452,"name":"address","nodeType":"ElementaryTypeName","src":"1889:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1872:30:108"}},{"id":72457,"nodeType":"ErrorDefinition","src":"1908:33:108","nodes":[],"errorSelector":"e4216b31","name":"NotEnoughArbitrationFees","nameLocation":"1914:24:108","parameters":{"id":72456,"nodeType":"ParameterList","parameters":[],"src":"1938:2:108"}},{"id":72459,"nodeType":"ErrorDefinition","src":"1946:22:108","nodes":[],"errorSelector":"9efd4790","name":"InvalidRuling","nameLocation":"1952:13:108","parameters":{"id":72458,"nodeType":"ParameterList","parameters":[],"src":"1965:2:108"}},{"id":72461,"nodeType":"ErrorDefinition","src":"1973:29:108","nodes":[],"errorSelector":"bda17d95","name":"DisputeAlreadySolved","nameLocation":"1979:20:108","parameters":{"id":72460,"nodeType":"ParameterList","parameters":[],"src":"1999:2:108"}},{"id":72484,"nodeType":"ModifierDefinition","src":"2008:231:108","nodes":[],"body":{"id":72483,"nodeType":"Block","src":"2047:192:108","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2061:3:108","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2065:6:108","memberName":"sender","nodeType":"MemberAccess","src":"2061:10:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":72467,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72449,"src":"2075:22:108","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":72469,"indexExpression":{"id":72468,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72463,"src":"2098:11:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2075:35:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2061:49:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":72481,"nodeType":"Block","src":"2144:89:108","statements":[{"errorCall":{"arguments":[{"expression":{"id":72474,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2174:3:108","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2178:6:108","memberName":"sender","nodeType":"MemberAccess","src":"2174:10:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":72476,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72449,"src":"2186:22:108","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":72478,"indexExpression":{"id":72477,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72463,"src":"2209:11:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2186:35:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72473,"name":"OnlySafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72455,"src":"2165:8:108","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":72479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2165:57:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72480,"nodeType":"RevertStatement","src":"2158:64:108"}]},"id":72482,"nodeType":"IfStatement","src":"2057:176:108","trueBody":{"id":72472,"nodeType":"Block","src":"2112:26:108","statements":[{"id":72471,"nodeType":"PlaceholderStatement","src":"2126:1:108"}]}}]},"name":"onlySafe","nameLocation":"2017:8:108","parameters":{"id":72464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72463,"mutability":"mutable","name":"_arbitrable","nameLocation":"2034:11:108","nodeType":"VariableDeclaration","scope":72484,"src":"2026:19:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72462,"name":"address","nodeType":"ElementaryTypeName","src":"2026:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2025:21:108"},"virtual":false,"visibility":"internal"},{"id":72503,"nodeType":"FunctionDefinition","src":"2245:196:108","nodes":[],"body":{"id":72502,"nodeType":"Block","src":"2309:132:108","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72491,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52095,"src":"2319:14:108","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2319:16:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72493,"nodeType":"ExpressionStatement","src":"2319:16:108"},{"expression":{"id":72496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72494,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"2345:14:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72495,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72486,"src":"2362:15:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2345:32:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72497,"nodeType":"ExpressionStatement","src":"2345:32:108"},{"eventCall":{"arguments":[{"id":72499,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72486,"src":"2418:15:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72498,"name":"SafeArbitratorInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72421,"src":"2392:25:108","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2392:42:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72501,"nodeType":"EmitStatement","src":"2387:47:108"}]},"functionSelector":"fe4b84df","implemented":true,"kind":"function","modifiers":[{"id":72489,"kind":"modifierInvocation","modifierName":{"id":72488,"name":"initializer","nameLocations":["2297:11:108"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"2297:11:108"},"nodeType":"ModifierInvocation","src":"2297:11:108"}],"name":"initialize","nameLocation":"2254:10:108","parameters":{"id":72487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72486,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2273:15:108","nodeType":"VariableDeclaration","scope":72503,"src":"2265:23:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72485,"name":"uint256","nodeType":"ElementaryTypeName","src":"2265:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2264:25:108"},"returnParameters":{"id":72490,"nodeType":"ParameterList","parameters":[],"src":"2309:0:108"},"scope":72779,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":72520,"nodeType":"FunctionDefinition","src":"2579:173:108","nodes":[],"body":{"id":72519,"nodeType":"Block","src":"2650:102:108","nodes":[],"statements":[{"expression":{"id":72513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72511,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"2660:14:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72512,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72506,"src":"2677:15:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2660:32:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72514,"nodeType":"ExpressionStatement","src":"2660:32:108"},{"eventCall":{"arguments":[{"id":72516,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72506,"src":"2729:15:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72515,"name":"ArbitrationFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72411,"src":"2707:21:108","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2707:38:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72518,"nodeType":"EmitStatement","src":"2702:43:108"}]},"documentation":{"id":72504,"nodeType":"StructuredDocumentation","src":"2447:127:108","text":"@dev Set the arbitration fee. Only callable by the owner.\n @param _arbitrationFee Amount to be paid for arbitration."},"functionSelector":"5ea7b4fc","implemented":true,"kind":"function","modifiers":[{"id":72509,"kind":"modifierInvocation","modifierName":{"id":72508,"name":"onlyOwner","nameLocations":["2640:9:108"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"2640:9:108"},"nodeType":"ModifierInvocation","src":"2640:9:108"}],"name":"setArbitrationFee","nameLocation":"2588:17:108","parameters":{"id":72507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72506,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2614:15:108","nodeType":"VariableDeclaration","scope":72520,"src":"2606:23:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72505,"name":"uint256","nodeType":"ElementaryTypeName","src":"2606:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2605:25:108"},"returnParameters":{"id":72510,"nodeType":"ParameterList","parameters":[],"src":"2650:0:108"},"scope":72779,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72539,"nodeType":"FunctionDefinition","src":"2758:153:108","nodes":[],"body":{"id":72538,"nodeType":"Block","src":"2804:107:108","nodes":[],"statements":[{"expression":{"id":72530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72525,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72449,"src":"2814:22:108","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":72528,"indexExpression":{"expression":{"id":72526,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2837:3:108","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2841:6:108","memberName":"sender","nodeType":"MemberAccess","src":"2837:10:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2814:34:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72529,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72522,"src":"2851:5:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2814:42:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72531,"nodeType":"ExpressionStatement","src":"2814:42:108"},{"eventCall":{"arguments":[{"expression":{"id":72533,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2886:3:108","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2890:6:108","memberName":"sender","nodeType":"MemberAccess","src":"2886:10:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72535,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72522,"src":"2898:5:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72532,"name":"SafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72417,"src":"2871:14:108","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":72536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2871:33:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72537,"nodeType":"EmitStatement","src":"2866:38:108"}]},"baseFunctions":[72960],"functionSelector":"88d5b732","implemented":true,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"2767:12:108","parameters":{"id":72523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72522,"mutability":"mutable","name":"_safe","nameLocation":"2788:5:108","nodeType":"VariableDeclaration","scope":72539,"src":"2780:13:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72521,"name":"address","nodeType":"ElementaryTypeName","src":"2780:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2779:15:108"},"returnParameters":{"id":72524,"nodeType":"ParameterList","parameters":[],"src":"2804:0:108"},"scope":72779,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72593,"nodeType":"FunctionDefinition","src":"2949:711:108","nodes":[],"body":{"id":72592,"nodeType":"Block","src":"3107:553:108","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72550,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3121:3:108","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3125:5:108","memberName":"value","nodeType":"MemberAccess","src":"3121:9:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"id":72553,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72544,"src":"3149:10:108","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":72552,"name":"arbitrationCost","nodeType":"Identifier","overloadedDeclarations":[72716,72733],"referencedDeclaration":72716,"src":"3133:15:108","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_calldata_ptr_$returns$_t_uint256_$","typeString":"function (bytes calldata) view returns (uint256)"}},"id":72554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3133:27:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3121:39:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72560,"nodeType":"IfStatement","src":"3117:103:108","trueBody":{"id":72559,"nodeType":"Block","src":"3162:58:108","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72556,"name":"NotEnoughArbitrationFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72457,"src":"3183:24:108","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3183:26:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72558,"nodeType":"RevertStatement","src":"3176:33:108"}]}},{"expression":{"id":72564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72561,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72548,"src":"3229:9:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72562,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72445,"src":"3241:8:108","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$72439_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":72563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3250:6:108","memberName":"length","nodeType":"MemberAccess","src":"3241:15:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3229:27:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72565,"nodeType":"ExpressionStatement","src":"3229:27:108"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":72571,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3349:3:108","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3353:6:108","memberName":"sender","nodeType":"MemberAccess","src":"3349:10:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72570,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72857,"src":"3337:11:108","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$72857_$","typeString":"type(contract IArbitrable)"}},"id":72573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3337:23:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"}},{"id":72574,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72544,"src":"3399:10:108","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":72575,"name":"_choices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72542,"src":"3436:8:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":72576,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3478:3:108","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3482:5:108","memberName":"value","nodeType":"MemberAccess","src":"3478:9:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":72578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3513:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":72579,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72424,"src":"3540:13:108","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$72424_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":72580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3554:7:108","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":72422,"src":"3540:21:108","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":72569,"name":"DisputeStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72439,"src":"3293:13:108","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_DisputeStruct_$72439_storage_ptr_$","typeString":"type(struct SafeArbitrator.DisputeStruct storage pointer)"}},"id":72581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3325:10:108","3378:19:108","3427:7:108","3462:14:108","3505:6:108","3532:6:108"],"names":["arbitrated","arbitratorExtraData","choices","arbitrationFee","ruling","status"],"nodeType":"FunctionCall","src":"3293:283:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_DisputeStruct_$72439_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}],"expression":{"id":72566,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72445,"src":"3266:8:108","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$72439_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":72568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3275:4:108","memberName":"push","nodeType":"MemberAccess","src":"3266:13:108","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_DisputeStruct_$72439_storage_$dyn_storage_ptr_$_t_struct$_DisputeStruct_$72439_storage_$returns$__$attached_to$_t_array$_t_struct$_DisputeStruct_$72439_storage_$dyn_storage_ptr_$","typeString":"function (struct SafeArbitrator.DisputeStruct storage ref[] storage pointer,struct SafeArbitrator.DisputeStruct storage ref)"}},"id":72582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3266:320:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72583,"nodeType":"ExpressionStatement","src":"3266:320:108"},{"eventCall":{"arguments":[{"id":72585,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72548,"src":"3618:9:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":72587,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3641:3:108","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3645:6:108","memberName":"sender","nodeType":"MemberAccess","src":"3641:10:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72586,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72857,"src":"3629:11:108","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$72857_$","typeString":"type(contract IArbitrable)"}},"id":72589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3629:23:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"}],"id":72584,"name":"DisputeCreation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72870,"src":"3602:15:108","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrable_$72857_$returns$__$","typeString":"function (uint256,contract IArbitrable)"}},"id":72590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:51:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72591,"nodeType":"EmitStatement","src":"3597:56:108"}]},"baseFunctions":[72908],"documentation":{"id":72540,"nodeType":"StructuredDocumentation","src":"2917:27:108","text":"@inheritdoc IArbitrator"},"functionSelector":"c13517e1","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2958:13:108","overrides":{"id":72546,"nodeType":"OverrideSpecifier","overrides":[],"src":"3058:8:108"},"parameters":{"id":72545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72542,"mutability":"mutable","name":"_choices","nameLocation":"2980:8:108","nodeType":"VariableDeclaration","scope":72593,"src":"2972:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72541,"name":"uint256","nodeType":"ElementaryTypeName","src":"2972:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72544,"mutability":"mutable","name":"_extraData","nameLocation":"3005:10:108","nodeType":"VariableDeclaration","scope":72593,"src":"2990:25:108","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":72543,"name":"bytes","nodeType":"ElementaryTypeName","src":"2990:5:108","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2971:45:108"},"returnParameters":{"id":72549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72548,"mutability":"mutable","name":"disputeID","nameLocation":"3092:9:108","nodeType":"VariableDeclaration","scope":72593,"src":"3084:17:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72547,"name":"uint256","nodeType":"ElementaryTypeName","src":"3084:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:19:108"},"scope":72779,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":72614,"nodeType":"FunctionDefinition","src":"3698:241:108","nodes":[],"body":{"id":72613,"nodeType":"Block","src":"3899:40:108","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":72610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3916:15:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":72609,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3909:6:108","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":72611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3909:23:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72612,"nodeType":"ExpressionStatement","src":"3909:23:108"}]},"baseFunctions":[72923],"documentation":{"id":72594,"nodeType":"StructuredDocumentation","src":"3666:27:108","text":"@inheritdoc IArbitrator"},"functionSelector":"f6506db4","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3707:13:108","overrides":{"id":72605,"nodeType":"OverrideSpecifier","overrides":[],"src":"3872:8:108"},"parameters":{"id":72604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72596,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72614,"src":"3730:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72595,"name":"uint256","nodeType":"ElementaryTypeName","src":"3730:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72598,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72614,"src":"3760:14:108","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":72597,"name":"bytes","nodeType":"ElementaryTypeName","src":"3760:5:108","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":72601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72614,"src":"3799:6:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":72600,"nodeType":"UserDefinedTypeName","pathNode":{"id":72599,"name":"IERC20","nameLocations":["3799:6:108"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3799:6:108"},"referencedDeclaration":55825,"src":"3799:6:108","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":72603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72614,"src":"3829:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72602,"name":"uint256","nodeType":"ElementaryTypeName","src":"3829:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3720:137:108"},"returnParameters":{"id":72608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72614,"src":"3890:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72606,"name":"uint256","nodeType":"ElementaryTypeName","src":"3890:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3889:9:108"},"scope":72779,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":72704,"nodeType":"FunctionDefinition","src":"4232:720:108","nodes":[],"body":{"id":72703,"nodeType":"Block","src":"4344:608:108","nodes":[],"statements":[{"assignments":[72629],"declarations":[{"constant":false,"id":72629,"mutability":"mutable","name":"dispute","nameLocation":"4376:7:108","nodeType":"VariableDeclaration","scope":72703,"src":"4354:29:108","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":72628,"nodeType":"UserDefinedTypeName","pathNode":{"id":72627,"name":"DisputeStruct","nameLocations":["4354:13:108"],"nodeType":"IdentifierPath","referencedDeclaration":72439,"src":"4354:13:108"},"referencedDeclaration":72439,"src":"4354:13:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":72633,"initialValue":{"baseExpression":{"id":72630,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72445,"src":"4386:8:108","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$72439_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":72632,"indexExpression":{"id":72631,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72617,"src":"4395:10:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:20:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4354:52:108"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72634,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72619,"src":"4421:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":72635,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72629,"src":"4431:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":72636,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4439:7:108","memberName":"choices","nodeType":"MemberAccess","referencedDeclaration":72431,"src":"4431:15:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4421:25:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72642,"nodeType":"IfStatement","src":"4417:78:108","trueBody":{"id":72641,"nodeType":"Block","src":"4448:47:108","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72638,"name":"InvalidRuling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72459,"src":"4469:13:108","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4469:15:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72640,"nodeType":"RevertStatement","src":"4462:22:108"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"},"id":72647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72643,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72629,"src":"4508:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":72644,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4516:6:108","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"4508:14:108","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":72645,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72424,"src":"4526:13:108","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$72424_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":72646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4540:6:108","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"4526:20:108","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4508:38:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72652,"nodeType":"IfStatement","src":"4504:98:108","trueBody":{"id":72651,"nodeType":"Block","src":"4548:54:108","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72648,"name":"DisputeAlreadySolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72461,"src":"4569:20:108","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4569:22:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72650,"nodeType":"RevertStatement","src":"4562:29:108"}]}},{"expression":{"id":72657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72653,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72629,"src":"4612:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":72655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4620:6:108","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"4612:14:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72656,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72619,"src":"4629:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4612:24:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72658,"nodeType":"ExpressionStatement","src":"4612:24:108"},{"expression":{"id":72664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72659,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72629,"src":"4646:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":72661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4654:6:108","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":72438,"src":"4646:14:108","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72662,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72424,"src":"4663:13:108","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$72424_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":72663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4677:6:108","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":72423,"src":"4663:20:108","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4646:37:108","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$72424","typeString":"enum SafeArbitrator.DisputeStatus"}},"id":72665,"nodeType":"ExpressionStatement","src":"4646:37:108"},{"assignments":[72667,null],"declarations":[{"constant":false,"id":72667,"mutability":"mutable","name":"success","nameLocation":"4700:7:108","nodeType":"VariableDeclaration","scope":72703,"src":"4695:12:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72666,"name":"bool","nodeType":"ElementaryTypeName","src":"4695:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":72679,"initialValue":{"arguments":[{"hexValue":"","id":72677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4768:2:108","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":{"arguments":[{"expression":{"id":72670,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4720:3:108","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4724:6:108","memberName":"sender","nodeType":"MemberAccess","src":"4720:10:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4712:8:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":72668,"name":"address","nodeType":"ElementaryTypeName","src":"4712:8:108","stateMutability":"payable","typeDescriptions":{}}},"id":72672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4712:19:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":72673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4732:4:108","memberName":"call","nodeType":"MemberAccess","src":"4712:24:108","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":72676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":72674,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72629,"src":"4744:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":72675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4752:14:108","memberName":"arbitrationFee","nodeType":"MemberAccess","referencedDeclaration":72433,"src":"4744:22:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4712:55:108","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":72678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4712:59:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4694:77:108"},{"expression":{"arguments":[{"id":72681,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72667,"src":"4789:7:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5472616e73666572206661696c6564","id":72682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4798:17:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""},"value":"Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""}],"id":72680,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4781:7:108","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":72683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4781:35:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72684,"nodeType":"ExpressionStatement","src":"4781:35:108"},{"expression":{"arguments":[{"id":72690,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72617,"src":"4850:10:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":72691,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72629,"src":"4862:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":72692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4870:6:108","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"4862:14:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":72685,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72629,"src":"4826:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":72688,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4834:10:108","memberName":"arbitrated","nodeType":"MemberAccess","referencedDeclaration":72427,"src":"4826:18:108","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"}},"id":72689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4845:4:108","memberName":"rule","nodeType":"MemberAccess","referencedDeclaration":72856,"src":"4826:23:108","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":72693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:51:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72694,"nodeType":"ExpressionStatement","src":"4826:51:108"},{"eventCall":{"arguments":[{"arguments":[{"id":72697,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72621,"src":"4911:11:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72696,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72857,"src":"4899:11:108","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$72857_$","typeString":"type(contract IArbitrable)"}},"id":72698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4899:24:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"}},{"id":72699,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72617,"src":"4925:10:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72700,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72619,"src":"4937:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$72857","typeString":"contract IArbitrable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72695,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72880,"src":"4892:6:108","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrable_$72857_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrable,uint256,uint256)"}},"id":72701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4892:53:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72702,"nodeType":"EmitStatement","src":"4887:58:108"}]},"documentation":{"id":72615,"nodeType":"StructuredDocumentation","src":"3945:282:108","text":"@dev Give a ruling to a dispute.\n @param _disputeID ID of the dispute to rule.\n @param _ruling Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\".\n @param _arbitrable Address of the arbitrable that the safe rules for\"."},"functionSelector":"7a1d3756","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":72624,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72621,"src":"4331:11:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":72625,"kind":"modifierInvocation","modifierName":{"id":72623,"name":"onlySafe","nameLocations":["4322:8:108"],"nodeType":"IdentifierPath","referencedDeclaration":72484,"src":"4322:8:108"},"nodeType":"ModifierInvocation","src":"4322:21:108"}],"name":"executeRuling","nameLocation":"4241:13:108","parameters":{"id":72622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72617,"mutability":"mutable","name":"_disputeID","nameLocation":"4263:10:108","nodeType":"VariableDeclaration","scope":72704,"src":"4255:18:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72616,"name":"uint256","nodeType":"ElementaryTypeName","src":"4255:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72619,"mutability":"mutable","name":"_ruling","nameLocation":"4283:7:108","nodeType":"VariableDeclaration","scope":72704,"src":"4275:15:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72618,"name":"uint256","nodeType":"ElementaryTypeName","src":"4275:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72621,"mutability":"mutable","name":"_arbitrable","nameLocation":"4300:11:108","nodeType":"VariableDeclaration","scope":72704,"src":"4292:19:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72620,"name":"address","nodeType":"ElementaryTypeName","src":"4292:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4254:58:108"},"returnParameters":{"id":72626,"nodeType":"ParameterList","parameters":[],"src":"4344:0:108"},"scope":72779,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":72716,"nodeType":"FunctionDefinition","src":"4990:138:108","nodes":[],"body":{"id":72715,"nodeType":"Block","src":"5090:38:108","nodes":[],"statements":[{"expression":{"id":72713,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72441,"src":"5107:14:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72712,"id":72714,"nodeType":"Return","src":"5100:21:108"}]},"baseFunctions":[72931],"documentation":{"id":72705,"nodeType":"StructuredDocumentation","src":"4958:27:108","text":"@inheritdoc IArbitrator"},"functionSelector":"f7434ea9","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4999:15:108","overrides":{"id":72709,"nodeType":"OverrideSpecifier","overrides":[],"src":"5059:8:108"},"parameters":{"id":72708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72716,"src":"5015:14:108","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":72706,"name":"bytes","nodeType":"ElementaryTypeName","src":"5015:5:108","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5014:32:108"},"returnParameters":{"id":72712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72711,"mutability":"mutable","name":"fee","nameLocation":"5085:3:108","nodeType":"VariableDeclaration","scope":72716,"src":"5077:11:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72710,"name":"uint256","nodeType":"ElementaryTypeName","src":"5077:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5076:13:108"},"scope":72779,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":72733,"nodeType":"FunctionDefinition","src":"5166:204:108","nodes":[],"body":{"id":72732,"nodeType":"Block","src":"5330:40:108","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":72729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5347:15:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":72728,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"5340:6:108","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":72730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5340:23:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72731,"nodeType":"ExpressionStatement","src":"5340:23:108"}]},"baseFunctions":[72942],"documentation":{"id":72717,"nodeType":"StructuredDocumentation","src":"5134:27:108","text":"@inheritdoc IArbitrator"},"functionSelector":"d98493f6","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"5175:15:108","overrides":{"id":72724,"nodeType":"OverrideSpecifier","overrides":[],"src":"5281:8:108"},"parameters":{"id":72723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72733,"src":"5191:14:108","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":72718,"name":"bytes","nodeType":"ElementaryTypeName","src":"5191:5:108","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":72722,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72733,"src":"5222:6:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":72721,"nodeType":"UserDefinedTypeName","pathNode":{"id":72720,"name":"IERC20","nameLocations":["5222:6:108"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"5222:6:108"},"referencedDeclaration":55825,"src":"5222:6:108","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"5190:54:108"},"returnParameters":{"id":72727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72733,"src":"5307:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72725,"name":"uint256","nodeType":"ElementaryTypeName","src":"5307:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5306:19:108"},"scope":72779,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":72765,"nodeType":"FunctionDefinition","src":"5376:260:108","nodes":[],"body":{"id":72764,"nodeType":"Block","src":"5484:152:108","nodes":[],"statements":[{"assignments":[72746],"declarations":[{"constant":false,"id":72746,"mutability":"mutable","name":"dispute","nameLocation":"5516:7:108","nodeType":"VariableDeclaration","scope":72764,"src":"5494:29:108","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":72745,"nodeType":"UserDefinedTypeName","pathNode":{"id":72744,"name":"DisputeStruct","nameLocations":["5494:13:108"],"nodeType":"IdentifierPath","referencedDeclaration":72439,"src":"5494:13:108"},"referencedDeclaration":72439,"src":"5494:13:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":72750,"initialValue":{"baseExpression":{"id":72747,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72445,"src":"5526:8:108","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$72439_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":72749,"indexExpression":{"id":72748,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72735,"src":"5535:10:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5526:20:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5494:52:108"},{"expression":{"id":72754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72751,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72738,"src":"5556:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":72752,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72746,"src":"5565:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$72439_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":72753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5573:6:108","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":72435,"src":"5565:14:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5556:23:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72755,"nodeType":"ExpressionStatement","src":"5556:23:108"},{"expression":{"id":72758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72756,"name":"tied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72740,"src":"5589:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":72757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5596:5:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5589:12:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72759,"nodeType":"ExpressionStatement","src":"5589:12:108"},{"expression":{"id":72762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72760,"name":"overridden","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72742,"src":"5611:10:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":72761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5624:5:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5611:18:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72763,"nodeType":"ExpressionStatement","src":"5611:18:108"}]},"baseFunctions":[72954],"functionSelector":"1c3db16d","implemented":true,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5385:13:108","parameters":{"id":72736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72735,"mutability":"mutable","name":"_disputeID","nameLocation":"5407:10:108","nodeType":"VariableDeclaration","scope":72765,"src":"5399:18:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72734,"name":"uint256","nodeType":"ElementaryTypeName","src":"5399:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5398:20:108"},"returnParameters":{"id":72743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72738,"mutability":"mutable","name":"ruling","nameLocation":"5448:6:108","nodeType":"VariableDeclaration","scope":72765,"src":"5440:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72737,"name":"uint256","nodeType":"ElementaryTypeName","src":"5440:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72740,"mutability":"mutable","name":"tied","nameLocation":"5461:4:108","nodeType":"VariableDeclaration","scope":72765,"src":"5456:9:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72739,"name":"bool","nodeType":"ElementaryTypeName","src":"5456:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":72742,"mutability":"mutable","name":"overridden","nameLocation":"5472:10:108","nodeType":"VariableDeclaration","scope":72765,"src":"5467:15:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72741,"name":"bool","nodeType":"ElementaryTypeName","src":"5467:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5439:44:108"},"scope":72779,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":72774,"nodeType":"FunctionDefinition","src":"5642:66:108","nodes":[],"body":{"id":72773,"nodeType":"Block","src":"5706:2:108","nodes":[],"statements":[]},"baseFunctions":[54968],"implemented":true,"kind":"function","modifiers":[{"id":72771,"kind":"modifierInvocation","modifierName":{"id":72770,"name":"onlyOwner","nameLocations":["5696:9:108"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"5696:9:108"},"nodeType":"ModifierInvocation","src":"5696:9:108"}],"name":"_authorizeUpgrade","nameLocation":"5651:17:108","overrides":{"id":72769,"nodeType":"OverrideSpecifier","overrides":[],"src":"5687:8:108"},"parameters":{"id":72768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72767,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72774,"src":"5669:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72766,"name":"address","nodeType":"ElementaryTypeName","src":"5669:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5668:9:108"},"returnParameters":{"id":72772,"nodeType":"ParameterList","parameters":[],"src":"5706:0:108"},"scope":72779,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":72778,"nodeType":"VariableDeclaration","src":"5714:25:108","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5734:5:108","scope":72779,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":72775,"name":"uint256","nodeType":"ElementaryTypeName","src":"5714:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72777,"length":{"hexValue":"3530","id":72776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5722:2:108","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5714:11:108","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":72402,"name":"IArbitrator","nameLocations":["604:11:108"],"nodeType":"IdentifierPath","referencedDeclaration":72961,"src":"604:11:108"},"id":72403,"nodeType":"InheritanceSpecifier","src":"604:11:108"},{"baseName":{"id":72404,"name":"UUPSUpgradeable","nameLocations":["617:15:108"],"nodeType":"IdentifierPath","referencedDeclaration":54969,"src":"617:15:108"},"id":72405,"nodeType":"InheritanceSpecifier","src":"617:15:108"},{"baseName":{"id":72406,"name":"OwnableUpgradeable","nameLocations":["634:18:108"],"nodeType":"IdentifierPath","referencedDeclaration":52200,"src":"634:18:108"},"id":72407,"nodeType":"InheritanceSpecifier","src":"634:18:108"}],"canonicalName":"SafeArbitrator","contractDependencies":[],"contractKind":"contract","documentation":{"id":72401,"nodeType":"StructuredDocumentation","src":"448:129:108","text":"@title Safe Arbitrator\n @dev This is an arbitrator middleware that will allow a safe to decide on the result of disputes."},"fullyImplemented":true,"linearizedBaseContracts":[72779,52200,52993,52449,54969,54622,54271,54281,72961],"name":"SafeArbitrator","nameLocation":"586:14:108","scope":72780,"usedErrors":[72455,72457,72459,72461]}],"license":"MIT"},"id":108} \ No newline at end of file +{"abi":[{"type":"function","name":"arbitrableTribunalSafe","inputs":[{"name":"arbitrable","type":"address","internalType":"address"}],"outputs":[{"name":"safe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_choices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"disputes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrated","type":"address","internalType":"contract IArbitrable"},{"name":"arbitratorExtraData","type":"bytes","internalType":"bytes"},{"name":"choices","type":"uint256","internalType":"uint256"},{"name":"arbitrationFee","type":"uint256","internalType":"uint256"},{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"status","type":"uint8","internalType":"enum SafeArbitrator.DisputeStatus"}],"stateMutability":"view"},{"type":"function","name":"executeRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"},{"name":"_arbitrable","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitrationFee","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ArbitrationFeeUpdated","inputs":[{"name":"_newArbitrationFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SafeArbitratorInitialized","inputs":[{"name":"_arbitrationFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SafeRegistered","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"address"},{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"DisputeAlreadySolved","inputs":[]},{"type":"error","name":"InvalidRuling","inputs":[]},{"type":"error","name":"NotEnoughArbitrationFees","inputs":[]},{"type":"error","name":"OnlySafe","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"safe","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a08060405234610031573060805261168f90816100378239608051818181610abe01528181610bb90152610dde0152f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c80631c3db16d1461104a57806326a0754c1461100e5780633659cfe614610db95780634f1ef28614610b6a57806352d1902d14610aab578063564a565d146109675780635ea7b4fc14610919578063715018a6146108ce5780637a1d3756146106f857806388d5b732146106855780638da5cb5b1461065c578063c13517e1146103a2578063d98493f614610357578063f2fde38b146102c6578063f6506db414610285578063f7434ea9146102415763fe4b84df146100d857600080fd5b3461023e57602036600319011261023e5760043581549060ff8260081c161591828093610231575b801561021a575b156101be5760ff19811660011784557fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be91602091846101ad575b5061015b60ff865460081c16610156816114a4565b6114a4565b61016433611272565b80606555604051908152a16101765780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538610141565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101075750600160ff821614610107565b50600160ff821610610100565b80fd5b503461023e57602036600319011261023e576004356001600160401b038111610281576102729036906004016111ed565b50506020606554604051908152f35b5080fd5b503461023e57608036600319011261023e576024356001600160401b038111610281576102b69036906004016111ed565b50506102c0611098565b50611504565b503461023e57602036600319011261023e576102e0611082565b6102e861121a565b6001600160a01b038116156103035761030090611272565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b503461023e57604036600319011261023e576004356001600160401b038111610281576103889036906004016111ed565b50506024356001600160a01b03811614611504575b600080fd5b50604036600319011261023e576001600160401b0390602435828111610281576103d09036906004016111ed565b9092606554341061064a57606654916040519460c08601918683108484111761063457610404926040523387523691611107565b906020850191825260043560408601523460608601528360808601528360a0860152600160401b83101561062057600183016066556104428361113e565b92909261060c57855183546001600160a01b0319166001600160a01b03919091161783555180519182116105f85761047d6001840154611173565b601f81116105b4575b50602090601f831160011461054557918060a09492600594889261053a575b50508160011b916000199060031b1c19161760018201555b604086015160028201556060860151600382015560808601516004820155019301519260028410156105265760209360ff8019835416911617905560405191817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995339280a38152f35b634e487b7160e01b83526021600452602483fd5b0151905038806104a5565b600184018652602086209190601f198416875b81811061059c575092600192859260059660a0989610610583575b505050811b0160018201556104bd565b015160001960f88460031b161c19169055388080610573565b92936020600181928786015181550195019301610558565b60018401865260208620601f840160051c8101602085106105f1575b601f830160051c820181106105e6575050610486565b8781556001016105d0565b50806105d0565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b600052604160045260246000fd5b60405163e4216b3160e01b8152600490fd5b503461023e578060031936011261023e576033546040516001600160a01b039091168152602090f35b503461023e57602036600319011261023e5761069f611082565b3380835260676020908152604080852080546001600160a01b0319166001600160a01b0390951694851790555192835290917f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f9190a280f35b503461023e57606036600319011261023e576004356001600160a01b03602480359082610723611098565b16928386526067602052806040872054168033146000146108b157506107488561113e565b50906002820154841161089f57600582019182549260ff8416600281101561088c5760011461087a576001600483019487865560ff1916179055878080806003850154335af16107966113d7565b501561084457549154879392909116803b156108405760448492604051958693849263188d362b60e11b84528b6004850152878401525af18015610835576107f7575b5050602060008051602061161a83398151915291604051908152a380f35b9194916001600160401b038211610823575060405292602060008051602061161a8339815191526107d9565b634e487b7160e01b8352604160045282fd5b6040513d88823e3d90fd5b8380fd5b60405162461bcd60e51b815260206004820152600f818601526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60405163bda17d9560e01b8152600490fd5b634e487b7160e01b8a526021600452858afd5b6040516309efd47960e41b8152600490fd5b826044916040519163d0774c9960e01b8352336004840152820152fd5b503461023e578060031936011261023e576108e761121a565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061159a8339815191528280a380f35b503461023e57602036600319011261023e577fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed602060043561095961121a565b80606555604051908152a180f35b503461023e5760208060031936011261028157600435606654811015610aa7576109909061113e565b5060018060a01b0381541691600191828101604051809487908354936109b585611173565b94858552878382169182600014610a85575050600114610a49575b50506109de925003846110c9565b600281015492610a1060038301549160c060ff60056004870154960154169560405198895288015260c08701906111ad565b936040860152606085015260808401526002811015610a355782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b86925089528189209089915b858310610a6d5750506109de935082010138806109d0565b8054838a018501528894508793909201918101610a55565b92509350506109de94915060ff191682840152151560051b82010138806109d0565b8280fd5b503461023e578060031936011261023e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b0457602060405160008051602061157a8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261023e57610b7f611082565b6024356001600160401b038111610aa75736602382011215610aa757610baf903690602481600401359101611107565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190610be9308514156112a9565b610c0660008051602061157a8339815191529482865416146112f8565b610c0e61121a565b60008051602061153a8339815191525460ff1615610c325750506103009150611347565b82919216604051936352d1902d60e01b85526020948581600481865afa879181610d86575b50610ca65760405162461bcd60e51b815260048101879052602e602482015260008051602061163a83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403610d4157610cb782611347565b6000805160206115ba8339815191528580a283835115801590610d39575b610ce1575b5050505080f35b80610d2f9460405194610cf3866110ae565b602786526000805160206115fa83398151915281870152660819985a5b195960ca1b604087015281519101845af4610d296113d7565b91611407565b5038808083610cda565b506001610cd5565b60405162461bcd60e51b815260048101849052602960248201526000805160206115da8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610db2575b610d9e81836110c9565b81010312610dae57519038610c57565b8780fd5b503d610d94565b503461023e5760208060031936011261028157610dd4611082565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610e0b308214156112a9565b610e2860008051602061157a8339815191529183835416146112f8565b610e3061121a565b604051848101929091906001600160401b03841183851017610ffa578360405286835260ff60008051602061153a8339815191525416600014610e7b57505050506103009150611347565b84939416906040516352d1902d60e01b81528681600481865afa889181610fc7575b50610eec5760405162461bcd60e51b815260048101889052602e602482015260008051602061163a83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503610f8257908591610f0084611347565b6000805160206115ba8339815191528380a2805115801590610f7b575b610f2a575b505050505080f35b610f709482916000805160206115fa83398151915260405196610f4c886110ae565b60278852870152660819985a5b195960ca1b60408701525190845af4610d296113d7565b503880808381610f22565b5081610f1d565b60405162461bcd60e51b815260048101859052602960248201526000805160206115da8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d8311610ff3575b610fdf81836110c9565b81010312610fef57519038610e9d565b8880fd5b503d610fd5565b634e487b7160e01b87526041600452602487fd5b503461023e57602036600319011261023e576020906001600160a01b039060409082611038611082565b16815260678452205416604051908152f35b503461023e57602036600319011261023e57606090600461106b813561113e565b500154906040519182528060208301526040820152f35b600435906001600160a01b038216820361039d57565b604435906001600160a01b038216820361039d57565b606081019081106001600160401b0382111761063457604052565b601f909101601f19168101906001600160401b0382119082101761063457604052565b6001600160401b03811161063457601f01601f191660200190565b929192611113826110ec565b9161112160405193846110c9565b82948184528183011161039d578281602093846000960137010152565b60665481101561115d5760666000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156111a3575b602083101461118d57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611182565b919082519283825260005b8481106111d9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111b8565b9181601f8401121561039d578235916001600160401b03831161039d576020838186019501011161039d57565b6033546001600160a01b0316330361122e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061159a833981519152600080a3565b156112b057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155a83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156112ff57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155a83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561137c5760008051602061157a83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15611402573d906113e8826110ec565b916113f660405193846110c9565b82523d6000602084013e565b606090565b91929015611469575081511561141b575090565b3b156114245790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561147c5750805190602001fd5b60405162461bcd60e51b8152602060048201529081906114a09060248301906111ad565b0390fd5b156114ab57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fdfe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e7562227645524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220a544ff3002bde851e42ac54af9e3ff316162d3db44720b82ce0f17e109df2b9f64736f6c63430008130033","sourceMap":"577:5165:107:-:0;;;;;;;1088:4:61;1080:13;;577:5165:107;;;;;;1080:13:61;577:5165:107;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b6000803560e01c80631c3db16d1461104a57806326a0754c1461100e5780633659cfe614610db95780634f1ef28614610b6a57806352d1902d14610aab578063564a565d146109675780635ea7b4fc14610919578063715018a6146108ce5780637a1d3756146106f857806388d5b732146106855780638da5cb5b1461065c578063c13517e1146103a2578063d98493f614610357578063f2fde38b146102c6578063f6506db414610285578063f7434ea9146102415763fe4b84df146100d857600080fd5b3461023e57602036600319011261023e5760043581549060ff8260081c161591828093610231575b801561021a575b156101be5760ff19811660011784557fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be91602091846101ad575b5061015b60ff865460081c16610156816114a4565b6114a4565b61016433611272565b80606555604051908152a16101765780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538610141565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101075750600160ff821614610107565b50600160ff821610610100565b80fd5b503461023e57602036600319011261023e576004356001600160401b038111610281576102729036906004016111ed565b50506020606554604051908152f35b5080fd5b503461023e57608036600319011261023e576024356001600160401b038111610281576102b69036906004016111ed565b50506102c0611098565b50611504565b503461023e57602036600319011261023e576102e0611082565b6102e861121a565b6001600160a01b038116156103035761030090611272565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b503461023e57604036600319011261023e576004356001600160401b038111610281576103889036906004016111ed565b50506024356001600160a01b03811614611504575b600080fd5b50604036600319011261023e576001600160401b0390602435828111610281576103d09036906004016111ed565b9092606554341061064a57606654916040519460c08601918683108484111761063457610404926040523387523691611107565b906020850191825260043560408601523460608601528360808601528360a0860152600160401b83101561062057600183016066556104428361113e565b92909261060c57855183546001600160a01b0319166001600160a01b03919091161783555180519182116105f85761047d6001840154611173565b601f81116105b4575b50602090601f831160011461054557918060a09492600594889261053a575b50508160011b916000199060031b1c19161760018201555b604086015160028201556060860151600382015560808601516004820155019301519260028410156105265760209360ff8019835416911617905560405191817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995339280a38152f35b634e487b7160e01b83526021600452602483fd5b0151905038806104a5565b600184018652602086209190601f198416875b81811061059c575092600192859260059660a0989610610583575b505050811b0160018201556104bd565b015160001960f88460031b161c19169055388080610573565b92936020600181928786015181550195019301610558565b60018401865260208620601f840160051c8101602085106105f1575b601f830160051c820181106105e6575050610486565b8781556001016105d0565b50806105d0565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b600052604160045260246000fd5b60405163e4216b3160e01b8152600490fd5b503461023e578060031936011261023e576033546040516001600160a01b039091168152602090f35b503461023e57602036600319011261023e5761069f611082565b3380835260676020908152604080852080546001600160a01b0319166001600160a01b0390951694851790555192835290917f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f9190a280f35b503461023e57606036600319011261023e576004356001600160a01b03602480359082610723611098565b16928386526067602052806040872054168033146000146108b157506107488561113e565b50906002820154841161089f57600582019182549260ff8416600281101561088c5760011461087a576001600483019487865560ff1916179055878080806003850154335af16107966113d7565b501561084457549154879392909116803b156108405760448492604051958693849263188d362b60e11b84528b6004850152878401525af18015610835576107f7575b5050602060008051602061161a83398151915291604051908152a380f35b9194916001600160401b038211610823575060405292602060008051602061161a8339815191526107d9565b634e487b7160e01b8352604160045282fd5b6040513d88823e3d90fd5b8380fd5b60405162461bcd60e51b815260206004820152600f818601526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60405163bda17d9560e01b8152600490fd5b634e487b7160e01b8a526021600452858afd5b6040516309efd47960e41b8152600490fd5b826044916040519163d0774c9960e01b8352336004840152820152fd5b503461023e578060031936011261023e576108e761121a565b603380546001600160a01b0319811690915581906001600160a01b031660008051602061159a8339815191528280a380f35b503461023e57602036600319011261023e577fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed602060043561095961121a565b80606555604051908152a180f35b503461023e5760208060031936011261028157600435606654811015610aa7576109909061113e565b5060018060a01b0381541691600191828101604051809487908354936109b585611173565b94858552878382169182600014610a85575050600114610a49575b50506109de925003846110c9565b600281015492610a1060038301549160c060ff60056004870154960154169560405198895288015260c08701906111ad565b936040860152606085015260808401526002811015610a355782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b86925089528189209089915b858310610a6d5750506109de935082010138806109d0565b8054838a018501528894508793909201918101610a55565b92509350506109de94915060ff191682840152151560051b82010138806109d0565b8280fd5b503461023e578060031936011261023e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b0457602060405160008051602061157a8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b50604036600319011261023e57610b7f611082565b6024356001600160401b038111610aa75736602382011215610aa757610baf903690602481600401359101611107565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190610be9308514156112a9565b610c0660008051602061157a8339815191529482865416146112f8565b610c0e61121a565b60008051602061153a8339815191525460ff1615610c325750506103009150611347565b82919216604051936352d1902d60e01b85526020948581600481865afa879181610d86575b50610ca65760405162461bcd60e51b815260048101879052602e602482015260008051602061163a83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94939403610d4157610cb782611347565b6000805160206115ba8339815191528580a283835115801590610d39575b610ce1575b5050505080f35b80610d2f9460405194610cf3866110ae565b602786526000805160206115fa83398151915281870152660819985a5b195960ca1b604087015281519101845af4610d296113d7565b91611407565b5038808083610cda565b506001610cd5565b60405162461bcd60e51b815260048101849052602960248201526000805160206115da8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610db2575b610d9e81836110c9565b81010312610dae57519038610c57565b8780fd5b503d610d94565b503461023e5760208060031936011261028157610dd4611082565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116610e0b308214156112a9565b610e2860008051602061157a8339815191529183835416146112f8565b610e3061121a565b604051848101929091906001600160401b03841183851017610ffa578360405286835260ff60008051602061153a8339815191525416600014610e7b57505050506103009150611347565b84939416906040516352d1902d60e01b81528681600481865afa889181610fc7575b50610eec5760405162461bcd60e51b815260048101889052602e602482015260008051602061163a83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503610f8257908591610f0084611347565b6000805160206115ba8339815191528380a2805115801590610f7b575b610f2a575b505050505080f35b610f709482916000805160206115fa83398151915260405196610f4c886110ae565b60278852870152660819985a5b195960ca1b60408701525190845af4610d296113d7565b503880808381610f22565b5081610f1d565b60405162461bcd60e51b815260048101859052602960248201526000805160206115da8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d8311610ff3575b610fdf81836110c9565b81010312610fef57519038610e9d565b8880fd5b503d610fd5565b634e487b7160e01b87526041600452602487fd5b503461023e57602036600319011261023e576020906001600160a01b039060409082611038611082565b16815260678452205416604051908152f35b503461023e57602036600319011261023e57606090600461106b813561113e565b500154906040519182528060208301526040820152f35b600435906001600160a01b038216820361039d57565b604435906001600160a01b038216820361039d57565b606081019081106001600160401b0382111761063457604052565b601f909101601f19168101906001600160401b0382119082101761063457604052565b6001600160401b03811161063457601f01601f191660200190565b929192611113826110ec565b9161112160405193846110c9565b82948184528183011161039d578281602093846000960137010152565b60665481101561115d5760666000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156111a3575b602083101461118d57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611182565b919082519283825260005b8481106111d9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111b8565b9181601f8401121561039d578235916001600160401b03831161039d576020838186019501011161039d57565b6033546001600160a01b0316330361122e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061159a833981519152600080a3565b156112b057565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155a83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156112ff57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061155a83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561137c5760008051602061157a83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15611402573d906113e8826110ec565b916113f660405193846110c9565b82523d6000602084013e565b606090565b91929015611469575081511561141b575090565b3b156114245790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561147c5750805190602001fd5b60405162461bcd60e51b8152602060048201529081906114a09060248301906111ad565b0390fd5b156114ab57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fdfe4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e7562227645524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220a544ff3002bde851e42ac54af9e3ff316162d3db44720b82ce0f17e109df2b9f64736f6c63430008130033","sourceMap":"577:5165:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:107;;;;;;;;;;;;;;3301:14:44;3347:34;;;;;;577:5165:107;3346:108:44;;;;577:5165:107;;;;-1:-1:-1;;577:5165:107;;;;;;2392:42;;577:5165;;;3562:65:44;;577:5165:107;;5366:69:44;577:5165:107;;;;;;5366:69:44;;;:::i;:::-;;:::i;:::-;1216:12:42;965:10:48;1216:12:42;:::i;:::-;577:5165:107;2345:32;577:5165;;;;;;2392:42;3647:99:44;;577:5165:107;;3647:99:44;577:5165:107;;;;;;;3721:14:44;577:5165:107;;;;;;3721:14:44;577:5165:107;;3562:65:44;-1:-1:-1;;577:5165:107;;;;;3562:65:44;;;577:5165:107;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;3346:108:44;3426:4;;1702:19:73;:23;3387:66:44;;3346:108;3387:66;577:5165:107;;;;;3436:17:44;3346:108;;3347:34;577:5165:107;;;;;3365:16:44;3347:34;;577:5165:107;;;;;;;;;;-1:-1:-1;;577:5165:107;;;;;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;:::i;:::-;;;;5107:14;577:5165;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:107;;;;;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;:::i;:::-;;;;;;;-1:-1:-1;;577:5165:107;;;;;;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;577:5165:107;;2423:22:42;577:5165:107;;2517:8:42;;;:::i;:::-;577:5165:107;;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;-1:-1:-1;;577:5165:107;;;;;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;:::i;:::-;-1:-1:-1;;577:5165:107;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;-1:-1:-1;577:5165:107;;-1:-1:-1;;577:5165:107;;;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;;;;;:::i;:::-;;;5107:14;577:5165;3121:9;:39;3117:103;;3241:8;577:5165;;;;;;;;;;;;;;;;;;;;;;3349:10;577:5165;;;;;:::i;:::-;3293:283;577:5165;3293:283;;577:5165;;;;;;3293:283;;577:5165;3121:9;3293:283;;;577:5165;3293:283;;;;577:5165;3293:283;;;;577:5165;;;;;;;;;;;;3241:8;577:5165;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;;577:5165:107;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3293:283;577:5165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3293:283;;577:5165;;;;;3293:283;;;577:5165;;;;;3293:283;;;577:5165;;;;;;3293:283;;577:5165;;;;;;;;;;;;;;;;;;;;;;;3349:10;;3602:51;3349:10;3602:51;;;577:5165;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;-1:-1:-1;577:5165:107;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:107;;;;;;;;;;;;;;;;;3293:283;577:5165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;577:5165:107;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;;;;;;3117:103;577:5165;;-1:-1:-1;;;3183:26:107;;577:5165;;3183:26;577:5165;;;;;;;;;;;;;1534:6:42;577:5165:107;;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:107;;;;;;:::i;:::-;2837:10;577:5165;;;2814:22;577:5165;;;;;;;;;;-1:-1:-1;;;;;;577:5165:107;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;;2837:10;;2871:33;;577:5165;2871:33;577:5165;;;;;;;;;-1:-1:-1;;577:5165:107;;;;;;-1:-1:-1;;;;;577:5165:107;;;;;;;:::i;:::-;;;;;;2075:22;577:5165;;;;;;;;2061:10;;:49;2057:176;2061:49;;;4386:20;;;;:::i;:::-;4431:15;;;;;577:5165;4421:25;;4417:78;;4508:14;;;577:5165;;;;;;;4431:15;577:5165;;;;;;4508:38;4504:98;;577:5165;;4612:14;;577:5165;;;;;;;;;;4744:22;;;;577:5165;4744:22;;577:5165;2061:10;4712:59;;;;:::i;:::-;;577:5165;;;;;;;;;;;;4826:51;;;;;577:5165;;;;;689:66:57;;;;;;;;4826:51:107;;;577:5165;4826:51;;577:5165;;;;;4826:51;;;;;;;;2057:176;577:5165;;;-1:-1:-1;;;;;;;;;;;577:5165:107;;;;;;4892:53;577:5165;;4826:51;577:5165;;;-1:-1:-1;;;;;577:5165:107;;;;-1:-1:-1;577:5165:107;;;;-1:-1:-1;;;;;;;;;;;4826:51:107;;577:5165;-1:-1:-1;;;577:5165:107;;;;;;;4826:51;577:5165;;689:66:57;577:5165:107;;689:66:57;;;;4826:51:107;577:5165;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;4504:98;577:5165;;-1:-1:-1;;;4569:22:107;;577:5165;;4569:22;577:5165;-1:-1:-1;;;577:5165:107;;;;;;;;4417:78;577:5165;;-1:-1:-1;;;4469:15:107;;577:5165;;4469:15;2057:176;577:5165;;;;;2165:57;;;;;;2061:10;577:5165;2165:57;;577:5165;;;;2165:57;577:5165;;;;;;;;;;;;;1324:62:42;;:::i;:::-;2779:6;577:5165:107;;-1:-1:-1;;;;;;577:5165:107;;;;;;;-1:-1:-1;;;;;577:5165:107;-1:-1:-1;;;;;;;;;;;577:5165:107;;2827:40:42;577:5165:107;;;;;;;;;-1:-1:-1;;577:5165:107;;;;2707:38;577:5165;;;1324:62:42;;:::i;:::-;577:5165:107;2660:32;577:5165;;;;;;2707:38;577:5165;;;;;;;;;;;;;;;;;;1642:31;577:5165;1642:31;;;;;;;;:::i;:::-;577:5165;;;;;;;;;;;1642:31;;;;577:5165;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1642:31;;;577:5165;1642:31;577:5165;;1642:31;;577:5165;1642:31;577:5165;;1642:31;577:5165;1642:31;;577:5165;1642:31;;577:5165;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1642:31;577:5165;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;577:5165:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1642:31;;;;577:5165;;;;;;;;;;;;;2089:6:61;-1:-1:-1;;;;;577:5165:107;2080:4:61;2072:23;577:5165:107;;;;;-1:-1:-1;;;;;;;;;;;577:5165:107;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;;-1:-1:-1;577:5165:107;;-1:-1:-1;;577:5165:107;;;;;;:::i;:::-;;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;577:5165:107;;;;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;577:5165:107;;;;;1727:30:61;1719:87;:::i;:::-;1324:62:42;;:::i;:::-;-1:-1:-1;;;;;;;;;;;689:66:57;577:5165:107;;;;;2993:17:57;;;;;;:::i;2906:504::-;577:5165:107;;;;;;689:66:57;;;;3046:52;;;;;;577:5165:107;3046:52:57;;;;;;;;;2906:504;-1:-1:-1;3042:291:57;;577:5165:107;;-1:-1:-1;;;3262:56:57;;577:5165:107;3262:56:57;;689:66;;;;577:5165:107;689:66:57;;577:5165:107;-1:-1:-1;;;;;;;;;;;577:5165:107;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:57;;;577:5165:107;;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;577:5165:107;;2204:112:57;577:5165:107;7307:69:73;577:5165:107;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;577:5165:107;;;;-1:-1:-1;;;577:5165:107;;;;7265:25:73;;;;;;;;;:::i;:::-;7307:69;;:::i;:::-;;2204:112:57;;;;;;2208:28;;577:5165:107;2208:28:57;;689:66;577:5165:107;;-1:-1:-1;;;689:66:57;;577:5165:107;689:66:57;;;;;;577:5165:107;689:66:57;;577:5165:107;-1:-1:-1;;;;;;;;;;;577:5165:107;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;577:5165:107;;;3046:52:57;;;;;577:5165:107;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1654:6:61;577:5165:107;;1629:80:61;1645:4;1637:23;;;1629:80;:::i;:::-;1719:87;-1:-1:-1;;;;;;;;;;;577:5165:107;;;;;1727:30:61;1719:87;:::i;:::-;1324:62:42;;:::i;:::-;577:5165:107;;;;;;;;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;689:66:57;577:5165:107;2906:504:57;577:5165:107;;;2993:17:57;;;;;;;;:::i;2906:504::-;577:5165:107;;;;;;;689:66:57;;;3046:52;;;;577:5165:107;3046:52:57;;;;;;;;;2906:504;-1:-1:-1;3042:291:57;;577:5165:107;;-1:-1:-1;;;3262:56:57;;577:5165:107;3262:56:57;;689:66;;;;;;;577:5165:107;-1:-1:-1;;;;;;;;;;;577:5165:107;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;3262:56;3042:291;3148:28;;;;689:66;;3042:291;;;1856:17;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1889:27:57;;;577:5165:107;;2208:15:57;;;:28;;;3042:291;2204:112;;3042:291;2906:504;;;;;577:5165:107;;2204:112:57;7307:69:73;577:5165:107;;;-1:-1:-1;;;;;;;;;;;577:5165:107;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;577:5165:107;;;;7265:25:73;;;;;;;:::i;7307:69::-;;2204:112:57;;;;;;;2208:28;;;;;689:66;577:5165:107;;-1:-1:-1;;;689:66:57;;577:5165:107;689:66:57;;;;;;;;;577:5165:107;-1:-1:-1;;;;;;;;;;;577:5165:107;;;689:66:57;-1:-1:-1;;;689:66:57;;;;;;;3046:52;;;;;;;;;;;;;;;;;:::i;:::-;;;689:66;;;;;3046:52;;;;689:66;577:5165:107;;;3046:52:57;;;;;577:5165:107;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:107;;;;;;-1:-1:-1;;;;;577:5165:107;;;;;;:::i;:::-;;;;1728:73;577:5165;;;;;;;;;;;;;;;;;;-1:-1:-1;;577:5165:107;;;;;;;5526:20;577:5165;;5526:20;:::i;:::-;5565:14;;577:5165;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;577:5165:107;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;577:5165:107;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;577:5165:107;;;;;;;:::o;:::-;;;;;-1:-1:-1;;577:5165:107;;;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;577:5165:107;;;;;;-1:-1:-1;;577:5165:107;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;577:5165:107;;;;;;:::o;:::-;5526:8;577:5165;;;;;;5526:8;-1:-1:-1;577:5165:107;;;-1:-1:-1;577:5165:107;;;;;-1:-1:-1;577:5165:107;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;577:5165:107;;;;;;;;;;;;;;;:::o;1620:130:42:-;1534:6;577:5165:107;-1:-1:-1;;;;;577:5165:107;965:10:48;1683:23:42;577:5165:107;;1620:130:42:o;577:5165:107:-;;;;689:66:57;;;577:5165:107;;;;;;;;;;;;;;;;;;2687:187:42;2779:6;577:5165:107;;-1:-1:-1;;;;;577:5165:107;;;-1:-1:-1;;;;;;577:5165:107;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;2827:40:42;2687:187::o;577:5165:107:-;;;;:::o;:::-;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;577:5165:107;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;577:5165:107;;;;-1:-1:-1;;;577:5165:107;;;;;;;1406:259:57;1702:19:73;;:23;577:5165:107;;-1:-1:-1;;;;;;;;;;;577:5165:107;;-1:-1:-1;;;;;;577:5165:107;-1:-1:-1;;;;;577:5165:107;;;;;;;;;1406:259:57:o;577:5165:107:-;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;577:5165:107;;;;:::o;:::-;;;:::o;7671:628:73:-;;;;7875:418;;;577:5165:107;;;7906:22:73;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;577:5165:107;;8201:17:73;:::o;577:5165:107:-;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;;;;;;7875:418:73;577:5165:107;;;;-1:-1:-1;8980:21:73;:17;;9152:142;;;;;;;8976:379;577:5165:107;;-1:-1:-1;;;9324:20:73;;577:5165:107;9324:20:73;;;577:5165:107;;;;;;;;;;;:::i;:::-;9324:20:73;;;577:5165:107;;;;:::o;:::-;;;-1:-1:-1;;;577:5165:107;;;;;;;;;;;;;;;;;-1:-1:-1;;;577:5165:107;;;;;;;3698:241;577:5165;;-1:-1:-1;;;3909:23:107;;577:5165;3909:23;;;577:5165;;;;;;-1:-1:-1;;;577:5165:107;;;;;;3909:23","linkReferences":{},"immutableReferences":{"54869":[{"start":2750,"length":32},{"start":3001,"length":32},{"start":3550,"length":32}]}},"methodIdentifiers":{"arbitrableTribunalSafe(address)":"26a0754c","arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","disputes(uint256)":"564a565d","executeRuling(uint256,uint256,address)":"7a1d3756","initialize(uint256)":"fe4b84df","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registerSafe(address)":"88d5b732","renounceOwnership()":"715018a6","setArbitrationFee(uint256)":"5ea7b4fc","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DisputeAlreadySolved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRuling\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughArbitrationFees\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"name\":\"OnlySafe\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newArbitrationFee\",\"type\":\"uint256\"}],\"name\":\"ArbitrationFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"SafeArbitratorInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"SafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"arbitrable\",\"type\":\"address\"}],\"name\":\"arbitrableTribunalSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_choices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputes\",\"outputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"arbitrated\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"arbitratorExtraData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"choices\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrationFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"enum SafeArbitrator.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"executeRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"setArbitrationFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an arbitrator middleware that will allow a safe to decide on the result of disputes.\",\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"fee\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"_0\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"_0\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"executeRuling(uint256,uint256,address)\":{\"details\":\"Give a ruling to a dispute.\",\"params\":{\"_arbitrable\":\"Address of the arbitrable that the safe rules for\\\".\",\"_disputeID\":\"ID of the dispute to rule.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \\\"Refused to rule\\\".\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setArbitrationFee(uint256)\":{\"details\":\"Set the arbitration fee. Only callable by the owner.\",\"params\":{\"_arbitrationFee\":\"Amount to be paid for arbitration.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"Safe Arbitrator\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/SafeArbitrator.sol\":\"SafeArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d\",\"dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"DisputeAlreadySolved"},{"inputs":[],"type":"error","name":"InvalidRuling"},{"inputs":[],"type":"error","name":"NotEnoughArbitrationFees"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"safe","type":"address"}],"type":"error","name":"OnlySafe"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newArbitrationFee","type":"uint256","indexed":false}],"type":"event","name":"ArbitrationFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256","indexed":false}],"type":"event","name":"SafeArbitratorInitialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_arbitrable","type":"address","indexed":true},{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"SafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"arbitrable","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrableTribunalSafe","outputs":[{"internalType":"address","name":"safe","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_choices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputes","outputs":[{"internalType":"contract IArbitrable","name":"arbitrated","type":"address"},{"internalType":"bytes","name":"arbitratorExtraData","type":"bytes"},{"internalType":"uint256","name":"choices","type":"uint256"},{"internalType":"uint256","name":"arbitrationFee","type":"uint256"},{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"enum SafeArbitrator.DisputeStatus","name":"status","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"},{"internalType":"address","name":"_arbitrable","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"executeRuling"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setArbitrationFee"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"fee":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"_0":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"_0":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"executeRuling(uint256,uint256,address)":{"details":"Give a ruling to a dispute.","params":{"_arbitrable":"Address of the arbitrable that the safe rules for\".","_disputeID":"ID of the dispute to rule.","_ruling":"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\"."}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setArbitrationFee(uint256)":{"details":"Set the arbitration fee. Only callable by the owner.","params":{"_arbitrationFee":"Amount to be paid for arbitration."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/SafeArbitrator.sol":"SafeArbitrator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07","urls":["bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d","dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52287,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52290,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":52992,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52079,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52199,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":74245,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"101","type":"t_uint256"},{"astId":74249,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"disputes","offset":0,"slot":"102","type":"t_array(t_struct(DisputeStruct)74243_storage)dyn_storage"},{"astId":74253,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrableTribunalSafe","offset":0,"slot":"103","type":"t_mapping(t_address,t_address)"},{"astId":74582,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(DisputeStruct)74243_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct SafeArbitrator.DisputeStruct[]","numberOfBytes":"32","base":"t_struct(DisputeStruct)74243_storage"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(IArbitrable)74661":{"encoding":"inplace","label":"contract IArbitrable","numberOfBytes":"20"},"t_enum(DisputeStatus)74228":{"encoding":"inplace","label":"enum SafeArbitrator.DisputeStatus","numberOfBytes":"1"},"t_mapping(t_address,t_address)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address)","numberOfBytes":"32","value":"t_address"},"t_struct(DisputeStruct)74243_storage":{"encoding":"inplace","label":"struct SafeArbitrator.DisputeStruct","numberOfBytes":"192","members":[{"astId":74231,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrated","offset":0,"slot":"0","type":"t_contract(IArbitrable)74661"},{"astId":74233,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitratorExtraData","offset":0,"slot":"1","type":"t_bytes_storage"},{"astId":74235,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"choices","offset":0,"slot":"2","type":"t_uint256"},{"astId":74237,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"3","type":"t_uint256"},{"astId":74239,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"ruling","offset":0,"slot":"4","type":"t_uint256"},{"astId":74242,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"status","offset":0,"slot":"5","type":"t_enum(DisputeStatus)74228"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/SafeArbitrator.sol","id":74584,"exportedSymbols":{"IArbitrable":[74661],"IArbitrator":[74765],"IERC20":[55825],"OwnableUpgradeable":[52200],"SafeArbitrator":[74583],"UUPSUpgradeable":[54969]},"nodeType":"SourceUnit","src":"33:5710:107","nodes":[{"id":74194,"nodeType":"PragmaDirective","src":"33:24:107","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74196,"nodeType":"ImportDirective","src":"59:70:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":74584,"sourceUnit":55826,"symbolAliases":[{"foreign":{"id":74195,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55825,"src":"67:6:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74198,"nodeType":"ImportDirective","src":"130:88:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":74584,"sourceUnit":54970,"symbolAliases":[{"foreign":{"id":74197,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54969,"src":"138:15:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74200,"nodeType":"ImportDirective","src":"219:110:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":74584,"sourceUnit":52201,"symbolAliases":[{"foreign":{"id":74199,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"227:18:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74202,"nodeType":"ImportDirective","src":"331:57:107","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":74584,"sourceUnit":74662,"symbolAliases":[{"foreign":{"id":74201,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"339:11:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74204,"nodeType":"ImportDirective","src":"389:57:107","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":74584,"sourceUnit":74766,"symbolAliases":[{"foreign":{"id":74203,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74765,"src":"397:11:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74583,"nodeType":"ContractDefinition","src":"577:5165:107","nodes":[{"id":74215,"nodeType":"EventDefinition","src":"659:56:107","nodes":[],"anonymous":false,"eventSelector":"b1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed","name":"ArbitrationFeeUpdated","nameLocation":"665:21:107","parameters":{"id":74214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74213,"indexed":false,"mutability":"mutable","name":"_newArbitrationFee","nameLocation":"695:18:107","nodeType":"VariableDeclaration","scope":74215,"src":"687:26:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74212,"name":"uint256","nodeType":"ElementaryTypeName","src":"687:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"686:28:107"}},{"id":74221,"nodeType":"EventDefinition","src":"720:65:107","nodes":[],"anonymous":false,"eventSelector":"2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f","name":"SafeRegistered","nameLocation":"726:14:107","parameters":{"id":74220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74217,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"757:11:107","nodeType":"VariableDeclaration","scope":74221,"src":"741:27:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74216,"name":"address","nodeType":"ElementaryTypeName","src":"741:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74219,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"778:5:107","nodeType":"VariableDeclaration","scope":74221,"src":"770:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74218,"name":"address","nodeType":"ElementaryTypeName","src":"770:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"740:44:107"}},{"id":74225,"nodeType":"EventDefinition","src":"790:57:107","nodes":[],"anonymous":false,"eventSelector":"c05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be","name":"SafeArbitratorInitialized","nameLocation":"796:25:107","parameters":{"id":74224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74223,"indexed":false,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"830:15:107","nodeType":"VariableDeclaration","scope":74225,"src":"822:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74222,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:25:107"}},{"id":74228,"nodeType":"EnumDefinition","src":"853:144:107","nodes":[],"canonicalName":"SafeArbitrator.DisputeStatus","members":[{"id":74226,"name":"Waiting","nameLocation":"882:7:107","nodeType":"EnumValue","src":"882:7:107"},{"id":74227,"name":"Solved","nameLocation":"956:6:107","nodeType":"EnumValue","src":"956:6:107"}],"name":"DisputeStatus","nameLocation":"858:13:107"},{"id":74243,"nodeType":"StructDefinition","src":"1003:509:107","nodes":[],"canonicalName":"SafeArbitrator.DisputeStruct","members":[{"constant":false,"id":74231,"mutability":"mutable","name":"arbitrated","nameLocation":"1046:10:107","nodeType":"VariableDeclaration","scope":74243,"src":"1034:22:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"},"typeName":{"id":74230,"nodeType":"UserDefinedTypeName","pathNode":{"id":74229,"name":"IArbitrable","nameLocations":["1034:11:107"],"nodeType":"IdentifierPath","referencedDeclaration":74661,"src":"1034:11:107"},"referencedDeclaration":74661,"src":"1034:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":74233,"mutability":"mutable","name":"arbitratorExtraData","nameLocation":"1115:19:107","nodeType":"VariableDeclaration","scope":74243,"src":"1109:25:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":74232,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:107","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74235,"mutability":"mutable","name":"choices","nameLocation":"1186:7:107","nodeType":"VariableDeclaration","scope":74243,"src":"1178:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74234,"name":"uint256","nodeType":"ElementaryTypeName","src":"1178:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74237,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1268:14:107","nodeType":"VariableDeclaration","scope":74243,"src":"1260:22:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74236,"name":"uint256","nodeType":"ElementaryTypeName","src":"1260:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74239,"mutability":"mutable","name":"ruling","nameLocation":"1398:6:107","nodeType":"VariableDeclaration","scope":74243,"src":"1390:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74238,"name":"uint256","nodeType":"ElementaryTypeName","src":"1390:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74242,"mutability":"mutable","name":"status","nameLocation":"1463:6:107","nodeType":"VariableDeclaration","scope":74243,"src":"1449:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":74241,"nodeType":"UserDefinedTypeName","pathNode":{"id":74240,"name":"DisputeStatus","nameLocations":["1449:13:107"],"nodeType":"IdentifierPath","referencedDeclaration":74228,"src":"1449:13:107"},"referencedDeclaration":74228,"src":"1449:13:107","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"name":"DisputeStruct","nameLocation":"1010:13:107","scope":74583,"visibility":"public"},{"id":74245,"nodeType":"VariableDeclaration","src":"1518:30:107","nodes":[],"constant":false,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1534:14:107","scope":74583,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74244,"name":"uint256","nodeType":"ElementaryTypeName","src":"1518:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":74249,"nodeType":"VariableDeclaration","src":"1642:31:107","nodes":[],"constant":false,"functionSelector":"564a565d","mutability":"mutable","name":"disputes","nameLocation":"1665:8:107","scope":74583,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$74243_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct[]"},"typeName":{"baseType":{"id":74247,"nodeType":"UserDefinedTypeName","pathNode":{"id":74246,"name":"DisputeStruct","nameLocations":["1642:13:107"],"nodeType":"IdentifierPath","referencedDeclaration":74243,"src":"1642:13:107"},"referencedDeclaration":74243,"src":"1642:13:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"id":74248,"nodeType":"ArrayTypeName","src":"1642:15:107","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$74243_storage_$dyn_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct[]"}},"visibility":"public"},{"id":74253,"nodeType":"VariableDeclaration","src":"1728:73:107","nodes":[],"constant":false,"functionSelector":"26a0754c","mutability":"mutable","name":"arbitrableTribunalSafe","nameLocation":"1779:22:107","scope":74583,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":74252,"keyName":"arbitrable","keyNameLocation":"1744:10:107","keyType":{"id":74250,"name":"address","nodeType":"ElementaryTypeName","src":"1736:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1728:43:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"safe","valueNameLocation":"1766:4:107","valueType":{"id":74251,"name":"address","nodeType":"ElementaryTypeName","src":"1758:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":74259,"nodeType":"ErrorDefinition","src":"1858:45:107","nodes":[],"errorSelector":"d0774c99","name":"OnlySafe","nameLocation":"1864:8:107","parameters":{"id":74258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74255,"mutability":"mutable","name":"sender","nameLocation":"1881:6:107","nodeType":"VariableDeclaration","scope":74259,"src":"1873:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74254,"name":"address","nodeType":"ElementaryTypeName","src":"1873:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74257,"mutability":"mutable","name":"safe","nameLocation":"1897:4:107","nodeType":"VariableDeclaration","scope":74259,"src":"1889:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74256,"name":"address","nodeType":"ElementaryTypeName","src":"1889:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1872:30:107"}},{"id":74261,"nodeType":"ErrorDefinition","src":"1908:33:107","nodes":[],"errorSelector":"e4216b31","name":"NotEnoughArbitrationFees","nameLocation":"1914:24:107","parameters":{"id":74260,"nodeType":"ParameterList","parameters":[],"src":"1938:2:107"}},{"id":74263,"nodeType":"ErrorDefinition","src":"1946:22:107","nodes":[],"errorSelector":"9efd4790","name":"InvalidRuling","nameLocation":"1952:13:107","parameters":{"id":74262,"nodeType":"ParameterList","parameters":[],"src":"1965:2:107"}},{"id":74265,"nodeType":"ErrorDefinition","src":"1973:29:107","nodes":[],"errorSelector":"bda17d95","name":"DisputeAlreadySolved","nameLocation":"1979:20:107","parameters":{"id":74264,"nodeType":"ParameterList","parameters":[],"src":"1999:2:107"}},{"id":74288,"nodeType":"ModifierDefinition","src":"2008:231:107","nodes":[],"body":{"id":74287,"nodeType":"Block","src":"2047:192:107","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74269,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2061:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2065:6:107","memberName":"sender","nodeType":"MemberAccess","src":"2061:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":74271,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74253,"src":"2075:22:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":74273,"indexExpression":{"id":74272,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74267,"src":"2098:11:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2075:35:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2061:49:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74285,"nodeType":"Block","src":"2144:89:107","statements":[{"errorCall":{"arguments":[{"expression":{"id":74278,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2174:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2178:6:107","memberName":"sender","nodeType":"MemberAccess","src":"2174:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":74280,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74253,"src":"2186:22:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":74282,"indexExpression":{"id":74281,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74267,"src":"2209:11:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2186:35:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74277,"name":"OnlySafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74259,"src":"2165:8:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":74283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2165:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74284,"nodeType":"RevertStatement","src":"2158:64:107"}]},"id":74286,"nodeType":"IfStatement","src":"2057:176:107","trueBody":{"id":74276,"nodeType":"Block","src":"2112:26:107","statements":[{"id":74275,"nodeType":"PlaceholderStatement","src":"2126:1:107"}]}}]},"name":"onlySafe","nameLocation":"2017:8:107","parameters":{"id":74268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74267,"mutability":"mutable","name":"_arbitrable","nameLocation":"2034:11:107","nodeType":"VariableDeclaration","scope":74288,"src":"2026:19:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74266,"name":"address","nodeType":"ElementaryTypeName","src":"2026:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2025:21:107"},"virtual":false,"visibility":"internal"},{"id":74307,"nodeType":"FunctionDefinition","src":"2245:196:107","nodes":[],"body":{"id":74306,"nodeType":"Block","src":"2309:132:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":74295,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52095,"src":"2319:14:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":74296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2319:16:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74297,"nodeType":"ExpressionStatement","src":"2319:16:107"},{"expression":{"id":74300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74298,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"2345:14:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74299,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74290,"src":"2362:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2345:32:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74301,"nodeType":"ExpressionStatement","src":"2345:32:107"},{"eventCall":{"arguments":[{"id":74303,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74290,"src":"2418:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74302,"name":"SafeArbitratorInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74225,"src":"2392:25:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":74304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2392:42:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74305,"nodeType":"EmitStatement","src":"2387:47:107"}]},"functionSelector":"fe4b84df","implemented":true,"kind":"function","modifiers":[{"id":74293,"kind":"modifierInvocation","modifierName":{"id":74292,"name":"initializer","nameLocations":["2297:11:107"],"nodeType":"IdentifierPath","referencedDeclaration":52351,"src":"2297:11:107"},"nodeType":"ModifierInvocation","src":"2297:11:107"}],"name":"initialize","nameLocation":"2254:10:107","parameters":{"id":74291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74290,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2273:15:107","nodeType":"VariableDeclaration","scope":74307,"src":"2265:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74289,"name":"uint256","nodeType":"ElementaryTypeName","src":"2265:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2264:25:107"},"returnParameters":{"id":74294,"nodeType":"ParameterList","parameters":[],"src":"2309:0:107"},"scope":74583,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":74324,"nodeType":"FunctionDefinition","src":"2579:173:107","nodes":[],"body":{"id":74323,"nodeType":"Block","src":"2650:102:107","nodes":[],"statements":[{"expression":{"id":74317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74315,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"2660:14:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74316,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74310,"src":"2677:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2660:32:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74318,"nodeType":"ExpressionStatement","src":"2660:32:107"},{"eventCall":{"arguments":[{"id":74320,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74310,"src":"2729:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74319,"name":"ArbitrationFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74215,"src":"2707:21:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":74321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2707:38:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74322,"nodeType":"EmitStatement","src":"2702:43:107"}]},"documentation":{"id":74308,"nodeType":"StructuredDocumentation","src":"2447:127:107","text":"@dev Set the arbitration fee. Only callable by the owner.\n @param _arbitrationFee Amount to be paid for arbitration."},"functionSelector":"5ea7b4fc","implemented":true,"kind":"function","modifiers":[{"id":74313,"kind":"modifierInvocation","modifierName":{"id":74312,"name":"onlyOwner","nameLocations":["2640:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"2640:9:107"},"nodeType":"ModifierInvocation","src":"2640:9:107"}],"name":"setArbitrationFee","nameLocation":"2588:17:107","parameters":{"id":74311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74310,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2614:15:107","nodeType":"VariableDeclaration","scope":74324,"src":"2606:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74309,"name":"uint256","nodeType":"ElementaryTypeName","src":"2606:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2605:25:107"},"returnParameters":{"id":74314,"nodeType":"ParameterList","parameters":[],"src":"2650:0:107"},"scope":74583,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74343,"nodeType":"FunctionDefinition","src":"2758:153:107","nodes":[],"body":{"id":74342,"nodeType":"Block","src":"2804:107:107","nodes":[],"statements":[{"expression":{"id":74334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74329,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74253,"src":"2814:22:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":74332,"indexExpression":{"expression":{"id":74330,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2837:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2841:6:107","memberName":"sender","nodeType":"MemberAccess","src":"2837:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2814:34:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74333,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74326,"src":"2851:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2814:42:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74335,"nodeType":"ExpressionStatement","src":"2814:42:107"},{"eventCall":{"arguments":[{"expression":{"id":74337,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2886:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2890:6:107","memberName":"sender","nodeType":"MemberAccess","src":"2886:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74339,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74326,"src":"2898:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74336,"name":"SafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74221,"src":"2871:14:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":74340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2871:33:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74341,"nodeType":"EmitStatement","src":"2866:38:107"}]},"baseFunctions":[74764],"functionSelector":"88d5b732","implemented":true,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"2767:12:107","parameters":{"id":74327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74326,"mutability":"mutable","name":"_safe","nameLocation":"2788:5:107","nodeType":"VariableDeclaration","scope":74343,"src":"2780:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74325,"name":"address","nodeType":"ElementaryTypeName","src":"2780:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2779:15:107"},"returnParameters":{"id":74328,"nodeType":"ParameterList","parameters":[],"src":"2804:0:107"},"scope":74583,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74397,"nodeType":"FunctionDefinition","src":"2949:711:107","nodes":[],"body":{"id":74396,"nodeType":"Block","src":"3107:553:107","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74354,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3121:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3125:5:107","memberName":"value","nodeType":"MemberAccess","src":"3121:9:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"id":74357,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74348,"src":"3149:10:107","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":74356,"name":"arbitrationCost","nodeType":"Identifier","overloadedDeclarations":[74520,74537],"referencedDeclaration":74520,"src":"3133:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_calldata_ptr_$returns$_t_uint256_$","typeString":"function (bytes calldata) view returns (uint256)"}},"id":74358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3133:27:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3121:39:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74364,"nodeType":"IfStatement","src":"3117:103:107","trueBody":{"id":74363,"nodeType":"Block","src":"3162:58:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74360,"name":"NotEnoughArbitrationFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74261,"src":"3183:24:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3183:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74362,"nodeType":"RevertStatement","src":"3176:33:107"}]}},{"expression":{"id":74368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74365,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74352,"src":"3229:9:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74366,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74249,"src":"3241:8:107","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$74243_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":74367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3250:6:107","memberName":"length","nodeType":"MemberAccess","src":"3241:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3229:27:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74369,"nodeType":"ExpressionStatement","src":"3229:27:107"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":74375,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3349:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3353:6:107","memberName":"sender","nodeType":"MemberAccess","src":"3349:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74374,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"3337:11:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$74661_$","typeString":"type(contract IArbitrable)"}},"id":74377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3337:23:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"}},{"id":74378,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74348,"src":"3399:10:107","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":74379,"name":"_choices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74346,"src":"3436:8:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74380,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3478:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3482:5:107","memberName":"value","nodeType":"MemberAccess","src":"3478:9:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":74382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3513:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":74383,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74228,"src":"3540:13:107","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$74228_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":74384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3554:7:107","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":74226,"src":"3540:21:107","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":74373,"name":"DisputeStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74243,"src":"3293:13:107","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_DisputeStruct_$74243_storage_ptr_$","typeString":"type(struct SafeArbitrator.DisputeStruct storage pointer)"}},"id":74385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3325:10:107","3378:19:107","3427:7:107","3462:14:107","3505:6:107","3532:6:107"],"names":["arbitrated","arbitratorExtraData","choices","arbitrationFee","ruling","status"],"nodeType":"FunctionCall","src":"3293:283:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_DisputeStruct_$74243_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}],"expression":{"id":74370,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74249,"src":"3266:8:107","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$74243_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":74372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3275:4:107","memberName":"push","nodeType":"MemberAccess","src":"3266:13:107","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_DisputeStruct_$74243_storage_$dyn_storage_ptr_$_t_struct$_DisputeStruct_$74243_storage_$returns$__$attached_to$_t_array$_t_struct$_DisputeStruct_$74243_storage_$dyn_storage_ptr_$","typeString":"function (struct SafeArbitrator.DisputeStruct storage ref[] storage pointer,struct SafeArbitrator.DisputeStruct storage ref)"}},"id":74386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3266:320:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74387,"nodeType":"ExpressionStatement","src":"3266:320:107"},{"eventCall":{"arguments":[{"id":74389,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74352,"src":"3618:9:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":74391,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3641:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3645:6:107","memberName":"sender","nodeType":"MemberAccess","src":"3641:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74390,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"3629:11:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$74661_$","typeString":"type(contract IArbitrable)"}},"id":74393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3629:23:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"}],"id":74388,"name":"DisputeCreation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74674,"src":"3602:15:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrable_$74661_$returns$__$","typeString":"function (uint256,contract IArbitrable)"}},"id":74394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:51:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74395,"nodeType":"EmitStatement","src":"3597:56:107"}]},"baseFunctions":[74712],"documentation":{"id":74344,"nodeType":"StructuredDocumentation","src":"2917:27:107","text":"@inheritdoc IArbitrator"},"functionSelector":"c13517e1","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2958:13:107","overrides":{"id":74350,"nodeType":"OverrideSpecifier","overrides":[],"src":"3058:8:107"},"parameters":{"id":74349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74346,"mutability":"mutable","name":"_choices","nameLocation":"2980:8:107","nodeType":"VariableDeclaration","scope":74397,"src":"2972:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74345,"name":"uint256","nodeType":"ElementaryTypeName","src":"2972:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74348,"mutability":"mutable","name":"_extraData","nameLocation":"3005:10:107","nodeType":"VariableDeclaration","scope":74397,"src":"2990:25:107","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74347,"name":"bytes","nodeType":"ElementaryTypeName","src":"2990:5:107","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2971:45:107"},"returnParameters":{"id":74353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74352,"mutability":"mutable","name":"disputeID","nameLocation":"3092:9:107","nodeType":"VariableDeclaration","scope":74397,"src":"3084:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74351,"name":"uint256","nodeType":"ElementaryTypeName","src":"3084:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:19:107"},"scope":74583,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":74418,"nodeType":"FunctionDefinition","src":"3698:241:107","nodes":[],"body":{"id":74417,"nodeType":"Block","src":"3899:40:107","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":74414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3916:15:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":74413,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3909:6:107","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":74415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3909:23:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74416,"nodeType":"ExpressionStatement","src":"3909:23:107"}]},"baseFunctions":[74727],"documentation":{"id":74398,"nodeType":"StructuredDocumentation","src":"3666:27:107","text":"@inheritdoc IArbitrator"},"functionSelector":"f6506db4","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3707:13:107","overrides":{"id":74409,"nodeType":"OverrideSpecifier","overrides":[],"src":"3872:8:107"},"parameters":{"id":74408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74400,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74418,"src":"3730:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74399,"name":"uint256","nodeType":"ElementaryTypeName","src":"3730:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74402,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74418,"src":"3760:14:107","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74401,"name":"bytes","nodeType":"ElementaryTypeName","src":"3760:5:107","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74418,"src":"3799:6:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":74404,"nodeType":"UserDefinedTypeName","pathNode":{"id":74403,"name":"IERC20","nameLocations":["3799:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3799:6:107"},"referencedDeclaration":55825,"src":"3799:6:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":74407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74418,"src":"3829:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74406,"name":"uint256","nodeType":"ElementaryTypeName","src":"3829:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3720:137:107"},"returnParameters":{"id":74412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74418,"src":"3890:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74410,"name":"uint256","nodeType":"ElementaryTypeName","src":"3890:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3889:9:107"},"scope":74583,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":74508,"nodeType":"FunctionDefinition","src":"4232:720:107","nodes":[],"body":{"id":74507,"nodeType":"Block","src":"4344:608:107","nodes":[],"statements":[{"assignments":[74433],"declarations":[{"constant":false,"id":74433,"mutability":"mutable","name":"dispute","nameLocation":"4376:7:107","nodeType":"VariableDeclaration","scope":74507,"src":"4354:29:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":74432,"nodeType":"UserDefinedTypeName","pathNode":{"id":74431,"name":"DisputeStruct","nameLocations":["4354:13:107"],"nodeType":"IdentifierPath","referencedDeclaration":74243,"src":"4354:13:107"},"referencedDeclaration":74243,"src":"4354:13:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":74437,"initialValue":{"baseExpression":{"id":74434,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74249,"src":"4386:8:107","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$74243_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":74436,"indexExpression":{"id":74435,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74421,"src":"4395:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:20:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4354:52:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74438,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74423,"src":"4421:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":74439,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74433,"src":"4431:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":74440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4439:7:107","memberName":"choices","nodeType":"MemberAccess","referencedDeclaration":74235,"src":"4431:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4421:25:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74446,"nodeType":"IfStatement","src":"4417:78:107","trueBody":{"id":74445,"nodeType":"Block","src":"4448:47:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74442,"name":"InvalidRuling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74263,"src":"4469:13:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4469:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74444,"nodeType":"RevertStatement","src":"4462:22:107"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"},"id":74451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74447,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74433,"src":"4508:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":74448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4516:6:107","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":74242,"src":"4508:14:107","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":74449,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74228,"src":"4526:13:107","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$74228_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":74450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4540:6:107","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":74227,"src":"4526:20:107","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4508:38:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74456,"nodeType":"IfStatement","src":"4504:98:107","trueBody":{"id":74455,"nodeType":"Block","src":"4548:54:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74452,"name":"DisputeAlreadySolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74265,"src":"4569:20:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4569:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74454,"nodeType":"RevertStatement","src":"4562:29:107"}]}},{"expression":{"id":74461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74457,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74433,"src":"4612:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":74459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4620:6:107","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":74239,"src":"4612:14:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74460,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74423,"src":"4629:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4612:24:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74462,"nodeType":"ExpressionStatement","src":"4612:24:107"},{"expression":{"id":74468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74463,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74433,"src":"4646:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":74465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4654:6:107","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":74242,"src":"4646:14:107","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74466,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74228,"src":"4663:13:107","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$74228_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":74467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4677:6:107","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":74227,"src":"4663:20:107","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4646:37:107","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$74228","typeString":"enum SafeArbitrator.DisputeStatus"}},"id":74469,"nodeType":"ExpressionStatement","src":"4646:37:107"},{"assignments":[74471,null],"declarations":[{"constant":false,"id":74471,"mutability":"mutable","name":"success","nameLocation":"4700:7:107","nodeType":"VariableDeclaration","scope":74507,"src":"4695:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74470,"name":"bool","nodeType":"ElementaryTypeName","src":"4695:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":74483,"initialValue":{"arguments":[{"hexValue":"","id":74481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4768:2:107","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":{"arguments":[{"expression":{"id":74474,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4720:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4724:6:107","memberName":"sender","nodeType":"MemberAccess","src":"4720:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4712:8:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":74472,"name":"address","nodeType":"ElementaryTypeName","src":"4712:8:107","stateMutability":"payable","typeDescriptions":{}}},"id":74476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4712:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":74477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4732:4:107","memberName":"call","nodeType":"MemberAccess","src":"4712:24:107","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":74480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":74478,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74433,"src":"4744:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":74479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4752:14:107","memberName":"arbitrationFee","nodeType":"MemberAccess","referencedDeclaration":74237,"src":"4744:22:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4712:55:107","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":74482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4712:59:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4694:77:107"},{"expression":{"arguments":[{"id":74485,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74471,"src":"4789:7:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5472616e73666572206661696c6564","id":74486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4798:17:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""},"value":"Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""}],"id":74484,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4781:7:107","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":74487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4781:35:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74488,"nodeType":"ExpressionStatement","src":"4781:35:107"},{"expression":{"arguments":[{"id":74494,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74421,"src":"4850:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74495,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74433,"src":"4862:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":74496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4870:6:107","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":74239,"src":"4862:14:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":74489,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74433,"src":"4826:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":74492,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4834:10:107","memberName":"arbitrated","nodeType":"MemberAccess","referencedDeclaration":74231,"src":"4826:18:107","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"}},"id":74493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4845:4:107","memberName":"rule","nodeType":"MemberAccess","referencedDeclaration":74660,"src":"4826:23:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":74497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:51:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74498,"nodeType":"ExpressionStatement","src":"4826:51:107"},{"eventCall":{"arguments":[{"arguments":[{"id":74501,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74425,"src":"4911:11:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74500,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74661,"src":"4899:11:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$74661_$","typeString":"type(contract IArbitrable)"}},"id":74502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4899:24:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"}},{"id":74503,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74421,"src":"4925:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74504,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74423,"src":"4937:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$74661","typeString":"contract IArbitrable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74499,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74684,"src":"4892:6:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrable_$74661_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrable,uint256,uint256)"}},"id":74505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4892:53:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74506,"nodeType":"EmitStatement","src":"4887:58:107"}]},"documentation":{"id":74419,"nodeType":"StructuredDocumentation","src":"3945:282:107","text":"@dev Give a ruling to a dispute.\n @param _disputeID ID of the dispute to rule.\n @param _ruling Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\".\n @param _arbitrable Address of the arbitrable that the safe rules for\"."},"functionSelector":"7a1d3756","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":74428,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74425,"src":"4331:11:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":74429,"kind":"modifierInvocation","modifierName":{"id":74427,"name":"onlySafe","nameLocations":["4322:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":74288,"src":"4322:8:107"},"nodeType":"ModifierInvocation","src":"4322:21:107"}],"name":"executeRuling","nameLocation":"4241:13:107","parameters":{"id":74426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74421,"mutability":"mutable","name":"_disputeID","nameLocation":"4263:10:107","nodeType":"VariableDeclaration","scope":74508,"src":"4255:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74420,"name":"uint256","nodeType":"ElementaryTypeName","src":"4255:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74423,"mutability":"mutable","name":"_ruling","nameLocation":"4283:7:107","nodeType":"VariableDeclaration","scope":74508,"src":"4275:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74422,"name":"uint256","nodeType":"ElementaryTypeName","src":"4275:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74425,"mutability":"mutable","name":"_arbitrable","nameLocation":"4300:11:107","nodeType":"VariableDeclaration","scope":74508,"src":"4292:19:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74424,"name":"address","nodeType":"ElementaryTypeName","src":"4292:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4254:58:107"},"returnParameters":{"id":74430,"nodeType":"ParameterList","parameters":[],"src":"4344:0:107"},"scope":74583,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74520,"nodeType":"FunctionDefinition","src":"4990:138:107","nodes":[],"body":{"id":74519,"nodeType":"Block","src":"5090:38:107","nodes":[],"statements":[{"expression":{"id":74517,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74245,"src":"5107:14:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74516,"id":74518,"nodeType":"Return","src":"5100:21:107"}]},"baseFunctions":[74735],"documentation":{"id":74509,"nodeType":"StructuredDocumentation","src":"4958:27:107","text":"@inheritdoc IArbitrator"},"functionSelector":"f7434ea9","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4999:15:107","overrides":{"id":74513,"nodeType":"OverrideSpecifier","overrides":[],"src":"5059:8:107"},"parameters":{"id":74512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74511,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74520,"src":"5015:14:107","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74510,"name":"bytes","nodeType":"ElementaryTypeName","src":"5015:5:107","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5014:32:107"},"returnParameters":{"id":74516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74515,"mutability":"mutable","name":"fee","nameLocation":"5085:3:107","nodeType":"VariableDeclaration","scope":74520,"src":"5077:11:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74514,"name":"uint256","nodeType":"ElementaryTypeName","src":"5077:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5076:13:107"},"scope":74583,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74537,"nodeType":"FunctionDefinition","src":"5166:204:107","nodes":[],"body":{"id":74536,"nodeType":"Block","src":"5330:40:107","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":74533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5347:15:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":74532,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"5340:6:107","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":74534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5340:23:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74535,"nodeType":"ExpressionStatement","src":"5340:23:107"}]},"baseFunctions":[74746],"documentation":{"id":74521,"nodeType":"StructuredDocumentation","src":"5134:27:107","text":"@inheritdoc IArbitrator"},"functionSelector":"d98493f6","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"5175:15:107","overrides":{"id":74528,"nodeType":"OverrideSpecifier","overrides":[],"src":"5281:8:107"},"parameters":{"id":74527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74523,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74537,"src":"5191:14:107","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74522,"name":"bytes","nodeType":"ElementaryTypeName","src":"5191:5:107","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74526,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74537,"src":"5222:6:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":74525,"nodeType":"UserDefinedTypeName","pathNode":{"id":74524,"name":"IERC20","nameLocations":["5222:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"5222:6:107"},"referencedDeclaration":55825,"src":"5222:6:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"5190:54:107"},"returnParameters":{"id":74531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74530,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74537,"src":"5307:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74529,"name":"uint256","nodeType":"ElementaryTypeName","src":"5307:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5306:19:107"},"scope":74583,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":74569,"nodeType":"FunctionDefinition","src":"5376:260:107","nodes":[],"body":{"id":74568,"nodeType":"Block","src":"5484:152:107","nodes":[],"statements":[{"assignments":[74550],"declarations":[{"constant":false,"id":74550,"mutability":"mutable","name":"dispute","nameLocation":"5516:7:107","nodeType":"VariableDeclaration","scope":74568,"src":"5494:29:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":74549,"nodeType":"UserDefinedTypeName","pathNode":{"id":74548,"name":"DisputeStruct","nameLocations":["5494:13:107"],"nodeType":"IdentifierPath","referencedDeclaration":74243,"src":"5494:13:107"},"referencedDeclaration":74243,"src":"5494:13:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":74554,"initialValue":{"baseExpression":{"id":74551,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74249,"src":"5526:8:107","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$74243_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":74553,"indexExpression":{"id":74552,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74539,"src":"5535:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5526:20:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5494:52:107"},{"expression":{"id":74558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74555,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74542,"src":"5556:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74556,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74550,"src":"5565:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$74243_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":74557,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5573:6:107","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":74239,"src":"5565:14:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5556:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74559,"nodeType":"ExpressionStatement","src":"5556:23:107"},{"expression":{"id":74562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74560,"name":"tied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"5589:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":74561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5596:5:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5589:12:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74563,"nodeType":"ExpressionStatement","src":"5589:12:107"},{"expression":{"id":74566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74564,"name":"overridden","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74546,"src":"5611:10:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":74565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5624:5:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5611:18:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74567,"nodeType":"ExpressionStatement","src":"5611:18:107"}]},"baseFunctions":[74758],"functionSelector":"1c3db16d","implemented":true,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5385:13:107","parameters":{"id":74540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74539,"mutability":"mutable","name":"_disputeID","nameLocation":"5407:10:107","nodeType":"VariableDeclaration","scope":74569,"src":"5399:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74538,"name":"uint256","nodeType":"ElementaryTypeName","src":"5399:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5398:20:107"},"returnParameters":{"id":74547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74542,"mutability":"mutable","name":"ruling","nameLocation":"5448:6:107","nodeType":"VariableDeclaration","scope":74569,"src":"5440:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74541,"name":"uint256","nodeType":"ElementaryTypeName","src":"5440:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74544,"mutability":"mutable","name":"tied","nameLocation":"5461:4:107","nodeType":"VariableDeclaration","scope":74569,"src":"5456:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74543,"name":"bool","nodeType":"ElementaryTypeName","src":"5456:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":74546,"mutability":"mutable","name":"overridden","nameLocation":"5472:10:107","nodeType":"VariableDeclaration","scope":74569,"src":"5467:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74545,"name":"bool","nodeType":"ElementaryTypeName","src":"5467:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5439:44:107"},"scope":74583,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74578,"nodeType":"FunctionDefinition","src":"5642:66:107","nodes":[],"body":{"id":74577,"nodeType":"Block","src":"5706:2:107","nodes":[],"statements":[]},"baseFunctions":[54968],"implemented":true,"kind":"function","modifiers":[{"id":74575,"kind":"modifierInvocation","modifierName":{"id":74574,"name":"onlyOwner","nameLocations":["5696:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":52114,"src":"5696:9:107"},"nodeType":"ModifierInvocation","src":"5696:9:107"}],"name":"_authorizeUpgrade","nameLocation":"5651:17:107","overrides":{"id":74573,"nodeType":"OverrideSpecifier","overrides":[],"src":"5687:8:107"},"parameters":{"id":74572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74578,"src":"5669:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74570,"name":"address","nodeType":"ElementaryTypeName","src":"5669:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5668:9:107"},"returnParameters":{"id":74576,"nodeType":"ParameterList","parameters":[],"src":"5706:0:107"},"scope":74583,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":74582,"nodeType":"VariableDeclaration","src":"5714:25:107","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5734:5:107","scope":74583,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":74579,"name":"uint256","nodeType":"ElementaryTypeName","src":"5714:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74581,"length":{"hexValue":"3530","id":74580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5722:2:107","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5714:11:107","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":74206,"name":"IArbitrator","nameLocations":["604:11:107"],"nodeType":"IdentifierPath","referencedDeclaration":74765,"src":"604:11:107"},"id":74207,"nodeType":"InheritanceSpecifier","src":"604:11:107"},{"baseName":{"id":74208,"name":"UUPSUpgradeable","nameLocations":["617:15:107"],"nodeType":"IdentifierPath","referencedDeclaration":54969,"src":"617:15:107"},"id":74209,"nodeType":"InheritanceSpecifier","src":"617:15:107"},{"baseName":{"id":74210,"name":"OwnableUpgradeable","nameLocations":["634:18:107"],"nodeType":"IdentifierPath","referencedDeclaration":52200,"src":"634:18:107"},"id":74211,"nodeType":"InheritanceSpecifier","src":"634:18:107"}],"canonicalName":"SafeArbitrator","contractDependencies":[],"contractKind":"contract","documentation":{"id":74205,"nodeType":"StructuredDocumentation","src":"448:129:107","text":"@title Safe Arbitrator\n @dev This is an arbitrator middleware that will allow a safe to decide on the result of disputes."},"fullyImplemented":true,"linearizedBaseContracts":[74583,52200,52993,52449,54969,54622,54271,54281,74765],"name":"SafeArbitrator","nameLocation":"586:14:107","scope":74584,"usedErrors":[74259,74261,74263,74265]}],"license":"MIT"},"id":107} \ No newline at end of file diff --git a/pkg/contracts/out/SafeArbitratorTest.t.sol/SafeArbitratorTest.json b/pkg/contracts/out/SafeArbitratorTest.t.sol/SafeArbitratorTest.json new file mode 100644 index 000000000..106347358 --- /dev/null +++ b/pkg/contracts/out/SafeArbitratorTest.t.sol/SafeArbitratorTest.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"POOL_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SAFE_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SAFE_NONCE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SAFE_SINGLETON","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"STAKE_WITH_FEES","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"__createContract","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"_contract","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_safeProxyFactory","type":"address","internalType":"contract SafeProxyFactory"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafeProxyFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract SafeProxyFactory"}],"stateMutability":"nonpayable"},{"type":"function","name":"_nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createProposal","inputs":[],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"},{"name":"value_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testArbitrationCost","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testCannotCreateDisputeWithInsufficientFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotExecuteRulingFromNonSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotExecuteRulingTwice","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotRuleInvalidRuling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCreateDispute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCurrentRuling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteRuling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetArbitrationFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract GV2ERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x600c8054600160ff199182168117909255601e8054909116821790556080908152610120604052602e60c081815260a0916202529260e03990528051602690815560208201516027906200005490826200013d565b50506001602c8190556000602d55603480546001600160a01b03199081169092179055603580549091166003179055503480156200009157600080fd5b5062000209565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000c357607f821691505b602082108103620000e457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013857600081815260208120601f850160051c81016020861015620001135750805b601f850160051c820191505b8181101562000134578281556001016200011f565b5050505b505050565b81516001600160401b0381111562000159576200015962000098565b62000171816200016a8454620000ae565b84620000ea565b602080601f831160018114620001a95760008415620001905750858301515b600019600386901b1c1916600185901b17855562000134565b600085815260208120601f198616915b82811015620001da57888601518255948401946001909101908401620001b9565b5085821015620001f95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b62025078806200021a6000396000f3fe60806040523480156200001157600080fd5b50600436106200044d5760003560e01c8062b1fad71462000452578063023a6f431462000474578063030e4006146200048d5780630522b7db14620004975780630688b13514620004ab57806308c24f9f14620004b55780630a9254e414620004cc5780630f166ad414620004d6578063174eedde14620004dd578063176effb314620004e5578063180fd87f14620004f75780631854036114620005105780631ae726d914620005195780631b96dce614620005305780631d8fcc10146200053a5780631e7bcb2e14620005435780631ed7831c146200054d5780632ade388014620005665780632e0f2625146200057f5780633554642a146200058f57806337d1c40414620005a1578063392f37e914620005b857806339f56f7f14620005d25780633e5e3c2314620005db5780633f26479e14620005e55780633f7286f414620005ef57806349ef42c114620005f95780634bf4ba211462000603578063587c1243146200060d5780635aff599914620006175780635d1222aa146200062157806366d003ac146200062b57806366d9a9a014620006355780636a38dd0a146200064e5780636c53db9a14620006585780636db52510146200066c5780636f6dfab1146200068357806370a32944146200068d57806374d9284e14620004dd578063758311e41462000697578063759c9a8614620006a15780637658524d14620006ab57806379e62d0d14620006b55780637b10399914620006bf5780637b2edf3214620006c95780637cbe79ed14620006d35780638292636f14620006dd578063829e423f14620004dd57806385226c8114620006e757806385294f181462000700578063896546a114620007175780638c7408c414620004dd5780638e0d1a50146200072b5780638e3c24931462000735578063916a17c6146200073f57806394d181e31462000749578063985a0b941462000753578063a0cf0aea146200075d578063a407c67a1462000779578063a41cfc991462000783578063aa3744bd146200078d578063b5508aa91462000797578063ba414fa614620007a1578063bb0504cd14620007bc578063beda3db314620007c6578063c1f2a64114620007d8578063c36e336b14620007ef578063c5d7d73b1462000815578063c73b09e71462000827578063caa12add1462000831578063d1e82b58146200084d578063d1f2cd881462000857578063d23727ed1462000861578063d5bee9f5146200087d578063d6d8428d1462000887578063da4bf0871462000891578063dac4eb16146200089b578063dac770b314620008a5578063e070e0ab14620008af578063e20c9f7114620008c6578063e99ce91114620008d0578063ec9ec24814620008e7578063ef0d790f14620008f1578063f69d511f14620008fb578063f8cbf34f1462000912578063fa7626d4146200091c578063fc0c546a146200092a578063fd325c60146200093e578063fe24a3cb1462000947575b600080fd5b6200045c62000951565b6040516200046b919062005fde565b60405180910390f35b6200048b6200048536600462006102565b62000988565b005b6200045c6200099e565b602a546200045c906001600160a01b031681565b6200045c620009d6565b6200045c620004c636600462006175565b62000a05565b6200048b62000cfa565b306200045c565b60006200045c565b6020546001600160a01b03166200045c565b6200050162001cd4565b6040519081526020016200046b565b60235462000501565b6200045c6200052a366004620061b3565b6200207a565b6200045c6200208b565b62000501600381565b6200045c620020be565b62000557620020f3565b6040516200046b919062006219565b6200057062002157565b6040516200046b9190620062db565b62000501670de0b6b3a764000081565b6024546001600160a01b03166200045c565b62000501620005b23660046200635c565b620022a5565b620005c26200236c565b6040516200046b92919062006445565b60215462000501565b620005576200240b565b6200050161271081565b620005576200246d565b6200045c620024cf565b6200055762002536565b6200045c62002559565b6200045c6200258e565b62000501602d5481565b6200045c620025c3565b6200063f620025f1565b6040516200046b919062006460565b6200045c620026db565b6029546200045c906001600160a01b031681565b6200048b6200067d36600462006517565b6200270d565b6200048b62002730565b6200055762002a1e565b6200048b62002ac0565b6200045c62002de7565b62000501602c5481565b6200055762002e18565b6200045c62002e87565b6200045c62002e9b565b6200045c62002ed0565b6200048b62002eff565b620006f1620030ff565b6040516200046b919062006575565b620005016200071136600462006620565b620031d9565b602b546200045c906001600160a01b031681565b6200045c6200320a565b6200045c62003239565b6200063f6200326e565b6200048b62003358565b6200048b62003655565b6200045c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000557620038c2565b6200048b62003931565b6200045c62003afa565b620006f162003b29565b620007ab62003c03565b60405190151581526020016200046b565b6200045c62003cb8565b6200050169032d26d12e980b60000081565b6200048b620007e9366004620066d5565b62003d1f565b620008066200080036600462006795565b62003df3565b6040516200046b91906200691e565b6022546001600160a01b03166200045c565b6200048b62003f01565b6200045c73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73781565b6200045c62003f8f565b6200045c62003fc4565b6200045c73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf81565b6200045c62003ff7565b6200045c62004027565b6200045c62004036565b6200045c62004068565b6200045c6200409b565b62000501620008c03660046200692f565b62004555565b620005576200477a565b62000501620008e1366004620069f8565b620047dc565b6200048b6200487e565b6200045c62004c14565b6200045c6200090c36600462006a2b565b62004c4c565b6200048b62004cc2565b601e54620007ab9060ff1681565b6033546200045c906001600160a01b031681565b601f5462000501565b6200050162004fd8565b6000620009836040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b8152506200501e565b905090565b6200099884848484600062003d1f565b50505050565b60006200098360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b8152506200501e565b6000620009836040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b8152506200501e565b602a546000906001600160a01b031662000ce6576001600160a01b03821662000aec57600062000a34620024cf565b905062000a4062003cb8565b604051631688f0b960e01b81526001600160a01b0383811660048301526060602483015260006064830181905260036044840152929550851690631688f0b9906084016020604051808303816000875af115801562000aa3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ac9919062006a70565b602a80546001600160a01b0319166001600160a01b039290921691909117905550505b602a54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b60648201526000805160206201f62c8339815191529063c657c71890608401600060405180830381600087803b15801562000b6657600080fd5b505af115801562000b7b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03871660048201526024810191909152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b60648201526000805160206201f62c833981519152925063c657c7189150608401600060405180830381600087803b15801562000bf957600080fd5b505af115801562000c0e573d6000803e3d6000fd5b50600092506001915062000c1f9050565b60405190808252806020026020018201604052801562000c49578160200160208202803683370190505b509050838160008151811062000c635762000c6362006a90565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062000cb0908490600190600090819081908190819060040162006aa6565b600060405180830381600087803b15801562000ccb57600080fd5b505af115801562000ce0573d6000803e3d6000fd5b50505050505b50602a546001600160a01b03165b92915050565b62000d0462005032565b62000d1862000d1262002e87565b620055f7565b6000805160206201f62c8339815191526306447d5662000d3762002ed0565b6040518263ffffffff1660e01b815260040162000d55919062005fde565b600060405180830381600087803b15801562000d7057600080fd5b505af115801562000d85573d6000803e3d6000fd5b5050505062000d9362004027565b60405163473480c360e11b8152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000dd857600080fd5b505af115801562000ded573d6000803e3d6000fd5b5050505062000dfb62004027565b6040516307aa7e2560e51b8152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000e4057600080fd5b505af115801562000e55573d6000803e3d6000fd5b505050506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000ea757600080fd5b505af115801562000ebc573d6000803e3d6000fd5b50505050601260405162000ed09062005de1565b6060808252600a908201526926b7b1b5902a37b5b2b760b11b608082015260a060208201819052600390820152624d544b60e81b60c082015260ff909116604082015260e001604051809103906000f08015801562000f33573d6000803e3d6000fd5b50603380546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000f6f6003683635c9adc5dea0000062006b23565b6040518363ffffffff1660e01b815260040162000f8e92919062006b46565b600060405180830381600087803b15801562000fa957600080fd5b505af115801562000fbe573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f19905062000fdf6200320a565b62000ff56003683635c9adc5dea0000062006b23565b6040518363ffffffff1660e01b81526004016200101492919062006b46565b600060405180830381600087803b1580156200102f57600080fd5b505af115801562001044573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f1990506006620010736003683635c9adc5dea0000062006b23565b6040518363ffffffff1660e01b81526004016200109292919062006b46565b600060405180830381600087803b158015620010ad57600080fd5b505af1158015620010c2573d6000803e3d6000fd5b50506033546001600160a01b0316915063095ea7b39050620010e362004027565b685150ae84a8cdf000006040518363ffffffff1660e01b81526004016200110c92919062006b46565b6020604051808303816000875af11580156200112c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001152919062006b70565b506000805160206201f62c8339815191526306447d566200117262002ed0565b6040518263ffffffff1660e01b815260040162001190919062005fde565b600060405180830381600087803b158015620011ab57600080fd5b505af1158015620011c0573d6000803e3d6000fd5b50505050620011ce62004027565b6001600160a01b031663f2fde38b306040518263ffffffff1660e01b8152600401620011fb919062005fde565b600060405180830381600087803b1580156200121657600080fd5b505af11580156200122b573d6000803e3d6000fd5b505050506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b50506034546040516303223eab60e11b81526000805160206201f62c83398151915293506306447d569250620012d5916001600160a01b03169060040162005fde565b600060405180830381600087803b158015620012f057600080fd5b505af115801562001305573d6000803e3d6000fd5b50505050604051620013179062005def565b604051809103906000f08015801562001334573d6000803e3d6000fd5b5060408051671bc16d674ec8000060248083019190915282518083039091018152604490910182526020810180516001600160e01b031663fe4b84df60e01b1790529051620013839062005dfd565b6200139092919062006b8e565b604051809103906000f080158015620013ad573d6000803e3d6000fd5b50602f60006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200142257600080fd5b505af115801562001437573d6000803e3d6000fd5b505050506200144562005e0b565b6200144f62004027565b6001600160a01b03908116825260335416602080830191909152670de0b6b3a7640000604080840191909152600160608401523060c08401528051808201909152602680548252602780549293919291840191620014ad9062006bb4565b80601f0160208091040260200160405190810160405280929190818152602001828054620014db9062006bb4565b80156200152c5780601f1062001500576101008083540402835291602001916200152c565b820191906000526020600020905b8154815290600101906020018083116200150e57829003601f168201915b5050509190925250505060e0820152620015456200409b565b6001600160a01b0316610100820152604051620015629062005eb7565b604051809103906000f0801580156200157f573d6000803e3d6000fd5b50603454604051630a2ca2bd60e11b916001600160a01b031690600290620015a79062005ec5565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b50604051620015d39062005ed3565b604051809103906000f080158015620015f0573d6000803e3d6000fd5b50604051620015ff9062005ee1565b604051809103906000f0801580156200161c573d6000803e3d6000fd5b506040516001600160a01b039586166024820152938516604485015291841660648401528316608483015290911660a482015260c40160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620016919062005dfd565b6200169e92919062006b8e565b604051809103906000f080158015620016bb573d6000803e3d6000fd5b506001600160a01b031663beb331a3826040518263ffffffff1660e01b8152600401620016e9919062006c0b565b6020604051808303816000875af115801562001709573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200172f919062006a70565b603280546001600160a01b0319166001600160a01b039290921691821790556040805160208101909152600091829163524e59e89073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9062001801908490600190600290806200179d670de0b6b3a764000060c862006d17565b90526040805160c08101909152602f546001600160a01b0316815260208101620017c66200409b565b6001600160a01b0316815260200166470de4df8200008152602001662386f26fc1000081526020016001815260200161012c81525062003df3565b60266040518463ffffffff1660e01b8152600401620018239392919062006df2565b60408051808303816000875af115801562001842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001868919062006e27565b6031829055603080546001600160a01b0319166001600160a01b03831617905590925090506000805160206201f62c8339815191526306447d56620018ac6200320a565b6040518263ffffffff1660e01b8152600401620018ca919062005fde565b600060405180830381600087803b158015620018e557600080fd5b505af1158015620018fa573d6000803e3d6000fd5b50506032546030546040516200196d94506001600160a01b03928316935060009263223e547960e01b92620019359291169060240162005fde565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200270d565b6000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620019bb57600080fd5b505af1158015620019d0573d6000803e3d6000fd5b50505050603260009054906101000a90046001600160a01b03166001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a4e919062006a70565b6032546001600160a01b039182169163095ea7b39116606462001a7360018062006e4f565b62001a8790670de0b6b3a764000062006d17565b62001a93919062006b23565b62001aa790670de0b6b3a764000062006e4f565b6040518363ffffffff1660e01b815260040162001ac692919062006b46565b6020604051808303816000875af115801562001ae6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b0c919062006b70565b50603260009054906101000a90046001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b5e57600080fd5b505af115801562001b73573d6000803e3d6000fd5b50505050603060009054906101000a90046001600160a01b03166001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001bc857600080fd5b505af115801562001bdd573d6000803e3d6000fd5b505060405163c88a5e6d60e01b81526000805160206201f62c833981519152925063c88a5e6d915062001c2190309069032d26d12e980b6000009060040162006b46565b600060405180830381600087803b15801562001c3c57600080fd5b505af115801562001c51573d6000803e3d6000fd5b5050505062001c5f62004027565b6040516316b35beb60e21b81526004810184905269032d26d12e980b600000602482018190526001600160a01b039290921691635acd6fac916044016000604051808303818588803b15801562001cb557600080fd5b505af115801562001cca573d6000803e3d6000fd5b5050505050505050565b600080670de0b6b3a7640000905060006040518060a00160405280603154815260200162001d016200320a565b6001600160a01b0316815260200183815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815260200160266040518060400160405290816000820154815260200160018201805462001d619062006bb4565b80601f016020809104026020016040519081016040528092919081815260200182805462001d8f9062006bb4565b801562001de05780601f1062001db45761010080835404028352916020019162001de0565b820191906000526020600020905b81548152906001019060200180831162001dc257829003601f168201915b505050505081525050815250905060008160405160200162001e03919062006e65565b60408051601f1981840301815282825260305463059351cd60e01b845291519093506000926001600160a01b039092169163059351cd9160048083019260c09291908290030181865afa15801562001e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e85919062006eb8565b505050925050506000805160206202502383398151915260001c6001600160a01b031663c88a5e6d62001eb76200320a565b836040518363ffffffff1660e01b815260040162001ed792919062006b46565b600060405180830381600087803b15801562001ef257600080fd5b505af115801562001f07573d6000803e3d6000fd5b506000805160206201f62c83398151915292506306447d56915062001f2d90506200320a565b6040518263ffffffff1660e01b815260040162001f4b919062005fde565b600060405180830381600087803b15801562001f6657600080fd5b505af115801562001f7b573d6000803e3d6000fd5b5050505062001f8962004027565b6001600160a01b031663075c0e9c82603154856040518463ffffffff1660e01b815260040162001fbb92919062006445565b60206040518083038185885af115801562001fda573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002001919062006a70565b6001600160a01b031694506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200205a57600080fd5b505af11580156200206f573d6000803e3d6000fd5b505050505050505090565b600062000cf482620004c662003cb8565b6000620009836040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b8152506200501e565b6000620009836040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b8152506200501e565b606060168054806020026020016040519081016040528092919081815260200182805480156200214d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200212e575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156200229c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562002284578382906000526020600020018054620021f09062006bb4565b80601f01602080910402602001604051908101604052809291908181526020018280546200221e9062006bb4565b80156200226f5780601f1062002243576101008083540402835291602001916200226f565b820191906000526020600020905b8154815290600101906020018083116200225157829003601f168201915b505050505081526020019060010190620021ce565b5050505081525050815260200190600101906200217b565b50505050905090565b60285460009062002360576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f9162002316916002918890889060040162006f1b565b6020604051808303816000875af115801562002336573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200235c919062006f94565b6028555b506028545b9392505050565b6026805460278054919291620023829062006bb4565b80601f0160208091040260200160405190810160405280929190818152602001828054620023b09062006bb4565b8015620024015780601f10620023d55761010080835404028352916020019162002401565b820191906000526020600020905b815481529060010190602001808311620023e357829003601f168201915b5050505050905082565b606060188054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b6000620024f073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc7376200579a565b156200250f575073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73790565b6200098360405180615a0001604052806159d781526020016201f64c6159d7913962004c4c565b604080516002808252606080830184529260208301908036833701905050905090565b6000620009836040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b8152506200501e565b6000620009836040518060400160405280601081526020016f726563697069656e744164647265737360801b8152506200501e565b600062000983604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b8152506200501e565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620026c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620026835790505b5050505050815250508152602001906001019062002615565b6000620009836040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b8152506200501e565b602954602c546200272b916001600160a01b03169085848662003d1f565b505050565b60006200273c62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d916200278a916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b158015620027a557600080fd5b505af1158015620027ba573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa79250620027fd916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200281857600080fd5b505af11580156200282d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002861671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b815260040162002880919062006fae565b60206040518083038185885af11580156200289f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620028c6919062006f94565b604051630618f58760e51b81529091506000805160206201f62c8339815191529063c31eb0e09062002904906309efd47960e41b9060040162006fd4565b600060405180830381600087803b1580156200291f57600080fd5b505af115801562002934573d6000803e3d6000fd5b506000805160206201f62c833981519152925063ca669fa791506200295a90506200409b565b6040518263ffffffff1660e01b815260040162002978919062005fde565b600060405180830381600087803b1580156200299357600080fd5b505af1158015620029a8573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e6928692600492911690820162006fe9565b600060405180830381600087803b15801562002a0157600080fd5b505af115801562002a16573d6000803e3d6000fd5b505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062002a4d620020be565b8160008151811062002a635762002a6362006a90565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62002e9b565b8160018151811062002aa35762002aa362006a90565b6001600160a01b0390921660209283029190910190910152919050565b600062002acc62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d9162002b1a916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b15801562002b3557600080fd5b505af115801562002b4a573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062002b8d916001600160a01b03169060040162005fde565b600060405180830381600087803b15801562002ba857600080fd5b505af115801562002bbd573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002bf1671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b815260040162002c10919062006fae565b60206040518083038185885af115801562002c2f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002c56919062006f94565b90506000805160206201f62c83398151915263ca669fa762002c776200409b565b6040518263ffffffff1660e01b815260040162002c95919062005fde565b600060405180830381600087803b15801562002cb057600080fd5b505af115801562002cc5573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062002d0492869260029291169060040162006fe9565b600060405180830381600087803b15801562002d1f57600080fd5b505af115801562002d34573d6000803e3d6000fd5b5050602f5460405163564a565d60e01b815260048101859052600093508392506001600160a01b039091169063564a565d90602401600060405180830381865afa15801562002d87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002db191908101906200703e565b955095505050505062002dc6826002620057a9565b6200099881600181111562002ddf5762002ddf6200680c565b6001620057a9565b6000620009836040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b8152506200501e565b6040805160028082526060808301845292600092919060208301908036833701905050905062002e4762000951565b8160008151811062002e5d5762002e5d62006a90565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d620026db565b601e5461010090046001600160a01b031690565b6000620009836040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b8152506200501e565b6000620009836040518060400160405280600a81526020016930b63637afb7bbb732b960b11b8152506200501e565b60355460405163c88a5e6d60e01b81526000805160206201f62c8339815191529163c88a5e6d9162002f48916001600160a01b031690678ac7230489e800009060040162006b46565b600060405180830381600087803b15801562002f6357600080fd5b505af115801562002f78573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062002fbb916001600160a01b03169060040162005fde565b600060405180830381600087803b15801562002fd657600080fd5b505af115801562002feb573d6000803e3d6000fd5b5050604051630618f58760e51b81526000805160206201f62c833981519152925063c31eb0e091506200302a9063e4216b3160e01b9060040162006fd4565b600060405180830381600087803b1580156200304557600080fd5b505af11580156200305a573d6000803e3d6000fd5b5050602f546001600160a01b0316915063c13517e19050620030866001671bc16d674ec80000620070de565b60036040518363ffffffff1660e01b8152600401620030b691815260406020820181905260009082015260600190565b60206040518083038185885af1158015620030d5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620030fc919062006f94565b50565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200229c578382906000526020600020018054620031459062006bb4565b80601f0160208091040260200160405190810160405280929190818152602001828054620031739062006bb4565b8015620031c45780601f106200319857610100808354040283529160200191620031c4565b820191906000526020600020905b815481529060010190602001808311620031a657829003601f168201915b50505050508152602001906001019062003123565b6000620031fd89898989898989604051806020016040528060008152508a62004555565b9998505050505050505050565b6000620009836040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b8152506200501e565b6000620009836040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b8152506200501e565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200333f57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620033005790505b5050505050815250508152602001906001019062003292565b60006200336462001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d91620033b2916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b158015620033cd57600080fd5b505af1158015620033e2573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062003425916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200344057600080fd5b505af115801562003455573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003489671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b8152600401620034a8919062006fae565b60206040518083038185885af1158015620034c7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620034ee919062006f94565b603554602954604080516001600160a01b0393841660248201529290911660448084019190915281518084039091018152606490920181526020820180516001600160e01b031663d0774c9960e01b1790525163f28dceb360e01b81529192506000805160206201f62c8339815191529163f28dceb3916200357391600401620070f4565b600060405180830381600087803b1580156200358e57600080fd5b505af1158015620035a3573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa79250620035e6916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200360157600080fd5b505af115801562003616573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e692869260029291169060040162006fe9565b60006200366162001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d91620036af916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b158015620036ca57600080fd5b505af1158015620036df573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062003722916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200373d57600080fd5b505af115801562003752573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003786671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b8152600401620037a5919062006fae565b60206040518083038185885af1158015620037c4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620037eb919062006f94565b602f5460405163564a565d60e01b8152600481018390529192506000918291829182916001600160a01b03169063564a565d90602401600060405180830381865afa1580156200383f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200386991908101906200703e565b9550955095509550505062003880846003620057a9565b6200389483671bc16d674ec80000620057a9565b620038a1826000620057a9565b62002a16816001811115620038ba57620038ba6200680c565b6000620057a9565b60408051600280825260608083018452926000929190602083019080368337019050509050620038f162002559565b8160008151811062003907576200390762006a90565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62003239565b6034546040516303223eab60e11b81526000805160206201f62c833981519152916306447d569162003970916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200398b57600080fd5b505af1158015620039a0573d6000803e3d6000fd5b5050602f546040516317a9ed3f60e21b815266470de4df8200006004820181905293506001600160a01b039091169150635ea7b4fc90602401600060405180830381600087803b158015620039f457600080fd5b505af115801562003a09573d6000803e3d6000fd5b5050602f5460405163f7434ea960e01b8152602060048201526000602482015262003a9093506001600160a01b03909116915063f7434ea990604401602060405180830381865afa15801562003a63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a89919062006f94565b82620057a9565b6000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b505af115801562003af3573d6000803e3d6000fd5b5050505050565b6000620009836040518060400160405280600a815260200169726563697069656e743160b01b8152506200501e565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200229c57838290600052602060002001805462003b6f9062006bb4565b80601f016020809104026020016040519081016040528092919081815260200182805462003b9d9062006bb4565b801562003bee5780601f1062003bc25761010080835404028352916020019162003bee565b820191906000526020600020905b81548152906001019060200180831162003bd057829003601f168201915b50505050508152602001906001019062003b4d565b60085460009060ff161562003c1c575060085460ff1690565b604051630667f9d760e41b81526000906000805160206201f62c8339815191529063667f9d709062003c6d9060008051602062025023833981519152906519985a5b195960d21b9060040162006b46565b602060405180830381865afa15801562003c8b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb1919062006f94565b1415905090565b600062003cd973bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf6200579a565b1562003cf8575073bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf90565b6200098360405180610f000160405280610ede81526020016201e74e610ede913962004c4c565b606062003d2f848488886200580d565b905062002a16866001600160a01b0316636a7612028685876000806000806000808c6040518b63ffffffff1660e01b815260040162003d789a999897969594939291906200711c565b6020604051808303816000875af115801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe919062006b70565b60405180604001604052806016815260200175195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b815250620058e4565b62003dfd62005eef565b62003e10670de0a46bc207d8006200591a565b81516040015262003e296702c68af0bb1400006200591a565b81515262003e3e66038d7ea4c680006200591a565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a0830152810185600281111562003e805762003e806200680c565b9081600281111562003e965762003e966200680c565b9052506040810184600381111562003eb25762003eb26200680c565b9081600381111562003ec85762003ec86200680c565b905250825160000362003eed5762003eea670de0b6b3a764000060c862006d17565b83525b606081019290925260808201529392505050565b602f5460405163f7434ea960e01b815260206004820152600060248201819052916001600160a01b03169063f7434ea990604401602060405180830381865afa15801562003f53573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003f79919062006f94565b9050620030fc81671bc16d674ec80000620057a9565b6000620009836040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b8152506200501e565b6000620009836040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b8152506200501e565b6000620009836040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b8152506200501e565b6025546001600160a01b031690565b6000620009836040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b8152506200501e565b6000620009836040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b8152506200501e565b602c546040516001625e79b760e01b031981526000916000805160206201f62c8339815191529163ffa1864991620040d99160040190815260200190565b602060405180830381865afa158015620040f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200411d919062006a70565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201526d636f756e63696c4d656d6265723160901b60648201526000805160206201f62c8339815191529063c657c71890608401600060405180830381600087803b158015620041aa57600080fd5b505af1158015620041bf573d6000803e3d6000fd5b50506029546001600160a01b03169150620045459050576000620041e262003cb8565b9050620041ee620024cf565b602e80546001600160a01b0319166001600160a01b03928316179055604080516318caf8e360e31b815291831660048301526024820152601060448201526f5361666550726f7879466163746f727960801b60648201526000805160206201f62c8339815191529063c657c71890608401600060405180830381600087803b1580156200427a57600080fd5b505af11580156200428f573d6000803e3d6000fd5b5050602e54604080518082018252600181526000602082018190529151631688f0b960e01b81529194506001600160a01b038087169450631688f0b993620042e19391169190600390600401620071a6565b6020604051808303816000875af115801562004301573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004327919062006a70565b602980546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600b60448201526a636f756e63696c5361666560a81b60648201529091506000805160206201f62c8339815191529063c657c71890608401600060405180830381600087803b158015620043b357600080fd5b505af1158015620043c8573d6000803e3d6000fd5b506000925060039150620043d99050565b60405190808252806020026020018201604052801562004403578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200442a576200442a62006a90565b60200260200101906001600160a01b031690816001600160a01b03168152505073f39fd6e51aad88f6f4ce6ab8827279cfffb922668160018151811062004475576200447562006a90565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c881600281518110620044c057620044c062006a90565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b815291169063b63e800d906200450d908490600190600090819081908190819060040162006aa6565b600060405180830381600087803b1580156200452857600080fd5b505af11580156200453d573d6000803e3d6000fd5b505050505050505b506029546001600160a01b031690565b60008062004567898787878762003df3565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110620045a457620045a462006a90565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110620045db57620045db62006a90565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615620046125750875b8c6001600160a01b031663e1007d4a620046378c620046306200320a565b86620022a5565b8e866040516020016200464b91906200691e565b6040516020818303038152906040528560006026896040518863ffffffff1660e01b8152600401620046849796959493929190620071dc565b6020604051808303816000875af1158015620046a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620046ca919062006f94565b9350876002811115620046e157620046e16200680c565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa15801562004720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200474691906200724d565b60028111156200475a576200475a6200680c565b146200476a576200476a6200726d565b5050509998505050505050505050565b606060158054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b60008481620047fe620047f762989680608087901b62006b23565b836200592d565b905060806001607f1b620048168662989680620070de565b6200482684600160801b620070de565b62004835629896808a62006d17565b62004841919062006d17565b6200484d919062006b23565b62004859898562006d17565b62004865919062006e4f565b62004871919062006e4f565b901c979650505050505050565b60006200488a62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d91620048d8916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b158015620048f357600080fd5b505af115801562004908573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa792506200494b916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200496657600080fd5b505af11580156200497b573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec620049af671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b8152600401620049ce919062006fae565b60206040518083038185885af1158015620049ed573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004a14919062006f94565b90506000805160206201f62c83398151915263ca669fa762004a356200409b565b6040518263ffffffff1660e01b815260040162004a53919062005fde565b600060405180830381600087803b15801562004a6e57600080fd5b505af115801562004a83573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004ac292869260029291169060040162006fe9565b600060405180830381600087803b15801562004add57600080fd5b505af115801562004af2573d6000803e3d6000fd5b5050604051630618f58760e51b81526000805160206201f62c833981519152925063c31eb0e0915062004b319063bda17d9560e01b9060040162006fd4565b600060405180830381600087803b15801562004b4c57600080fd5b505af115801562004b61573d6000803e3d6000fd5b506000805160206201f62c833981519152925063ca669fa7915062004b8790506200409b565b6040518263ffffffff1660e01b815260040162004ba5919062005fde565b600060405180830381600087803b15801562004bc057600080fd5b505af115801562004bd5573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e692869260019291169060040162006fe9565b60006200098360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152506200501e565b602d80546000918291908262004c628362007283565b9190505550602d548351602085016000f5915050803f8062004cbc5760405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b60448201526064015b60405180910390fd5b50919050565b600062004cce62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d9162004d1c916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b15801562004d3757600080fd5b505af115801562004d4c573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062004d8f916001600160a01b03169060040162005fde565b600060405180830381600087803b15801562004daa57600080fd5b505af115801562004dbf573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004df3671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b815260040162004e12919062006fae565b60206040518083038185885af115801562004e31573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004e58919062006f94565b90506000805160206201f62c83398151915263ca669fa762004e796200409b565b6040518263ffffffff1660e01b815260040162004e97919062005fde565b600060405180830381600087803b15801562004eb257600080fd5b505af115801562004ec7573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004f0692869260029291169060040162006fe9565b600060405180830381600087803b15801562004f2157600080fd5b505af115801562004f36573d6000803e3d6000fd5b5050602f54604051631c3db16d60e01b8152600481018590526000935083925082916001600160a01b031690631c3db16d90602401606060405180830381865afa15801562004f89573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004faf91906200729f565b92509250925062004fc2836002620057a9565b62004fcd82620059e1565b62003af381620059e1565b606462004fe760018062006e4f565b62004ffb90670de0b6b3a764000062006d17565b62005007919062006b23565b6200501b90670de0b6b3a764000062006e4f565b81565b60006200502b8262005a3e565b5092915050565b6200503c62005b53565b6000805160206201f62c83398151915263ca669fa76200505b6200320a565b6040518263ffffffff1660e01b815260040162005079919062005fde565b600060405180830381600087803b1580156200509457600080fd5b505af1158015620050a9573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620051176200320a565b6200512162002e18565b6040518563ffffffff1660e01b815260040162005142949392919062006f1b565b6020604051808303816000875af115801562005162573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005188919062006f94565b601f819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa158015620051da573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262005204919081019062007378565b60a00151602080546001600160a01b0319166001600160a01b039092169190911790556000805160206201f62c83398151915263ca669fa76200524662003fc4565b6040518263ffffffff1660e01b815260040162005264919062005fde565b600060405180830381600087803b1580156200527f57600080fd5b505af115801562005294573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020016750726f66696c653160c01b815250815250620052fe62003fc4565b6200530862002a1e565b6040518563ffffffff1660e01b81526004016200532994939291906200744d565b6020604051808303816000875af115801562005349573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200536f919062006f94565b6021819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa158015620053c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620053eb919081019062007378565b60a00151602280546001600160a01b0319166001600160a01b039092169190911790556000805160206201f62c83398151915263ca669fa76200542d6200208b565b6040518263ffffffff1660e01b81526004016200544b919062005fde565b600060405180830381600087803b1580156200546657600080fd5b505af11580156200547b573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f600060405180604001604052806001815260200160405180604001604052806008815260200167283937b334b6329960c11b815250815250620054e56200208b565b620054ef620038c2565b6040518563ffffffff1660e01b8152600401620055109493929190620074ab565b6020604051808303816000875af115801562005530573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005556919062006f94565b6023819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa158015620055a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620055d2919081019062007378565b60a00151602480546001600160a01b0319166001600160a01b03909216919091179055565b6000805160206201f62c8339815191526306447d566200561662002ed0565b6040518263ffffffff1660e01b815260040162005634919062005fde565b600060405180830381600087803b1580156200564f57600080fd5b505af115801562005664573d6000803e3d6000fd5b50505050604051620056769062005fb5565b604051809103906000f08015801562005693573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb8620056c262002ed0565b83620056cd62004036565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200573357600080fd5b505af115801562005748573d6000803e3d6000fd5b505050506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b6001600160a01b03163b151590565b60405163260a5b1560e21b815260048101839052602481018290526000805160206201f62c833981519152906398296c54906044015b60006040518083038186803b158015620057f857600080fd5b505afa15801562002a16573d6000803e3d6000fd5b6060600080806000805160206201f62c83398151915263e341eaa486620058368b8b8b62005c06565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401606060405180830381865afa15801562005878573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200589e9190620074e6565b6040805160208101939093528281019190915260f89290921b6001600160f81b031916606082015281516041818303018152606190910190915298975050505050505050565b60405163a34edc0360e01b81526000805160206201f62c8339815191529063a34edc0390620057df908590859060040162007525565b600062000cf464174876e8008362006b23565b6000600160801b8310620059835760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004cb3565b50600160801b82825b8015620059d95780600116600003620059b657620059ab828362005cfc565b915060011c6200598c565b620059c2838362005cfc565b9250620059d1600182620070de565b90506200598c565b505092915050565b60405163a598288560e01b815281151560048201526000805160206201f62c8339815191529063a59828859060240160006040518083038186803b15801562005a2957600080fd5b505afa15801562003af3573d6000803e3d6000fd5b6000808260405160200162005a54919062007542565b60408051808303601f190181529082905280516020909101206001625e79b760e01b031982526004820181905291506000805160206201f62c8339815191529063ffa1864990602401602060405180830381865afa15801562005abb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005ae1919062006a70565b6040516318caf8e360e31b81529092506000805160206201f62c8339815191529063c657c7189062005b1a908590879060040162006b8e565b600060405180830381600087803b15801562005b3557600080fd5b505af115801562005b4a573d6000803e3d6000fd5b50505050915091565b60405162005b619062005fc3565b604051809103906000f08015801562005b7e573d6000803e3d6000fd5b50601e8054610100600160a81b0319166101006001600160a01b039384168102919091179182905590041663c4d66de862005bb862004068565b6040518263ffffffff1660e01b815260040162005bd6919062005fde565b600060405180830381600087803b15801562005bf157600080fd5b505af115801562000998573d6000803e3d6000fd5b6000816001600160a01b031663d8d11f78856000866000806000806000808c6001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562005c63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005c89919062006f94565b6040518b63ffffffff1660e01b815260040162005cb09a9998979695949392919062007560565b602060405180830381865afa15801562005cce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005cf4919062006f94565b949350505050565b6000600160801b83111562005d655760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840162004cb3565b600160801b821062005db95760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004cb3565b60806001607f1b62005dcc848662006d17565b62005dd8919062006e4f565b901c9392505050565b610e9480620075db83390190565b6118ef806200846f83390190565b6104ec8062009d5e83390190565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162005e8a604051806040016040528060008152602001606081525090565b815260200160006001600160a01b0316815260200160608152602001600015158152602001606081525090565b612083806200a24a83390190565b6159b6806200c2cd83390190565b6166c78062011c8383390190565b610731806201834a83390190565b6040518060e0016040528062005f266040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001600081526020016000815260200162005f506040518060200160405280600081525090565b815260200162005fa16040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b815260006020820181905260409091015290565b6131a38062018a7b83390190565b612b30806201bc1e83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620030fc57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171562006043576200604362006008565b60405290565b604051601f8201601f191681016001600160401b038111828210171562006074576200607462006008565b604052919050565b60006001600160401b0382111562006098576200609862006008565b50601f01601f191660200190565b600082601f830112620060b857600080fd5b8135620060cf620060c9826200607c565b62006049565b818152846020838601011115620060e557600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156200611957600080fd5b8435620061268162005ff2565b93506020850135925060408501356200613f8162005ff2565b915060608501356001600160401b038111156200615b57600080fd5b6200616987828801620060a6565b91505092959194509250565b600080604083850312156200618957600080fd5b8235620061968162005ff2565b91506020830135620061a88162005ff2565b809150509250929050565b600060208284031215620061c657600080fd5b8135620023658162005ff2565b600081518084526020808501945080840160005b838110156200620e5781516001600160a01b031687529582019590820190600101620061e7565b509495945050505050565b602081526000620023656020830184620061d3565b60005b838110156200624b57818101518382015260200162006231565b50506000910152565b600081518084526200626e8160208601602086016200622e565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015620062ce578284038952620062bb84835162006254565b98850198935090840190600101620062a0565b5091979650505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156200634e57888303603f19018552815180516001600160a01b031684528701518784018790526200633a8785018262006282565b958801959350509086019060010162006302565b509098975050505050505050565b6000806000606084860312156200637257600080fd5b83356200637f8162005ff2565b9250602084810135620063928162005ff2565b925060408501356001600160401b0380821115620063af57600080fd5b818701915087601f830112620063c457600080fd5b813581811115620063d957620063d962006008565b8060051b9150620063ec84830162006049565b818152918301840191848101908a8411156200640757600080fd5b938501935b83851015620064355784359250620064248362005ff2565b82825293850193908501906200640c565b8096505050505050509250925092565b82815260406020820152600062005cf4604083018462006254565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200650857898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620064f25783516001600160e01b0319168252928b019260019290920191908b0190620064c6565b50978a0197955050509187019160010162006488565b50919998505050505050505050565b6000806000606084860312156200652d57600080fd5b83356200653a8162005ff2565b92506020840135915060408401356001600160401b038111156200655d57600080fd5b6200656b86828701620060a6565b9150509250925092565b60208152600062002365602083018462006282565b60038110620030fc57600080fd5b803560048110620065a857600080fd5b919050565b600060c08284031215620065c057600080fd5b620065ca6200601e565b90508135620065d98162005ff2565b81526020820135620065eb8162005ff2565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b6000806000806000806000806101a0898b0312156200663e57600080fd5b88356200664b8162005ff2565b975060208901356200665d8162005ff2565b965060408901356200666f8162005ff2565b95506060890135620066818162005ff2565b94506080890135620066938162005ff2565b935060a0890135620066a5816200658a565b9250620066b560c08a0162006598565b9150620066c68a60e08b01620065ad565b90509295985092959890939650565b600080600080600060a08688031215620066ee57600080fd5b8535620066fb8162005ff2565b9450602086013593506040860135620067148162005ff2565b925060608601356001600160401b038111156200673057600080fd5b6200673e88828901620060a6565b95989497509295608001359392505050565b6000602082840312156200676357600080fd5b604051602081016001600160401b038111828210171562006788576200678862006008565b6040529135825250919050565b60008060008060006101408688031215620067af57600080fd5b8535620067bc8162005ff2565b94506020860135620067ce816200658a565b9350620067de6040870162006598565b9250620067ef876060880162006750565b9150620068008760808801620065ad565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b600381106200683557620068356200680c565b9052565b600481106200683557620068356200680c565b80518051835260208101516020840152604081015160408401526060810151606084015250602081015162006885608084018262006822565b5060408101516200689a60a084018262006839565b506060818101515160c084015260808083015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a090810151610180840152810151620069086101a084018262005fd1565b5060c08101516200272b6101c084018262005fd1565b6101e0810162000cf482846200684c565b60008060008060008060008060006101c08a8c0312156200694f57600080fd5b89356200695c8162005ff2565b985060208a01356200696e8162005ff2565b975060408a0135620069808162005ff2565b965060608a0135620069928162005ff2565b955060808a0135620069a48162005ff2565b945060a08a0135620069b6816200658a565b9350620069c660c08b0162006598565b9250620069d78b60e08c0162006750565b9150620069e98b6101008c01620065ad565b90509295985092959850929598565b6000806000806080858703121562006a0f57600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562006a3e57600080fd5b81356001600160401b0381111562006a5557600080fd5b62005cf484828501620060a6565b8051620065a88162005ff2565b60006020828403121562006a8357600080fd5b8151620023658162005ff2565b634e487b7160e01b600052603260045260246000fd5b600061010080835262006abc8184018b620061d3565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b634e487b7160e01b600052601160045260246000fd5b60008262006b4157634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b80518015158114620065a857600080fd5b60006020828403121562006b8357600080fd5b620023658262006b5f565b6001600160a01b038316815260406020820181905260009062005cf49083018462006254565b600181811c9082168062006bc957607f821691505b60208210810362004cbc57634e487b7160e01b600052602260045260246000fd5b80518252600060208201516040602085015262005cf4604085018262006254565b6020815262006c1f60208201835162005fd1565b6000602083015162006c35604084018262005fd1565b506040830151606083015260608301516080830152608083015160a083015260a083015162006c6860c084018262005fd1565b5060c083015162006c7d60e084018262005fd1565b5060e0830151610180610100818186015262006c9e6101a086018462006bea565b9086015190925061012062006cb68682018362005fd1565b80870151915050601f1961014081878603018188015262006cd8858462006254565b94508088015192505061016062006cf28188018415159052565b87015186850390910183870152905062006d0d838262006254565b9695505050505050565b808202811582820484141762000cf45762000cf462006b0d565b80548252600060018083016020604081870152600082548181861c90508582168062006d5e57607f821691505b848210810362006d7c57634e487b7160e01b84526022600452602484fd5b60408a0182905260608a0181801562006d9e576001811462006db55762006de2565b60ff198516825283151560051b8201955062006de2565b60008881526020902060005b8581101562006ddc57815484820152908a0190880162006dc1565b83019650505b50939a9950505050505050505050565b6001600160a01b0384168152600061022062006e1260208401866200684c565b8061020084015262006d0d8184018562006d31565b6000806040838503121562006e3b57600080fd5b825191506020830151620061a88162005ff2565b8082018082111562000cf45762000cf462006b0d565b60208152815160208201526000602083015160018060a01b038082166040850152604085015160608501528060608601511660808501525050608083015160a08084015262005cf460c084018262006bea565b60008060008060008060c0878903121562006ed257600080fd5b865162006edf8162005ff2565b602088015190965062006ef28162005ff2565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b84815260a06020820152600062006f5060a08301600e81526d506f6f6c2050726f66696c65203160901b602082015260400190565b828103604084015262006f64818762006bea565b6001600160a01b03861660608501528381036080850152905062006f898185620061d3565b979650505050505050565b60006020828403121562006fa757600080fd5b5051919050565b908152606060208201819052600090820181905260806040830181905282015260a00190565b6001600160e01b031991909116815260200190565b92835260208301919091526001600160a01b0316604082015260600190565b600062007019620060c9846200607c565b90508281528383830111156200702e57600080fd5b620023658360208301846200622e565b60008060008060008060c087890312156200705857600080fd5b8651620070658162005ff2565b60208801519096506001600160401b038111156200708257600080fd5b8701601f810189136200709457600080fd5b620070a58982516020840162007008565b95505060408701519350606087015192506080870151915060a087015160028110620070d057600080fd5b809150509295509295509295565b8181038181111562000cf45762000cf462006b0d565b60208152600062002365602083018462006254565b600281106200683557620068356200680c565b6001600160a01b038b81168252602082018b9052610140604083018190526000916200714b8483018d62006254565b91506200715c606085018c62007109565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262007195818562006254565b9d9c50505050505050505050505050565b6001600160a01b0384168152606060208201819052600090620071cc9083018562006254565b9050826040830152949350505050565b878152600060018060a01b03808916602084015260e060408401526200720660e084018962006254565b818816606085015286608085015283810360a085015262007228818762006d31565b91505082810360c08401526200723f8185620061d3565b9a9950505050505050505050565b6000602082840312156200726057600080fd5b815162002365816200658a565b634e487b7160e01b600052600160045260246000fd5b60006001820162007298576200729862006b0d565b5060010190565b600080600060608486031215620072b557600080fd5b83519250620072c76020850162006b5f565b9150620072d76040850162006b5f565b90509250925092565b600082601f830112620072f257600080fd5b620023658383516020850162007008565b6000604082840312156200731657600080fd5b604080519081016001600160401b0380821183831017156200733c576200733c62006008565b816040528293508451835260208501519150808211156200735c57600080fd5b506200736b85828601620072e0565b6020830152505092915050565b6000602082840312156200738b57600080fd5b81516001600160401b0380821115620073a357600080fd5b9083019060c08286031215620073b857600080fd5b620073c26200601e565b8251815260208301516020820152604083015182811115620073e357600080fd5b620073f187828601620072e0565b6040830152506060830151828111156200740a57600080fd5b620074188782860162007303565b6060830152506200742c6080840162006a63565b60808201526200743f60a0840162006a63565b60a082015295945050505050565b84815260a06020820152600960a08201526850726f66696c65203160b81b60c082015260e0604082015260006200748860e083018662006bea565b6001600160a01b0385166060840152828103608084015262006f898185620061d3565b84815260a06020820152600960a082015268283937b334b632901960b91b60c082015260e0604082015260006200748860e083018662006bea565b600080600060608486031215620074fc57600080fd5b835160ff811681146200750e57600080fd5b602085015160409095015190969495509392505050565b821515815260406020820152600062005cf4604083018462006254565b60008251620075568184602087016200622e565b9190910192915050565b6001600160a01b038b81168252602082018b9052610140604083018190526000916200758f8483018d62006254565b9250620075a0606085018c62007109565b60808401999099525060a082019690965260c081019490945291851660e0840152909316610100820152610120019190915294935050505056fe60806040523480156200001157600080fd5b5060405162000e9438038062000e94833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610b7080620003246000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220fcfede121580ba0e769e1d6c6b5cae9a425e25d8ecc4fdae8eb1775216a823a164736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516118a361004c60003960008181610360015281816103a9015281816104310152818161047101526104ed01526118a36000f3fe6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee3660046111df565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b61013036600461120d565b6067602052600090815260409020546001600160a01b031681565b60405161010c919061122a565b34801561016457600080fd5b5061017861017336600461120d565b610356565b005b610178610188366004611254565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb3660046111df565b61058e565b60405161010c9695949392919061137d565b3480156101ee57600080fd5b506101786101fd3660046111df565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b506101786102323660046113e4565b6106c3565b34801561024357600080fd5b5061017861025236600461120d565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a366004611465565b610973565b34801561028b57600080fd5b506101a261029a3660046114b0565b610adf565b3480156102ab57600080fd5b506101786102ba36600461120d565b610b1a565b3480156102cb57600080fd5b506101a261029a3660046114fb565b3480156102e657600080fd5b506101a26102f5366004611561565b505060655490565b34801561030957600080fd5b506101786103183660046111df565b610b90565b60008060008060668581548110610336576103366115a2565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e906115b8565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610ce0565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e906115f2565b61040881610cfc565b6040805160008082526020820190925261042491839190610d04565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e906115b8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610ce0565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e906115f2565b6104d082610cfc565b6104dc82826001610d04565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061182783398151915290565b6066818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd9061162c565b80601f01602080910402602001604051908101604052809291908181526020018280546105f99061162c565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e74565b60658190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e74565b6106c16000610ed3565b565b6001600160a01b0380821660009081526067602052604090205482911633036108be576000606685815481106106fb576106fb6115a2565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b611367565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152606760205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152606760205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f9061095990849061122a565b60405180910390a250565b6033546001600160a01b031690565b600061097e60655490565b34101561099e5760405163e4216b3160e01b815260040160405180910390fd5b606680549050905060666040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a6390826116b4565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa457610aa4611367565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a39392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b22610e74565b6001600160a01b038116610b875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610ed3565b600054610100900460ff1615808015610bb05750600054600160ff909116105b80610bd15750610bbf30610f25565b158015610bd1575060005460ff166001145b610c345760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c57576000805461ff0019166101001790555b610c5f610f34565b60658290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611827833981519152546001600160a01b031690565b610424610e74565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d3c57610d3783610f63565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d96575060408051601f3d908101601f19168201909252610d9391810190611773565b60015b610df95760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118278339815191528114610e685760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d37838383610ffd565b33610e7d610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff16610f5b5760405162461bcd60e51b815260040161039e9061178c565b6106c1611022565b610f6c81610f25565b610fce5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061182783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61100683611052565b6000825111806110135750805b15610d37576108fb8383611092565b600054610100900460ff166110495760405162461bcd60e51b815260040161039e9061178c565b6106c133610ed3565b61105b81610f63565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110b78383604051806060016040528060278152602001611847602791396110be565b9392505050565b6060600080856001600160a01b0316856040516110db91906117d7565b600060405180830381855af49150503d8060008114611116576040519150601f19603f3d011682016040523d82523d6000602084013e61111b565b606091505b509150915061112c86838387611136565b9695505050505050565b606083156111a357825160000361119c5761115085610f25565b61119c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b50816111ad565b6111ad83836111b5565b949350505050565b8151156111c55781518083602001fd5b8060405162461bcd60e51b815260040161039e91906117f3565b6000602082840312156111f157600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561121f57600080fd5b81356110b7816111f8565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561126757600080fd5b8235611272816111f8565b915060208301356001600160401b038082111561128e57600080fd5b818501915085601f8301126112a257600080fd5b8135818111156112b4576112b461123e565b604051601f8201601f19908116603f011681019083821181831017156112dc576112dc61123e565b816040528281528860208487010111156112f557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561133257818101518382015260200161131a565b50506000910152565b60008151808452611353816020860160208601611317565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113a19083018861133b565b9050856040830152846060830152836080830152600283106113d357634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b6000806000606084860312156113f957600080fd5b83359250602084013591506040840135611412816111f8565b809150509250925092565b60008083601f84011261142f57600080fd5b5081356001600160401b0381111561144657600080fd5b60208301915083602082850101111561145e57600080fd5b9250929050565b60008060006040848603121561147a57600080fd5b8335925060208401356001600160401b0381111561149757600080fd5b6114a38682870161141d565b9497909650939450505050565b6000806000604084860312156114c557600080fd5b83356001600160401b038111156114db57600080fd5b6114e78682870161141d565b9094509250506020840135611412816111f8565b60008060008060006080868803121561151357600080fd5b8535945060208601356001600160401b0381111561153057600080fd5b61153c8882890161141d565b9095509350506040860135611550816111f8565b949793965091946060013592915050565b6000806020838503121561157457600080fd5b82356001600160401b0381111561158a57600080fd5b6115968582860161141d565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061180783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061180783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061164057607f821691505b60208210810361166057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d3757600081815260208120601f850160051c8101602086101561168d5750805b601f850160051c820191505b818110156116ac57828155600101611699565b505050505050565b81516001600160401b038111156116cd576116cd61123e565b6116e1816116db845461162c565b84611666565b602080601f83116001811461171657600084156116fe5750858301515b600019600386901b1c1916600185901b1785556116ac565b600085815260208120601f198616915b8281101561174557888601518255948401946001909101908401611726565b50858210156117635787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561178557600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082516117e9818460208701611317565b9190910192915050565b6020815260006110b7602083018461133b56fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122042bd393a3e37c597ea52924a3dc31a373b51e3d1d7d35f4235e24c53ad64c47064736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da2646970667358221220af746d4d8dbcbf99fa35749aa30ac6f329bc568b49316f31e46fc01c2c4642da64736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516159696200004d60003960008181611dcd01528181611e1001528181611f0b01528181611f4e01526120b201526159696000f3fe6080604052600436106200032c5760003560e01c806301ffc9a714620003315780630331383c146200036b57806308386eba146200038c5780630d12bbdb14620003a45780630d4a8b4914620003cb578063175188e814620003f05780631b71f0e414620004155780631f787d28146200043a578063223e5479146200045557806322bcf999146200047a578063248a9ca3146200049f57806328c309e914620004c45780632b38c69c14620004dc5780632c611c4a14620005105780632f2ff15d146200054e57806331f61bca14620005735780633396045914620005985780633419635514620005b05780633517aa7d14620005d557806336568abe14620005ed5780633659cfe61462000612578063397e254314620006375780633a871fe1146200065c578063477a5cc014620006915780634f1ef28614620006d1578063524e59e814620006e857806352d1902d146200072b578063559de05d14620007435780635c94e4d214620007685780635ecf71c5146200078b57806365e3864c14620007b05780636871eb4d14620007ed57806368decabb14620008125780636c53db9a1462000835578063715018a6146200085857806373265c371462000870578063733a2d1f146200089557806377122d5614620008ba5780637817ee4f14620008dd57806378a0b8a914620009285780637b103999146200094057806382d6a1e7146200096357806388cfe68414620009885780638961be6b14620009fe5780638da5cb5b1462000a1657806391d148541462000a2e578063a0cf0aea1462000a53578063a217fddf1462000a7d578063a230c5241462000a94578063b0d3713a1462000ab9578063b3f006741462000ade578063b5058c501462000b05578063b64e39af1462000b1d578063b99b43701462000b44578063bc063e1a1462000b5c578063c4d66de81462000b74578063c6d572ae1462000b99578063d547741f1462000bb1578063d6d8428d1462000bd6578063d7050f071462000bf9578063db61d65c1462000c11578063e16d0e321462000c34578063ebd7dc521462000c59578063f2fde38b1462000c7e578063f86c5f891462000ca3578063ffa1ad741462000cc6575b600080fd5b3480156200033e57600080fd5b506200035662000350366004620041ab565b62000cf7565b60405190151581526020015b60405180910390f35b3480156200037857600080fd5b5060fb545b60405190815260200162000362565b3480156200039957600080fd5b506200037d60fe5481565b348015620003b157600080fd5b50620003c9620003c3366004620041d7565b62000d2f565b005b348015620003d857600080fd5b50620003c9620003ea36600462004219565b62000da5565b348015620003fd57600080fd5b50620003c96200040f36600462004257565b62001113565b3480156200042257600080fd5b50620003c96200043436600462004257565b6200112b565b3480156200044757600080fd5b5060ff805462000356911681565b3480156200046257600080fd5b50620003c96200047436600462004257565b62001158565b3480156200048757600080fd5b50620003c96200049936600462004219565b6200116d565b348015620004ac57600080fd5b506200037d620004be366004620041d7565b62001267565b348015620004d157600080fd5b506200037d6200127c565b348015620004e957600080fd5b5062000501620004fb36600462004277565b62001381565b604051620003629190620042b3565b3480156200051d57600080fd5b506200037d6200052f36600462004257565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200055b57600080fd5b50620003c96200056d366004620042c7565b620013bb565b3480156200058057600080fd5b50620003c962000592366004620041d7565b620013e2565b348015620005a557600080fd5b506200037d60fd5481565b348015620005bd57600080fd5b50620003c9620005cf366004620044fb565b62001422565b348015620005e257600080fd5b50620003c962001adf565b348015620005fa57600080fd5b50620003c96200060c366004620042c7565b62001d41565b3480156200061f57600080fd5b50620003c96200063136600462004257565b62001dc3565b3480156200064457600080fd5b50620003c96200065636600462004257565b62001e94565b3480156200066957600080fd5b50620003566200067b36600462004257565b61010a6020526000908152604090205460ff1681565b3480156200069e57600080fd5b5062000356620006b036600462004219565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003c9620006e23660046200468e565b62001f01565b348015620006f557600080fd5b506200070d62000707366004620048b8565b62001fc2565b604080519283526001600160a01b0390911660208301520162000362565b3480156200073857600080fd5b506200037d620020a5565b3480156200075057600080fd5b50620003c962000762366004620041d7565b62002156565b3480156200077557600080fd5b506101025462000501906001600160a01b031681565b3480156200079857600080fd5b50620003c9620007aa366004620041d7565b620023a2565b348015620007bd57600080fd5b506200037d620007cf36600462004219565b61010b60209081526000928352604080842090915290825290205481565b348015620007fa57600080fd5b50620003c96200080c36600462004219565b6200273c565b3480156200081f57600080fd5b506101035462000501906001600160a01b031681565b3480156200084257600080fd5b506101065462000501906001600160a01b031681565b3480156200086557600080fd5b50620003c96200288f565b3480156200087d57600080fd5b50620003c96200088f366004620041d7565b620028a5565b348015620008a257600080fd5b506200037d600080516020620058ad83398151915281565b348015620008c757600080fd5b506101015462000501906001600160a01b031681565b348015620008ea57600080fd5b506200037d620008fc36600462004219565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200093557600080fd5b506200037d60fb5481565b3480156200094d57600080fd5b506101045462000501906001600160a01b031681565b3480156200097057600080fd5b50620003c962000982366004620041d7565b62002941565b3480156200099557600080fd5b50620009d6620009a736600462004257565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000362565b34801562000a0b57600080fd5b506200037d60fc5481565b34801562000a2357600080fd5b5062000501620029ff565b34801562000a3b57600080fd5b506200035662000a4d366004620042c7565b62002a9a565b34801562000a6057600080fd5b506200050173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000a8a57600080fd5b506200037d600081565b34801562000aa157600080fd5b506200035662000ab336600462004257565b62002ac5565b34801562000ac657600080fd5b50620003c962000ad836600462004257565b62002b0f565b34801562000aeb57600080fd5b5060ff54620005019061010090046001600160a01b031681565b34801562000b1257600080fd5b50620003c962002b3c565b34801562000b2a57600080fd5b5062000b3562002b73565b60405162000362919062004976565b34801562000b5157600080fd5b50620003c962002c0a565b34801562000b6957600080fd5b506200037d62002d14565b34801562000b8157600080fd5b50620003c962000b9336600462004257565b62002d26565b34801562000ba657600080fd5b5062000b3562002d5b565b34801562000bbe57600080fd5b50620003c962000bd0366004620042c7565b62002d6b565b34801562000be357600080fd5b506101075462000501906001600160a01b031681565b34801562000c0657600080fd5b506200037d61271081565b34801562000c1e57600080fd5b506101055462000501906001600160a01b031681565b34801562000c4157600080fd5b506200070d62000c533660046200498b565b62002d8d565b34801562000c6657600080fd5b506200035662000c7836600462004257565b62002f1a565b34801562000c8b57600080fd5b50620003c962000c9d36600462004257565b62002f37565b34801562000cb057600080fd5b506101005462000501906001600160a01b031681565b34801562000cd357600080fd5b5062000b35604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d2957506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d3962002fa8565b62000d48612710600a62004a20565b81111562000d695760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000db08262002fe5565b62000dbb816200300e565b62000dc68162003049565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e0f57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000e9d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ec3919062004a50565b600381111562000ed75762000ed762004a3a565b0362000f5c5760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f0e90889060009060040162004a70565b6020604051808303816000875af115801562000f2e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f54919062004a89565b905062001058565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f9f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc5919062004a50565b600381111562000fd95762000fd962004a3a565b14620010585760405163782aadff60e01b81526001600160a01b0385169063782aadff906200100f908890869060040162004a70565b6020604051808303816000875af11580156200102f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001055919062004a89565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec90620011049087908790859062004aa3565b60405180910390a15050505050565b6200111d62002fa8565b620011288162003071565b50565b62001135620030cf565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200116262002fa8565b620011288162003132565b620011788262002fe5565b620011838162003049565b6200118f3382620031c4565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620011d757604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012298282620031f7565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b82826040516200125b92919062004ac7565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b0316816200129c612710606462004a20565b60fc5460fb54620012ae919062004a20565b620012ba919062004ae1565b90506000620012cd612710606462004a20565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c90620012fb903090600401620042b3565b602060405180830381865afa15801562001319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200133f919062004a89565b60fb546200134e919062004a20565b6200135a919062004ae1565b9050808260fb546200136d919062004b04565b62001379919062004b04565b935050505090565b61010d60205281600052604060002081815481106200139f57600080fd5b6000918252602090912001546001600160a01b03169150829050565b620013c68262001267565b620013d1816200332d565b620013dd838362003339565b505050565b620013ec62002fa8565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000d9a565b600054610100900460ff1615808015620014435750600054600160ff909116105b806200146857506200145530620033c3565b15801562001468575060005460ff166001145b620014d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620014f5576000805461ff0019166101001790555b620015008262002d26565b6200150a620033d2565b6200151462003406565b62001530600080516020620058ad833981519152600062003430565b6200153f856020015162003049565b6200154f85610100015162003049565b84516200155c9062003049565b6200156b8560a0015162003049565b6060850151156200158557620015858560c0015162003049565b845161010780546001600160a01b039283166001600160a01b031991821617909155602087015161010580549190931691161790556040850151600003620015e0576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff1916911515919091179055610120850151610108906200161d908262004ba8565b506101608501516101099062001634908262004ba8565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620016a990600080516020620058ad8339815191529062003339565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015620016fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001724919062004c74565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b600003620017b05760408051600380825260808201909252906020820160608036833701905050905033816000815181106200178a576200178a62004c94565b60200260200101906001600160a01b031690816001600160a01b031681525050620018ed565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa158015620017fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001825919081019062004caa565b90508051600262001837919062004b04565b6001600160401b03811115620018515762001851620042ef565b6040519080825280602002602001820160405280156200187b578160200160208202803683370190505b50915060005b8151811015620018ea57818181518110620018a057620018a062004c94565b6020026020010151838281518110620018bd57620018bd62004c94565b6001600160a01b039092166020928302919091019091015280620018e18162004d68565b91505062001881565b50505b6101065481516001600160a01b039091169082906200190f9060019062004d84565b8151811062001922576200192262004c94565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162001954919062004d84565b8151811062001967576200196762004c94565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f92620019ba9291610108913090889060040162004e86565b6020604051808303816000875af1158015620019da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a00919062004a89565b60fe55805162001a199061010f90602084019062004105565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001a8b929091610108919062004eda565b60405180910390a150801562001ad8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001104565b5050505050565b62001ae962003485565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b1a612710606462004a20565b60fc5460fb5462001b2c919062004a20565b62001b38919062004ae1565b9050600062001b4b612710606462004a20565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001b79903090600401620042b3565b602060405180830381865afa15801562001b97573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bbd919062004a89565b60fb5462001bcc919062004a20565b62001bd8919062004ae1565b905062001be58562002ac5565b62001d2f5760028401805460ff1916600190811790915560fb5490850181905562001c3f9086903090849062001c1d90879062004b04565b62001c29919062004b04565b610105546001600160a01b0316929190620034e0565b811562001c6c5760ff546101055462001c6c916001600160a01b039182169161010090910416846200353c565b801562001cf15762001cf1836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001cb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cdc919062004c74565b610105546001600160a01b031690836200353c565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001d2692919062004a70565b60405180910390a15b505050505062001d3f6001606555565b565b6001600160a01b038116331462001db35760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401620014c8565b62001dbf828262003565565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e0e5760405162461bcd60e51b8152600401620014c89062004f09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001e42620035cf565b6001600160a01b03161462001e6b5760405162461bcd60e51b8152600401620014c89062004f44565b62001e7681620035ec565b6040805160008082526020820190925262001128918391906200362e565b62001e9e62002fa8565b62001ea98162003049565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000d9a939216919062004ac7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001f4c5760405162461bcd60e51b8152600401620014c89062004f09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001f80620035cf565b6001600160a01b03161462001fa95760405162461bcd60e51b8152600401620014c89062004f44565b62001fb482620035ec565b62001dbf828260016200362e565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b928116911662001ff8620029ff565b6040516001600160a01b0393841660248201529183166044830152909116606482015260840160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200205d906200416b565b6200206a92919062004f7f565b604051809103906000f08015801562002087573d6000803e3d6000fd5b509050620020988187878762002d8d565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021425760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401620014c8565b50600080516020620058ed83398151915290565b6200216062003485565b6200216a620037a6565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620021ce57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620021af575b50505050509050600080600090505b82518110156200230957828181518110620021fc57620021fc62004c94565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b81526004016200223392919062004a70565b6020604051808303816000875af115801562002253573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002279919062004a89565b91508115620022f4576001600160a01b038416600090815261010b602052604081208451849290869085908110620022b557620022b562004c94565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000828254620022ee919062004b04565b90915550505b80620023008162004d68565b915050620021dd565b506101055462002325906001600160a01b0316843087620034e0565b6001600160a01b038316600090815261010c6020526040812060010180548692906200235390849062004b04565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f906200238c908590879062004a70565b60405180910390a1505050620011286001606555565b620023ac62003485565b620023b6620037a6565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620023ea90869062004d84565b10156200240a57604051634e23e81760e11b815260040160405180910390fd5b6101055462002424906001600160a01b031684866200353c565b60005b8254811015620026d457600083828154811062002448576200244862004c94565b6000918252602090912001546001600160a01b03169050620024728163f1801e6160e01b620037cf565b15620025f857604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620024a89088908a9060040162004a70565b6020604051808303816000875af1158015620024c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024ee919062004a89565b9250600061010b6000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815481106200252f576200252f62004c94565b60009182526020808320909101546001600160a01b0316835282019290925260400190205490508084111562002583576040516311423e6360e31b81526004810185905260248101829052604401620014c8565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620025b657620025b662004c94565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190620025ec90849062004d84565b909155505050620026be565b835484906200260a9060019062004d84565b815481106200261d576200261d62004c94565b9060005260206000200160009054906101000a90046001600160a01b031684838154811062002650576200265062004c94565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508380548062002691576200269162004fa5565b600082815260209020810160001990810180546001600160a01b0319169055019055620026be8162003071565b5080620026cb8162004d68565b91505062002427565b506001600160a01b038316600090815261010c6020526040812060010180548692906200270390849062004d84565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8906200238c908590879062004a70565b6200274662003485565b6200275062002fa8565b60ff80541662002773576040516365b1ee3960e11b815260040160405180910390fd5b6200277e8262002ac5565b6200279c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620027ed83620037f7565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff19169055820151610105546200284292169084906200353c565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3838383602001516040516200287b9392919062004aa3565b60405180910390a15062001dbf6001606555565b62002899620030cf565b62001d3f60006200390c565b620028af62002fa8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620028fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002925919081019062004fbb565b602001519050620029368162003049565b62001dbf8162003071565b6200294b62002fa8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002997573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620029c1919081019062004fbb565b602001519050620029d28162003049565b620029ee6001600160a01b03821663f1801e6160e01b620037cf565b1562001dbf5762001dbf8162003132565b60008062002a156033546001600160a01b031690565b9050806001600160a01b03163b60000362002a2f57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002a8c575060408051601f3d908101601f1916820190925262002a899181019062004c74565b60015b62000d2957919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002b19620030cf565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002b69576040516375e686b760e11b815260040160405180910390fd5b62001d3f6200395e565b610109805462002b839062004b1a565b80601f016020809104026020016040519081016040528092919081815260200182805462002bb19062004b1a565b801562002c025780601f1062002bd65761010080835404028352916020019162002c02565b820191906000526020600020905b81548152906001019060200180831162002be457829003601f168201915b505050505081565b62002c1462003485565b3362002c208162002fe5565b62002c2b81620037f7565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d9052918220909162002ca6919062004179565b60208101516101055462002cc8916001600160a01b039091169084906200353c565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162002cff92919062004a70565b60405180910390a1505062001d3f6001606555565b62002d23612710600a62004a20565b81565b600054610100900460ff1662002d505760405162461bcd60e51b8152600401620014c890620050f1565b62001128816200390c565b610108805462002b839062004b1a565b62002d768262001267565b62002d81816200332d565b620013dd838362003565565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002db85750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002e1657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002df7575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e4e908b9060200162005166565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e86979695949392919062005248565b6020604051808303816000875af115801562002ea6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ecc919062004a89565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002f07959493929190620052b9565b60405180910390a1505094509492505050565b600062000d29600080516020620058ad8339815191528362002a9a565b62002f41620030cf565b6001600160a01b03811662002d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620014c8565b62002fc3600080516020620058ad8339815191523362002a9a565b62001d3f573360405163fc4be72f60e01b8152600401620014c89190620042b3565b62002ff08162002ac5565b6200112857604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff1662001128576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b03811662001128576040516303988b8160e61b815260040160405180910390fd5b6200307c8162003049565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000d9a908390620042b3565b33620030da620029ff565b6001600160a01b03161462001d3f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620014c8565b6001600160a01b038116600090815261010a602052604090205460ff16156200316e576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000d9a908390620042b3565b806001600160a01b0316826001600160a01b03161462001dbf5760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200332757826001600160a01b03168282815481106200323b576200323b62004c94565b6000918252602090912001546001600160a01b031603620033125781548290620032689060019062004d84565b815481106200327b576200327b62004c94565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110620032ae57620032ae62004c94565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480620032ef57620032ef62004fa5565b600082815260209020810160001990810180546001600160a01b03191690550190555b806200331e8162004d68565b91505062003212565b50505050565b620011288133620039c2565b62003345828262002a9a565b62001dbf57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200337f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620033fc5760405162461bcd60e51b8152600401620014c890620050f1565b62001d3f62003a26565b600054610100900460ff1662001d3f5760405162461bcd60e51b8152600401620014c890620050f1565b60006200343d8362001267565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600260655403620034d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620014c8565b6002606555565b62003327846323b872dd60e01b858585604051602401620035049392919062004aa3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003a50565b620013dd8363a9059cbb60e01b84846040516024016200350492919062004a70565b6001606555565b62003571828262002a9a565b1562001dbf57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020620058ed833981519152546001600160a01b031690565b33620035f7620029ff565b6001600160a01b03161462001128573362003611620029ff565b60405163163678e960e01b8152600401620014c892919062004ac7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200366457620013dd8362003b2c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620036c1575060408051601f3d908101601f19168201909252620036be9181019062004a89565b60015b620037265760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620014c8565b600080516020620058ed8339815191528114620037985760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620014c8565b50620013dd83838362003bcb565b620037b13362002ac5565b62001d3f57604051636a5cfb6d60e01b815260040160405180910390fd5b6000620037dc8362003bf6565b8015620037f05750620037f0838362003c2e565b9392505050565b6001600160a01b038116600090815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200386457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003845575b5050505050905060005b8151811015620013dd578181815181106200388d576200388d62004c94565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b8152600401620038c29190620042b3565b600060405180830381600087803b158015620038dd57600080fd5b505af1158015620038f2573d6000803e3d6000fd5b505050508080620039039062004d68565b9150506200386e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290620039b890600090620042b3565b60405180910390a1565b620039ce828262002a9a565b62001dbf57620039de8162003cb9565b620039eb83602062003ccc565b604051602001620039fe929190620052f5565b60408051601f198184030181529082905262461bcd60e51b8252620014c89160040162004976565b600054610100900460ff166200355e5760405162461bcd60e51b8152600401620014c890620050f1565b600062003aa7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662003e859092919063ffffffff16565b905080516000148062003acb57508080602001905181019062003acb919062005368565b620013dd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620014c8565b62003b3781620033c3565b62003b9b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620014c8565b600080516020620058ed83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003bd68362003e9e565b60008251118062003be45750805b15620013dd5762003327838362003ee0565b600062003c0b826301ffc9a760e01b62003c2e565b801562000d29575062003c27826001600160e01b031962003c2e565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562003ca1575060208210155b801562003cae5750600081115b979650505050505050565b606062000d296001600160a01b03831660145b6060600062003cdd83600262004a20565b62003cea90600262004b04565b6001600160401b0381111562003d045762003d04620042ef565b6040519080825280601f01601f19166020018201604052801562003d2f576020820181803683370190505b509050600360fc1b8160008151811062003d4d5762003d4d62004c94565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062003d7f5762003d7f62004c94565b60200101906001600160f81b031916908160001a905350600062003da584600262004a20565b62003db290600162004b04565b90505b600181111562003e34576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062003dea5762003dea62004c94565b1a60f81b82828151811062003e035762003e0362004c94565b60200101906001600160f81b031916908160001a90535060049490941c9362003e2c8162005388565b905062003db5565b508315620037f05760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620014c8565b606062003e96848460008562003f08565b949350505050565b62003ea98162003b2c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620037f083836040518060600160405280602781526020016200590d6027913962003fe0565b60608247101562003f6b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620014c8565b600080866001600160a01b0316858760405162003f899190620053a2565b60006040518083038185875af1925050503d806000811462003fc8576040519150601f19603f3d011682016040523d82523d6000602084013e62003fcd565b606091505b509150915062003cae878383876200405e565b6060600080856001600160a01b03168560405162003fff9190620053a2565b600060405180830381855af49150503d80600081146200403c576040519150601f19603f3d011682016040523d82523d6000602084013e62004041565b606091505b509150915062004054868383876200405e565b9695505050505050565b60608315620040d2578251600003620040ca576200407c85620033c3565b620040ca5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620014c8565b508162003e96565b62003e968383815115620040e95781518083602001fd5b8060405162461bcd60e51b8152600401620014c8919062004976565b8280548282559060005260206000209081019282156200415d579160200282015b828111156200415d57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004126565b5062002a9692915062004194565b6104ec80620053c183390190565b50805460008255906000526020600020908101906200112891905b5b8082111562002a96576000815560010162004195565b600060208284031215620041be57600080fd5b81356001600160e01b031981168114620037f057600080fd5b600060208284031215620041ea57600080fd5b5035919050565b6001600160a01b03811681146200112857600080fd5b80356200421481620041f1565b919050565b600080604083850312156200422d57600080fd5b82356200423a81620041f1565b915060208301356200424c81620041f1565b809150509250929050565b6000602082840312156200426a57600080fd5b8135620037f081620041f1565b600080604083850312156200428b57600080fd5b82356200429881620041f1565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60008060408385031215620042db57600080fd5b8235915060208301356200424c81620041f1565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156200432a576200432a620042ef565b60405290565b60405161018081016001600160401b03811182821017156200432a576200432a620042ef565b60405160c081016001600160401b03811182821017156200432a576200432a620042ef565b60405160e081016001600160401b03811182821017156200432a576200432a620042ef565b604051608081016001600160401b03811182821017156200432a576200432a620042ef565b604051601f8201601f191681016001600160401b0381118282101715620043f057620043f0620042ef565b604052919050565b60006001600160401b03821115620044145762004414620042ef565b50601f01601f191660200190565b6000620044396200443384620043f8565b620043c5565b90508281528383830111156200444e57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126200447757600080fd5b620037f08383356020850162004422565b6000604082840312156200449b57600080fd5b620044a562004305565b82358152905060208201356001600160401b03811115620044c557600080fd5b620044d38482850162004465565b60208301525092915050565b80151581146200112857600080fd5b80356200421481620044df565b600080600080608085870312156200451257600080fd5b84356001600160401b03808211156200452a57600080fd5b9086019061018082890312156200454057600080fd5b6200454a62004330565b620045558362004207565b8152620045656020840162004207565b60208201526040830135604082015260608301356060820152608083013560808201526200459660a0840162004207565b60a0820152620045a960c0840162004207565b60c082015260e083013582811115620045c157600080fd5b620045cf8a82860162004488565b60e083015250610100620045e581850162004207565b908201526101208381013583811115620045fe57600080fd5b6200460c8b82870162004465565b82840152505061014062004622818501620044ee565b9082015261016083810135838111156200463b57600080fd5b620046498b82870162004465565b828401525050809650505050620046636020860162004207565b9250620046736040860162004207565b9150620046836060860162004207565b905092959194509250565b60008060408385031215620046a257600080fd5b8235620046af81620041f1565b915060208301356001600160401b03811115620046cb57600080fd5b8301601f81018513620046dd57600080fd5b620046ee8582356020840162004422565b9150509250929050565b8035600381106200421457600080fd5b600481106200112857600080fd5b8035620042148162004708565b6000602082840312156200473657600080fd5b604051602081016001600160401b03811182821017156200475b576200475b620042ef565b6040529135825250919050565b600060c082840312156200477b57600080fd5b6200478562004356565b905081356200479481620041f1565b81526020820135620047a681620041f1565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60008183036101e0811215620047f057600080fd5b620047fa6200437b565b915060808112156200480b57600080fd5b5062004816620043a0565b82358152602083013560208201526040830135604082015260608301356060820152808252506200484a60808301620046f8565b60208201526200485d60a0830162004716565b6040820152620048718360c0840162004723565b6060820152620048858360e0840162004768565b6080820152620048996101a0830162004207565b60a0820152620048ad6101c0830162004207565b60c082015292915050565b60008060006102208486031215620048cf57600080fd5b8335620048dc81620041f1565b9250620048ed8560208601620047db565b91506102008401356001600160401b038111156200490a57600080fd5b620049188682870162004488565b9150509250925092565b60005b838110156200493f57818101518382015260200162004925565b50506000910152565b600081518084526200496281602086016020860162004922565b601f01601f19169290920160200192915050565b602081526000620037f0602083018462004948565b6000806000806102408587031215620049a357600080fd5b8435620049b081620041f1565b93506020850135620049c281620041f1565b9250620049d38660408701620047db565b91506102208501356001600160401b03811115620049f057600080fd5b620049fe8782880162004488565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d295762000d2962004a0a565b634e487b7160e01b600052602160045260246000fd5b60006020828403121562004a6357600080fd5b8151620037f08162004708565b6001600160a01b03929092168252602082015260400190565b60006020828403121562004a9c57600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b60008262004aff57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d295762000d2962004a0a565b600181811c9082168062004b2f57607f821691505b60208210810362004b5057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620013dd57600081815260208120601f850160051c8101602086101562004b7f5750805b601f850160051c820191505b8181101562004ba05782815560010162004b8b565b505050505050565b81516001600160401b0381111562004bc45762004bc4620042ef565b62004bdc8162004bd5845462004b1a565b8462004b56565b602080601f83116001811462004c14576000841562004bfb5750858301515b600019600386901b1c1916600185901b17855562004ba0565b600085815260208120601f198616915b8281101562004c455788860151825594840194600190910190840162004c24565b508582101562004c645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562004c8757600080fd5b8151620037f081620041f1565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121562004cbe57600080fd5b82516001600160401b038082111562004cd657600080fd5b818501915085601f83011262004ceb57600080fd5b81518181111562004d005762004d00620042ef565b8060051b915062004d13848301620043c5565b818152918301840191848101908884111562004d2e57600080fd5b938501935b8385101562004d5c578451925062004d4b83620041f1565b828252938501939085019062004d33565b98975050505050505050565b60006001820162004d7d5762004d7d62004a0a565b5060010190565b8181038181111562000d295762000d2962004a0a565b6000815462004da98162004b1a565b80855260206001838116801562004dc9576001811462004de45762004e14565b60ff1985168884015283151560051b88018301955062004e14565b866000528260002060005b8581101562004e0c5781548a820186015290830190840162004def565b890184019650505b505050505092915050565b80518252600060208201516040602085015262003e96604085018262004948565b600081518084526020808501945080840160005b8381101562004e7b5781516001600160a01b03168752958201959082019060010162004e54565b509495945050505050565b85815260a06020820152600062004ea160a083018762004d9a565b828103604084015262004eb5818762004e1f565b6001600160a01b03861660608501528381036080850152905062004d5c818562004e40565b83815260606020820152600062004ef5606083018562004d9a565b828103604084015262004054818562004e1f565b6020808252602c90820152600080516020620058cd83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020620058cd83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b038316815260406020820181905260009062003e969083018462004948565b634e487b7160e01b600052603160045260246000fd5b6000602080838503121562004fcf57600080fd5b82516001600160401b038082111562004fe757600080fd5b9084019060c0828703121562004ffc57600080fd5b6200500662004356565b82518152838301516200501981620041f1565b8185015260408301516200502d81620041f1565b60408201526060830151828111156200504557600080fd5b8301604081890312156200505857600080fd5b6200506262004305565b8151815285820151848111156200507857600080fd5b82019350601f840189136200508c57600080fd5b835191506200509f6200443383620043f8565b8281528987848701011115620050b457600080fd5b620050c58388830189880162004922565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600381106200514f576200514f62004a3a565b9052565b600481106200514f576200514f62004a3a565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151620051a860808401826200513c565b506040830151620051bd60a084018262005153565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a0908101516101808401528301516200522b6101a0840182620042a6565b5060c0830151620052416101c0840182620042a6565b5092915050565b878152600060018060a01b03808916602084015260e060408401526200527260e084018962004948565b818816606085015286608085015283810360a085015262005294818762004e1f565b91505082810360c0840152620052ab818562004e40565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a06080820181905260009062003cae9083018462004e1f565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200532981601785016020880162004922565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200535c81602884016020880162004922565b01602801949350505050565b6000602082840312156200537b57600080fd5b8151620037f081620044df565b6000816200539a576200539a62004a0a565b506000190190565b60008251620053b681846020870162004922565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c65c829f8fdde34a02905ed1e083dd9758067fd2de18763efdf9654cd7213cd964736f6c6343000813003360a06040523060805234801561001457600080fd5b5060805161667a6200004d6000396000818161181f0152818161185f015281816118ef0152818161192f01526119a7015261667a6000f3fe6080604052600436106103425760003560e01c8063013cf08b1461034b57806301ffc9a71461038d578063059351cd146103bd578063062f9ece1461044a5780630a6f0ee91461046a5780630ba959091461048a5780630bece79c146104a95780630c0512e9146104d65780630f529ba2146104ec578063125fd1d91461050357806315cc481e14610519578063184b9559146105375780631aa91a9e146105575780631ddf1e23146105775780632506b8701461058c578063255ffb38146105cf5780632bbe0cae146105fc5780632dbd6fdd1461060f5780632ed04b2b1461063b578063311a6c561461065b578063339604591461067b578063346db8cb14610691578063351d9f96146106b15780633659cfe6146106d857806338fff2d0146106f8578063406244d81461070d57806341bb76051461072257806342fda9c71461077f5780634ab4ba42146107945780634d31d087146107a95780634f1ef286146107c957806352d1902d146107dc57806359a5db8b146107f15780635db64b99146108115780636003e4141461083e57806360d5dedc1461085e578063626c47e81461087e5780636453d9c414610893578063715018a6146108b3578063782aadff146108c8578063814516ad146108e8578063817b1cd2146108fd578063824ea8ed14610913578063868c57b8146109335780638da5cb5b14610953578063950559d7146109685780639a1c157c14610988578063a0cf0aea1461099d578063a28889e1146109c5578063a47ff7e5146109fd578063a574cea414610a14578063aba9ffee14610a41578063ac1ed7b914610a57578063b0d3713a14610a77578063b2b878d014610a97578063b41596ec14610ac4578063b5f620ce14610ad7578063b6c61f3114610af7578063bcc5b93b14610b17578063c329217114610b37578063c4d66de814610b54578063c7f758a814610b74578063d1e3623214610bab578063dc96ff2d14610bc0578063df868ed314610bf0578063e0a8f6f514610c05578063e0dd2c3814610c25578063eb11af9314610c45578063edd146cc14610c6d578063ef2920fc14610c8d578063f2fde38b14610ca0578063f5b0dfb714610cc0578063f5be3f7c14610ce0578063ffa1ad7414610cf657005b3661034957005b005b34801561035757600080fd5b5061036b61036636600461503b565b610d32565b6040516103849d9c9b9a999897969594939291906150f6565b60405180910390f35b34801561039957600080fd5b506103ad6103a8366004615198565b610e80565b6040519015158152602001610384565b3480156103c957600080fd5b50610412606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c001610384565b34801561045657600080fd5b506103496104653660046152cd565b610eb7565b34801561047657600080fd5b506103496104853660046154a2565b610ecd565b34801561049657600080fd5b506077545b604051908152602001610384565b3480156104b557600080fd5b506079546104c9906001600160a01b031681565b6040516103849190615519565b3480156104e257600080fd5b5061049b606e5481565b3480156104f857600080fd5b5061049b6298968081565b34801561050f57600080fd5b5061049b606f5481565b34801561052557600080fd5b506065546001600160a01b03166104c9565b34801561054357600080fd5b5061034961055236600461552d565b610eed565b34801561056357600080fd5b5061049b61057236600461503b565b61104d565b34801561058357600080fd5b50610349611097565b34801561059857600080fd5b506072546073546074546075546105af9392919084565b604080519485526020850193909352918301526060820152608001610384565b3480156105db57600080fd5b5061049b6105ea36600461503b565b607e6020526000908152604090205481565b6104c961060a36600461556d565b6110a2565b34801561061b57600080fd5b5060765461062e90610100900460ff1681565b60405161038491906155d2565b34801561064757600080fd5b5061049b6106563660046155e0565b6110c5565b34801561066757600080fd5b5061034961067636600461560c565b611189565b34801561068757600080fd5b5061049b606c5481565b34801561069d57600080fd5b5061049b6106ac36600461562e565b61177a565b3480156106bd57600080fd5b506076546106cb9060ff1681565b604051610384919061566a565b3480156106e457600080fd5b506103496106f3366004615678565b611815565b34801561070457600080fd5b5060685461049b565b34801561071957600080fd5b5061049b600a81565b34801561072e57600080fd5b5061041261073d36600461503b565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b34801561078b57600080fd5b5060665461049b565b3480156107a057600080fd5b5060695461049b565b3480156107b557600080fd5b506103ad6107c4366004615678565b6118dd565b6103496107d7366004615695565b6118e5565b3480156107e857600080fd5b5061049b61199a565b3480156107fd57600080fd5b5061049b61080c36600461503b565b611a48565b34801561081d57600080fd5b5061049b61082c366004615678565b607c6020526000908152604090205481565b34801561084a57600080fd5b506078546104c9906001600160a01b031681565b34801561086a57600080fd5b506103496108793660046156e4565b611b62565b34801561088a57600080fd5b5061049b600381565b34801561089f57600080fd5b506103496108ae366004615678565b611bde565b3480156108bf57600080fd5b50610349611bef565b3480156108d457600080fd5b5061049b6108e33660046155e0565b611c01565b3480156108f457600080fd5b50610349611d93565b34801561090957600080fd5b5061049b60705481565b34801561091f57600080fd5b506103ad61092e36600461503b565b611eaa565b34801561093f57600080fd5b5061049b61094e3660046155e0565b611f07565b34801561095f57600080fd5b506104c9611f38565b34801561097457600080fd5b5061049b61098336600461503b565b611fc9565b34801561099457600080fd5b5060745461049b565b3480156109a957600080fd5b506104c973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156109d157600080fd5b50606d546109e5906001600160401b031681565b6040516001600160401b039091168152602001610384565b348015610a0957600080fd5b5060775461049b9081565b348015610a2057600080fd5b50610a34610a2f36600461503b565b611ff3565b604051610384919061573f565b348015610a4d57600080fd5b5061049b60715481565b348015610a6357600080fd5b50610349610a72366004615678565b6120d2565b348015610a8357600080fd5b50610349610a92366004615678565b612105565b348015610aa357600080fd5b50610ab7610ab2366004615752565b61212f565b6040516103849190615826565b61049b610ad23660046158bf565b61214a565b348015610ae357600080fd5b50610349610af2366004615946565b61249c565b348015610b0357600080fd5b50607a546104c9906001600160a01b031681565b348015610b2357600080fd5b5061049b610b32366004615678565b6124a5565b348015610b4357600080fd5b50607654610100900460ff1661062e565b348015610b6057600080fd5b50610349610b6f366004615678565b6124c0565b348015610b8057600080fd5b50610b94610b8f36600461503b565b6124f0565b6040516103849b9a99989796959493929190615963565b348015610bb757600080fd5b5060715461049b565b348015610bcc57600080fd5b5061049b610bdb36600461503b565b6000908152607b602052604090206002015490565b348015610bfc57600080fd5b506103ad6125fc565b348015610c1157600080fd5b50610349610c2036600461503b565b61260f565b348015610c3157600080fd5b5061049b610c403660046159d2565b612794565b348015610c5157600080fd5b50610c606107c4366004615678565b60405161038491906159f7565b348015610c7957600080fd5b50610349610c88366004615a0a565b6127bf565b610349610c9b36600461556d565b612999565b348015610cac57600080fd5b50610349610cbb366004615678565b6129b3565b348015610ccc57600080fd5b50610349610cdb36600461503b565b612a20565b348015610cec57600080fd5b5061049b611c2081565b348015610d0257600080fd5b50610d25604051806040016040528060038152602001620302e360ec1b81525081565b6040516103849190615a3a565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610db990615a4d565b80601f0160208091040260200160405190810160405280929190818152602001828054610de590615a4d565b8015610e325780601f10610e0757610100808354040283529160200191610e32565b820191906000526020600020905b815481529060010190602001808311610e1557829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610eb157506301ffc9a760e01b6001600160e01b03198316145b92915050565b610ebf612a49565b610ec98282612af1565b5050565b610ed5612e66565b610edd612e91565b610ee8838383612eb4565b505050565b600054610100900460ff1615808015610f0d5750600054600160ff909116105b80610f2e5750610f1c306131be565b158015610f2e575060005460ff166001145b610f965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610fb9576000805461ff0019166101001790555b610fe6846040518060400160405280600a8152602001694356537472617465677960b01b81525084611b62565b606a80546001600160a01b0319166001600160a01b0385161790558015611047576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461107f5760405163c1d17bef60e01b815260048101849052602401610f8d565b61108d8182600201546131cd565b6003015492915050565b6110a033613208565b565b60006110ac612e66565b6110b4612e91565b6110be838361332d565b9392505050565b60006110cf61371b565b60006002607654610100900460ff1660038111156110ef576110ef615061565b148061111657506001607654610100900460ff16600381111561111457611114615061565b145b1561112257508161112f565b61112c8484613746565b90505b80607160008282546111419190615a97565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061117a90869086908590615aaa565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112295760405163c1d17bef60e01b815260048101849052602401610f8d565b6005600883015460ff16600681111561124457611244615061565b1461126557604051634b011ca960e11b815260048101849052602401610f8d565b60a0810151600d83015460009161127b91615acb565b42119050801581611296575081516001600160a01b03163314155b156112b457604051631777988560e11b815260040160405180910390fd5b80806112be575084155b156114075781608001516000036112e857604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113045760088301805460ff191660011790555b81608001516002036113915760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361135e938a939290911691600401615ade565b600060405180830381600087803b15801561137857600080fd5b505af115801561138c573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113d0938a939290911691600401615ade565b600060405180830381600087803b1580156113ea57600080fd5b505af11580156113fe573d6000803e3d6000fd5b505050506116e3565b846001036114c75760088301805460ff19166001179055607954600e84015460785460408051633629edcd60e11b815290516001600160a01b0394851694638969ab53948a9490821693911691636c53db9a916004808201926020929091908290030181865afa15801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a39190615afd565b86606001516040518563ffffffff1660e01b81526004016113d09493929190615b1a565b846002036116e35760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361151d938a939290911691600401615ade565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050607954600586015460785460408051633629edcd60e11b815290516001600160a01b039485169650638969ab5395508a949384169390921691636c53db9a916004808201926020929091908290030181865afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d59190615afd565b606f546000908152607f602052604090206002908101546115f69190615b55565b6040518563ffffffff1660e01b81526004016116159493929190615b1a565b600060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a9493841693909216916116919190615b55565b6040518563ffffffff1660e01b81526004016116b09493929190615b1a565b600060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006116fc83615b77565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161176a91815260200190565b60405180910390a3505050505050565b6074546000908490829061179f9061179990629896809060801b615b55565b8361394d565b905060806001607f1b607260020154629896806117bc9190615a97565b6117ca84600160801b615a97565b6117d76298968089615b9a565b6117e19190615b9a565b6117eb9190615b55565b6117f58885615b9a565b6117ff9190615acb565b6118099190615acb565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361185d5760405162461bcd60e51b8152600401610f8d90615bb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661188f6139f5565b6001600160a01b0316146118b55760405162461bcd60e51b8152600401610f8d90615beb565b6118be81613a11565b604080516000808252602082019092526118da91839190613a4c565b50565b600080610eb1565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361192d5760405162461bcd60e51b8152600401610f8d90615bb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661195f6139f5565b6001600160a01b0316146119855760405162461bcd60e51b8152600401610f8d90615beb565b61198e82613a11565b610ec982826001613a4c565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a355760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610f8d565b506000805160206165de83398151915290565b60008060695411611a6c5760405163ed4421ad60e01b815260040160405180910390fd5b611a7582613bb7565b15611a9357604051630efd728560e21b815260040160405180910390fd5b606954600090611aa784600160401b615b9a565b611ab19190615b55565b6072546298968090611ac790600160401b615b9a565b611ad19190615b55565b611adb9190615a97565b90506040611ae860715490565b607454611af89062989680615a97565b629896806040611b088680615b9a565b607354911c90611b1f90629896809060801b615b55565b611b299190615b55565b611b339190615b9a565b611b3d9190615b55565b611b479190615b9a565b607554911c92508211611b5c576075546110be565b50919050565b600054610100900460ff16611b895760405162461bcd60e51b8152600401610f8d90615c25565b611b92816124c0565b606580546001600160a01b0319166001600160a01b038516179055604051611bbe908390602001615a3a565b60408051601f198184030181529190528051602090910120606655505050565b611be661371b565b6118da81613208565b611bf7613bde565b6110a06000613c3d565b6000611c0b61371b565b611c1483613c8f565b611c3157604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611c5157611c51615061565b03611c5f57825b9050611cbc565b6001607654610100900460ff166003811115611c7d57611c7d615061565b03611c8c57611c588484613d1d565b6003607654610100900460ff166003811115611caa57611caa615061565b03611cbc57611cb98484613dc4565b90505b60785460405163011de97360e61b81526000916001600160a01b03169063477a5cc090611cef9088903090600401615c70565b602060405180830381865afa158015611d0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d309190615c8a565b90508015611d50578160716000828254611d4a9190615acb565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611d8393929190615aaa565b60405180910390a1509392505050565b33611d9d81613c8f565b611dba57604051630b72d6b160e31b815260040160405180910390fd5b607854604051630d4a8b4960e01b81526001600160a01b0390911690630d4a8b4990611dec9084903090600401615c70565b600060405180830381600087803b158015611e0657600080fd5b505af1158015611e1a573d6000803e3d6000fd5b5050607854604051637817ee4f60e01b81526001600160a01b039091169250637817ee4f9150611e509084903090600401615c70565b602060405180830381865afa158015611e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e919190615ca7565b60716000828254611ea29190615acb565b909155505050565b6000818152607b60205260408120600281015482908190611ecc908490613fc9565b91509150816000148015611ede575080155b15611eeb57826003015491505b6000611efa8460010154611a48565b9092101595945050505050565b607d6020528160005260406000208181548110611f2357600080fd5b90600052602060002001600091509150505481565b600080611f4d6033546001600160a01b031690565b9050806001600160a01b03163b600003611f6657919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611fc0575060408051601f3d908101601f19168201909252611fbd91810190615afd565b60015b610eb157919050565b607454600090611fdc9062989680615a97565b611fe96298968084615b9a565b610eb19190615b55565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461204890615a4d565b80601f016020809104026020016040519081016040528092919081815260200182805461207490615a4d565b80156120c15780601f10612096576101008083540402835291602001916120c1565b820191906000526020600020905b8154815290600101906020018083116120a457829003601f168201915b505050505081525050915050919050565b6120da612a49565b6120e381614021565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b61210d613bde565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916121d757604051636c291fd360e01b815260040160405180910390fd5b815488146121fb5760405163c1d17bef60e01b815260048101899052602401610f8d565b6001600883015460ff16600681111561221657612216615061565b14612237576040516344980d8f60e01b815260048101899052602401610f8d565b8060600151341015612263576060810151604051632c1f8ef160e21b8152610f8d913491600401615cd0565b600f82015415801590612286575042611c2083600f01546122849190615acb565b115b156122c4578742611c2084600f015461229f9190615acb565b6122a99190615a97565b604051638d2f6c3160e01b8152600401610f8d929190615cd0565b60008160600151346122d69190615a97565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a9190612311908d903390600401615cde565b6000604051808303818588803b15801561232a57600080fd5b505af115801561233e573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612379906003908b908b90600401615d1e565b60206040518083038185885af1158015612397573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123bc9190615ca7565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b03169161241d83615d41565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516124889796959493929190615d6f565b60405180910390a150505095945050505050565b6118da81614048565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166124e75760405162461bcd60e51b8152600401610f8d90615c25565b6118da81613c3d565b600080600080600080600080600080600080607b60008e815260200190815260200160002090508060010154600014612535576125308160010154611a48565b612538565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061260a60675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561263757612637615061565b14612658576040516344980d8f60e01b815260048101829052602401610f8d565b6000818152607b60205260409020600501546001600160a01b031633146126b1576000818152607b602052604090819020600501549051634544dc9160e11b8152610f8d916001600160a01b0316903390600401615c70565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361270e938793921691600401615ade565b600060405180830381600087803b15801561272857600080fd5b505af115801561273c573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b03851684526009019091528120546110be565b6127c7612e66565b6127d082614089565b606a54606c80546127f9926001600160a01b03169160006127f083615dbe565b919050556140d8565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561284f57600080fd5b505af1158015612863573d6000803e3d6000fd5b5050505060008180602001905181019061287d9190615ea2565b60a08101519091506001600160a01b03166128ab57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156128f0576128f0615061565b021790555060408101516076805461ff00191661010083600381111561291857612918615061565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815161295b9190612af1565b7fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b838260405161298c929190615f93565b60405180910390a1505050565b6129a1612e66565b6129a9612e91565b610ec98282614127565b6129bb613bde565b6001600160a01b0381166124e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f8d565b612a28612e66565b8060696000828254612a3a9190615acb565b909155506118da905081614216565b607860009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac09190615afd565b6001600160a01b0316336001600160a01b0316146110a057604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612b16575081516001600160a01b031615155b8015612bff5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612b725750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612b965750606f546000908152607f602052604090819020600201549083015114155b80612bb95750606f546000908152607f6020526040902060030154606083015114155b80612bdc5750606f546000908152607f6020526040902060040154608083015114155b80612bff5750606f546000908152607f602052604090206005015460a083015114155b15612e0e57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612c5957508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612d22578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612c9091600401615519565b600060405180830381600087803b158015612caa57600080fd5b505af1158015612cbe573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612d199350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612d3283615dbe565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612e5a908390616053565b60405180910390a15050565b6065546001600160a01b031633146110a05760405163075fd2b160e01b815260040160405180910390fd5b6068546000036110a057604051630f68fe6360e21b815260040160405180910390fd5b6000825111612ed657604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612eec9190615ca7565b905080600003612f0f5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff166002811115612f3657612f36615061565b036131b75780548214612f5f5760405163c1d17bef60e01b815260048101839052602401610f8d565b60695481600101541115612f9257818160010154606954604051632c31d85b60e11b8152600401610f8d93929190616061565b6001600882015460ff166006811115612fad57612fad615061565b14612fce576040516344980d8f60e01b815260048101839052602401610f8d565b6000612fd98361104d565b90506000612fea8360010154611a48565b90508082108015612fff575060008360010154115b1561301d5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561306b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130939190810190616104565b90508360010154606960008282546130ab9190615a97565b90915550506040810151600485015460018601546130d392916001600160a01b031690614246565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613133948c94911692909101615ade565b600060405180830381600087803b15801561314d57600080fd5b505af1158015613161573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506131ab9289926001600160a01b0390911691615ade565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806131da8484613fc9565b915091508160001480156131ec575080155b156131f75750505050565b600784015560039092019190915550565b607854604051637817ee4f60e01b81526001600160a01b0390911690637817ee4f9061323a9084903090600401615c70565b602060405180830381865afa158015613257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061327b9190615ca7565b6071600082825461328c9190615a97565b90915550506078546040516322bcf99960e01b81526001600160a01b03909116906322bcf999906132c39084903090600401615c70565b600060405180830381600087803b1580156132dd57600080fd5b505af11580156132f1573d6000803e3d6000fd5b505050506132fe81614280565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516127899190615519565b600061333882613c8f565b61335557604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061336b91906161b7565b80519091506000036133905760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156133a9576133a9615061565b0361352a576133bb8160200151614021565b60608101516001600160a01b03166133e65760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061344a9190615afd565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa158015613498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134c09190810190616104565b905080604001516001600160a01b031683606001516001600160a01b0316146134fc5760405163514e24c360e11b815260040160405180910390fd5b6135098360400151613bb7565b1561352757604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906135665750606f546000908152607f602052604090206002015434105b1561359c57606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152610f8d913491600401615cd0565b6000606e600081546135ad90615dbe565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061366190826162ab565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926136a59288921690600401615cde565b6000604051808303818588803b1580156136be57600080fd5b505af11580156136d2573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b6068548360405161370a929190615cd0565b60405180910390a150949350505050565b6078546001600160a01b031633146110a0576040516357848b5160e11b815260040160405180910390fd5b607854604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015613796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ba9190615afd565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613813575060408051601f3d908101601f191682019092526138109181019061636a565b60015b1561381e5760ff1690505b6078546040516316308e2560e11b815260009185916001600160a01b0390911690632c611c4a90613853908990600401615519565b602060405180830381865afa158015613870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138949190615ca7565b61389e9190615a97565b905060006138bf6138b084600a616471565b6138ba9084615b9a565b6143e1565b607854604051637817ee4f60e01b815291925060009183916001600160a01b031690637817ee4f906138f7908b903090600401615c70565b602060405180830381865afa158015613914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139389190615ca7565b6139429190615a97565b979650505050505050565b6000600160801b83106139a15760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f8d565b50600160801b82825b80156139ed57806001166000036139cf576139c582836144c9565b915060011c6139aa565b6139d983836144c9565b92506139e6600182615a97565b90506139aa565b505092915050565b6000805160206165de833981519152546001600160a01b031690565b33613a1a611f38565b6001600160a01b0316146118da5733613a31611f38565b60405163163678e960e01b8152600401610f8d929190615c70565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613a7f57610ee8836145a6565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613ad9575060408051601f3d908101601f19168201909252613ad691810190615ca7565b60015b613b3c5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610f8d565b6000805160206165de8339815191528114613bab5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610f8d565b50610ee8838383614640565b6000613bc66298968083615b9a565b606954607254613bd69190615b9a565b111592915050565b33613be7611f38565b6001600160a01b0316146110a05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f8d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b607a546000906001600160a01b0316613caa57506001919050565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a090613cdc9085903090600401615c70565b602060405180830381865afa158015613cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190615c8a565b607854604051637817ee4f60e01b8152600091839183916001600160a01b031690637817ee4f90613d549088903090600401615c70565b602060405180830381865afa158015613d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d959190615ca7565b607754909150613da58383615acb565b1115613dbc57607754613db9908290615a97565b91505b509392505050565b6078546040516316308e2560e11b8152600091829184916001600160a01b031690632c611c4a90613df9908890600401615519565b602060405180830381865afa158015613e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3a9190615ca7565b613e449190615acb565b607854604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb89190615afd565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613f11575060408051601f3d908101601f19168201909252613f0e9181019061636a565b60015b15613f1c5760ff1690505b6000613f36613f2c83600a616471565b6138ba9085615b9a565b607854604051637817ee4f60e01b81529192506000916001600160a01b0390911690637817ee4f90613f6e908a903090600401615c70565b602060405180830381865afa158015613f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613faf9190615ca7565b90506000613fbd8284615a97565b98975050505050505050565b6000804390508084600701541115613fe357613fe361647d565b80846007015403613ff95750600090508061401a565b61401784600701548261400c9190615a97565b85600301548561177a565b91505b9250929050565b6001600160a01b0381166118da576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612789565b614091612e66565b606854156140b25760405163439a74c960e01b815260040160405180910390fd5b806000036140d357604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b16602082015260348101829052600090819060540160405160208183030381529060405280519060200120905061411f8482614665565b949350505050565b614130816146fc565b61413981613c8f565b61415657604051630b72d6b160e31b815260040160405180910390fd5b60785460405163011de97360e61b81526000916001600160a01b03169063477a5cc0906141899085903090600401615c70565b602060405180830381865afa1580156141a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ca9190615c8a565b9050806141ea57604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906142009190616493565b905061420c83826147da565b611047838261496e565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612789565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161427557610ee88282614d46565b610ee8838383614d62565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156142e057602002820191906000526020600020905b8154815260200190600101908083116142cc575b5050505050905060005b8151811015610ee85760008282815181106143075761430761653d565b602002602001015190506000607b6000838152602001908152602001600020905061433182614da8565b156143cc576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261436b908490615a97565b9250508190555080607060008282546143849190615a97565b90915550614394905082826131cd565b6000805160206165fe83398151915286846000856002015486600301546040516143c2959493929190616553565b60405180910390a1505b505080806143d990615dbe565b9150506142ea565b6000816000036143f357506000919050565b6000600161440084614de1565b901c6001901b9050600181848161441957614419615b3f565b048201901c9050600181848161443157614431615b3f565b048201901c9050600181848161444957614449615b3f565b048201901c9050600181848161446157614461615b3f565b048201901c9050600181848161447957614479615b3f565b048201901c9050600181848161449157614491615b3f565b048201901c905060018184816144a9576144a9615b3f565b048201901c90506110be818285816144c3576144c3615b3f565b04614e75565b6000600160801b8311156145305760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f8d565b600160801b82106145825760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f8d565b60806001607f1b6145938486615b9a565b61459d9190615acb565b901c9392505050565b6145af816131be565b6146115760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610f8d565b6000805160206165de83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61464983614e8b565b6000825111806146565750805b15610ee8576110478383614ecb565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610eb15760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610f8d565b6001600160a01b03811661472357604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b031661474c57604051635df4b1ef60e01b815260040160405180910390fd5b60785460405163288c314960e21b81526001600160a01b039091169063a230c5249061477c908490600401615519565b602060405180830381865afa158015614799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bd9190615c8a565b6118da57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b8251811015614897578281815181106147f9576147f961653d565b602002602001015160000151600003156148855760008382815181106148215761482161653d565b602002602001015160000151905061483881614da8565b6148585760405163c1d17bef60e01b815260048101829052602401610f8d565b83828151811061486a5761486a61653d565b602002602001015160200151836148819190616581565b9250505b8061488f81615dbe565b9150506147de565b5060006148ac6148a6856124a5565b83614ef0565b607854604051637817ee4f60e01b81529192506000916001600160a01b0390911690637817ee4f906148e49088903090600401615c70565b602060405180830381865afa158015614901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149259190615ca7565b90508082111561494c578181604051636b20c17f60e11b8152600401610f8d929190615cd0565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110475760008382815181106149905761499061653d565b602002602001015160000151905082516000036149ec57604080516001808252818301909252906020808301908036833701905050925080836000815181106149db576149db61653d565b602002602001018181525050614b1f565b6000805b8451811015614a4c5782858281518110614a0c57614a0c61653d565b602002602001015103614a3a57600191508281604051632b7aec5560e21b8152600401610f8d929190615cd0565b80614a4481615dbe565b9150506149f0565b5080614b1d57600084516001614a629190615acb565b6001600160401b03811115614a7957614a796151c2565b604051908082528060200260200182016040528015614aa2578160200160208202803683370190505b50905060005b8551811015614afa57858181518110614ac357614ac361653d565b6020026020010151828281518110614add57614add61653d565b602090810291909101015280614af281615dbe565b915050614aa8565b508281865181518110614b0f57614b0f61653d565b602090810291909101015293505b505b6000848381518110614b3357614b3361653d565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b16835260098101909452812054919350614b738285614ef0565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d6020526040902054811015614c0c5784546001600160a01b038c166000908152607d60205260409020805483908110614be157614be161653d565b906000526020600020015403614bfa5760019150614c0c565b80614c0481615dbe565b915050614b95565b5080614c42576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311614c9257614c538383615a97565b60706000828254614c649190615acb565b90915550614c7490508383615a97565b846002016000828254614c879190615acb565b90915550614cd69050565b614c9c8284615a97565b60706000828254614cad9190615a97565b90915550614cbd90508284615a97565b846002016000828254614cd09190615a97565b90915550505b8360070154600003614ced57436007850155614d2d565b614cf784846131cd565b6000805160206165fe8339815191528a878487600201548860030154604051614d24959493929190616553565b60405180910390a15b5050505050508080614d3e90615dbe565b915050614973565b60008060008084865af1610ec95763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716614d9e576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610eb15750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c15614df657608092831c92015b604083901c15614e0857604092831c92015b602083901c15614e1a57602092831c92015b601083901c15614e2c57601092831c92015b600883901c15614e3e57600892831c92015b600483901c15614e5057600492831c92015b600283901c15614e6257600292831c92015b600183901c15610eb15760010192915050565b6000818310614e8457816110be565b5090919050565b614e94816145a6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110be838360405180606001604052806027815260200161661e60279139614f27565b600080614efd8385616581565b905060008112156110be57838382604051631dde38a160e11b8152600401610f8d93929190616061565b6060600080856001600160a01b031685604051614f4491906165a1565b600060405180830381855af49150503d8060008114614f7f576040519150601f19603f3d011682016040523d82523d6000602084013e614f84565b606091505b5091509150614f9586838387614f9f565b9695505050505050565b6060831561500c57825160000361500557614fb9856131be565b6150055760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f8d565b508161411f565b61411f83838151156150215781518083602001fd5b8060405162461bcd60e51b8152600401610f8d9190615a3a565b60006020828403121561504d57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b600781106118da576118da615061565b60005b838110156150a257818101518382015260200161508a565b50506000910152565b600081518084526150c3816020860160208601615087565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015261411f60408501826150ab565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e085015261513e89615077565b8861010085015281610120850152615158828501896150d7565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b6000602082840312156151aa57600080fd5b81356001600160e01b0319811681146110be57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156151fa576151fa6151c2565b60405290565b60405160c081016001600160401b03811182821017156151fa576151fa6151c2565b60405160e081016001600160401b03811182821017156151fa576151fa6151c2565b604080519081016001600160401b03811182821017156151fa576151fa6151c2565b60405160a081016001600160401b03811182821017156151fa576151fa6151c2565b604051601f8201601f191681016001600160401b03811182821017156152b0576152b06151c2565b604052919050565b6001600160a01b03811681146118da57600080fd5b6000808284036101408112156152e257600080fd5b60c08112156152f057600080fd5b6152f8615200565b8435615303816152b8565b81526020850135615313816152b8565b602082015260408581013590820152606080860135908201526080808601358183015260a0808701359083015290935060bf198201121561535357600080fd5b5061535c6151d8565b60c0840135815260e0840135602082015261010084013560408201526101209093013560608401525092909150565b60006001600160401b038211156153a4576153a46151c2565b5060051b60200190565b600082601f8301126153bf57600080fd5b813560206153d46153cf8361538b565b615288565b82815260059290921b840181019181810190868411156153f357600080fd5b8286015b8481101561541757803561540a816152b8565b83529183019183016153f7565b509695505050505050565b60006001600160401b0382111561543b5761543b6151c2565b50601f01601f191660200190565b60006154576153cf84615422565b905082815283838301111561546b57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261549357600080fd5b6110be83833560208501615449565b6000806000606084860312156154b757600080fd5b83356001600160401b03808211156154ce57600080fd5b6154da878388016153ae565b945060208601359150808211156154f057600080fd5b506154fd86828701615482565b925050604084013561550e816152b8565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060006060848603121561554257600080fd5b833561554d816152b8565b9250602084013561555d816152b8565b9150604084013561550e816152b8565b6000806040838503121561558057600080fd5b82356001600160401b0381111561559657600080fd5b6155a285828601615482565b92505060208301356155b3816152b8565b809150509250929050565b600481106155ce576155ce615061565b9052565b60208101610eb182846155be565b600080604083850312156155f357600080fd5b82356155fe816152b8565b946020939093013593505050565b6000806040838503121561561f57600080fd5b50508035926020909101359150565b60008060006060848603121561564357600080fd5b505081359360208301359350604090920135919050565b600381106155ce576155ce615061565b60208101610eb1828461565a565b60006020828403121561568a57600080fd5b81356110be816152b8565b600080604083850312156156a857600080fd5b82356156b3816152b8565b915060208301356001600160401b038111156156ce57600080fd5b6156da85828601615482565b9150509250929050565b6000806000606084860312156156f957600080fd5b8335615704816152b8565b925060208401356001600160401b0381111561571f57600080fd5b8401601f8101861361573057600080fd5b6154fd86823560208401615449565b6020815260006110be60208301846150d7565b6000806040838503121561576557600080fd5b82356001600160401b038082111561577c57600080fd5b615788868387016153ae565b935060209150818501358181111561579f57600080fd5b8501601f810187136157b057600080fd5b80356157be6153cf8261538b565b81815260059190911b820184019084810190898311156157dd57600080fd5b8584015b83811015615815578035868111156157f95760008081fd5b6158078c8983890101615482565b8452509186019186016157e1565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561587157815180516001600160a01b03168552860151868501529284019290850190600101615843565b5091979650505050505050565b60008083601f84011261589057600080fd5b5081356001600160401b038111156158a757600080fd5b60208301915083602082850101111561401a57600080fd5b6000806000806000606086880312156158d757600080fd5b8535945060208601356001600160401b03808211156158f557600080fd5b61590189838a0161587e565b9096509450604088013591508082111561591a57600080fd5b506159278882890161587e565b969995985093965092949392505050565b80151581146118da57600080fd5b60006020828403121561595857600080fd5b81356110be81615938565b6001600160a01b038c811682528b811660208301528a1660408201526060810189905260808101889052610160810161599b88615077565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b600080604083850312156159e557600080fd5b8235915060208301356155b3816152b8565b60208101615a0483615077565b91905290565b60008060408385031215615a1d57600080fd5b8235915060208301356001600160401b038111156156ce57600080fd5b6020815260006110be60208301846150ab565b600181811c90821680615a6157607f821691505b602082108103611b5c57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610eb157610eb1615a81565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610eb157610eb1615a81565b9283526001600160a01b03919091166020830152604082015260600190565b600060208284031215615b0f57600080fd5b81516110be816152b8565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082615b7257634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b03821680615b9057615b90615a81565b6000190192915050565b8082028115828204841417610eb157610eb1615a81565b6020808252602c908201526000805160206165be83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206165be83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b600060208284031215615c9c57600080fd5b81516110be81615938565b600060208284031215615cb957600080fd5b5051919050565b8051615ccb816152b8565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b838152604060208201526000615d38604083018486615cf5565b95945050505050565b60006001600160401b038281166002600160401b03198101615d6557615d65615a81565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090615daa9083018587615cf5565b90508260a083015298975050505050505050565b600060018201615dd057615dd0615a81565b5060010190565b805160038110615ccb57600080fd5b805160048110615ccb57600080fd5b600060208284031215615e0757600080fd5b604051602081016001600160401b0381118282101715615e2957615e296151c2565b6040529151825250919050565b600060c08284031215615e4857600080fd5b615e50615200565b90508151615e5d816152b8565b81526020820151615e6d816152b8565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036101e0811215615eb657600080fd5b615ebe615222565b6080821215615ecc57600080fd5b615ed46151d8565b915083518252602084015160208301526040840151604083015260608401516060830152818152615f0760808501615dd7565b6020820152615f1860a08501615de6565b6040820152615f2a8560c08601615df5565b6060820152615f3c8560e08601615e36565b6080820152615f4e6101a08501615cc0565b60a0820152615f606101c08501615cc0565b60c0820152949350505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600061020082019050838252615fad602083018451615f6d565b6020830151615fbf60a084018261565a565b506040830151615fd260c08401826155be565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a084015283015161603f6101c0840182615054565b5060c0830151613dbc6101e0840182615054565b60808101610eb18284615f6d565b9283526020830191909152604082015260600190565b60006040828403121561608957600080fd5b616091615244565b8251815260208301519091506001600160401b038111156160b157600080fd5b8201601f810184136160c257600080fd5b80516160d06153cf82615422565b8181528560208385010111156160e557600080fd5b6160f6826020830160208601615087565b602084015250909392505050565b60006020828403121561611657600080fd5b81516001600160401b038082111561612d57600080fd5b9083019060c0828603121561614157600080fd5b616149615200565b82518152602083015161615b816152b8565b6020820152604083015161616e816152b8565b604082015260608301518281111561618557600080fd5b61619187828601616077565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156161c957600080fd5b81516001600160401b03808211156161e057600080fd5b9083019060a082860312156161f457600080fd5b6161fc615266565b82518152602083015161620e816152b8565b602082015260408381015190820152606083015161622b816152b8565b606082015260808301518281111561624257600080fd5b61624e87828601616077565b60808301525095945050505050565b601f821115610ee857600081815260208120601f850160051c810160208610156162845750805b601f850160051c820191505b818110156162a357828155600101616290565b505050505050565b81516001600160401b038111156162c4576162c46151c2565b6162d8816162d28454615a4d565b8461625d565b602080601f83116001811461630d57600084156162f55750858301515b600019600386901b1c1916600185901b1785556162a3565b600085815260208120601f198616915b8281101561633c5788860151825594840194600190910190840161631d565b508582101561635a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561637c57600080fd5b815160ff811681146110be57600080fd5b600181815b808511156163c85781600019048211156163ae576163ae615a81565b808516156163bb57918102915b93841c9390800290616392565b509250929050565b6000826163df57506001610eb1565b816163ec57506000610eb1565b8160018114616402576002811461640c57616428565b6001915050610eb1565b60ff84111561641d5761641d615a81565b50506001821b610eb1565b5060208310610133831016604e8410600b841016171561644b575081810a610eb1565b616455838361638d565b806000190482111561646957616469615a81565b029392505050565b60006110be83836163d0565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156164a657600080fd5b82516001600160401b038111156164bc57600080fd5b8301601f810185136164cd57600080fd5b80516164db6153cf8261538b565b81815260069190911b820183019083810190878311156164fa57600080fd5b928401925b8284101561394257604084890312156165185760008081fd5b616520615244565b8451815285850151868201528252604090930192908401906164ff565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b80820182811260008312801582168215821617156139ed576139ed615a81565b600082516165b3818460208701615087565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122091895ede64bc5239687d796624eea2caff3ec47d6cc1571b7ce1d7e767facf5464736f6c63430008130033608060405234801561001057600080fd5b50600160005561070c806100256000396000f3fe6080604052600436106100555760003560e01c8063481fef8a1461005a5780638129fc1c1461006f5780638630da1d146100845780638969ab53146100cf5780638da5cb5b146100ef57806399ea56b014610127575b600080fd5b61006d6100683660046105b8565b610147565b005b34801561007b57600080fd5b5061006d610204565b34801561009057600080fd5b506100bc61009f3660046105b8565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156100db57600080fd5b5061006d6100ea3660046105e4565b610241565b3480156100fb57600080fd5b5060025461010f906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b34801561013357600080fd5b5061006d610142366004610628565b6103cc565b6002546001600160a01b031633146101725760405163ea8e4eb560e01b815260040160405180910390fd5b61017a610543565b60008281526001602090815260408083206001600160a01b0385168452909152812080543492906101ac908490610673565b92505081905550806001600160a01b03167feec2f3feb835e2f2fd44281034b04700a1ddda63dd402949d470a25a7c40b36c83346040516101ee92919061068c565b60405180910390a26102006001600055565b5050565b6002546001600160a01b03161561022d5760405162dc149f60e41b815260040160405180910390fd5b600280546001600160a01b03191633179055565b6002546001600160a01b0316331461026c5760405163ea8e4eb560e01b815260040160405180910390fd5b610274610543565b60008481526001602090815260408083206001600160a01b0387168452909152902054808211156102c5578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60405180910390fd5b60008581526001602090815260408083206001600160a01b0388168452909152812080548492906102f790849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610347576040519150601f19603f3d011682016040523d82523d6000602084013e61034c565b606091505b505090508061036d5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b0316856001600160a01b03167f354da53cd88eb0936caa11700c1928b13f3f2803cca6f4f464ceff3b4bd7d38e88866040516103b292919061068c565b60405180910390a350506103c66001600055565b50505050565b6002546001600160a01b031633146103f75760405163ea8e4eb560e01b815260040160405180910390fd5b6103ff610543565b60008381526001602090815260408083206001600160a01b038616845290915290205480821115610447578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60008481526001602090815260408083206001600160a01b03871684529091528120805484929061047990849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50509050806104ef5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b03167f7c5e5cb62e5ed3caf3764e4b0afedfedef533e27809d43367799787ad2abcd41868560405161052a92919061068c565b60405180910390a2505061053e6001600055565b505050565b6002600054036105955760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102bc565b6002600055565b80356001600160a01b03811681146105b357600080fd5b919050565b600080604083850312156105cb57600080fd5b823591506105db6020840161059c565b90509250929050565b600080600080608085870312156105fa57600080fd5b8435935061060a6020860161059c565b92506106186040860161059c565b9396929550929360600135925050565b60008060006060848603121561063d57600080fd5b8335925061064d6020850161059c565b9150604084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156106865761068661065d565b92915050565b918252602082015260400190565b818103818111156106865761068661065d565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b60408201526060019056fea26469706673582212209c8607de79b2a860c6286071086718afdb7a9db7072e5b56038d9f23e888b98a64736f6c63430008130033608060405234801561001057600080fd5b50613183806100206000396000f3fe6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220a92e327dd91b48c1ed075cf314e2d187c57cf45b3f131f2b2abd41a9b8f7a80064736f6c63430008130033608060405234801561001057600080fd5b50612b10806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea2646970667358221220e8ce9c40c12951eb10e0fa33f5facd0f6a3ba8e1c89c45949ac47e68f0555db664736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a2646970667358221220ab171a0f5414e345912133ecd02ce70701075ca68f55ec9b8522b3a054464aac64736f6c63430008130033608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631688f0b9146100675780632500510e1461017657806353e5d9351461024357806361b69abd146102c6578063addacc0f146103cb578063d18af54d1461044e575b600080fd5b61014a6004803603606081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100ba57600080fd5b8201836020820111156100cc57600080fd5b803590602001918460018302840111640100000000831117156100ee57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061057d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102176004803603606081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460018302840111640100000000831117156101fd57600080fd5b909192939192939080359060200190929190505050610624565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024b610751565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039f600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184600183028401116401000000008311171561034d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061077c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d3610861565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104135780820151818401526020810190506103f8565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105516004803603608081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061058a848484610a3b565b90506000835111156105b25760008060008551602087016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a19392505050565b60006106758585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610a3b565b905080604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60606040518060200161076390610bde565b6020820181038252601f19601f82011660405250905090565b60008260405161078b90610bde565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156107c7573d6000803e3d6000fd5b5090506000825111156107f05760008060008451602086016000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a192915050565b60606040518060200161087390610beb565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060001c90506108e786868361057d565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a32578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156109ca5780820151818401526020810190506109af565b50505050905090810190601f1680156109f75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600060405180602001610a8890610bde565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b60208310610ae95780518252602082019150602081019050602083039250610ac6565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f437265617465322063616c6c206661696c65640000000000000000000000000081525060200191505060405180910390fd5b50509392505050565b6101e680610bf883390190565b60ab80610dde8339019056fe608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d608060405234801561001057600080fd5b5060016004819055506159ae80620000296000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220dd2a5d283594d2173374e2bffe4f81591e4469217a08735756677fc39edee27f64736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"3126:44:24:-:0;;;3166:4;-1:-1:-1;;3126:44:24;;;;;;;;1016:26:34;;;;;;;;;;1035:9291:135;695:82:130;;;;1035:9291:135;695:82:130;;;;;;;;;;;;;668:109;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;821:1:137;788:34;;;;852:1;828:25;;1350:33:135;;;-1:-1:-1;;;;;;1350:33:135;;;;;;;;1466:31;;;;;;1495:1;1466:31;;;-1:-1:-1;1035:9291:135;;;;;;;;;;;;14:127:139;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:139;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:139;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:139;;;2580:26;2531:89;-1:-1:-1;;1335:1:139;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:139;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:139;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:139;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:139:o;:::-;1035:9291:135;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200044d5760003560e01c8062b1fad71462000452578063023a6f431462000474578063030e4006146200048d5780630522b7db14620004975780630688b13514620004ab57806308c24f9f14620004b55780630a9254e414620004cc5780630f166ad414620004d6578063174eedde14620004dd578063176effb314620004e5578063180fd87f14620004f75780631854036114620005105780631ae726d914620005195780631b96dce614620005305780631d8fcc10146200053a5780631e7bcb2e14620005435780631ed7831c146200054d5780632ade388014620005665780632e0f2625146200057f5780633554642a146200058f57806337d1c40414620005a1578063392f37e914620005b857806339f56f7f14620005d25780633e5e3c2314620005db5780633f26479e14620005e55780633f7286f414620005ef57806349ef42c114620005f95780634bf4ba211462000603578063587c1243146200060d5780635aff599914620006175780635d1222aa146200062157806366d003ac146200062b57806366d9a9a014620006355780636a38dd0a146200064e5780636c53db9a14620006585780636db52510146200066c5780636f6dfab1146200068357806370a32944146200068d57806374d9284e14620004dd578063758311e41462000697578063759c9a8614620006a15780637658524d14620006ab57806379e62d0d14620006b55780637b10399914620006bf5780637b2edf3214620006c95780637cbe79ed14620006d35780638292636f14620006dd578063829e423f14620004dd57806385226c8114620006e757806385294f181462000700578063896546a114620007175780638c7408c414620004dd5780638e0d1a50146200072b5780638e3c24931462000735578063916a17c6146200073f57806394d181e31462000749578063985a0b941462000753578063a0cf0aea146200075d578063a407c67a1462000779578063a41cfc991462000783578063aa3744bd146200078d578063b5508aa91462000797578063ba414fa614620007a1578063bb0504cd14620007bc578063beda3db314620007c6578063c1f2a64114620007d8578063c36e336b14620007ef578063c5d7d73b1462000815578063c73b09e71462000827578063caa12add1462000831578063d1e82b58146200084d578063d1f2cd881462000857578063d23727ed1462000861578063d5bee9f5146200087d578063d6d8428d1462000887578063da4bf0871462000891578063dac4eb16146200089b578063dac770b314620008a5578063e070e0ab14620008af578063e20c9f7114620008c6578063e99ce91114620008d0578063ec9ec24814620008e7578063ef0d790f14620008f1578063f69d511f14620008fb578063f8cbf34f1462000912578063fa7626d4146200091c578063fc0c546a146200092a578063fd325c60146200093e578063fe24a3cb1462000947575b600080fd5b6200045c62000951565b6040516200046b919062005fde565b60405180910390f35b6200048b6200048536600462006102565b62000988565b005b6200045c6200099e565b602a546200045c906001600160a01b031681565b6200045c620009d6565b6200045c620004c636600462006175565b62000a05565b6200048b62000cfa565b306200045c565b60006200045c565b6020546001600160a01b03166200045c565b6200050162001cd4565b6040519081526020016200046b565b60235462000501565b6200045c6200052a366004620061b3565b6200207a565b6200045c6200208b565b62000501600381565b6200045c620020be565b62000557620020f3565b6040516200046b919062006219565b6200057062002157565b6040516200046b9190620062db565b62000501670de0b6b3a764000081565b6024546001600160a01b03166200045c565b62000501620005b23660046200635c565b620022a5565b620005c26200236c565b6040516200046b92919062006445565b60215462000501565b620005576200240b565b6200050161271081565b620005576200246d565b6200045c620024cf565b6200055762002536565b6200045c62002559565b6200045c6200258e565b62000501602d5481565b6200045c620025c3565b6200063f620025f1565b6040516200046b919062006460565b6200045c620026db565b6029546200045c906001600160a01b031681565b6200048b6200067d36600462006517565b6200270d565b6200048b62002730565b6200055762002a1e565b6200048b62002ac0565b6200045c62002de7565b62000501602c5481565b6200055762002e18565b6200045c62002e87565b6200045c62002e9b565b6200045c62002ed0565b6200048b62002eff565b620006f1620030ff565b6040516200046b919062006575565b620005016200071136600462006620565b620031d9565b602b546200045c906001600160a01b031681565b6200045c6200320a565b6200045c62003239565b6200063f6200326e565b6200048b62003358565b6200048b62003655565b6200045c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000557620038c2565b6200048b62003931565b6200045c62003afa565b620006f162003b29565b620007ab62003c03565b60405190151581526020016200046b565b6200045c62003cb8565b6200050169032d26d12e980b60000081565b6200048b620007e9366004620066d5565b62003d1f565b620008066200080036600462006795565b62003df3565b6040516200046b91906200691e565b6022546001600160a01b03166200045c565b6200048b62003f01565b6200045c73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73781565b6200045c62003f8f565b6200045c62003fc4565b6200045c73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf81565b6200045c62003ff7565b6200045c62004027565b6200045c62004036565b6200045c62004068565b6200045c6200409b565b62000501620008c03660046200692f565b62004555565b620005576200477a565b62000501620008e1366004620069f8565b620047dc565b6200048b6200487e565b6200045c62004c14565b6200045c6200090c36600462006a2b565b62004c4c565b6200048b62004cc2565b601e54620007ab9060ff1681565b6033546200045c906001600160a01b031681565b601f5462000501565b6200050162004fd8565b6000620009836040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b8152506200501e565b905090565b6200099884848484600062003d1f565b50505050565b60006200098360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b8152506200501e565b6000620009836040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b8152506200501e565b602a546000906001600160a01b031662000ce6576001600160a01b03821662000aec57600062000a34620024cf565b905062000a4062003cb8565b604051631688f0b960e01b81526001600160a01b0383811660048301526060602483015260006064830181905260036044840152929550851690631688f0b9906084016020604051808303816000875af115801562000aa3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ac9919062006a70565b602a80546001600160a01b0319166001600160a01b039290921691909117905550505b602a54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b60648201526000805160206201f62c8339815191529063c657c71890608401600060405180830381600087803b15801562000b6657600080fd5b505af115801562000b7b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03871660048201526024810191909152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b60648201526000805160206201f62c833981519152925063c657c7189150608401600060405180830381600087803b15801562000bf957600080fd5b505af115801562000c0e573d6000803e3d6000fd5b50600092506001915062000c1f9050565b60405190808252806020026020018201604052801562000c49578160200160208202803683370190505b509050838160008151811062000c635762000c6362006a90565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062000cb0908490600190600090819081908190819060040162006aa6565b600060405180830381600087803b15801562000ccb57600080fd5b505af115801562000ce0573d6000803e3d6000fd5b50505050505b50602a546001600160a01b03165b92915050565b62000d0462005032565b62000d1862000d1262002e87565b620055f7565b6000805160206201f62c8339815191526306447d5662000d3762002ed0565b6040518263ffffffff1660e01b815260040162000d55919062005fde565b600060405180830381600087803b15801562000d7057600080fd5b505af115801562000d85573d6000803e3d6000fd5b5050505062000d9362004027565b60405163473480c360e11b8152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000dd857600080fd5b505af115801562000ded573d6000803e3d6000fd5b5050505062000dfb62004027565b6040516307aa7e2560e51b8152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000e4057600080fd5b505af115801562000e55573d6000803e3d6000fd5b505050506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000ea757600080fd5b505af115801562000ebc573d6000803e3d6000fd5b50505050601260405162000ed09062005de1565b6060808252600a908201526926b7b1b5902a37b5b2b760b11b608082015260a060208201819052600390820152624d544b60e81b60c082015260ff909116604082015260e001604051809103906000f08015801562000f33573d6000803e3d6000fd5b50603380546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000f6f6003683635c9adc5dea0000062006b23565b6040518363ffffffff1660e01b815260040162000f8e92919062006b46565b600060405180830381600087803b15801562000fa957600080fd5b505af115801562000fbe573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f19905062000fdf6200320a565b62000ff56003683635c9adc5dea0000062006b23565b6040518363ffffffff1660e01b81526004016200101492919062006b46565b600060405180830381600087803b1580156200102f57600080fd5b505af115801562001044573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f1990506006620010736003683635c9adc5dea0000062006b23565b6040518363ffffffff1660e01b81526004016200109292919062006b46565b600060405180830381600087803b158015620010ad57600080fd5b505af1158015620010c2573d6000803e3d6000fd5b50506033546001600160a01b0316915063095ea7b39050620010e362004027565b685150ae84a8cdf000006040518363ffffffff1660e01b81526004016200110c92919062006b46565b6020604051808303816000875af11580156200112c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001152919062006b70565b506000805160206201f62c8339815191526306447d566200117262002ed0565b6040518263ffffffff1660e01b815260040162001190919062005fde565b600060405180830381600087803b158015620011ab57600080fd5b505af1158015620011c0573d6000803e3d6000fd5b50505050620011ce62004027565b6001600160a01b031663f2fde38b306040518263ffffffff1660e01b8152600401620011fb919062005fde565b600060405180830381600087803b1580156200121657600080fd5b505af11580156200122b573d6000803e3d6000fd5b505050506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b50506034546040516303223eab60e11b81526000805160206201f62c83398151915293506306447d569250620012d5916001600160a01b03169060040162005fde565b600060405180830381600087803b158015620012f057600080fd5b505af115801562001305573d6000803e3d6000fd5b50505050604051620013179062005def565b604051809103906000f08015801562001334573d6000803e3d6000fd5b5060408051671bc16d674ec8000060248083019190915282518083039091018152604490910182526020810180516001600160e01b031663fe4b84df60e01b1790529051620013839062005dfd565b6200139092919062006b8e565b604051809103906000f080158015620013ad573d6000803e3d6000fd5b50602f60006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200142257600080fd5b505af115801562001437573d6000803e3d6000fd5b505050506200144562005e0b565b6200144f62004027565b6001600160a01b03908116825260335416602080830191909152670de0b6b3a7640000604080840191909152600160608401523060c08401528051808201909152602680548252602780549293919291840191620014ad9062006bb4565b80601f0160208091040260200160405190810160405280929190818152602001828054620014db9062006bb4565b80156200152c5780601f1062001500576101008083540402835291602001916200152c565b820191906000526020600020905b8154815290600101906020018083116200150e57829003601f168201915b5050509190925250505060e0820152620015456200409b565b6001600160a01b0316610100820152604051620015629062005eb7565b604051809103906000f0801580156200157f573d6000803e3d6000fd5b50603454604051630a2ca2bd60e11b916001600160a01b031690600290620015a79062005ec5565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b50604051620015d39062005ed3565b604051809103906000f080158015620015f0573d6000803e3d6000fd5b50604051620015ff9062005ee1565b604051809103906000f0801580156200161c573d6000803e3d6000fd5b506040516001600160a01b039586166024820152938516604485015291841660648401528316608483015290911660a482015260c40160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620016919062005dfd565b6200169e92919062006b8e565b604051809103906000f080158015620016bb573d6000803e3d6000fd5b506001600160a01b031663beb331a3826040518263ffffffff1660e01b8152600401620016e9919062006c0b565b6020604051808303816000875af115801562001709573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200172f919062006a70565b603280546001600160a01b0319166001600160a01b039290921691821790556040805160208101909152600091829163524e59e89073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9062001801908490600190600290806200179d670de0b6b3a764000060c862006d17565b90526040805160c08101909152602f546001600160a01b0316815260208101620017c66200409b565b6001600160a01b0316815260200166470de4df8200008152602001662386f26fc1000081526020016001815260200161012c81525062003df3565b60266040518463ffffffff1660e01b8152600401620018239392919062006df2565b60408051808303816000875af115801562001842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001868919062006e27565b6031829055603080546001600160a01b0319166001600160a01b03831617905590925090506000805160206201f62c8339815191526306447d56620018ac6200320a565b6040518263ffffffff1660e01b8152600401620018ca919062005fde565b600060405180830381600087803b158015620018e557600080fd5b505af1158015620018fa573d6000803e3d6000fd5b50506032546030546040516200196d94506001600160a01b03928316935060009263223e547960e01b92620019359291169060240162005fde565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200270d565b6000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620019bb57600080fd5b505af1158015620019d0573d6000803e3d6000fd5b50505050603260009054906101000a90046001600160a01b03166001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a4e919062006a70565b6032546001600160a01b039182169163095ea7b39116606462001a7360018062006e4f565b62001a8790670de0b6b3a764000062006d17565b62001a93919062006b23565b62001aa790670de0b6b3a764000062006e4f565b6040518363ffffffff1660e01b815260040162001ac692919062006b46565b6020604051808303816000875af115801562001ae6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b0c919062006b70565b50603260009054906101000a90046001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b5e57600080fd5b505af115801562001b73573d6000803e3d6000fd5b50505050603060009054906101000a90046001600160a01b03166001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001bc857600080fd5b505af115801562001bdd573d6000803e3d6000fd5b505060405163c88a5e6d60e01b81526000805160206201f62c833981519152925063c88a5e6d915062001c2190309069032d26d12e980b6000009060040162006b46565b600060405180830381600087803b15801562001c3c57600080fd5b505af115801562001c51573d6000803e3d6000fd5b5050505062001c5f62004027565b6040516316b35beb60e21b81526004810184905269032d26d12e980b600000602482018190526001600160a01b039290921691635acd6fac916044016000604051808303818588803b15801562001cb557600080fd5b505af115801562001cca573d6000803e3d6000fd5b5050505050505050565b600080670de0b6b3a7640000905060006040518060a00160405280603154815260200162001d016200320a565b6001600160a01b0316815260200183815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815260200160266040518060400160405290816000820154815260200160018201805462001d619062006bb4565b80601f016020809104026020016040519081016040528092919081815260200182805462001d8f9062006bb4565b801562001de05780601f1062001db45761010080835404028352916020019162001de0565b820191906000526020600020905b81548152906001019060200180831162001dc257829003601f168201915b505050505081525050815250905060008160405160200162001e03919062006e65565b60408051601f1981840301815282825260305463059351cd60e01b845291519093506000926001600160a01b039092169163059351cd9160048083019260c09291908290030181865afa15801562001e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e85919062006eb8565b505050925050506000805160206202502383398151915260001c6001600160a01b031663c88a5e6d62001eb76200320a565b836040518363ffffffff1660e01b815260040162001ed792919062006b46565b600060405180830381600087803b15801562001ef257600080fd5b505af115801562001f07573d6000803e3d6000fd5b506000805160206201f62c83398151915292506306447d56915062001f2d90506200320a565b6040518263ffffffff1660e01b815260040162001f4b919062005fde565b600060405180830381600087803b15801562001f6657600080fd5b505af115801562001f7b573d6000803e3d6000fd5b5050505062001f8962004027565b6001600160a01b031663075c0e9c82603154856040518463ffffffff1660e01b815260040162001fbb92919062006445565b60206040518083038185885af115801562001fda573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002001919062006a70565b6001600160a01b031694506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200205a57600080fd5b505af11580156200206f573d6000803e3d6000fd5b505050505050505090565b600062000cf482620004c662003cb8565b6000620009836040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b8152506200501e565b6000620009836040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b8152506200501e565b606060168054806020026020016040519081016040528092919081815260200182805480156200214d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200212e575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156200229c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562002284578382906000526020600020018054620021f09062006bb4565b80601f01602080910402602001604051908101604052809291908181526020018280546200221e9062006bb4565b80156200226f5780601f1062002243576101008083540402835291602001916200226f565b820191906000526020600020905b8154815290600101906020018083116200225157829003601f168201915b505050505081526020019060010190620021ce565b5050505081525050815260200190600101906200217b565b50505050905090565b60285460009062002360576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f9162002316916002918890889060040162006f1b565b6020604051808303816000875af115801562002336573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200235c919062006f94565b6028555b506028545b9392505050565b6026805460278054919291620023829062006bb4565b80601f0160208091040260200160405190810160405280929190818152602001828054620023b09062006bb4565b8015620024015780601f10620023d55761010080835404028352916020019162002401565b820191906000526020600020905b815481529060010190602001808311620023e357829003601f168201915b5050505050905082565b606060188054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b6000620024f073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc7376200579a565b156200250f575073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73790565b6200098360405180615a0001604052806159d781526020016201f64c6159d7913962004c4c565b604080516002808252606080830184529260208301908036833701905050905090565b6000620009836040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b8152506200501e565b6000620009836040518060400160405280601081526020016f726563697069656e744164647265737360801b8152506200501e565b600062000983604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b8152506200501e565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620026c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620026835790505b5050505050815250508152602001906001019062002615565b6000620009836040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b8152506200501e565b602954602c546200272b916001600160a01b03169085848662003d1f565b505050565b60006200273c62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d916200278a916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b158015620027a557600080fd5b505af1158015620027ba573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa79250620027fd916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200281857600080fd5b505af11580156200282d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002861671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b815260040162002880919062006fae565b60206040518083038185885af11580156200289f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620028c6919062006f94565b604051630618f58760e51b81529091506000805160206201f62c8339815191529063c31eb0e09062002904906309efd47960e41b9060040162006fd4565b600060405180830381600087803b1580156200291f57600080fd5b505af115801562002934573d6000803e3d6000fd5b506000805160206201f62c833981519152925063ca669fa791506200295a90506200409b565b6040518263ffffffff1660e01b815260040162002978919062005fde565b600060405180830381600087803b1580156200299357600080fd5b505af1158015620029a8573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e6928692600492911690820162006fe9565b600060405180830381600087803b15801562002a0157600080fd5b505af115801562002a16573d6000803e3d6000fd5b505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062002a4d620020be565b8160008151811062002a635762002a6362006a90565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62002e9b565b8160018151811062002aa35762002aa362006a90565b6001600160a01b0390921660209283029190910190910152919050565b600062002acc62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d9162002b1a916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b15801562002b3557600080fd5b505af115801562002b4a573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062002b8d916001600160a01b03169060040162005fde565b600060405180830381600087803b15801562002ba857600080fd5b505af115801562002bbd573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002bf1671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b815260040162002c10919062006fae565b60206040518083038185885af115801562002c2f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002c56919062006f94565b90506000805160206201f62c83398151915263ca669fa762002c776200409b565b6040518263ffffffff1660e01b815260040162002c95919062005fde565b600060405180830381600087803b15801562002cb057600080fd5b505af115801562002cc5573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062002d0492869260029291169060040162006fe9565b600060405180830381600087803b15801562002d1f57600080fd5b505af115801562002d34573d6000803e3d6000fd5b5050602f5460405163564a565d60e01b815260048101859052600093508392506001600160a01b039091169063564a565d90602401600060405180830381865afa15801562002d87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002db191908101906200703e565b955095505050505062002dc6826002620057a9565b6200099881600181111562002ddf5762002ddf6200680c565b6001620057a9565b6000620009836040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b8152506200501e565b6040805160028082526060808301845292600092919060208301908036833701905050905062002e4762000951565b8160008151811062002e5d5762002e5d62006a90565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d620026db565b601e5461010090046001600160a01b031690565b6000620009836040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b8152506200501e565b6000620009836040518060400160405280600a81526020016930b63637afb7bbb732b960b11b8152506200501e565b60355460405163c88a5e6d60e01b81526000805160206201f62c8339815191529163c88a5e6d9162002f48916001600160a01b031690678ac7230489e800009060040162006b46565b600060405180830381600087803b15801562002f6357600080fd5b505af115801562002f78573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062002fbb916001600160a01b03169060040162005fde565b600060405180830381600087803b15801562002fd657600080fd5b505af115801562002feb573d6000803e3d6000fd5b5050604051630618f58760e51b81526000805160206201f62c833981519152925063c31eb0e091506200302a9063e4216b3160e01b9060040162006fd4565b600060405180830381600087803b1580156200304557600080fd5b505af11580156200305a573d6000803e3d6000fd5b5050602f546001600160a01b0316915063c13517e19050620030866001671bc16d674ec80000620070de565b60036040518363ffffffff1660e01b8152600401620030b691815260406020820181905260009082015260600190565b60206040518083038185885af1158015620030d5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620030fc919062006f94565b50565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200229c578382906000526020600020018054620031459062006bb4565b80601f0160208091040260200160405190810160405280929190818152602001828054620031739062006bb4565b8015620031c45780601f106200319857610100808354040283529160200191620031c4565b820191906000526020600020905b815481529060010190602001808311620031a657829003601f168201915b50505050508152602001906001019062003123565b6000620031fd89898989898989604051806020016040528060008152508a62004555565b9998505050505050505050565b6000620009836040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b8152506200501e565b6000620009836040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b8152506200501e565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200333f57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620033005790505b5050505050815250508152602001906001019062003292565b60006200336462001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d91620033b2916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b158015620033cd57600080fd5b505af1158015620033e2573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062003425916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200344057600080fd5b505af115801562003455573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003489671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b8152600401620034a8919062006fae565b60206040518083038185885af1158015620034c7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620034ee919062006f94565b603554602954604080516001600160a01b0393841660248201529290911660448084019190915281518084039091018152606490920181526020820180516001600160e01b031663d0774c9960e01b1790525163f28dceb360e01b81529192506000805160206201f62c8339815191529163f28dceb3916200357391600401620070f4565b600060405180830381600087803b1580156200358e57600080fd5b505af1158015620035a3573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa79250620035e6916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200360157600080fd5b505af115801562003616573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e692869260029291169060040162006fe9565b60006200366162001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d91620036af916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b158015620036ca57600080fd5b505af1158015620036df573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062003722916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200373d57600080fd5b505af115801562003752573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003786671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b8152600401620037a5919062006fae565b60206040518083038185885af1158015620037c4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620037eb919062006f94565b602f5460405163564a565d60e01b8152600481018390529192506000918291829182916001600160a01b03169063564a565d90602401600060405180830381865afa1580156200383f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200386991908101906200703e565b9550955095509550505062003880846003620057a9565b6200389483671bc16d674ec80000620057a9565b620038a1826000620057a9565b62002a16816001811115620038ba57620038ba6200680c565b6000620057a9565b60408051600280825260608083018452926000929190602083019080368337019050509050620038f162002559565b8160008151811062003907576200390762006a90565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62003239565b6034546040516303223eab60e11b81526000805160206201f62c833981519152916306447d569162003970916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200398b57600080fd5b505af1158015620039a0573d6000803e3d6000fd5b5050602f546040516317a9ed3f60e21b815266470de4df8200006004820181905293506001600160a01b039091169150635ea7b4fc90602401600060405180830381600087803b158015620039f457600080fd5b505af115801562003a09573d6000803e3d6000fd5b5050602f5460405163f7434ea960e01b8152602060048201526000602482015262003a9093506001600160a01b03909116915063f7434ea990604401602060405180830381865afa15801562003a63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a89919062006f94565b82620057a9565b6000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b505af115801562003af3573d6000803e3d6000fd5b5050505050565b6000620009836040518060400160405280600a815260200169726563697069656e743160b01b8152506200501e565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200229c57838290600052602060002001805462003b6f9062006bb4565b80601f016020809104026020016040519081016040528092919081815260200182805462003b9d9062006bb4565b801562003bee5780601f1062003bc25761010080835404028352916020019162003bee565b820191906000526020600020905b81548152906001019060200180831162003bd057829003601f168201915b50505050508152602001906001019062003b4d565b60085460009060ff161562003c1c575060085460ff1690565b604051630667f9d760e41b81526000906000805160206201f62c8339815191529063667f9d709062003c6d9060008051602062025023833981519152906519985a5b195960d21b9060040162006b46565b602060405180830381865afa15801562003c8b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb1919062006f94565b1415905090565b600062003cd973bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf6200579a565b1562003cf8575073bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf90565b6200098360405180610f000160405280610ede81526020016201e74e610ede913962004c4c565b606062003d2f848488886200580d565b905062002a16866001600160a01b0316636a7612028685876000806000806000808c6040518b63ffffffff1660e01b815260040162003d789a999897969594939291906200711c565b6020604051808303816000875af115801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe919062006b70565b60405180604001604052806016815260200175195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b815250620058e4565b62003dfd62005eef565b62003e10670de0a46bc207d8006200591a565b81516040015262003e296702c68af0bb1400006200591a565b81515262003e3e66038d7ea4c680006200591a565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a0830152810185600281111562003e805762003e806200680c565b9081600281111562003e965762003e966200680c565b9052506040810184600381111562003eb25762003eb26200680c565b9081600381111562003ec85762003ec86200680c565b905250825160000362003eed5762003eea670de0b6b3a764000060c862006d17565b83525b606081019290925260808201529392505050565b602f5460405163f7434ea960e01b815260206004820152600060248201819052916001600160a01b03169063f7434ea990604401602060405180830381865afa15801562003f53573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003f79919062006f94565b9050620030fc81671bc16d674ec80000620057a9565b6000620009836040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b8152506200501e565b6000620009836040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b8152506200501e565b6000620009836040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b8152506200501e565b6025546001600160a01b031690565b6000620009836040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b8152506200501e565b6000620009836040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b8152506200501e565b602c546040516001625e79b760e01b031981526000916000805160206201f62c8339815191529163ffa1864991620040d99160040190815260200190565b602060405180830381865afa158015620040f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200411d919062006a70565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201526d636f756e63696c4d656d6265723160901b60648201526000805160206201f62c8339815191529063c657c71890608401600060405180830381600087803b158015620041aa57600080fd5b505af1158015620041bf573d6000803e3d6000fd5b50506029546001600160a01b03169150620045459050576000620041e262003cb8565b9050620041ee620024cf565b602e80546001600160a01b0319166001600160a01b03928316179055604080516318caf8e360e31b815291831660048301526024820152601060448201526f5361666550726f7879466163746f727960801b60648201526000805160206201f62c8339815191529063c657c71890608401600060405180830381600087803b1580156200427a57600080fd5b505af11580156200428f573d6000803e3d6000fd5b5050602e54604080518082018252600181526000602082018190529151631688f0b960e01b81529194506001600160a01b038087169450631688f0b993620042e19391169190600390600401620071a6565b6020604051808303816000875af115801562004301573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004327919062006a70565b602980546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600b60448201526a636f756e63696c5361666560a81b60648201529091506000805160206201f62c8339815191529063c657c71890608401600060405180830381600087803b158015620043b357600080fd5b505af1158015620043c8573d6000803e3d6000fd5b506000925060039150620043d99050565b60405190808252806020026020018201604052801562004403578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200442a576200442a62006a90565b60200260200101906001600160a01b031690816001600160a01b03168152505073f39fd6e51aad88f6f4ce6ab8827279cfffb922668160018151811062004475576200447562006a90565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c881600281518110620044c057620044c062006a90565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b815291169063b63e800d906200450d908490600190600090819081908190819060040162006aa6565b600060405180830381600087803b1580156200452857600080fd5b505af11580156200453d573d6000803e3d6000fd5b505050505050505b506029546001600160a01b031690565b60008062004567898787878762003df3565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110620045a457620045a462006a90565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110620045db57620045db62006a90565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615620046125750875b8c6001600160a01b031663e1007d4a620046378c620046306200320a565b86620022a5565b8e866040516020016200464b91906200691e565b6040516020818303038152906040528560006026896040518863ffffffff1660e01b8152600401620046849796959493929190620071dc565b6020604051808303816000875af1158015620046a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620046ca919062006f94565b9350876002811115620046e157620046e16200680c565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa15801562004720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200474691906200724d565b60028111156200475a576200475a6200680c565b146200476a576200476a6200726d565b5050509998505050505050505050565b606060158054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b60008481620047fe620047f762989680608087901b62006b23565b836200592d565b905060806001607f1b620048168662989680620070de565b6200482684600160801b620070de565b62004835629896808a62006d17565b62004841919062006d17565b6200484d919062006b23565b62004859898562006d17565b62004865919062006e4f565b62004871919062006e4f565b901c979650505050505050565b60006200488a62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d91620048d8916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b158015620048f357600080fd5b505af115801562004908573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa792506200494b916001600160a01b03169060040162005fde565b600060405180830381600087803b1580156200496657600080fd5b505af11580156200497b573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec620049af671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b8152600401620049ce919062006fae565b60206040518083038185885af1158015620049ed573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004a14919062006f94565b90506000805160206201f62c83398151915263ca669fa762004a356200409b565b6040518263ffffffff1660e01b815260040162004a53919062005fde565b600060405180830381600087803b15801562004a6e57600080fd5b505af115801562004a83573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004ac292869260029291169060040162006fe9565b600060405180830381600087803b15801562004add57600080fd5b505af115801562004af2573d6000803e3d6000fd5b5050604051630618f58760e51b81526000805160206201f62c833981519152925063c31eb0e0915062004b319063bda17d9560e01b9060040162006fd4565b600060405180830381600087803b15801562004b4c57600080fd5b505af115801562004b61573d6000803e3d6000fd5b506000805160206201f62c833981519152925063ca669fa7915062004b8790506200409b565b6040518263ffffffff1660e01b815260040162004ba5919062005fde565b600060405180830381600087803b15801562004bc057600080fd5b505af115801562004bd5573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e692869260019291169060040162006fe9565b60006200098360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152506200501e565b602d80546000918291908262004c628362007283565b9190505550602d548351602085016000f5915050803f8062004cbc5760405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b60448201526064015b60405180910390fd5b50919050565b600062004cce62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206201f62c8339815191529163c88a5e6d9162004d1c916001600160a01b0390911690678ac7230489e800009060040162006b46565b600060405180830381600087803b15801562004d3757600080fd5b505af115801562004d4c573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206201f62c833981519152935063ca669fa7925062004d8f916001600160a01b03169060040162005fde565b600060405180830381600087803b15801562004daa57600080fd5b505af115801562004dbf573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004df3671bc16d674ec80000662386f26fc1000062006e4f565b846040518363ffffffff1660e01b815260040162004e12919062006fae565b60206040518083038185885af115801562004e31573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004e58919062006f94565b90506000805160206201f62c83398151915263ca669fa762004e796200409b565b6040518263ffffffff1660e01b815260040162004e97919062005fde565b600060405180830381600087803b15801562004eb257600080fd5b505af115801562004ec7573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004f0692869260029291169060040162006fe9565b600060405180830381600087803b15801562004f2157600080fd5b505af115801562004f36573d6000803e3d6000fd5b5050602f54604051631c3db16d60e01b8152600481018590526000935083925082916001600160a01b031690631c3db16d90602401606060405180830381865afa15801562004f89573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004faf91906200729f565b92509250925062004fc2836002620057a9565b62004fcd82620059e1565b62003af381620059e1565b606462004fe760018062006e4f565b62004ffb90670de0b6b3a764000062006d17565b62005007919062006b23565b6200501b90670de0b6b3a764000062006e4f565b81565b60006200502b8262005a3e565b5092915050565b6200503c62005b53565b6000805160206201f62c83398151915263ca669fa76200505b6200320a565b6040518263ffffffff1660e01b815260040162005079919062005fde565b600060405180830381600087803b1580156200509457600080fd5b505af1158015620050a9573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620051176200320a565b6200512162002e18565b6040518563ffffffff1660e01b815260040162005142949392919062006f1b565b6020604051808303816000875af115801562005162573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005188919062006f94565b601f819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa158015620051da573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262005204919081019062007378565b60a00151602080546001600160a01b0319166001600160a01b039092169190911790556000805160206201f62c83398151915263ca669fa76200524662003fc4565b6040518263ffffffff1660e01b815260040162005264919062005fde565b600060405180830381600087803b1580156200527f57600080fd5b505af115801562005294573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020016750726f66696c653160c01b815250815250620052fe62003fc4565b6200530862002a1e565b6040518563ffffffff1660e01b81526004016200532994939291906200744d565b6020604051808303816000875af115801562005349573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200536f919062006f94565b6021819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa158015620053c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620053eb919081019062007378565b60a00151602280546001600160a01b0319166001600160a01b039092169190911790556000805160206201f62c83398151915263ca669fa76200542d6200208b565b6040518263ffffffff1660e01b81526004016200544b919062005fde565b600060405180830381600087803b1580156200546657600080fd5b505af11580156200547b573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f600060405180604001604052806001815260200160405180604001604052806008815260200167283937b334b6329960c11b815250815250620054e56200208b565b620054ef620038c2565b6040518563ffffffff1660e01b8152600401620055109493929190620074ab565b6020604051808303816000875af115801562005530573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005556919062006f94565b6023819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa158015620055a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620055d2919081019062007378565b60a00151602480546001600160a01b0319166001600160a01b03909216919091179055565b6000805160206201f62c8339815191526306447d566200561662002ed0565b6040518263ffffffff1660e01b815260040162005634919062005fde565b600060405180830381600087803b1580156200564f57600080fd5b505af115801562005664573d6000803e3d6000fd5b50505050604051620056769062005fb5565b604051809103906000f08015801562005693573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb8620056c262002ed0565b83620056cd62004036565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200573357600080fd5b505af115801562005748573d6000803e3d6000fd5b505050506000805160206202502383398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b6001600160a01b03163b151590565b60405163260a5b1560e21b815260048101839052602481018290526000805160206201f62c833981519152906398296c54906044015b60006040518083038186803b158015620057f857600080fd5b505afa15801562002a16573d6000803e3d6000fd5b6060600080806000805160206201f62c83398151915263e341eaa486620058368b8b8b62005c06565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401606060405180830381865afa15801562005878573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200589e9190620074e6565b6040805160208101939093528281019190915260f89290921b6001600160f81b031916606082015281516041818303018152606190910190915298975050505050505050565b60405163a34edc0360e01b81526000805160206201f62c8339815191529063a34edc0390620057df908590859060040162007525565b600062000cf464174876e8008362006b23565b6000600160801b8310620059835760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004cb3565b50600160801b82825b8015620059d95780600116600003620059b657620059ab828362005cfc565b915060011c6200598c565b620059c2838362005cfc565b9250620059d1600182620070de565b90506200598c565b505092915050565b60405163a598288560e01b815281151560048201526000805160206201f62c8339815191529063a59828859060240160006040518083038186803b15801562005a2957600080fd5b505afa15801562003af3573d6000803e3d6000fd5b6000808260405160200162005a54919062007542565b60408051808303601f190181529082905280516020909101206001625e79b760e01b031982526004820181905291506000805160206201f62c8339815191529063ffa1864990602401602060405180830381865afa15801562005abb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005ae1919062006a70565b6040516318caf8e360e31b81529092506000805160206201f62c8339815191529063c657c7189062005b1a908590879060040162006b8e565b600060405180830381600087803b15801562005b3557600080fd5b505af115801562005b4a573d6000803e3d6000fd5b50505050915091565b60405162005b619062005fc3565b604051809103906000f08015801562005b7e573d6000803e3d6000fd5b50601e8054610100600160a81b0319166101006001600160a01b039384168102919091179182905590041663c4d66de862005bb862004068565b6040518263ffffffff1660e01b815260040162005bd6919062005fde565b600060405180830381600087803b15801562005bf157600080fd5b505af115801562000998573d6000803e3d6000fd5b6000816001600160a01b031663d8d11f78856000866000806000806000808c6001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562005c63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005c89919062006f94565b6040518b63ffffffff1660e01b815260040162005cb09a9998979695949392919062007560565b602060405180830381865afa15801562005cce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005cf4919062006f94565b949350505050565b6000600160801b83111562005d655760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840162004cb3565b600160801b821062005db95760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004cb3565b60806001607f1b62005dcc848662006d17565b62005dd8919062006e4f565b901c9392505050565b610e9480620075db83390190565b6118ef806200846f83390190565b6104ec8062009d5e83390190565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162005e8a604051806040016040528060008152602001606081525090565b815260200160006001600160a01b0316815260200160608152602001600015158152602001606081525090565b612083806200a24a83390190565b6159b6806200c2cd83390190565b6166c78062011c8383390190565b610731806201834a83390190565b6040518060e0016040528062005f266040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001600081526020016000815260200162005f506040518060200160405280600081525090565b815260200162005fa16040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b815260006020820181905260409091015290565b6131a38062018a7b83390190565b612b30806201bc1e83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620030fc57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171562006043576200604362006008565b60405290565b604051601f8201601f191681016001600160401b038111828210171562006074576200607462006008565b604052919050565b60006001600160401b0382111562006098576200609862006008565b50601f01601f191660200190565b600082601f830112620060b857600080fd5b8135620060cf620060c9826200607c565b62006049565b818152846020838601011115620060e557600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156200611957600080fd5b8435620061268162005ff2565b93506020850135925060408501356200613f8162005ff2565b915060608501356001600160401b038111156200615b57600080fd5b6200616987828801620060a6565b91505092959194509250565b600080604083850312156200618957600080fd5b8235620061968162005ff2565b91506020830135620061a88162005ff2565b809150509250929050565b600060208284031215620061c657600080fd5b8135620023658162005ff2565b600081518084526020808501945080840160005b838110156200620e5781516001600160a01b031687529582019590820190600101620061e7565b509495945050505050565b602081526000620023656020830184620061d3565b60005b838110156200624b57818101518382015260200162006231565b50506000910152565b600081518084526200626e8160208601602086016200622e565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015620062ce578284038952620062bb84835162006254565b98850198935090840190600101620062a0565b5091979650505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156200634e57888303603f19018552815180516001600160a01b031684528701518784018790526200633a8785018262006282565b958801959350509086019060010162006302565b509098975050505050505050565b6000806000606084860312156200637257600080fd5b83356200637f8162005ff2565b9250602084810135620063928162005ff2565b925060408501356001600160401b0380821115620063af57600080fd5b818701915087601f830112620063c457600080fd5b813581811115620063d957620063d962006008565b8060051b9150620063ec84830162006049565b818152918301840191848101908a8411156200640757600080fd5b938501935b83851015620064355784359250620064248362005ff2565b82825293850193908501906200640c565b8096505050505050509250925092565b82815260406020820152600062005cf4604083018462006254565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200650857898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620064f25783516001600160e01b0319168252928b019260019290920191908b0190620064c6565b50978a0197955050509187019160010162006488565b50919998505050505050505050565b6000806000606084860312156200652d57600080fd5b83356200653a8162005ff2565b92506020840135915060408401356001600160401b038111156200655d57600080fd5b6200656b86828701620060a6565b9150509250925092565b60208152600062002365602083018462006282565b60038110620030fc57600080fd5b803560048110620065a857600080fd5b919050565b600060c08284031215620065c057600080fd5b620065ca6200601e565b90508135620065d98162005ff2565b81526020820135620065eb8162005ff2565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b6000806000806000806000806101a0898b0312156200663e57600080fd5b88356200664b8162005ff2565b975060208901356200665d8162005ff2565b965060408901356200666f8162005ff2565b95506060890135620066818162005ff2565b94506080890135620066938162005ff2565b935060a0890135620066a5816200658a565b9250620066b560c08a0162006598565b9150620066c68a60e08b01620065ad565b90509295985092959890939650565b600080600080600060a08688031215620066ee57600080fd5b8535620066fb8162005ff2565b9450602086013593506040860135620067148162005ff2565b925060608601356001600160401b038111156200673057600080fd5b6200673e88828901620060a6565b95989497509295608001359392505050565b6000602082840312156200676357600080fd5b604051602081016001600160401b038111828210171562006788576200678862006008565b6040529135825250919050565b60008060008060006101408688031215620067af57600080fd5b8535620067bc8162005ff2565b94506020860135620067ce816200658a565b9350620067de6040870162006598565b9250620067ef876060880162006750565b9150620068008760808801620065ad565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b600381106200683557620068356200680c565b9052565b600481106200683557620068356200680c565b80518051835260208101516020840152604081015160408401526060810151606084015250602081015162006885608084018262006822565b5060408101516200689a60a084018262006839565b506060818101515160c084015260808083015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a090810151610180840152810151620069086101a084018262005fd1565b5060c08101516200272b6101c084018262005fd1565b6101e0810162000cf482846200684c565b60008060008060008060008060006101c08a8c0312156200694f57600080fd5b89356200695c8162005ff2565b985060208a01356200696e8162005ff2565b975060408a0135620069808162005ff2565b965060608a0135620069928162005ff2565b955060808a0135620069a48162005ff2565b945060a08a0135620069b6816200658a565b9350620069c660c08b0162006598565b9250620069d78b60e08c0162006750565b9150620069e98b6101008c01620065ad565b90509295985092959850929598565b6000806000806080858703121562006a0f57600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562006a3e57600080fd5b81356001600160401b0381111562006a5557600080fd5b62005cf484828501620060a6565b8051620065a88162005ff2565b60006020828403121562006a8357600080fd5b8151620023658162005ff2565b634e487b7160e01b600052603260045260246000fd5b600061010080835262006abc8184018b620061d3565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b634e487b7160e01b600052601160045260246000fd5b60008262006b4157634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b80518015158114620065a857600080fd5b60006020828403121562006b8357600080fd5b620023658262006b5f565b6001600160a01b038316815260406020820181905260009062005cf49083018462006254565b600181811c9082168062006bc957607f821691505b60208210810362004cbc57634e487b7160e01b600052602260045260246000fd5b80518252600060208201516040602085015262005cf4604085018262006254565b6020815262006c1f60208201835162005fd1565b6000602083015162006c35604084018262005fd1565b506040830151606083015260608301516080830152608083015160a083015260a083015162006c6860c084018262005fd1565b5060c083015162006c7d60e084018262005fd1565b5060e0830151610180610100818186015262006c9e6101a086018462006bea565b9086015190925061012062006cb68682018362005fd1565b80870151915050601f1961014081878603018188015262006cd8858462006254565b94508088015192505061016062006cf28188018415159052565b87015186850390910183870152905062006d0d838262006254565b9695505050505050565b808202811582820484141762000cf45762000cf462006b0d565b80548252600060018083016020604081870152600082548181861c90508582168062006d5e57607f821691505b848210810362006d7c57634e487b7160e01b84526022600452602484fd5b60408a0182905260608a0181801562006d9e576001811462006db55762006de2565b60ff198516825283151560051b8201955062006de2565b60008881526020902060005b8581101562006ddc57815484820152908a0190880162006dc1565b83019650505b50939a9950505050505050505050565b6001600160a01b0384168152600061022062006e1260208401866200684c565b8061020084015262006d0d8184018562006d31565b6000806040838503121562006e3b57600080fd5b825191506020830151620061a88162005ff2565b8082018082111562000cf45762000cf462006b0d565b60208152815160208201526000602083015160018060a01b038082166040850152604085015160608501528060608601511660808501525050608083015160a08084015262005cf460c084018262006bea565b60008060008060008060c0878903121562006ed257600080fd5b865162006edf8162005ff2565b602088015190965062006ef28162005ff2565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b84815260a06020820152600062006f5060a08301600e81526d506f6f6c2050726f66696c65203160901b602082015260400190565b828103604084015262006f64818762006bea565b6001600160a01b03861660608501528381036080850152905062006f898185620061d3565b979650505050505050565b60006020828403121562006fa757600080fd5b5051919050565b908152606060208201819052600090820181905260806040830181905282015260a00190565b6001600160e01b031991909116815260200190565b92835260208301919091526001600160a01b0316604082015260600190565b600062007019620060c9846200607c565b90508281528383830111156200702e57600080fd5b620023658360208301846200622e565b60008060008060008060c087890312156200705857600080fd5b8651620070658162005ff2565b60208801519096506001600160401b038111156200708257600080fd5b8701601f810189136200709457600080fd5b620070a58982516020840162007008565b95505060408701519350606087015192506080870151915060a087015160028110620070d057600080fd5b809150509295509295509295565b8181038181111562000cf45762000cf462006b0d565b60208152600062002365602083018462006254565b600281106200683557620068356200680c565b6001600160a01b038b81168252602082018b9052610140604083018190526000916200714b8483018d62006254565b91506200715c606085018c62007109565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262007195818562006254565b9d9c50505050505050505050505050565b6001600160a01b0384168152606060208201819052600090620071cc9083018562006254565b9050826040830152949350505050565b878152600060018060a01b03808916602084015260e060408401526200720660e084018962006254565b818816606085015286608085015283810360a085015262007228818762006d31565b91505082810360c08401526200723f8185620061d3565b9a9950505050505050505050565b6000602082840312156200726057600080fd5b815162002365816200658a565b634e487b7160e01b600052600160045260246000fd5b60006001820162007298576200729862006b0d565b5060010190565b600080600060608486031215620072b557600080fd5b83519250620072c76020850162006b5f565b9150620072d76040850162006b5f565b90509250925092565b600082601f830112620072f257600080fd5b620023658383516020850162007008565b6000604082840312156200731657600080fd5b604080519081016001600160401b0380821183831017156200733c576200733c62006008565b816040528293508451835260208501519150808211156200735c57600080fd5b506200736b85828601620072e0565b6020830152505092915050565b6000602082840312156200738b57600080fd5b81516001600160401b0380821115620073a357600080fd5b9083019060c08286031215620073b857600080fd5b620073c26200601e565b8251815260208301516020820152604083015182811115620073e357600080fd5b620073f187828601620072e0565b6040830152506060830151828111156200740a57600080fd5b620074188782860162007303565b6060830152506200742c6080840162006a63565b60808201526200743f60a0840162006a63565b60a082015295945050505050565b84815260a06020820152600960a08201526850726f66696c65203160b81b60c082015260e0604082015260006200748860e083018662006bea565b6001600160a01b0385166060840152828103608084015262006f898185620061d3565b84815260a06020820152600960a082015268283937b334b632901960b91b60c082015260e0604082015260006200748860e083018662006bea565b600080600060608486031215620074fc57600080fd5b835160ff811681146200750e57600080fd5b602085015160409095015190969495509392505050565b821515815260406020820152600062005cf4604083018462006254565b60008251620075568184602087016200622e565b9190910192915050565b6001600160a01b038b81168252602082018b9052610140604083018190526000916200758f8483018d62006254565b9250620075a0606085018c62007109565b60808401999099525060a082019690965260c081019490945291851660e0840152909316610100820152610120019190915294935050505056fe60806040523480156200001157600080fd5b5060405162000e9438038062000e94833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610b7080620003246000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220fcfede121580ba0e769e1d6c6b5cae9a425e25d8ecc4fdae8eb1775216a823a164736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516118a361004c60003960008181610360015281816103a9015281816104310152818161047101526104ed01526118a36000f3fe6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee3660046111df565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b61013036600461120d565b6067602052600090815260409020546001600160a01b031681565b60405161010c919061122a565b34801561016457600080fd5b5061017861017336600461120d565b610356565b005b610178610188366004611254565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb3660046111df565b61058e565b60405161010c9695949392919061137d565b3480156101ee57600080fd5b506101786101fd3660046111df565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b506101786102323660046113e4565b6106c3565b34801561024357600080fd5b5061017861025236600461120d565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a366004611465565b610973565b34801561028b57600080fd5b506101a261029a3660046114b0565b610adf565b3480156102ab57600080fd5b506101786102ba36600461120d565b610b1a565b3480156102cb57600080fd5b506101a261029a3660046114fb565b3480156102e657600080fd5b506101a26102f5366004611561565b505060655490565b34801561030957600080fd5b506101786103183660046111df565b610b90565b60008060008060668581548110610336576103366115a2565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e906115b8565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610ce0565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e906115f2565b61040881610cfc565b6040805160008082526020820190925261042491839190610d04565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e906115b8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610ce0565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e906115f2565b6104d082610cfc565b6104dc82826001610d04565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061182783398151915290565b6066818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd9061162c565b80601f01602080910402602001604051908101604052809291908181526020018280546105f99061162c565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e74565b60658190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e74565b6106c16000610ed3565b565b6001600160a01b0380821660009081526067602052604090205482911633036108be576000606685815481106106fb576106fb6115a2565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b611367565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152606760205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152606760205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f9061095990849061122a565b60405180910390a250565b6033546001600160a01b031690565b600061097e60655490565b34101561099e5760405163e4216b3160e01b815260040160405180910390fd5b606680549050905060666040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a6390826116b4565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa457610aa4611367565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a39392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b22610e74565b6001600160a01b038116610b875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610ed3565b600054610100900460ff1615808015610bb05750600054600160ff909116105b80610bd15750610bbf30610f25565b158015610bd1575060005460ff166001145b610c345760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c57576000805461ff0019166101001790555b610c5f610f34565b60658290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611827833981519152546001600160a01b031690565b610424610e74565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d3c57610d3783610f63565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d96575060408051601f3d908101601f19168201909252610d9391810190611773565b60015b610df95760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118278339815191528114610e685760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d37838383610ffd565b33610e7d610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff16610f5b5760405162461bcd60e51b815260040161039e9061178c565b6106c1611022565b610f6c81610f25565b610fce5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061182783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61100683611052565b6000825111806110135750805b15610d37576108fb8383611092565b600054610100900460ff166110495760405162461bcd60e51b815260040161039e9061178c565b6106c133610ed3565b61105b81610f63565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110b78383604051806060016040528060278152602001611847602791396110be565b9392505050565b6060600080856001600160a01b0316856040516110db91906117d7565b600060405180830381855af49150503d8060008114611116576040519150601f19603f3d011682016040523d82523d6000602084013e61111b565b606091505b509150915061112c86838387611136565b9695505050505050565b606083156111a357825160000361119c5761115085610f25565b61119c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b50816111ad565b6111ad83836111b5565b949350505050565b8151156111c55781518083602001fd5b8060405162461bcd60e51b815260040161039e91906117f3565b6000602082840312156111f157600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561121f57600080fd5b81356110b7816111f8565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561126757600080fd5b8235611272816111f8565b915060208301356001600160401b038082111561128e57600080fd5b818501915085601f8301126112a257600080fd5b8135818111156112b4576112b461123e565b604051601f8201601f19908116603f011681019083821181831017156112dc576112dc61123e565b816040528281528860208487010111156112f557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561133257818101518382015260200161131a565b50506000910152565b60008151808452611353816020860160208601611317565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113a19083018861133b565b9050856040830152846060830152836080830152600283106113d357634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b6000806000606084860312156113f957600080fd5b83359250602084013591506040840135611412816111f8565b809150509250925092565b60008083601f84011261142f57600080fd5b5081356001600160401b0381111561144657600080fd5b60208301915083602082850101111561145e57600080fd5b9250929050565b60008060006040848603121561147a57600080fd5b8335925060208401356001600160401b0381111561149757600080fd5b6114a38682870161141d565b9497909650939450505050565b6000806000604084860312156114c557600080fd5b83356001600160401b038111156114db57600080fd5b6114e78682870161141d565b9094509250506020840135611412816111f8565b60008060008060006080868803121561151357600080fd5b8535945060208601356001600160401b0381111561153057600080fd5b61153c8882890161141d565b9095509350506040860135611550816111f8565b949793965091946060013592915050565b6000806020838503121561157457600080fd5b82356001600160401b0381111561158a57600080fd5b6115968582860161141d565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061180783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061180783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061164057607f821691505b60208210810361166057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d3757600081815260208120601f850160051c8101602086101561168d5750805b601f850160051c820191505b818110156116ac57828155600101611699565b505050505050565b81516001600160401b038111156116cd576116cd61123e565b6116e1816116db845461162c565b84611666565b602080601f83116001811461171657600084156116fe5750858301515b600019600386901b1c1916600185901b1785556116ac565b600085815260208120601f198616915b8281101561174557888601518255948401946001909101908401611726565b50858210156117635787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561178557600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082516117e9818460208701611317565b9190910192915050565b6020815260006110b7602083018461133b56fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122042bd393a3e37c597ea52924a3dc31a373b51e3d1d7d35f4235e24c53ad64c47064736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da2646970667358221220af746d4d8dbcbf99fa35749aa30ac6f329bc568b49316f31e46fc01c2c4642da64736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516159696200004d60003960008181611dcd01528181611e1001528181611f0b01528181611f4e01526120b201526159696000f3fe6080604052600436106200032c5760003560e01c806301ffc9a714620003315780630331383c146200036b57806308386eba146200038c5780630d12bbdb14620003a45780630d4a8b4914620003cb578063175188e814620003f05780631b71f0e414620004155780631f787d28146200043a578063223e5479146200045557806322bcf999146200047a578063248a9ca3146200049f57806328c309e914620004c45780632b38c69c14620004dc5780632c611c4a14620005105780632f2ff15d146200054e57806331f61bca14620005735780633396045914620005985780633419635514620005b05780633517aa7d14620005d557806336568abe14620005ed5780633659cfe61462000612578063397e254314620006375780633a871fe1146200065c578063477a5cc014620006915780634f1ef28614620006d1578063524e59e814620006e857806352d1902d146200072b578063559de05d14620007435780635c94e4d214620007685780635ecf71c5146200078b57806365e3864c14620007b05780636871eb4d14620007ed57806368decabb14620008125780636c53db9a1462000835578063715018a6146200085857806373265c371462000870578063733a2d1f146200089557806377122d5614620008ba5780637817ee4f14620008dd57806378a0b8a914620009285780637b103999146200094057806382d6a1e7146200096357806388cfe68414620009885780638961be6b14620009fe5780638da5cb5b1462000a1657806391d148541462000a2e578063a0cf0aea1462000a53578063a217fddf1462000a7d578063a230c5241462000a94578063b0d3713a1462000ab9578063b3f006741462000ade578063b5058c501462000b05578063b64e39af1462000b1d578063b99b43701462000b44578063bc063e1a1462000b5c578063c4d66de81462000b74578063c6d572ae1462000b99578063d547741f1462000bb1578063d6d8428d1462000bd6578063d7050f071462000bf9578063db61d65c1462000c11578063e16d0e321462000c34578063ebd7dc521462000c59578063f2fde38b1462000c7e578063f86c5f891462000ca3578063ffa1ad741462000cc6575b600080fd5b3480156200033e57600080fd5b506200035662000350366004620041ab565b62000cf7565b60405190151581526020015b60405180910390f35b3480156200037857600080fd5b5060fb545b60405190815260200162000362565b3480156200039957600080fd5b506200037d60fe5481565b348015620003b157600080fd5b50620003c9620003c3366004620041d7565b62000d2f565b005b348015620003d857600080fd5b50620003c9620003ea36600462004219565b62000da5565b348015620003fd57600080fd5b50620003c96200040f36600462004257565b62001113565b3480156200042257600080fd5b50620003c96200043436600462004257565b6200112b565b3480156200044757600080fd5b5060ff805462000356911681565b3480156200046257600080fd5b50620003c96200047436600462004257565b62001158565b3480156200048757600080fd5b50620003c96200049936600462004219565b6200116d565b348015620004ac57600080fd5b506200037d620004be366004620041d7565b62001267565b348015620004d157600080fd5b506200037d6200127c565b348015620004e957600080fd5b5062000501620004fb36600462004277565b62001381565b604051620003629190620042b3565b3480156200051d57600080fd5b506200037d6200052f36600462004257565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200055b57600080fd5b50620003c96200056d366004620042c7565b620013bb565b3480156200058057600080fd5b50620003c962000592366004620041d7565b620013e2565b348015620005a557600080fd5b506200037d60fd5481565b348015620005bd57600080fd5b50620003c9620005cf366004620044fb565b62001422565b348015620005e257600080fd5b50620003c962001adf565b348015620005fa57600080fd5b50620003c96200060c366004620042c7565b62001d41565b3480156200061f57600080fd5b50620003c96200063136600462004257565b62001dc3565b3480156200064457600080fd5b50620003c96200065636600462004257565b62001e94565b3480156200066957600080fd5b50620003566200067b36600462004257565b61010a6020526000908152604090205460ff1681565b3480156200069e57600080fd5b5062000356620006b036600462004219565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003c9620006e23660046200468e565b62001f01565b348015620006f557600080fd5b506200070d62000707366004620048b8565b62001fc2565b604080519283526001600160a01b0390911660208301520162000362565b3480156200073857600080fd5b506200037d620020a5565b3480156200075057600080fd5b50620003c962000762366004620041d7565b62002156565b3480156200077557600080fd5b506101025462000501906001600160a01b031681565b3480156200079857600080fd5b50620003c9620007aa366004620041d7565b620023a2565b348015620007bd57600080fd5b506200037d620007cf36600462004219565b61010b60209081526000928352604080842090915290825290205481565b348015620007fa57600080fd5b50620003c96200080c36600462004219565b6200273c565b3480156200081f57600080fd5b506101035462000501906001600160a01b031681565b3480156200084257600080fd5b506101065462000501906001600160a01b031681565b3480156200086557600080fd5b50620003c96200288f565b3480156200087d57600080fd5b50620003c96200088f366004620041d7565b620028a5565b348015620008a257600080fd5b506200037d600080516020620058ad83398151915281565b348015620008c757600080fd5b506101015462000501906001600160a01b031681565b348015620008ea57600080fd5b506200037d620008fc36600462004219565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200093557600080fd5b506200037d60fb5481565b3480156200094d57600080fd5b506101045462000501906001600160a01b031681565b3480156200097057600080fd5b50620003c962000982366004620041d7565b62002941565b3480156200099557600080fd5b50620009d6620009a736600462004257565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000362565b34801562000a0b57600080fd5b506200037d60fc5481565b34801562000a2357600080fd5b5062000501620029ff565b34801562000a3b57600080fd5b506200035662000a4d366004620042c7565b62002a9a565b34801562000a6057600080fd5b506200050173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000a8a57600080fd5b506200037d600081565b34801562000aa157600080fd5b506200035662000ab336600462004257565b62002ac5565b34801562000ac657600080fd5b50620003c962000ad836600462004257565b62002b0f565b34801562000aeb57600080fd5b5060ff54620005019061010090046001600160a01b031681565b34801562000b1257600080fd5b50620003c962002b3c565b34801562000b2a57600080fd5b5062000b3562002b73565b60405162000362919062004976565b34801562000b5157600080fd5b50620003c962002c0a565b34801562000b6957600080fd5b506200037d62002d14565b34801562000b8157600080fd5b50620003c962000b9336600462004257565b62002d26565b34801562000ba657600080fd5b5062000b3562002d5b565b34801562000bbe57600080fd5b50620003c962000bd0366004620042c7565b62002d6b565b34801562000be357600080fd5b506101075462000501906001600160a01b031681565b34801562000c0657600080fd5b506200037d61271081565b34801562000c1e57600080fd5b506101055462000501906001600160a01b031681565b34801562000c4157600080fd5b506200070d62000c533660046200498b565b62002d8d565b34801562000c6657600080fd5b506200035662000c7836600462004257565b62002f1a565b34801562000c8b57600080fd5b50620003c962000c9d36600462004257565b62002f37565b34801562000cb057600080fd5b506101005462000501906001600160a01b031681565b34801562000cd357600080fd5b5062000b35604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d2957506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d3962002fa8565b62000d48612710600a62004a20565b81111562000d695760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000db08262002fe5565b62000dbb816200300e565b62000dc68162003049565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e0f57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000e9d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ec3919062004a50565b600381111562000ed75762000ed762004a3a565b0362000f5c5760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f0e90889060009060040162004a70565b6020604051808303816000875af115801562000f2e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f54919062004a89565b905062001058565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f9f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc5919062004a50565b600381111562000fd95762000fd962004a3a565b14620010585760405163782aadff60e01b81526001600160a01b0385169063782aadff906200100f908890869060040162004a70565b6020604051808303816000875af11580156200102f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001055919062004a89565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec90620011049087908790859062004aa3565b60405180910390a15050505050565b6200111d62002fa8565b620011288162003071565b50565b62001135620030cf565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200116262002fa8565b620011288162003132565b620011788262002fe5565b620011838162003049565b6200118f3382620031c4565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620011d757604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012298282620031f7565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b82826040516200125b92919062004ac7565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b0316816200129c612710606462004a20565b60fc5460fb54620012ae919062004a20565b620012ba919062004ae1565b90506000620012cd612710606462004a20565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c90620012fb903090600401620042b3565b602060405180830381865afa15801562001319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200133f919062004a89565b60fb546200134e919062004a20565b6200135a919062004ae1565b9050808260fb546200136d919062004b04565b62001379919062004b04565b935050505090565b61010d60205281600052604060002081815481106200139f57600080fd5b6000918252602090912001546001600160a01b03169150829050565b620013c68262001267565b620013d1816200332d565b620013dd838362003339565b505050565b620013ec62002fa8565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000d9a565b600054610100900460ff1615808015620014435750600054600160ff909116105b806200146857506200145530620033c3565b15801562001468575060005460ff166001145b620014d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620014f5576000805461ff0019166101001790555b620015008262002d26565b6200150a620033d2565b6200151462003406565b62001530600080516020620058ad833981519152600062003430565b6200153f856020015162003049565b6200154f85610100015162003049565b84516200155c9062003049565b6200156b8560a0015162003049565b6060850151156200158557620015858560c0015162003049565b845161010780546001600160a01b039283166001600160a01b031991821617909155602087015161010580549190931691161790556040850151600003620015e0576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff1916911515919091179055610120850151610108906200161d908262004ba8565b506101608501516101099062001634908262004ba8565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620016a990600080516020620058ad8339815191529062003339565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015620016fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001724919062004c74565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b600003620017b05760408051600380825260808201909252906020820160608036833701905050905033816000815181106200178a576200178a62004c94565b60200260200101906001600160a01b031690816001600160a01b031681525050620018ed565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa158015620017fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001825919081019062004caa565b90508051600262001837919062004b04565b6001600160401b03811115620018515762001851620042ef565b6040519080825280602002602001820160405280156200187b578160200160208202803683370190505b50915060005b8151811015620018ea57818181518110620018a057620018a062004c94565b6020026020010151838281518110620018bd57620018bd62004c94565b6001600160a01b039092166020928302919091019091015280620018e18162004d68565b91505062001881565b50505b6101065481516001600160a01b039091169082906200190f9060019062004d84565b8151811062001922576200192262004c94565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162001954919062004d84565b8151811062001967576200196762004c94565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f92620019ba9291610108913090889060040162004e86565b6020604051808303816000875af1158015620019da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a00919062004a89565b60fe55805162001a199061010f90602084019062004105565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001a8b929091610108919062004eda565b60405180910390a150801562001ad8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001104565b5050505050565b62001ae962003485565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b1a612710606462004a20565b60fc5460fb5462001b2c919062004a20565b62001b38919062004ae1565b9050600062001b4b612710606462004a20565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001b79903090600401620042b3565b602060405180830381865afa15801562001b97573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bbd919062004a89565b60fb5462001bcc919062004a20565b62001bd8919062004ae1565b905062001be58562002ac5565b62001d2f5760028401805460ff1916600190811790915560fb5490850181905562001c3f9086903090849062001c1d90879062004b04565b62001c29919062004b04565b610105546001600160a01b0316929190620034e0565b811562001c6c5760ff546101055462001c6c916001600160a01b039182169161010090910416846200353c565b801562001cf15762001cf1836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001cb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cdc919062004c74565b610105546001600160a01b031690836200353c565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001d2692919062004a70565b60405180910390a15b505050505062001d3f6001606555565b565b6001600160a01b038116331462001db35760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401620014c8565b62001dbf828262003565565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e0e5760405162461bcd60e51b8152600401620014c89062004f09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001e42620035cf565b6001600160a01b03161462001e6b5760405162461bcd60e51b8152600401620014c89062004f44565b62001e7681620035ec565b6040805160008082526020820190925262001128918391906200362e565b62001e9e62002fa8565b62001ea98162003049565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000d9a939216919062004ac7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001f4c5760405162461bcd60e51b8152600401620014c89062004f09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001f80620035cf565b6001600160a01b03161462001fa95760405162461bcd60e51b8152600401620014c89062004f44565b62001fb482620035ec565b62001dbf828260016200362e565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b928116911662001ff8620029ff565b6040516001600160a01b0393841660248201529183166044830152909116606482015260840160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200205d906200416b565b6200206a92919062004f7f565b604051809103906000f08015801562002087573d6000803e3d6000fd5b509050620020988187878762002d8d565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021425760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401620014c8565b50600080516020620058ed83398151915290565b6200216062003485565b6200216a620037a6565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620021ce57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620021af575b50505050509050600080600090505b82518110156200230957828181518110620021fc57620021fc62004c94565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b81526004016200223392919062004a70565b6020604051808303816000875af115801562002253573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002279919062004a89565b91508115620022f4576001600160a01b038416600090815261010b602052604081208451849290869085908110620022b557620022b562004c94565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000828254620022ee919062004b04565b90915550505b80620023008162004d68565b915050620021dd565b506101055462002325906001600160a01b0316843087620034e0565b6001600160a01b038316600090815261010c6020526040812060010180548692906200235390849062004b04565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f906200238c908590879062004a70565b60405180910390a1505050620011286001606555565b620023ac62003485565b620023b6620037a6565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620023ea90869062004d84565b10156200240a57604051634e23e81760e11b815260040160405180910390fd5b6101055462002424906001600160a01b031684866200353c565b60005b8254811015620026d457600083828154811062002448576200244862004c94565b6000918252602090912001546001600160a01b03169050620024728163f1801e6160e01b620037cf565b15620025f857604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620024a89088908a9060040162004a70565b6020604051808303816000875af1158015620024c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024ee919062004a89565b9250600061010b6000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815481106200252f576200252f62004c94565b60009182526020808320909101546001600160a01b0316835282019290925260400190205490508084111562002583576040516311423e6360e31b81526004810185905260248101829052604401620014c8565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620025b657620025b662004c94565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190620025ec90849062004d84565b909155505050620026be565b835484906200260a9060019062004d84565b815481106200261d576200261d62004c94565b9060005260206000200160009054906101000a90046001600160a01b031684838154811062002650576200265062004c94565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508380548062002691576200269162004fa5565b600082815260209020810160001990810180546001600160a01b0319169055019055620026be8162003071565b5080620026cb8162004d68565b91505062002427565b506001600160a01b038316600090815261010c6020526040812060010180548692906200270390849062004d84565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8906200238c908590879062004a70565b6200274662003485565b6200275062002fa8565b60ff80541662002773576040516365b1ee3960e11b815260040160405180910390fd5b6200277e8262002ac5565b6200279c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620027ed83620037f7565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff19169055820151610105546200284292169084906200353c565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3838383602001516040516200287b9392919062004aa3565b60405180910390a15062001dbf6001606555565b62002899620030cf565b62001d3f60006200390c565b620028af62002fa8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620028fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002925919081019062004fbb565b602001519050620029368162003049565b62001dbf8162003071565b6200294b62002fa8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002997573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620029c1919081019062004fbb565b602001519050620029d28162003049565b620029ee6001600160a01b03821663f1801e6160e01b620037cf565b1562001dbf5762001dbf8162003132565b60008062002a156033546001600160a01b031690565b9050806001600160a01b03163b60000362002a2f57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002a8c575060408051601f3d908101601f1916820190925262002a899181019062004c74565b60015b62000d2957919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002b19620030cf565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002b69576040516375e686b760e11b815260040160405180910390fd5b62001d3f6200395e565b610109805462002b839062004b1a565b80601f016020809104026020016040519081016040528092919081815260200182805462002bb19062004b1a565b801562002c025780601f1062002bd65761010080835404028352916020019162002c02565b820191906000526020600020905b81548152906001019060200180831162002be457829003601f168201915b505050505081565b62002c1462003485565b3362002c208162002fe5565b62002c2b81620037f7565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d9052918220909162002ca6919062004179565b60208101516101055462002cc8916001600160a01b039091169084906200353c565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162002cff92919062004a70565b60405180910390a1505062001d3f6001606555565b62002d23612710600a62004a20565b81565b600054610100900460ff1662002d505760405162461bcd60e51b8152600401620014c890620050f1565b62001128816200390c565b610108805462002b839062004b1a565b62002d768262001267565b62002d81816200332d565b620013dd838362003565565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002db85750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002e1657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002df7575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e4e908b9060200162005166565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e86979695949392919062005248565b6020604051808303816000875af115801562002ea6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ecc919062004a89565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002f07959493929190620052b9565b60405180910390a1505094509492505050565b600062000d29600080516020620058ad8339815191528362002a9a565b62002f41620030cf565b6001600160a01b03811662002d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620014c8565b62002fc3600080516020620058ad8339815191523362002a9a565b62001d3f573360405163fc4be72f60e01b8152600401620014c89190620042b3565b62002ff08162002ac5565b6200112857604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff1662001128576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b03811662001128576040516303988b8160e61b815260040160405180910390fd5b6200307c8162003049565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000d9a908390620042b3565b33620030da620029ff565b6001600160a01b03161462001d3f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620014c8565b6001600160a01b038116600090815261010a602052604090205460ff16156200316e576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000d9a908390620042b3565b806001600160a01b0316826001600160a01b03161462001dbf5760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200332757826001600160a01b03168282815481106200323b576200323b62004c94565b6000918252602090912001546001600160a01b031603620033125781548290620032689060019062004d84565b815481106200327b576200327b62004c94565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110620032ae57620032ae62004c94565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480620032ef57620032ef62004fa5565b600082815260209020810160001990810180546001600160a01b03191690550190555b806200331e8162004d68565b91505062003212565b50505050565b620011288133620039c2565b62003345828262002a9a565b62001dbf57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200337f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620033fc5760405162461bcd60e51b8152600401620014c890620050f1565b62001d3f62003a26565b600054610100900460ff1662001d3f5760405162461bcd60e51b8152600401620014c890620050f1565b60006200343d8362001267565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600260655403620034d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620014c8565b6002606555565b62003327846323b872dd60e01b858585604051602401620035049392919062004aa3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003a50565b620013dd8363a9059cbb60e01b84846040516024016200350492919062004a70565b6001606555565b62003571828262002a9a565b1562001dbf57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020620058ed833981519152546001600160a01b031690565b33620035f7620029ff565b6001600160a01b03161462001128573362003611620029ff565b60405163163678e960e01b8152600401620014c892919062004ac7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200366457620013dd8362003b2c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620036c1575060408051601f3d908101601f19168201909252620036be9181019062004a89565b60015b620037265760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620014c8565b600080516020620058ed8339815191528114620037985760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620014c8565b50620013dd83838362003bcb565b620037b13362002ac5565b62001d3f57604051636a5cfb6d60e01b815260040160405180910390fd5b6000620037dc8362003bf6565b8015620037f05750620037f0838362003c2e565b9392505050565b6001600160a01b038116600090815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200386457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003845575b5050505050905060005b8151811015620013dd578181815181106200388d576200388d62004c94565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b8152600401620038c29190620042b3565b600060405180830381600087803b158015620038dd57600080fd5b505af1158015620038f2573d6000803e3d6000fd5b505050508080620039039062004d68565b9150506200386e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290620039b890600090620042b3565b60405180910390a1565b620039ce828262002a9a565b62001dbf57620039de8162003cb9565b620039eb83602062003ccc565b604051602001620039fe929190620052f5565b60408051601f198184030181529082905262461bcd60e51b8252620014c89160040162004976565b600054610100900460ff166200355e5760405162461bcd60e51b8152600401620014c890620050f1565b600062003aa7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662003e859092919063ffffffff16565b905080516000148062003acb57508080602001905181019062003acb919062005368565b620013dd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620014c8565b62003b3781620033c3565b62003b9b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620014c8565b600080516020620058ed83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003bd68362003e9e565b60008251118062003be45750805b15620013dd5762003327838362003ee0565b600062003c0b826301ffc9a760e01b62003c2e565b801562000d29575062003c27826001600160e01b031962003c2e565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562003ca1575060208210155b801562003cae5750600081115b979650505050505050565b606062000d296001600160a01b03831660145b6060600062003cdd83600262004a20565b62003cea90600262004b04565b6001600160401b0381111562003d045762003d04620042ef565b6040519080825280601f01601f19166020018201604052801562003d2f576020820181803683370190505b509050600360fc1b8160008151811062003d4d5762003d4d62004c94565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062003d7f5762003d7f62004c94565b60200101906001600160f81b031916908160001a905350600062003da584600262004a20565b62003db290600162004b04565b90505b600181111562003e34576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062003dea5762003dea62004c94565b1a60f81b82828151811062003e035762003e0362004c94565b60200101906001600160f81b031916908160001a90535060049490941c9362003e2c8162005388565b905062003db5565b508315620037f05760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620014c8565b606062003e96848460008562003f08565b949350505050565b62003ea98162003b2c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620037f083836040518060600160405280602781526020016200590d6027913962003fe0565b60608247101562003f6b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620014c8565b600080866001600160a01b0316858760405162003f899190620053a2565b60006040518083038185875af1925050503d806000811462003fc8576040519150601f19603f3d011682016040523d82523d6000602084013e62003fcd565b606091505b509150915062003cae878383876200405e565b6060600080856001600160a01b03168560405162003fff9190620053a2565b600060405180830381855af49150503d80600081146200403c576040519150601f19603f3d011682016040523d82523d6000602084013e62004041565b606091505b509150915062004054868383876200405e565b9695505050505050565b60608315620040d2578251600003620040ca576200407c85620033c3565b620040ca5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620014c8565b508162003e96565b62003e968383815115620040e95781518083602001fd5b8060405162461bcd60e51b8152600401620014c8919062004976565b8280548282559060005260206000209081019282156200415d579160200282015b828111156200415d57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004126565b5062002a9692915062004194565b6104ec80620053c183390190565b50805460008255906000526020600020908101906200112891905b5b8082111562002a96576000815560010162004195565b600060208284031215620041be57600080fd5b81356001600160e01b031981168114620037f057600080fd5b600060208284031215620041ea57600080fd5b5035919050565b6001600160a01b03811681146200112857600080fd5b80356200421481620041f1565b919050565b600080604083850312156200422d57600080fd5b82356200423a81620041f1565b915060208301356200424c81620041f1565b809150509250929050565b6000602082840312156200426a57600080fd5b8135620037f081620041f1565b600080604083850312156200428b57600080fd5b82356200429881620041f1565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60008060408385031215620042db57600080fd5b8235915060208301356200424c81620041f1565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156200432a576200432a620042ef565b60405290565b60405161018081016001600160401b03811182821017156200432a576200432a620042ef565b60405160c081016001600160401b03811182821017156200432a576200432a620042ef565b60405160e081016001600160401b03811182821017156200432a576200432a620042ef565b604051608081016001600160401b03811182821017156200432a576200432a620042ef565b604051601f8201601f191681016001600160401b0381118282101715620043f057620043f0620042ef565b604052919050565b60006001600160401b03821115620044145762004414620042ef565b50601f01601f191660200190565b6000620044396200443384620043f8565b620043c5565b90508281528383830111156200444e57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126200447757600080fd5b620037f08383356020850162004422565b6000604082840312156200449b57600080fd5b620044a562004305565b82358152905060208201356001600160401b03811115620044c557600080fd5b620044d38482850162004465565b60208301525092915050565b80151581146200112857600080fd5b80356200421481620044df565b600080600080608085870312156200451257600080fd5b84356001600160401b03808211156200452a57600080fd5b9086019061018082890312156200454057600080fd5b6200454a62004330565b620045558362004207565b8152620045656020840162004207565b60208201526040830135604082015260608301356060820152608083013560808201526200459660a0840162004207565b60a0820152620045a960c0840162004207565b60c082015260e083013582811115620045c157600080fd5b620045cf8a82860162004488565b60e083015250610100620045e581850162004207565b908201526101208381013583811115620045fe57600080fd5b6200460c8b82870162004465565b82840152505061014062004622818501620044ee565b9082015261016083810135838111156200463b57600080fd5b620046498b82870162004465565b828401525050809650505050620046636020860162004207565b9250620046736040860162004207565b9150620046836060860162004207565b905092959194509250565b60008060408385031215620046a257600080fd5b8235620046af81620041f1565b915060208301356001600160401b03811115620046cb57600080fd5b8301601f81018513620046dd57600080fd5b620046ee8582356020840162004422565b9150509250929050565b8035600381106200421457600080fd5b600481106200112857600080fd5b8035620042148162004708565b6000602082840312156200473657600080fd5b604051602081016001600160401b03811182821017156200475b576200475b620042ef565b6040529135825250919050565b600060c082840312156200477b57600080fd5b6200478562004356565b905081356200479481620041f1565b81526020820135620047a681620041f1565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60008183036101e0811215620047f057600080fd5b620047fa6200437b565b915060808112156200480b57600080fd5b5062004816620043a0565b82358152602083013560208201526040830135604082015260608301356060820152808252506200484a60808301620046f8565b60208201526200485d60a0830162004716565b6040820152620048718360c0840162004723565b6060820152620048858360e0840162004768565b6080820152620048996101a0830162004207565b60a0820152620048ad6101c0830162004207565b60c082015292915050565b60008060006102208486031215620048cf57600080fd5b8335620048dc81620041f1565b9250620048ed8560208601620047db565b91506102008401356001600160401b038111156200490a57600080fd5b620049188682870162004488565b9150509250925092565b60005b838110156200493f57818101518382015260200162004925565b50506000910152565b600081518084526200496281602086016020860162004922565b601f01601f19169290920160200192915050565b602081526000620037f0602083018462004948565b6000806000806102408587031215620049a357600080fd5b8435620049b081620041f1565b93506020850135620049c281620041f1565b9250620049d38660408701620047db565b91506102208501356001600160401b03811115620049f057600080fd5b620049fe8782880162004488565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d295762000d2962004a0a565b634e487b7160e01b600052602160045260246000fd5b60006020828403121562004a6357600080fd5b8151620037f08162004708565b6001600160a01b03929092168252602082015260400190565b60006020828403121562004a9c57600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b60008262004aff57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d295762000d2962004a0a565b600181811c9082168062004b2f57607f821691505b60208210810362004b5057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620013dd57600081815260208120601f850160051c8101602086101562004b7f5750805b601f850160051c820191505b8181101562004ba05782815560010162004b8b565b505050505050565b81516001600160401b0381111562004bc45762004bc4620042ef565b62004bdc8162004bd5845462004b1a565b8462004b56565b602080601f83116001811462004c14576000841562004bfb5750858301515b600019600386901b1c1916600185901b17855562004ba0565b600085815260208120601f198616915b8281101562004c455788860151825594840194600190910190840162004c24565b508582101562004c645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562004c8757600080fd5b8151620037f081620041f1565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121562004cbe57600080fd5b82516001600160401b038082111562004cd657600080fd5b818501915085601f83011262004ceb57600080fd5b81518181111562004d005762004d00620042ef565b8060051b915062004d13848301620043c5565b818152918301840191848101908884111562004d2e57600080fd5b938501935b8385101562004d5c578451925062004d4b83620041f1565b828252938501939085019062004d33565b98975050505050505050565b60006001820162004d7d5762004d7d62004a0a565b5060010190565b8181038181111562000d295762000d2962004a0a565b6000815462004da98162004b1a565b80855260206001838116801562004dc9576001811462004de45762004e14565b60ff1985168884015283151560051b88018301955062004e14565b866000528260002060005b8581101562004e0c5781548a820186015290830190840162004def565b890184019650505b505050505092915050565b80518252600060208201516040602085015262003e96604085018262004948565b600081518084526020808501945080840160005b8381101562004e7b5781516001600160a01b03168752958201959082019060010162004e54565b509495945050505050565b85815260a06020820152600062004ea160a083018762004d9a565b828103604084015262004eb5818762004e1f565b6001600160a01b03861660608501528381036080850152905062004d5c818562004e40565b83815260606020820152600062004ef5606083018562004d9a565b828103604084015262004054818562004e1f565b6020808252602c90820152600080516020620058cd83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020620058cd83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b038316815260406020820181905260009062003e969083018462004948565b634e487b7160e01b600052603160045260246000fd5b6000602080838503121562004fcf57600080fd5b82516001600160401b038082111562004fe757600080fd5b9084019060c0828703121562004ffc57600080fd5b6200500662004356565b82518152838301516200501981620041f1565b8185015260408301516200502d81620041f1565b60408201526060830151828111156200504557600080fd5b8301604081890312156200505857600080fd5b6200506262004305565b8151815285820151848111156200507857600080fd5b82019350601f840189136200508c57600080fd5b835191506200509f6200443383620043f8565b8281528987848701011115620050b457600080fd5b620050c58388830189880162004922565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600381106200514f576200514f62004a3a565b9052565b600481106200514f576200514f62004a3a565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151620051a860808401826200513c565b506040830151620051bd60a084018262005153565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a0908101516101808401528301516200522b6101a0840182620042a6565b5060c0830151620052416101c0840182620042a6565b5092915050565b878152600060018060a01b03808916602084015260e060408401526200527260e084018962004948565b818816606085015286608085015283810360a085015262005294818762004e1f565b91505082810360c0840152620052ab818562004e40565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a06080820181905260009062003cae9083018462004e1f565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200532981601785016020880162004922565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200535c81602884016020880162004922565b01602801949350505050565b6000602082840312156200537b57600080fd5b8151620037f081620044df565b6000816200539a576200539a62004a0a565b506000190190565b60008251620053b681846020870162004922565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c65c829f8fdde34a02905ed1e083dd9758067fd2de18763efdf9654cd7213cd964736f6c6343000813003360a06040523060805234801561001457600080fd5b5060805161667a6200004d6000396000818161181f0152818161185f015281816118ef0152818161192f01526119a7015261667a6000f3fe6080604052600436106103425760003560e01c8063013cf08b1461034b57806301ffc9a71461038d578063059351cd146103bd578063062f9ece1461044a5780630a6f0ee91461046a5780630ba959091461048a5780630bece79c146104a95780630c0512e9146104d65780630f529ba2146104ec578063125fd1d91461050357806315cc481e14610519578063184b9559146105375780631aa91a9e146105575780631ddf1e23146105775780632506b8701461058c578063255ffb38146105cf5780632bbe0cae146105fc5780632dbd6fdd1461060f5780632ed04b2b1461063b578063311a6c561461065b578063339604591461067b578063346db8cb14610691578063351d9f96146106b15780633659cfe6146106d857806338fff2d0146106f8578063406244d81461070d57806341bb76051461072257806342fda9c71461077f5780634ab4ba42146107945780634d31d087146107a95780634f1ef286146107c957806352d1902d146107dc57806359a5db8b146107f15780635db64b99146108115780636003e4141461083e57806360d5dedc1461085e578063626c47e81461087e5780636453d9c414610893578063715018a6146108b3578063782aadff146108c8578063814516ad146108e8578063817b1cd2146108fd578063824ea8ed14610913578063868c57b8146109335780638da5cb5b14610953578063950559d7146109685780639a1c157c14610988578063a0cf0aea1461099d578063a28889e1146109c5578063a47ff7e5146109fd578063a574cea414610a14578063aba9ffee14610a41578063ac1ed7b914610a57578063b0d3713a14610a77578063b2b878d014610a97578063b41596ec14610ac4578063b5f620ce14610ad7578063b6c61f3114610af7578063bcc5b93b14610b17578063c329217114610b37578063c4d66de814610b54578063c7f758a814610b74578063d1e3623214610bab578063dc96ff2d14610bc0578063df868ed314610bf0578063e0a8f6f514610c05578063e0dd2c3814610c25578063eb11af9314610c45578063edd146cc14610c6d578063ef2920fc14610c8d578063f2fde38b14610ca0578063f5b0dfb714610cc0578063f5be3f7c14610ce0578063ffa1ad7414610cf657005b3661034957005b005b34801561035757600080fd5b5061036b61036636600461503b565b610d32565b6040516103849d9c9b9a999897969594939291906150f6565b60405180910390f35b34801561039957600080fd5b506103ad6103a8366004615198565b610e80565b6040519015158152602001610384565b3480156103c957600080fd5b50610412606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c001610384565b34801561045657600080fd5b506103496104653660046152cd565b610eb7565b34801561047657600080fd5b506103496104853660046154a2565b610ecd565b34801561049657600080fd5b506077545b604051908152602001610384565b3480156104b557600080fd5b506079546104c9906001600160a01b031681565b6040516103849190615519565b3480156104e257600080fd5b5061049b606e5481565b3480156104f857600080fd5b5061049b6298968081565b34801561050f57600080fd5b5061049b606f5481565b34801561052557600080fd5b506065546001600160a01b03166104c9565b34801561054357600080fd5b5061034961055236600461552d565b610eed565b34801561056357600080fd5b5061049b61057236600461503b565b61104d565b34801561058357600080fd5b50610349611097565b34801561059857600080fd5b506072546073546074546075546105af9392919084565b604080519485526020850193909352918301526060820152608001610384565b3480156105db57600080fd5b5061049b6105ea36600461503b565b607e6020526000908152604090205481565b6104c961060a36600461556d565b6110a2565b34801561061b57600080fd5b5060765461062e90610100900460ff1681565b60405161038491906155d2565b34801561064757600080fd5b5061049b6106563660046155e0565b6110c5565b34801561066757600080fd5b5061034961067636600461560c565b611189565b34801561068757600080fd5b5061049b606c5481565b34801561069d57600080fd5b5061049b6106ac36600461562e565b61177a565b3480156106bd57600080fd5b506076546106cb9060ff1681565b604051610384919061566a565b3480156106e457600080fd5b506103496106f3366004615678565b611815565b34801561070457600080fd5b5060685461049b565b34801561071957600080fd5b5061049b600a81565b34801561072e57600080fd5b5061041261073d36600461503b565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b34801561078b57600080fd5b5060665461049b565b3480156107a057600080fd5b5060695461049b565b3480156107b557600080fd5b506103ad6107c4366004615678565b6118dd565b6103496107d7366004615695565b6118e5565b3480156107e857600080fd5b5061049b61199a565b3480156107fd57600080fd5b5061049b61080c36600461503b565b611a48565b34801561081d57600080fd5b5061049b61082c366004615678565b607c6020526000908152604090205481565b34801561084a57600080fd5b506078546104c9906001600160a01b031681565b34801561086a57600080fd5b506103496108793660046156e4565b611b62565b34801561088a57600080fd5b5061049b600381565b34801561089f57600080fd5b506103496108ae366004615678565b611bde565b3480156108bf57600080fd5b50610349611bef565b3480156108d457600080fd5b5061049b6108e33660046155e0565b611c01565b3480156108f457600080fd5b50610349611d93565b34801561090957600080fd5b5061049b60705481565b34801561091f57600080fd5b506103ad61092e36600461503b565b611eaa565b34801561093f57600080fd5b5061049b61094e3660046155e0565b611f07565b34801561095f57600080fd5b506104c9611f38565b34801561097457600080fd5b5061049b61098336600461503b565b611fc9565b34801561099457600080fd5b5060745461049b565b3480156109a957600080fd5b506104c973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156109d157600080fd5b50606d546109e5906001600160401b031681565b6040516001600160401b039091168152602001610384565b348015610a0957600080fd5b5060775461049b9081565b348015610a2057600080fd5b50610a34610a2f36600461503b565b611ff3565b604051610384919061573f565b348015610a4d57600080fd5b5061049b60715481565b348015610a6357600080fd5b50610349610a72366004615678565b6120d2565b348015610a8357600080fd5b50610349610a92366004615678565b612105565b348015610aa357600080fd5b50610ab7610ab2366004615752565b61212f565b6040516103849190615826565b61049b610ad23660046158bf565b61214a565b348015610ae357600080fd5b50610349610af2366004615946565b61249c565b348015610b0357600080fd5b50607a546104c9906001600160a01b031681565b348015610b2357600080fd5b5061049b610b32366004615678565b6124a5565b348015610b4357600080fd5b50607654610100900460ff1661062e565b348015610b6057600080fd5b50610349610b6f366004615678565b6124c0565b348015610b8057600080fd5b50610b94610b8f36600461503b565b6124f0565b6040516103849b9a99989796959493929190615963565b348015610bb757600080fd5b5060715461049b565b348015610bcc57600080fd5b5061049b610bdb36600461503b565b6000908152607b602052604090206002015490565b348015610bfc57600080fd5b506103ad6125fc565b348015610c1157600080fd5b50610349610c2036600461503b565b61260f565b348015610c3157600080fd5b5061049b610c403660046159d2565b612794565b348015610c5157600080fd5b50610c606107c4366004615678565b60405161038491906159f7565b348015610c7957600080fd5b50610349610c88366004615a0a565b6127bf565b610349610c9b36600461556d565b612999565b348015610cac57600080fd5b50610349610cbb366004615678565b6129b3565b348015610ccc57600080fd5b50610349610cdb36600461503b565b612a20565b348015610cec57600080fd5b5061049b611c2081565b348015610d0257600080fd5b50610d25604051806040016040528060038152602001620302e360ec1b81525081565b6040516103849190615a3a565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610db990615a4d565b80601f0160208091040260200160405190810160405280929190818152602001828054610de590615a4d565b8015610e325780601f10610e0757610100808354040283529160200191610e32565b820191906000526020600020905b815481529060010190602001808311610e1557829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610eb157506301ffc9a760e01b6001600160e01b03198316145b92915050565b610ebf612a49565b610ec98282612af1565b5050565b610ed5612e66565b610edd612e91565b610ee8838383612eb4565b505050565b600054610100900460ff1615808015610f0d5750600054600160ff909116105b80610f2e5750610f1c306131be565b158015610f2e575060005460ff166001145b610f965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610fb9576000805461ff0019166101001790555b610fe6846040518060400160405280600a8152602001694356537472617465677960b01b81525084611b62565b606a80546001600160a01b0319166001600160a01b0385161790558015611047576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461107f5760405163c1d17bef60e01b815260048101849052602401610f8d565b61108d8182600201546131cd565b6003015492915050565b6110a033613208565b565b60006110ac612e66565b6110b4612e91565b6110be838361332d565b9392505050565b60006110cf61371b565b60006002607654610100900460ff1660038111156110ef576110ef615061565b148061111657506001607654610100900460ff16600381111561111457611114615061565b145b1561112257508161112f565b61112c8484613746565b90505b80607160008282546111419190615a97565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061117a90869086908590615aaa565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112295760405163c1d17bef60e01b815260048101849052602401610f8d565b6005600883015460ff16600681111561124457611244615061565b1461126557604051634b011ca960e11b815260048101849052602401610f8d565b60a0810151600d83015460009161127b91615acb565b42119050801581611296575081516001600160a01b03163314155b156112b457604051631777988560e11b815260040160405180910390fd5b80806112be575084155b156114075781608001516000036112e857604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113045760088301805460ff191660011790555b81608001516002036113915760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361135e938a939290911691600401615ade565b600060405180830381600087803b15801561137857600080fd5b505af115801561138c573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113d0938a939290911691600401615ade565b600060405180830381600087803b1580156113ea57600080fd5b505af11580156113fe573d6000803e3d6000fd5b505050506116e3565b846001036114c75760088301805460ff19166001179055607954600e84015460785460408051633629edcd60e11b815290516001600160a01b0394851694638969ab53948a9490821693911691636c53db9a916004808201926020929091908290030181865afa15801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a39190615afd565b86606001516040518563ffffffff1660e01b81526004016113d09493929190615b1a565b846002036116e35760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361151d938a939290911691600401615ade565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050607954600586015460785460408051633629edcd60e11b815290516001600160a01b039485169650638969ab5395508a949384169390921691636c53db9a916004808201926020929091908290030181865afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d59190615afd565b606f546000908152607f602052604090206002908101546115f69190615b55565b6040518563ffffffff1660e01b81526004016116159493929190615b1a565b600060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a9493841693909216916116919190615b55565b6040518563ffffffff1660e01b81526004016116b09493929190615b1a565b600060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006116fc83615b77565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161176a91815260200190565b60405180910390a3505050505050565b6074546000908490829061179f9061179990629896809060801b615b55565b8361394d565b905060806001607f1b607260020154629896806117bc9190615a97565b6117ca84600160801b615a97565b6117d76298968089615b9a565b6117e19190615b9a565b6117eb9190615b55565b6117f58885615b9a565b6117ff9190615acb565b6118099190615acb565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361185d5760405162461bcd60e51b8152600401610f8d90615bb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661188f6139f5565b6001600160a01b0316146118b55760405162461bcd60e51b8152600401610f8d90615beb565b6118be81613a11565b604080516000808252602082019092526118da91839190613a4c565b50565b600080610eb1565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361192d5760405162461bcd60e51b8152600401610f8d90615bb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661195f6139f5565b6001600160a01b0316146119855760405162461bcd60e51b8152600401610f8d90615beb565b61198e82613a11565b610ec982826001613a4c565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a355760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610f8d565b506000805160206165de83398151915290565b60008060695411611a6c5760405163ed4421ad60e01b815260040160405180910390fd5b611a7582613bb7565b15611a9357604051630efd728560e21b815260040160405180910390fd5b606954600090611aa784600160401b615b9a565b611ab19190615b55565b6072546298968090611ac790600160401b615b9a565b611ad19190615b55565b611adb9190615a97565b90506040611ae860715490565b607454611af89062989680615a97565b629896806040611b088680615b9a565b607354911c90611b1f90629896809060801b615b55565b611b299190615b55565b611b339190615b9a565b611b3d9190615b55565b611b479190615b9a565b607554911c92508211611b5c576075546110be565b50919050565b600054610100900460ff16611b895760405162461bcd60e51b8152600401610f8d90615c25565b611b92816124c0565b606580546001600160a01b0319166001600160a01b038516179055604051611bbe908390602001615a3a565b60408051601f198184030181529190528051602090910120606655505050565b611be661371b565b6118da81613208565b611bf7613bde565b6110a06000613c3d565b6000611c0b61371b565b611c1483613c8f565b611c3157604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611c5157611c51615061565b03611c5f57825b9050611cbc565b6001607654610100900460ff166003811115611c7d57611c7d615061565b03611c8c57611c588484613d1d565b6003607654610100900460ff166003811115611caa57611caa615061565b03611cbc57611cb98484613dc4565b90505b60785460405163011de97360e61b81526000916001600160a01b03169063477a5cc090611cef9088903090600401615c70565b602060405180830381865afa158015611d0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d309190615c8a565b90508015611d50578160716000828254611d4a9190615acb565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611d8393929190615aaa565b60405180910390a1509392505050565b33611d9d81613c8f565b611dba57604051630b72d6b160e31b815260040160405180910390fd5b607854604051630d4a8b4960e01b81526001600160a01b0390911690630d4a8b4990611dec9084903090600401615c70565b600060405180830381600087803b158015611e0657600080fd5b505af1158015611e1a573d6000803e3d6000fd5b5050607854604051637817ee4f60e01b81526001600160a01b039091169250637817ee4f9150611e509084903090600401615c70565b602060405180830381865afa158015611e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e919190615ca7565b60716000828254611ea29190615acb565b909155505050565b6000818152607b60205260408120600281015482908190611ecc908490613fc9565b91509150816000148015611ede575080155b15611eeb57826003015491505b6000611efa8460010154611a48565b9092101595945050505050565b607d6020528160005260406000208181548110611f2357600080fd5b90600052602060002001600091509150505481565b600080611f4d6033546001600160a01b031690565b9050806001600160a01b03163b600003611f6657919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611fc0575060408051601f3d908101601f19168201909252611fbd91810190615afd565b60015b610eb157919050565b607454600090611fdc9062989680615a97565b611fe96298968084615b9a565b610eb19190615b55565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461204890615a4d565b80601f016020809104026020016040519081016040528092919081815260200182805461207490615a4d565b80156120c15780601f10612096576101008083540402835291602001916120c1565b820191906000526020600020905b8154815290600101906020018083116120a457829003601f168201915b505050505081525050915050919050565b6120da612a49565b6120e381614021565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b61210d613bde565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916121d757604051636c291fd360e01b815260040160405180910390fd5b815488146121fb5760405163c1d17bef60e01b815260048101899052602401610f8d565b6001600883015460ff16600681111561221657612216615061565b14612237576040516344980d8f60e01b815260048101899052602401610f8d565b8060600151341015612263576060810151604051632c1f8ef160e21b8152610f8d913491600401615cd0565b600f82015415801590612286575042611c2083600f01546122849190615acb565b115b156122c4578742611c2084600f015461229f9190615acb565b6122a99190615a97565b604051638d2f6c3160e01b8152600401610f8d929190615cd0565b60008160600151346122d69190615a97565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a9190612311908d903390600401615cde565b6000604051808303818588803b15801561232a57600080fd5b505af115801561233e573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612379906003908b908b90600401615d1e565b60206040518083038185885af1158015612397573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123bc9190615ca7565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b03169161241d83615d41565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516124889796959493929190615d6f565b60405180910390a150505095945050505050565b6118da81614048565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166124e75760405162461bcd60e51b8152600401610f8d90615c25565b6118da81613c3d565b600080600080600080600080600080600080607b60008e815260200190815260200160002090508060010154600014612535576125308160010154611a48565b612538565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061260a60675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561263757612637615061565b14612658576040516344980d8f60e01b815260048101829052602401610f8d565b6000818152607b60205260409020600501546001600160a01b031633146126b1576000818152607b602052604090819020600501549051634544dc9160e11b8152610f8d916001600160a01b0316903390600401615c70565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361270e938793921691600401615ade565b600060405180830381600087803b15801561272857600080fd5b505af115801561273c573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b03851684526009019091528120546110be565b6127c7612e66565b6127d082614089565b606a54606c80546127f9926001600160a01b03169160006127f083615dbe565b919050556140d8565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561284f57600080fd5b505af1158015612863573d6000803e3d6000fd5b5050505060008180602001905181019061287d9190615ea2565b60a08101519091506001600160a01b03166128ab57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156128f0576128f0615061565b021790555060408101516076805461ff00191661010083600381111561291857612918615061565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815161295b9190612af1565b7fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b838260405161298c929190615f93565b60405180910390a1505050565b6129a1612e66565b6129a9612e91565b610ec98282614127565b6129bb613bde565b6001600160a01b0381166124e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f8d565b612a28612e66565b8060696000828254612a3a9190615acb565b909155506118da905081614216565b607860009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac09190615afd565b6001600160a01b0316336001600160a01b0316146110a057604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612b16575081516001600160a01b031615155b8015612bff5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612b725750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612b965750606f546000908152607f602052604090819020600201549083015114155b80612bb95750606f546000908152607f6020526040902060030154606083015114155b80612bdc5750606f546000908152607f6020526040902060040154608083015114155b80612bff5750606f546000908152607f602052604090206005015460a083015114155b15612e0e57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612c5957508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612d22578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612c9091600401615519565b600060405180830381600087803b158015612caa57600080fd5b505af1158015612cbe573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612d199350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612d3283615dbe565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612e5a908390616053565b60405180910390a15050565b6065546001600160a01b031633146110a05760405163075fd2b160e01b815260040160405180910390fd5b6068546000036110a057604051630f68fe6360e21b815260040160405180910390fd5b6000825111612ed657604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612eec9190615ca7565b905080600003612f0f5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff166002811115612f3657612f36615061565b036131b75780548214612f5f5760405163c1d17bef60e01b815260048101839052602401610f8d565b60695481600101541115612f9257818160010154606954604051632c31d85b60e11b8152600401610f8d93929190616061565b6001600882015460ff166006811115612fad57612fad615061565b14612fce576040516344980d8f60e01b815260048101839052602401610f8d565b6000612fd98361104d565b90506000612fea8360010154611a48565b90508082108015612fff575060008360010154115b1561301d5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561306b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130939190810190616104565b90508360010154606960008282546130ab9190615a97565b90915550506040810151600485015460018601546130d392916001600160a01b031690614246565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613133948c94911692909101615ade565b600060405180830381600087803b15801561314d57600080fd5b505af1158015613161573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506131ab9289926001600160a01b0390911691615ade565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806131da8484613fc9565b915091508160001480156131ec575080155b156131f75750505050565b600784015560039092019190915550565b607854604051637817ee4f60e01b81526001600160a01b0390911690637817ee4f9061323a9084903090600401615c70565b602060405180830381865afa158015613257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061327b9190615ca7565b6071600082825461328c9190615a97565b90915550506078546040516322bcf99960e01b81526001600160a01b03909116906322bcf999906132c39084903090600401615c70565b600060405180830381600087803b1580156132dd57600080fd5b505af11580156132f1573d6000803e3d6000fd5b505050506132fe81614280565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516127899190615519565b600061333882613c8f565b61335557604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061336b91906161b7565b80519091506000036133905760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156133a9576133a9615061565b0361352a576133bb8160200151614021565b60608101516001600160a01b03166133e65760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061344a9190615afd565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa158015613498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134c09190810190616104565b905080604001516001600160a01b031683606001516001600160a01b0316146134fc5760405163514e24c360e11b815260040160405180910390fd5b6135098360400151613bb7565b1561352757604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906135665750606f546000908152607f602052604090206002015434105b1561359c57606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152610f8d913491600401615cd0565b6000606e600081546135ad90615dbe565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061366190826162ab565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926136a59288921690600401615cde565b6000604051808303818588803b1580156136be57600080fd5b505af11580156136d2573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b6068548360405161370a929190615cd0565b60405180910390a150949350505050565b6078546001600160a01b031633146110a0576040516357848b5160e11b815260040160405180910390fd5b607854604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015613796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ba9190615afd565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613813575060408051601f3d908101601f191682019092526138109181019061636a565b60015b1561381e5760ff1690505b6078546040516316308e2560e11b815260009185916001600160a01b0390911690632c611c4a90613853908990600401615519565b602060405180830381865afa158015613870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138949190615ca7565b61389e9190615a97565b905060006138bf6138b084600a616471565b6138ba9084615b9a565b6143e1565b607854604051637817ee4f60e01b815291925060009183916001600160a01b031690637817ee4f906138f7908b903090600401615c70565b602060405180830381865afa158015613914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139389190615ca7565b6139429190615a97565b979650505050505050565b6000600160801b83106139a15760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f8d565b50600160801b82825b80156139ed57806001166000036139cf576139c582836144c9565b915060011c6139aa565b6139d983836144c9565b92506139e6600182615a97565b90506139aa565b505092915050565b6000805160206165de833981519152546001600160a01b031690565b33613a1a611f38565b6001600160a01b0316146118da5733613a31611f38565b60405163163678e960e01b8152600401610f8d929190615c70565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613a7f57610ee8836145a6565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613ad9575060408051601f3d908101601f19168201909252613ad691810190615ca7565b60015b613b3c5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610f8d565b6000805160206165de8339815191528114613bab5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610f8d565b50610ee8838383614640565b6000613bc66298968083615b9a565b606954607254613bd69190615b9a565b111592915050565b33613be7611f38565b6001600160a01b0316146110a05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f8d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b607a546000906001600160a01b0316613caa57506001919050565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a090613cdc9085903090600401615c70565b602060405180830381865afa158015613cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190615c8a565b607854604051637817ee4f60e01b8152600091839183916001600160a01b031690637817ee4f90613d549088903090600401615c70565b602060405180830381865afa158015613d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d959190615ca7565b607754909150613da58383615acb565b1115613dbc57607754613db9908290615a97565b91505b509392505050565b6078546040516316308e2560e11b8152600091829184916001600160a01b031690632c611c4a90613df9908890600401615519565b602060405180830381865afa158015613e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3a9190615ca7565b613e449190615acb565b607854604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb89190615afd565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613f11575060408051601f3d908101601f19168201909252613f0e9181019061636a565b60015b15613f1c5760ff1690505b6000613f36613f2c83600a616471565b6138ba9085615b9a565b607854604051637817ee4f60e01b81529192506000916001600160a01b0390911690637817ee4f90613f6e908a903090600401615c70565b602060405180830381865afa158015613f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613faf9190615ca7565b90506000613fbd8284615a97565b98975050505050505050565b6000804390508084600701541115613fe357613fe361647d565b80846007015403613ff95750600090508061401a565b61401784600701548261400c9190615a97565b85600301548561177a565b91505b9250929050565b6001600160a01b0381166118da576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612789565b614091612e66565b606854156140b25760405163439a74c960e01b815260040160405180910390fd5b806000036140d357604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b16602082015260348101829052600090819060540160405160208183030381529060405280519060200120905061411f8482614665565b949350505050565b614130816146fc565b61413981613c8f565b61415657604051630b72d6b160e31b815260040160405180910390fd5b60785460405163011de97360e61b81526000916001600160a01b03169063477a5cc0906141899085903090600401615c70565b602060405180830381865afa1580156141a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ca9190615c8a565b9050806141ea57604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906142009190616493565b905061420c83826147da565b611047838261496e565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612789565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161427557610ee88282614d46565b610ee8838383614d62565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156142e057602002820191906000526020600020905b8154815260200190600101908083116142cc575b5050505050905060005b8151811015610ee85760008282815181106143075761430761653d565b602002602001015190506000607b6000838152602001908152602001600020905061433182614da8565b156143cc576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261436b908490615a97565b9250508190555080607060008282546143849190615a97565b90915550614394905082826131cd565b6000805160206165fe83398151915286846000856002015486600301546040516143c2959493929190616553565b60405180910390a1505b505080806143d990615dbe565b9150506142ea565b6000816000036143f357506000919050565b6000600161440084614de1565b901c6001901b9050600181848161441957614419615b3f565b048201901c9050600181848161443157614431615b3f565b048201901c9050600181848161444957614449615b3f565b048201901c9050600181848161446157614461615b3f565b048201901c9050600181848161447957614479615b3f565b048201901c9050600181848161449157614491615b3f565b048201901c905060018184816144a9576144a9615b3f565b048201901c90506110be818285816144c3576144c3615b3f565b04614e75565b6000600160801b8311156145305760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f8d565b600160801b82106145825760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f8d565b60806001607f1b6145938486615b9a565b61459d9190615acb565b901c9392505050565b6145af816131be565b6146115760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610f8d565b6000805160206165de83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61464983614e8b565b6000825111806146565750805b15610ee8576110478383614ecb565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610eb15760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610f8d565b6001600160a01b03811661472357604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b031661474c57604051635df4b1ef60e01b815260040160405180910390fd5b60785460405163288c314960e21b81526001600160a01b039091169063a230c5249061477c908490600401615519565b602060405180830381865afa158015614799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bd9190615c8a565b6118da57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b8251811015614897578281815181106147f9576147f961653d565b602002602001015160000151600003156148855760008382815181106148215761482161653d565b602002602001015160000151905061483881614da8565b6148585760405163c1d17bef60e01b815260048101829052602401610f8d565b83828151811061486a5761486a61653d565b602002602001015160200151836148819190616581565b9250505b8061488f81615dbe565b9150506147de565b5060006148ac6148a6856124a5565b83614ef0565b607854604051637817ee4f60e01b81529192506000916001600160a01b0390911690637817ee4f906148e49088903090600401615c70565b602060405180830381865afa158015614901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149259190615ca7565b90508082111561494c578181604051636b20c17f60e11b8152600401610f8d929190615cd0565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110475760008382815181106149905761499061653d565b602002602001015160000151905082516000036149ec57604080516001808252818301909252906020808301908036833701905050925080836000815181106149db576149db61653d565b602002602001018181525050614b1f565b6000805b8451811015614a4c5782858281518110614a0c57614a0c61653d565b602002602001015103614a3a57600191508281604051632b7aec5560e21b8152600401610f8d929190615cd0565b80614a4481615dbe565b9150506149f0565b5080614b1d57600084516001614a629190615acb565b6001600160401b03811115614a7957614a796151c2565b604051908082528060200260200182016040528015614aa2578160200160208202803683370190505b50905060005b8551811015614afa57858181518110614ac357614ac361653d565b6020026020010151828281518110614add57614add61653d565b602090810291909101015280614af281615dbe565b915050614aa8565b508281865181518110614b0f57614b0f61653d565b602090810291909101015293505b505b6000848381518110614b3357614b3361653d565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b16835260098101909452812054919350614b738285614ef0565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d6020526040902054811015614c0c5784546001600160a01b038c166000908152607d60205260409020805483908110614be157614be161653d565b906000526020600020015403614bfa5760019150614c0c565b80614c0481615dbe565b915050614b95565b5080614c42576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311614c9257614c538383615a97565b60706000828254614c649190615acb565b90915550614c7490508383615a97565b846002016000828254614c879190615acb565b90915550614cd69050565b614c9c8284615a97565b60706000828254614cad9190615a97565b90915550614cbd90508284615a97565b846002016000828254614cd09190615a97565b90915550505b8360070154600003614ced57436007850155614d2d565b614cf784846131cd565b6000805160206165fe8339815191528a878487600201548860030154604051614d24959493929190616553565b60405180910390a15b5050505050508080614d3e90615dbe565b915050614973565b60008060008084865af1610ec95763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716614d9e576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610eb15750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c15614df657608092831c92015b604083901c15614e0857604092831c92015b602083901c15614e1a57602092831c92015b601083901c15614e2c57601092831c92015b600883901c15614e3e57600892831c92015b600483901c15614e5057600492831c92015b600283901c15614e6257600292831c92015b600183901c15610eb15760010192915050565b6000818310614e8457816110be565b5090919050565b614e94816145a6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110be838360405180606001604052806027815260200161661e60279139614f27565b600080614efd8385616581565b905060008112156110be57838382604051631dde38a160e11b8152600401610f8d93929190616061565b6060600080856001600160a01b031685604051614f4491906165a1565b600060405180830381855af49150503d8060008114614f7f576040519150601f19603f3d011682016040523d82523d6000602084013e614f84565b606091505b5091509150614f9586838387614f9f565b9695505050505050565b6060831561500c57825160000361500557614fb9856131be565b6150055760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f8d565b508161411f565b61411f83838151156150215781518083602001fd5b8060405162461bcd60e51b8152600401610f8d9190615a3a565b60006020828403121561504d57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b600781106118da576118da615061565b60005b838110156150a257818101518382015260200161508a565b50506000910152565b600081518084526150c3816020860160208601615087565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015261411f60408501826150ab565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e085015261513e89615077565b8861010085015281610120850152615158828501896150d7565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b6000602082840312156151aa57600080fd5b81356001600160e01b0319811681146110be57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156151fa576151fa6151c2565b60405290565b60405160c081016001600160401b03811182821017156151fa576151fa6151c2565b60405160e081016001600160401b03811182821017156151fa576151fa6151c2565b604080519081016001600160401b03811182821017156151fa576151fa6151c2565b60405160a081016001600160401b03811182821017156151fa576151fa6151c2565b604051601f8201601f191681016001600160401b03811182821017156152b0576152b06151c2565b604052919050565b6001600160a01b03811681146118da57600080fd5b6000808284036101408112156152e257600080fd5b60c08112156152f057600080fd5b6152f8615200565b8435615303816152b8565b81526020850135615313816152b8565b602082015260408581013590820152606080860135908201526080808601358183015260a0808701359083015290935060bf198201121561535357600080fd5b5061535c6151d8565b60c0840135815260e0840135602082015261010084013560408201526101209093013560608401525092909150565b60006001600160401b038211156153a4576153a46151c2565b5060051b60200190565b600082601f8301126153bf57600080fd5b813560206153d46153cf8361538b565b615288565b82815260059290921b840181019181810190868411156153f357600080fd5b8286015b8481101561541757803561540a816152b8565b83529183019183016153f7565b509695505050505050565b60006001600160401b0382111561543b5761543b6151c2565b50601f01601f191660200190565b60006154576153cf84615422565b905082815283838301111561546b57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261549357600080fd5b6110be83833560208501615449565b6000806000606084860312156154b757600080fd5b83356001600160401b03808211156154ce57600080fd5b6154da878388016153ae565b945060208601359150808211156154f057600080fd5b506154fd86828701615482565b925050604084013561550e816152b8565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060006060848603121561554257600080fd5b833561554d816152b8565b9250602084013561555d816152b8565b9150604084013561550e816152b8565b6000806040838503121561558057600080fd5b82356001600160401b0381111561559657600080fd5b6155a285828601615482565b92505060208301356155b3816152b8565b809150509250929050565b600481106155ce576155ce615061565b9052565b60208101610eb182846155be565b600080604083850312156155f357600080fd5b82356155fe816152b8565b946020939093013593505050565b6000806040838503121561561f57600080fd5b50508035926020909101359150565b60008060006060848603121561564357600080fd5b505081359360208301359350604090920135919050565b600381106155ce576155ce615061565b60208101610eb1828461565a565b60006020828403121561568a57600080fd5b81356110be816152b8565b600080604083850312156156a857600080fd5b82356156b3816152b8565b915060208301356001600160401b038111156156ce57600080fd5b6156da85828601615482565b9150509250929050565b6000806000606084860312156156f957600080fd5b8335615704816152b8565b925060208401356001600160401b0381111561571f57600080fd5b8401601f8101861361573057600080fd5b6154fd86823560208401615449565b6020815260006110be60208301846150d7565b6000806040838503121561576557600080fd5b82356001600160401b038082111561577c57600080fd5b615788868387016153ae565b935060209150818501358181111561579f57600080fd5b8501601f810187136157b057600080fd5b80356157be6153cf8261538b565b81815260059190911b820184019084810190898311156157dd57600080fd5b8584015b83811015615815578035868111156157f95760008081fd5b6158078c8983890101615482565b8452509186019186016157e1565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561587157815180516001600160a01b03168552860151868501529284019290850190600101615843565b5091979650505050505050565b60008083601f84011261589057600080fd5b5081356001600160401b038111156158a757600080fd5b60208301915083602082850101111561401a57600080fd5b6000806000806000606086880312156158d757600080fd5b8535945060208601356001600160401b03808211156158f557600080fd5b61590189838a0161587e565b9096509450604088013591508082111561591a57600080fd5b506159278882890161587e565b969995985093965092949392505050565b80151581146118da57600080fd5b60006020828403121561595857600080fd5b81356110be81615938565b6001600160a01b038c811682528b811660208301528a1660408201526060810189905260808101889052610160810161599b88615077565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b600080604083850312156159e557600080fd5b8235915060208301356155b3816152b8565b60208101615a0483615077565b91905290565b60008060408385031215615a1d57600080fd5b8235915060208301356001600160401b038111156156ce57600080fd5b6020815260006110be60208301846150ab565b600181811c90821680615a6157607f821691505b602082108103611b5c57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610eb157610eb1615a81565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610eb157610eb1615a81565b9283526001600160a01b03919091166020830152604082015260600190565b600060208284031215615b0f57600080fd5b81516110be816152b8565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082615b7257634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b03821680615b9057615b90615a81565b6000190192915050565b8082028115828204841417610eb157610eb1615a81565b6020808252602c908201526000805160206165be83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206165be83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b600060208284031215615c9c57600080fd5b81516110be81615938565b600060208284031215615cb957600080fd5b5051919050565b8051615ccb816152b8565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b838152604060208201526000615d38604083018486615cf5565b95945050505050565b60006001600160401b038281166002600160401b03198101615d6557615d65615a81565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090615daa9083018587615cf5565b90508260a083015298975050505050505050565b600060018201615dd057615dd0615a81565b5060010190565b805160038110615ccb57600080fd5b805160048110615ccb57600080fd5b600060208284031215615e0757600080fd5b604051602081016001600160401b0381118282101715615e2957615e296151c2565b6040529151825250919050565b600060c08284031215615e4857600080fd5b615e50615200565b90508151615e5d816152b8565b81526020820151615e6d816152b8565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036101e0811215615eb657600080fd5b615ebe615222565b6080821215615ecc57600080fd5b615ed46151d8565b915083518252602084015160208301526040840151604083015260608401516060830152818152615f0760808501615dd7565b6020820152615f1860a08501615de6565b6040820152615f2a8560c08601615df5565b6060820152615f3c8560e08601615e36565b6080820152615f4e6101a08501615cc0565b60a0820152615f606101c08501615cc0565b60c0820152949350505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600061020082019050838252615fad602083018451615f6d565b6020830151615fbf60a084018261565a565b506040830151615fd260c08401826155be565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a084015283015161603f6101c0840182615054565b5060c0830151613dbc6101e0840182615054565b60808101610eb18284615f6d565b9283526020830191909152604082015260600190565b60006040828403121561608957600080fd5b616091615244565b8251815260208301519091506001600160401b038111156160b157600080fd5b8201601f810184136160c257600080fd5b80516160d06153cf82615422565b8181528560208385010111156160e557600080fd5b6160f6826020830160208601615087565b602084015250909392505050565b60006020828403121561611657600080fd5b81516001600160401b038082111561612d57600080fd5b9083019060c0828603121561614157600080fd5b616149615200565b82518152602083015161615b816152b8565b6020820152604083015161616e816152b8565b604082015260608301518281111561618557600080fd5b61619187828601616077565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156161c957600080fd5b81516001600160401b03808211156161e057600080fd5b9083019060a082860312156161f457600080fd5b6161fc615266565b82518152602083015161620e816152b8565b602082015260408381015190820152606083015161622b816152b8565b606082015260808301518281111561624257600080fd5b61624e87828601616077565b60808301525095945050505050565b601f821115610ee857600081815260208120601f850160051c810160208610156162845750805b601f850160051c820191505b818110156162a357828155600101616290565b505050505050565b81516001600160401b038111156162c4576162c46151c2565b6162d8816162d28454615a4d565b8461625d565b602080601f83116001811461630d57600084156162f55750858301515b600019600386901b1c1916600185901b1785556162a3565b600085815260208120601f198616915b8281101561633c5788860151825594840194600190910190840161631d565b508582101561635a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561637c57600080fd5b815160ff811681146110be57600080fd5b600181815b808511156163c85781600019048211156163ae576163ae615a81565b808516156163bb57918102915b93841c9390800290616392565b509250929050565b6000826163df57506001610eb1565b816163ec57506000610eb1565b8160018114616402576002811461640c57616428565b6001915050610eb1565b60ff84111561641d5761641d615a81565b50506001821b610eb1565b5060208310610133831016604e8410600b841016171561644b575081810a610eb1565b616455838361638d565b806000190482111561646957616469615a81565b029392505050565b60006110be83836163d0565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156164a657600080fd5b82516001600160401b038111156164bc57600080fd5b8301601f810185136164cd57600080fd5b80516164db6153cf8261538b565b81815260069190911b820183019083810190878311156164fa57600080fd5b928401925b8284101561394257604084890312156165185760008081fd5b616520615244565b8451815285850151868201528252604090930192908401906164ff565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b80820182811260008312801582168215821617156139ed576139ed615a81565b600082516165b3818460208701615087565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122091895ede64bc5239687d796624eea2caff3ec47d6cc1571b7ce1d7e767facf5464736f6c63430008130033608060405234801561001057600080fd5b50600160005561070c806100256000396000f3fe6080604052600436106100555760003560e01c8063481fef8a1461005a5780638129fc1c1461006f5780638630da1d146100845780638969ab53146100cf5780638da5cb5b146100ef57806399ea56b014610127575b600080fd5b61006d6100683660046105b8565b610147565b005b34801561007b57600080fd5b5061006d610204565b34801561009057600080fd5b506100bc61009f3660046105b8565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156100db57600080fd5b5061006d6100ea3660046105e4565b610241565b3480156100fb57600080fd5b5060025461010f906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b34801561013357600080fd5b5061006d610142366004610628565b6103cc565b6002546001600160a01b031633146101725760405163ea8e4eb560e01b815260040160405180910390fd5b61017a610543565b60008281526001602090815260408083206001600160a01b0385168452909152812080543492906101ac908490610673565b92505081905550806001600160a01b03167feec2f3feb835e2f2fd44281034b04700a1ddda63dd402949d470a25a7c40b36c83346040516101ee92919061068c565b60405180910390a26102006001600055565b5050565b6002546001600160a01b03161561022d5760405162dc149f60e41b815260040160405180910390fd5b600280546001600160a01b03191633179055565b6002546001600160a01b0316331461026c5760405163ea8e4eb560e01b815260040160405180910390fd5b610274610543565b60008481526001602090815260408083206001600160a01b0387168452909152902054808211156102c5578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60405180910390fd5b60008581526001602090815260408083206001600160a01b0388168452909152812080548492906102f790849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610347576040519150601f19603f3d011682016040523d82523d6000602084013e61034c565b606091505b505090508061036d5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b0316856001600160a01b03167f354da53cd88eb0936caa11700c1928b13f3f2803cca6f4f464ceff3b4bd7d38e88866040516103b292919061068c565b60405180910390a350506103c66001600055565b50505050565b6002546001600160a01b031633146103f75760405163ea8e4eb560e01b815260040160405180910390fd5b6103ff610543565b60008381526001602090815260408083206001600160a01b038616845290915290205480821115610447578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60008481526001602090815260408083206001600160a01b03871684529091528120805484929061047990849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50509050806104ef5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b03167f7c5e5cb62e5ed3caf3764e4b0afedfedef533e27809d43367799787ad2abcd41868560405161052a92919061068c565b60405180910390a2505061053e6001600055565b505050565b6002600054036105955760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102bc565b6002600055565b80356001600160a01b03811681146105b357600080fd5b919050565b600080604083850312156105cb57600080fd5b823591506105db6020840161059c565b90509250929050565b600080600080608085870312156105fa57600080fd5b8435935061060a6020860161059c565b92506106186040860161059c565b9396929550929360600135925050565b60008060006060848603121561063d57600080fd5b8335925061064d6020850161059c565b9150604084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156106865761068661065d565b92915050565b918252602082015260400190565b818103818111156106865761068661065d565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b60408201526060019056fea26469706673582212209c8607de79b2a860c6286071086718afdb7a9db7072e5b56038d9f23e888b98a64736f6c63430008130033608060405234801561001057600080fd5b50613183806100206000396000f3fe6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220a92e327dd91b48c1ed075cf314e2d187c57cf45b3f131f2b2abd41a9b8f7a80064736f6c63430008130033608060405234801561001057600080fd5b50612b10806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea2646970667358221220e8ce9c40c12951eb10e0fa33f5facd0f6a3ba8e1c89c45949ac47e68f0555db664736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a2646970667358221220ab171a0f5414e345912133ecd02ce70701075ca68f55ec9b8522b3a054464aac64736f6c63430008130033608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631688f0b9146100675780632500510e1461017657806353e5d9351461024357806361b69abd146102c6578063addacc0f146103cb578063d18af54d1461044e575b600080fd5b61014a6004803603606081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100ba57600080fd5b8201836020820111156100cc57600080fd5b803590602001918460018302840111640100000000831117156100ee57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061057d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102176004803603606081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460018302840111640100000000831117156101fd57600080fd5b909192939192939080359060200190929190505050610624565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024b610751565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039f600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184600183028401116401000000008311171561034d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061077c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d3610861565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104135780820151818401526020810190506103f8565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105516004803603608081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061058a848484610a3b565b90506000835111156105b25760008060008551602087016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a19392505050565b60006106758585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610a3b565b905080604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60606040518060200161076390610bde565b6020820181038252601f19601f82011660405250905090565b60008260405161078b90610bde565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156107c7573d6000803e3d6000fd5b5090506000825111156107f05760008060008451602086016000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a192915050565b60606040518060200161087390610beb565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060001c90506108e786868361057d565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a32578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156109ca5780820151818401526020810190506109af565b50505050905090810190601f1680156109f75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600060405180602001610a8890610bde565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b60208310610ae95780518252602082019150602081019050602083039250610ac6565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f437265617465322063616c6c206661696c65640000000000000000000000000081525060200191505060405180910390fd5b50509392505050565b6101e680610bf883390190565b60ab80610dde8339019056fe608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d608060405234801561001057600080fd5b5060016004819055506159ae80620000296000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220dd2a5d283594d2173374e2bffe4f81591e4469217a08735756677fc39edee27f64736f6c63430008130033","sourceMap":"1035:9291:135:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:16;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;59688:179:137;;;;;;:::i;:::-;;:::i;:::-;;2429:119:16;;;:::i;718:28:137:-;;;;;-1:-1:-1;;;;;718:28:137;;;4045:101:16;;;:::i;56023:1145:137:-;;;;;;:::i;:::-;;:::i;1951:3563:135:-;;;:::i;226:92:16:-;306:4;226:92;;905:138;968:7;905:138;;2159:111:18;2244:19;;-1:-1:-1;;;;;2244:19:18;2159:111;;5520:634:135;;;:::i;:::-;;;3303:25:139;;;3291:2;3276:18;5520:634:135;3157:177:139;2572:97:18;2650:12;;2572:97;;889:167:137;;;;;;:::i;:::-;;:::i;3126:109:16:-;;;:::i;644:38:137:-;;681:1;644:38;;2554:113:16;;;:::i;2452:134:27:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;806:43:130:-;;841:8;806:43;;2757:105:18;2839:16;;-1:-1:-1;;;;;2839:16:18;2757:105;;1204:437:130;;;;;;:::i;:::-;;:::i;668:109::-;;;:::i;:::-;;;;;;;;:::i;2276:97:18:-;2354:12;;2276:97;;3221:133:27;;;:::i;855:50:130:-;;898:7;855:50;;2922:141:27;;;:::i;9170:46249:137:-;;;:::i;1331:118:16:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;828:25:137:-;;;;;;4152:99:16;;;:::i;2738:178:27:-;;;:::i;:::-;;;;;;;:::i;1876:107:16:-;;;:::i;689:23:137:-;;;;;-1:-1:-1;;;;;689:23:137;;;59529:153;;;;;;:::i;:::-;;:::i;9277:464:135:-;;;:::i;2792:241:16:-;;;:::i;7115:606:135:-;;;:::i;4376:105:16:-;;;:::i;788:34:137:-;;;;;;1989:232:16;;;:::i;610:85:18:-;;;:::i;2673:113:16:-;;;:::i;439:101::-;;;:::i;7883:285:135:-;;;:::i;2592:140:27:-;;;:::i;:::-;;;;;;;:::i;4345:638:130:-;;;;;;:::i;:::-;;:::i;753:29:137:-;;;;;-1:-1:-1;;;;;753:29:137;;;1537:101:16;;;:::i;3485:113::-;;;:::i;3069:146:27:-;;;:::i;8174:502:135:-;;;:::i;6423:686::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:16;;;:::i;6160:257:135:-;;;:::i;3938:101:16:-;;;:::i;2157:141:27:-;;;:::i;1243:204:23:-;;;:::i;:::-;;;13718:14:139;;13711:22;13693:41;;13681:2;13666:18;1243:204:23;13553:187:139;1170:7994:137;;;:::i;1504:49:135:-;;1542:11;1504:49;;59873:493:137;;;;;;:::i;:::-;;:::i;1647:1157:130:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2461:105:18:-;2543:16;;-1:-1:-1;;;;;2543:16:18;2461:105;;7727:150:135;;;:::i;555:83:137:-;;596:42;555:83;;1644:113:16;;;:::i;2314:109::-;;;:::i;468:81:137:-;;507:42;468:81;;4571:105:16;;;:::i;647:73:17:-;;;:::i;546:124:16:-;;;:::i;324:109::-;;;:::i;57174:1547:137:-;;;:::i;2810:1529:130:-;;;;;;:::i;:::-;;:::i;2304:142:27:-;;;:::i;5837:380:130:-;;;;;;:::i;:::-;;:::i;8682:589:135:-;;;:::i;3241:119:16:-;;;:::i;55425:396:137:-;;;;;;:::i;:::-;;:::i;9747:577:135:-;;;:::i;1016:26:34:-;;;;;;;;;1281:21:135;;;;;-1:-1:-1;;;;;1281:21:135;;;2050:103:18;2131:15;;2050:103;;1802:142:135;;;:::i;1763:107:16:-;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:16;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;59688:179:137:-;59803:57;59814:12;59828:16;59846:3;59851:5;59858:1;59803:10;:57::i;:::-;59688:179;;;;:::o;2429:119:16:-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:16;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:16;;;:8;:22::i;56023:1145:137:-;56255:16;;56122:4;;-1:-1:-1;;;;;56255:16:137;56243:886;;-1:-1:-1;;;;;56306:49:137;;56302:481;;56375:31;56417:13;:11;:13::i;:::-;56375:56;;56532:25;:23;:25::i;:::-;56616:88;;-1:-1:-1;;;56616:88:137;;-1:-1:-1;;;;;21306:32:139;;;56616:88:137;;;21288:51:139;21375:2;21355:18;;;21348:30;56575:10:137;21394:18:139;;;21387:29;;;681:1:137;21468:18:139;;;21461:34;56512:45:137;;-1:-1:-1;56616:38:137;;;;;21433:19:139;;56616:88:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;56723:16;:45;;-1:-1:-1;;;;;;56723:45:137;-1:-1:-1;;;;;56723:45:137;;;;;;;;;;-1:-1:-1;;56302:481:137;56814:16;;56797:54;;;-1:-1:-1;;;56797:54:137;;-1:-1:-1;;;;;56814:16:137;;;56797:54;;;22131:51:139;22198:18;;;22191:30;22257:2;22237:18;;;22230:30;-1:-1:-1;;;22276:18:139;;;22269:45;-1:-1:-1;;;;;;;;;;;56797:8:137;;;22331:19:139;;56797:54:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;56865:45:137;;;-1:-1:-1;;;56865:45:137;;-1:-1:-1;;;;;22591:32:139;;56865:45:137;;;22573:51:139;22640:18;;;22633:30;;;;22699:2;22679:18;;;22672:30;-1:-1:-1;;;22718:18:139;;;22711:46;-1:-1:-1;;;;;;;;;;;56865:8:137;-1:-1:-1;56865:8:137;;-1:-1:-1;22774:19:139;;56865:45:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;56924:23:137;;-1:-1:-1;56964:1:137;;-1:-1:-1;56950:16:137;;-1:-1:-1;56950:16:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;56950:16:137;;56924:42;;57000:6;56980;56987:1;56980:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;56980:27:137;;;:9;;;;;;;;;:27;57021:16;;:97;;-1:-1:-1;;;57021:97:137;;:16;;;:22;;:97;;57044:6;;57021:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56288:841;56243:886;-1:-1:-1;57145:16:137;;-1:-1:-1;;;;;57145:16:137;56023:1145;;;;;:::o;1951:3563:135:-;2092:21;:19;:21::i;:::-;2123:32;2143:10;:8;:10::i;:::-;2123:11;:32::i;:::-;-1:-1:-1;;;;;;;;;;;2166:13:135;2180:12;:10;:12::i;:::-;2166:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2203:6;:4;:6::i;:::-;:23;;-1:-1:-1;;;2203:23:135;;2224:1;2203:23;;;3303:25:139;-1:-1:-1;;;;;2203:20:135;;;;;;;3276:18:139;;2203:23:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2236:6;:4;:6::i;:::-;:26;;-1:-1:-1;;;2236:26:135;;2260:1;2236:26;;;3303:25:139;-1:-1:-1;;;;;2236:23:135;;;;;;;3276:18:139;;2236:26:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;2272:12:135;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2339:2;2305:37;;;;;:::i;:::-;24511:2:139;24493:21;;;24550:2;24530:18;;;24523:30;-1:-1:-1;;;24584:3:139;24569:19;;24562:41;24641:3;24634:4;24619:20;;24612:33;;;24682:1;24661:19;;;24654:30;-1:-1:-1;;;24715:3:139;24700:19;;24693:34;24811:4;24799:17;;;-1:-1:-1;24779:18:139;;24772:45;24759:3;24744:19;2305:37:135;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2297:5:135;:45;;-1:-1:-1;;;;;;2297:45:135;-1:-1:-1;;;;;2297:45:135;;;;;;;;;2352:10;306:4:16;2372:16:135;2387:1;1591:10;2372:16;:::i;:::-;2352:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2399:5:135;;-1:-1:-1;;;;;2399:5:135;;-1:-1:-1;2399:10:135;;-1:-1:-1;2410:12:135;:10;:12::i;:::-;2424:16;2439:1;1591:10;2424:16;:::i;:::-;2399:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2481:5:135;;-1:-1:-1;;;;;2481:5:135;;-1:-1:-1;2481:10:135;;-1:-1:-1;2500:1:135;2504:16;2519:1;1591:10;2504:16;:::i;:::-;2481:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2531:5:135;;-1:-1:-1;;;;;2531:5:135;;-1:-1:-1;2531:13:135;;-1:-1:-1;2553:6:135;:4;:6::i;:::-;2562:10;2531:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;2584:13:135;2598:12;:10;:12::i;:::-;2584:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2621:6;:4;:6::i;:::-;-1:-1:-1;;;;;2621:24:135;;306:4:16;2621:33:135;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;2664:12:135;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2703:12:135;;2689:27;;-1:-1:-1;;;2689:27:135;;-1:-1:-1;;;;;;;;;;;2689:13:135;-1:-1:-1;2689:13:135;;-1:-1:-1;2689:27:135;;-1:-1:-1;;;;;2703:12:135;;2689:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2876:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2923:75:135;;;1789:7;2923:75;;;;3303:25:139;;;;2923:75:135;;;;;;;;;;3276:18:139;;;;2923:75:135;;;;;;;-1:-1:-1;;;;;2923:75:135;-1:-1:-1;;;2923:75:135;;;2826:194;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2727:14;;:335;;;;;-1:-1:-1;;;;;2727:335:135;;;;;-1:-1:-1;;;;;2727:335:135;;;;;;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;3150:12:135;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3175:52;;:::i;:::-;3260:6;:4;:6::i;:::-;-1:-1:-1;;;;;3237:30:135;;;;;3314:5;;;3277:19;;;;:44;;;;1640:7;3331:27;;;;:43;;;;3314:5;3384:20;;;:47;3472:4;3442:19;;;:35;3488:27;;;;;;;;3507:8;3488:27;;;;;;;;;3507:8;;3488:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3488:27:135;;;;-1:-1:-1;;;3488:16:135;;;:27;3563:14;:12;:14::i;:::-;-1:-1:-1;;;;;3525:54:135;:19;;;:54;3761:25;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3942:12:135;;4033:27;;-1:-1:-1;;;3865:39:135;-1:-1:-1;;;;;3942:12:135;;3993:1;;4033:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;4099:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;4158:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3813:393:135;;-1:-1:-1;;;;;27165:15:139;;;3813:393:135;;;27147:34:139;27217:15;;;27197:18;;;27190:43;27269:15;;;27249:18;;;27242:43;27321:15;;27301:18;;;27294:43;27374:15;;;27353:19;;;27346:44;27081:19;;3813:393:135;;;-1:-1:-1;;3813:393:135;;;;;;;;;;;;;;-1:-1:-1;;;;;3813:393:135;-1:-1:-1;;;;;;3813:393:135;;;;;;;;;;3711:517;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3645:630:135;;4276:6;3645:638;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3590:17;:703;;-1:-1:-1;;;;;;3590:703:135;-1:-1:-1;;;;;3590:703:135;;;;;;;;;4620:48;;;;;;;;;-1:-1:-1;;;;4380:28:135;;4445:42:9;;4442:409:135;;3590:703;;-1:-1:-1;;4566:36:135;;4620:48;4653:14;841:8:130;4653:3:135;:14;:::i;:::-;4620:48;;4686:151;;;;;;;;;4739:14;;-1:-1:-1;;;;;4739:14:135;4686:151;;;;;4771:14;:12;:14::i;:::-;-1:-1:-1;;;;;4686:151:135;;;;;4789:10;4686:151;;;;4801:10;4686:151;;;;4813:1;4686:151;;;;4816:3;4686:151;;;4442:9;:409::i;:::-;4865:8;4380:503;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4894:6;:16;;;4920:10;:47;;-1:-1:-1;;;;;;4920:47:135;-1:-1:-1;;;;;4920:47:135;;;;;4894:16;;-1:-1:-1;4920:47:135;-1:-1:-1;;;;;;;;;;;;4977:13:135;4991:12;:10;:12::i;:::-;4977:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5046:17:135;;5164:10;;5093:83;;5014:172;;-1:-1:-1;;;;;;5046:17:135;;;;-1:-1:-1;5046:17:135;;-1:-1:-1;;;5116:38:135;5093:83;;5164:10;;;5093:83;;;:::i;:::-;;;;-1:-1:-1;;5093:83:135;;;;;;;;;;;;;;-1:-1:-1;;;;;5093:83:135;-1:-1:-1;;;;;;5093:83:135;;;;;;;;;;5014:10;:172::i;:::-;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;5196:12:135;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5221:17;;;;;;;;;-1:-1:-1;;;;;5221:17:135;-1:-1:-1;;;;;5221:29:135;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5269:17;;-1:-1:-1;;;;;5221:39:135;;;;;;5269:17;1941:3;1886:50;5269:17;;1886:50;:::i;:::-;1869:68;;1640:7;1869:68;:::i;:::-;1868:76;;;;:::i;:::-;1852:92;;1640:7;1852:92;:::i;:::-;5221:84;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5315:17;;;;;;;;;-1:-1:-1;;;;;5315:17:135;-1:-1:-1;;;;;5315:40:135;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5367:10;;;;;;;;;-1:-1:-1;;;;;5367:10:135;-1:-1:-1;;;;;5367:25:135;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5405:35:135;;-1:-1:-1;;;5405:35:135;;-1:-1:-1;;;;;;;;;;;5405:7:135;-1:-1:-1;5405:7:135;;-1:-1:-1;5405:35:135;;5421:4;;1542:11;;5405:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5450:6;:4;:6::i;:::-;:57;;-1:-1:-1;;;5450:57:135;;;;;32421:25:139;;;1542:11:135;32462:18:139;;;32455:34;;;-1:-1:-1;;;;;5450:15:135;;;;;;;32394:18:139;;5450:57:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:3539;;;1951:3563::o;5520:634::-;5562:18;5592:21;5616:7;5592:31;;5633:45;5693:93;;;;;;;;5723:6;;5693:93;;;;5731:12;:10;:12::i;:::-;-1:-1:-1;;;;;5693:93:135;;;;;5745:13;5693:93;;;;4445:42:9;-1:-1:-1;;;;;5693:93:135;;;;;5777:8;5693:93;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5633:153;;5796:17;5827:8;5816:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5816:20:135;;;;;;;;;5891:10;;-1:-1:-1;;;5891:32:135;;;;5816:20;;-1:-1:-1;5851:33:135;;-1:-1:-1;;;;;5891:10:135;;;;:30;;:32;;;;;;;;;;;;;;:10;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5847:76;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;5933:7:135;;5941:12;:10;:12::i;:::-;5955:25;5933:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;5992:13:135;-1:-1:-1;5992:13:135;;-1:-1:-1;6006:12:135;;-1:-1:-1;6006:10:135;:12::i;:::-;5992:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6050:6;:4;:6::i;:::-;-1:-1:-1;;;;;6050:24:135;;6082:25;6109:6;;6117:4;6050:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6029:94:135;;;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;6133:12:135;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5582:572;;;;5520:634;:::o;889:167:137:-;952:4;975:74;997:6;1022:25;:23;:25::i;3126:109:16:-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:16;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:16;;;:8;:28::i;2452:134:27:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:27;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;1204:437:130:-;1376:16;;1349:7;;1372:230;;1502:48;;;;;;;;1522:1;1502:48;;;;;;;;;;;;-1:-1:-1;;;1502:48:130;;;;;;;;;;;1441:150;;-1:-1:-1;;;1441:150:130;;-1:-1:-1;;;;;1441:22:130;;;;;:150;;1481:1;;1552:10;;1564:13;;1441:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1422:16;:169;1372:230;-1:-1:-1;1618:16:130;;1204:437;;;;;;:::o;668:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:27:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:27;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:27;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;9170:46249:137:-;9209:4;9229:34;596:42;9229:18;:34::i;:::-;9225:92;;;-1:-1:-1;596:42:137;;9170:46249::o;9225:92::-;9351:46051;;;;;;;;;;;;;;;;;;:16;:46051::i;1331:118:16:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:16;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:16;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:16;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:16;;;:8;:21::i;2738:178:27:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:16;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:16;;;:8;:25::i;59529:153:137:-;59626:11;;59639:15;;59615:60;;-1:-1:-1;;;;;59626:11:137;;59656:3;59661:5;59668:6;59615:10;:60::i;:::-;59529:153;;;:::o;9277:464:135:-;9333:18;9354:16;:14;:16::i;:::-;9389:10;;9381:29;;-1:-1:-1;;;9381:29:135;;9333:37;;-1:-1:-1;;;;;;;;;;;;9381:7:135;;;:29;;-1:-1:-1;;;;;9389:10:135;;;;9401:8;;9381:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9429:10:135;;9420:20;;-1:-1:-1;;;9420:20:135;;-1:-1:-1;;;;;;;;;;;9420:8:135;-1:-1:-1;9420:8:135;;-1:-1:-1;9420:20:135;;-1:-1:-1;;;;;9429:10:135;;9420:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9470:10:135;;9450:17;;-1:-1:-1;;;;;;9470:10:135;;-1:-1:-1;9470:26:135;9504:28;1789:7;9504:10;:28;:::i;:::-;9534:10;9470:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9564:54;;-1:-1:-1;;;9564:54:135;;9450:103;;-1:-1:-1;;;;;;;;;;;;9564:15:135;;;:54;;-1:-1:-1;;;9580:37:135;9564:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;9628:8:135;-1:-1:-1;9628:8:135;;-1:-1:-1;9645:14:135;;-1:-1:-1;9645:12:135;:14::i;:::-;9628:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9671:14:135;;9722:10;;9671:63;;-1:-1:-1;;;9671:63:135;;-1:-1:-1;;;;;9671:14:135;;;;-1:-1:-1;9671:28:135;;-1:-1:-1;9671:63:135;;9700:9;;9711:1;;9722:10;;;9671:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9323:418;;9277:464::o;2792:241:16:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:16;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:16;;;-1:-1:-1;;;;;2926:32:16;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:16;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:16:o;7115:606:135:-;7161:18;7182:16;:14;:16::i;:::-;7217:10;;7209:29;;-1:-1:-1;;;7209:29:135;;7161:37;;-1:-1:-1;;;;;;;;;;;;7209:7:135;;;:29;;-1:-1:-1;;;;;7217:10:135;;;;7229:8;;7209:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7257:10:135;;7248:20;;-1:-1:-1;;;7248:20:135;;-1:-1:-1;;;;;;;;;;;7248:8:135;-1:-1:-1;7248:8:135;;-1:-1:-1;7248:20:135;;-1:-1:-1;;;;;7257:10:135;;7248:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7298:10:135;;7278:17;;-1:-1:-1;;;;;;7298:10:135;;-1:-1:-1;7298:26:135;7332:28;1789:7;7332:10;:28;:::i;:::-;7362:10;7298:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7278:103;-1:-1:-1;;;;;;;;;;;;7392:8:135;7409:14;:12;:14::i;:::-;7392:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7435:14:135;;7486:10;;7435:63;;-1:-1:-1;;;7435:63:135;;-1:-1:-1;;;;;7435:14:135;;;;-1:-1:-1;7435:28:135;;-1:-1:-1;7435:63:135;;7464:9;;7475:1;;7486:10;;;7435:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7570:14:135;;:34;;-1:-1:-1;;;7570:34:135;;;;;3303:25:139;;;7515:14:135;;-1:-1:-1;7515:14:135;;-1:-1:-1;;;;;;7570:14:135;;;;:23;;3276:18:139;;7570:34:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7570:34:135;;;;;;;;;;;;:::i;:::-;7509:95;;;;;;;;7614:19;7623:6;7631:1;7614:8;:19::i;:::-;7643:71;7660:6;7652:15;;;;;;;;:::i;:::-;7677:35;7643:8;:71::i;4376:105:16:-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:16;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:16;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:16;;;-1:-1:-1;;;;;2120:29:16;;;;;2173:15;:13;:15::i;610:85:18:-;678:10;;;;;-1:-1:-1;;;;;678:10:18;;610:85::o;2673:113:16:-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:16;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:16;;;:8;:22::i;7883:285:135:-;7962:10;;7954:29;;-1:-1:-1;;;7954:29:135;;-1:-1:-1;;;;;;;;;;;7954:7:135;;;:29;;-1:-1:-1;;;;;7962:10:135;;7974:8;;7954:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8002:10:135;;7993:20;;-1:-1:-1;;;7993:20:135;;-1:-1:-1;;;;;;;;;;;7993:8:135;-1:-1:-1;7993:8:135;;-1:-1:-1;7993:20:135;;-1:-1:-1;;;;;8002:10:135;;7993:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8023:65:135;;-1:-1:-1;;;8023:65:135;;-1:-1:-1;;;;;;;;;;;8023:15:135;-1:-1:-1;8023:15:135;;-1:-1:-1;8023:65:135;;-1:-1:-1;;;8039:48:135;8023:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8098:14:135;;-1:-1:-1;;;;;8098:14:135;;-1:-1:-1;8098:28:135;;-1:-1:-1;8134:19:135;8098:14;1789:7;8134:19;:::i;:::-;8155:1;8098:63;;;;;;;;;;;;;39004:25:139;;39065:2;39060;39045:18;;39038:30;;;-1:-1:-1;39084:18:139;;;39077:29;39138:2;39123:18;;38785:362;8098:63:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7883:285::o;2592:140:27:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4345:638:130;4681:14;4714:262;4738:4;4756:8;4778:17;4809:8;4831:5;4850:12;4876:11;4901:35;;;;;;;;4934:1;4901:35;;;4950:16;4714:10;:262::i;:::-;4707:269;4345:638;-1:-1:-1;;;;;;;;;4345:638:130:o;1537:101:16:-;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:16;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:16;;;:8;:28::i;3069:146:27:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8174:502:135;8237:18;8258:16;:14;:16::i;:::-;8293:10;;8285:29;;-1:-1:-1;;;8285:29:135;;8237:37;;-1:-1:-1;;;;;;;;;;;;8285:7:135;;;:29;;-1:-1:-1;;;;;8293:10:135;;;;8305:8;;8285:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8333:10:135;;8324:20;;-1:-1:-1;;;8324:20:135;;-1:-1:-1;;;;;;;;;;;8324:8:135;-1:-1:-1;8324:8:135;;-1:-1:-1;8324:20:135;;-1:-1:-1;;;;;8333:10:135;;8324:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8374:10:135;;8354:17;;-1:-1:-1;;;;;;8374:10:135;;-1:-1:-1;8374:26:135;8408:28;1789:7;8408:10;:28;:::i;:::-;8438:10;8374:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8541:10;;8553:11;;8484:81;;;-1:-1:-1;;;;;8541:10:135;;;8484:81;;;39379:34:139;8553:11:135;;;;39429:18:139;;;;39422:43;;;;8484:81:135;;;;;;;;;;39314:18:139;;;;8484:81:135;;;;;;;-1:-1:-1;;;;;8484:81:135;-1:-1:-1;;;8484:81:135;;;8468:98;-1:-1:-1;;;8468:98:135;;8354:103;;-1:-1:-1;;;;;;;;;;;;8468:15:135;;;:98;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8585:10:135;;8576:20;;-1:-1:-1;;;8576:20:135;;-1:-1:-1;;;;;;;;;;;8576:8:135;-1:-1:-1;8576:8:135;;-1:-1:-1;8576:20:135;;-1:-1:-1;;;;;8585:10:135;;8576:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8606:14:135;;8657:10;;8606:63;;-1:-1:-1;;;8606:63:135;;-1:-1:-1;;;;;8606:14:135;;;;-1:-1:-1;8606:28:135;;-1:-1:-1;8606:63:135;;8635:9;;8646:1;;8657:10;;;8606:63;;;:::i;6423:686::-;6469:18;6490:16;:14;:16::i;:::-;6524:10;;6516:29;;-1:-1:-1;;;6516:29:135;;6469:37;;-1:-1:-1;;;;;;;;;;;;6516:7:135;;;:29;;-1:-1:-1;;;;;6524:10:135;;;;6536:8;;6516:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6564:10:135;;6555:20;;-1:-1:-1;;;6555:20:135;;-1:-1:-1;;;;;;;;;;;6555:8:135;-1:-1:-1;6555:8:135;;-1:-1:-1;6555:20:135;;-1:-1:-1;;;;;6564:10:135;;6555:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6606:10:135;;6586:17;;-1:-1:-1;;;;;;6606:10:135;;-1:-1:-1;6606:26:135;6640:28;1789:7;6640:10;:28;:::i;:::-;6670:10;6606:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6875:14;;:34;;-1:-1:-1;;;6875:34:135;;;;;3303:25:139;;;6586:103:135;;-1:-1:-1;6767:15:135;;;;;;;;-1:-1:-1;;;;;6875:14:135;;:23;;3276:18:139;;6875:34:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6875:34:135;;;;;;;;;;;;:::i;:::-;6763:146;;;;;;;;;;6920:20;6929:7;6938:1;6920:8;:20::i;:::-;6950:41;6959:14;1789:7;6950:8;:41::i;:::-;7001:19;7010:6;7018:1;7001:8;:19::i;:::-;7030:72;7047:6;7039:15;;;;;;;;:::i;:::-;7064:36;7643:8;:71::i;3604:241:16:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:16;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:16;;;-1:-1:-1;;;;;3738:32:16;;;;;3794:18;:16;:18::i;6160:257:135:-;6224:12;;6210:27;;-1:-1:-1;;;6210:27:135;;-1:-1:-1;;;;;;;;;;;6210:13:135;;;:27;;-1:-1:-1;;;;;6224:12:135;;6210:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6284:14:135;;:40;;-1:-1:-1;;;6284:40:135;;6264:10;6284:40;;;3303:25:139;;;6264:10:135;-1:-1:-1;;;;;;6284:14:135;;;;-1:-1:-1;6284:32:135;;3276:18:139;;6284:40:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6343:14:135;;:34;;-1:-1:-1;;;6343:34:135;;39900:2:139;6343:34:135;;;39882:21:139;-1:-1:-1;39919:18:139;;;39912:29;6334:52:135;;-1:-1:-1;;;;;;6343:14:135;;;;-1:-1:-1;6343:30:135;;39958:18:139;;6343:34:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6379:6;6334:8;:52::i;:::-;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;6396:12:135;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6200:217;6160:257::o;3938:101:16:-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:16;;;:8;:22::i;2157:141:27:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:23;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:23;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:23;;1428:1;;-1:-1:-1;;;;;;;;;;;1377:7:23;;;:39;;-1:-1:-1;;;;;;;;;;;219:28:23;-1:-1:-1;;;1398:17:23;1377:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1170:7994:137:-;1221:16;1253:32;507:42;1253:18;:32::i;:::-;1249:100;;;-1:-1:-1;507:42:137;;1170:7994::o;1249:100::-;1482:7665;;;;;;;;;;;;;;;;;;:16;:7665::i;59873:493::-;60016:17;60064:56;60077:3;60082:5;60089:12;60103:16;60064:12;:56::i;:::-;60057:63;;60140:219;60164:12;-1:-1:-1;;;;;60164:28:137;;60210:3;60215:6;60223:5;60230:19;60251:1;60254;60257;60268;60288;60293:4;60164:147;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;60140:219;;;;;;;;;;;;;-1:-1:-1;;;60140:219:137;;;:10;:219::i;1647:1157:130:-;1952:45;;:::i;:::-;2084:30;2098:15;2084:13;:30::i;:::-;2060:15;;:21;;:54;2168:24;2182:9;2168:13;:24::i;:::-;2141:15;;:51;2246:26;2260:11;2246:13;:26::i;:::-;2221:15;;:22;;;;:51;;;;2303:15;;2340:9;2303:34;;;;:46;-1:-1:-1;;;;;2366:44:130;;:24;;;:44;2420:19;;2442:12;2420:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2464:18:130;;;2485:11;2464:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2511:21:130;;;:26;2507:197;;2679:14;841:8;2679:3;:14;:::i;:::-;2655:38;;2507:197;2713:18;;;:32;;;;2755:23;;;:42;2713:6;1647:1157;-1:-1:-1;;;1647:1157:130:o;7727:150:135:-;7795:14;;:34;;-1:-1:-1;;;7795:34:135;;39900:2:139;7795:34:135;;;39882:21:139;7780:12:135;39919:18:139;;;39912:29;;;7780:12:135;-1:-1:-1;;;;;7795:14:135;;:30;;39958:18:139;;7795:34:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7780:49;;7839:31;7848:4;1789:7;7839:8;:31::i;1644:113:16:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:16;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:16;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:16;;;:8;:23::i;647:73:17:-;707:6;;-1:-1:-1;;;;;707:6:17;;647:73::o;546:124:16:-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:16;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:16;;;:8;:26::i;57174:1547:137:-;57360:15;;57352:24;;-1:-1:-1;;;;;;57352:24:137;;57214:4;;-1:-1:-1;;;;;;;;;;;57352:7:137;;;:24;;;;3303:25:139;;;3291:2;3276:18;;3157:177;57352:24:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57335:14;:41;;-1:-1:-1;;;;;;57335:41:137;-1:-1:-1;;;;;57335:41:137;;;;;;;;;57386:42;;;-1:-1:-1;;;57386:42:137;;;;;41740:51:139;;;;41807:18;;;41800:30;41866:2;41846:18;;;41839:30;-1:-1:-1;;;41885:18:139;;;41878:44;-1:-1:-1;;;;;;;;;;;57386:8:137;;;41939:19:139;;57386:42:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;57451:11:137;;-1:-1:-1;;;;;57451:11:137;;-1:-1:-1;57439:1248:137;;-1:-1:-1;57439:1248:137;57493:20;57516:25;:23;:25::i;:::-;57493:48;;57581:13;:11;:13::i;:::-;57556:14;:39;;-1:-1:-1;;;;;;57556:39:137;-1:-1:-1;;;;;57556:39:137;;;;;;57609:42;;;-1:-1:-1;;;57609:42:137;;42199:32:139;;;57609:42:137;;;42181:51:139;42248:18;;;42241:30;42307:2;42287:18;;;42280:30;-1:-1:-1;;;42326:18:139;;;42319:46;-1:-1:-1;;;;;;;;;;;57609:8:137;;;42382:19:139;;57609:42:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;57860:14:137;;57877;;;;;;;;57860;57877;;57806:10;57877:14;;;;;;57827:77;;-1:-1:-1;;;57827:77:137;;57806:10;;-1:-1:-1;;;;;;57827:24:137;;;;-1:-1:-1;57827:24:137;;:77;;57860:14;;;57877;681:1;;57827:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57919:11;:40;;-1:-1:-1;;;;;;57919:40:137;-1:-1:-1;;;;;57919:40:137;;;;;;;;58122:45;;;-1:-1:-1;;;58122:45:137;;;;;43015:51:139;;;;43082:18;;;43075:30;43141:2;43121:18;;;43114:30;-1:-1:-1;;;43160:18:139;;;43153:41;57919:40:137;;-1:-1:-1;;;;;;;;;;;;58122:8:137;;;43211:19:139;;58122:45:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;58217:23:137;;-1:-1:-1;58257:1:137;;-1:-1:-1;58243:16:137;;-1:-1:-1;58243:16:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;58243:16:137;-1:-1:-1;58329:14:137;;58309:9;;58217:42;;-1:-1:-1;;;;;;58329:14:137;;58217:42;;58329:14;;58309:9;;;;:::i;:::-;;;;;;:35;-1:-1:-1;;;;;58309:35:137;;;-1:-1:-1;;;;;58309:35:137;;;;;58378:42;58358:6;58365:1;58358:9;;;;;;;;:::i;:::-;;;;;;:63;-1:-1:-1;;;;;58358:63:137;;;-1:-1:-1;;;;;58358:63:137;;;;;58455:42;58435:6;58442:1;58435:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;58435:63:137;;;:9;;;;;;;;;:63;58548:11;;:92;;-1:-1:-1;;;58548:92:137;;:11;;;:17;;:92;;58566:6;;58548:11;;;;;;;;;;;;:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;57479:1208;;;57439:1248;-1:-1:-1;58703:11:137;;-1:-1:-1;;;;;58703:11:137;;57174:1547::o;2810:1529:130:-;3207:14;3284:45;3344:86;3354:17;3373:12;3387:11;3400;3413:16;3344:9;:86::i;:::-;3475:16;;;3489:1;3475:16;;;;;;;;3284:146;;-1:-1:-1;3441:31:130;;3475:16;;;;;;;;;;;;-1:-1:-1;3475:16:130;3441:50;;3529:4;3501:14;3516:1;3501:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3501:33:130;;;-1:-1:-1;;;;;3501:33:130;;;;;3572:10;3544:14;3559:1;3544:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3544:39:130;;;:17;;;;;;;;;:39;4445:42:9;;3870:19:130;;;3866:64;;-1:-1:-1;3914:5:130;3866:64;3948:4;-1:-1:-1;;;;;3948:33:130;;4036:55;4052:8;4062:12;:10;:12::i;:::-;4076:14;4036:15;:55::i;:::-;4113:8;4147:6;4136:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;4168:6;4188:1;4203:8;4225:14;3948:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3939:310;;4319:12;4267:64;;;;;;;;:::i;:::-;4290:8;-1:-1:-1;;;;;4267:46:130;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;;;;;:::i;:::-;;4260:72;;;;:::i;:::-;3223:1116;;;2810:1529;;;;;;;;;;;:::o;2304:142:27:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:27;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;5837:380:130:-;5987:7;6022:11;5987:7;6063:27;6068:18;1082:7;6078:3;6069:12;;;6068:18;:::i;:::-;6088:1;6063:4;:27::i;:::-;6043:47;-1:-1:-1;6207:3:130;-1:-1:-1;;;6180:9:130;6184:5;1082:7;6180:9;:::i;:::-;6155:19;6165:9;-1:-1:-1;;;6155:19:130;:::i;:::-;6137:14;1082:7;6137:10;:14;:::i;:::-;:38;;;;:::i;:::-;6136:54;;;;:::i;:::-;6110:21;6122:9;6110;:21;:::i;:::-;6109:82;;;;:::i;:::-;6108:94;;;;:::i;:::-;6107:103;;;5837:380;-1:-1:-1;;;;;;;5837:380:130:o;8682:589:135:-;8739:18;8760:16;:14;:16::i;:::-;8795:10;;8787:29;;-1:-1:-1;;;8787:29:135;;8739:37;;-1:-1:-1;;;;;;;;;;;;8787:7:135;;;:29;;-1:-1:-1;;;;;8795:10:135;;;;8807:8;;8787:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8835:10:135;;8826:20;;-1:-1:-1;;;8826:20:135;;-1:-1:-1;;;;;;;;;;;8826:8:135;-1:-1:-1;8826:8:135;;-1:-1:-1;8826:20:135;;-1:-1:-1;;;;;8835:10:135;;8826:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8876:10:135;;8856:17;;-1:-1:-1;;;;;;8876:10:135;;-1:-1:-1;8876:26:135;8910:28;1789:7;8910:10;:28;:::i;:::-;8940:10;8876:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8856:103;-1:-1:-1;;;;;;;;;;;;8970:8:135;8987:14;:12;:14::i;:::-;8970:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9013:14:135;;9064:10;;9013:63;;-1:-1:-1;;;9013:63:135;;-1:-1:-1;;;;;9013:14:135;;;;-1:-1:-1;9013:28:135;;-1:-1:-1;9013:63:135;;9042:9;;9053:1;;9064:10;;;9013:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9087:61:135;;-1:-1:-1;;;9087:61:135;;-1:-1:-1;;;;;;;;;;;9087:15:135;-1:-1:-1;9087:15:135;;-1:-1:-1;9087:61:135;;-1:-1:-1;;;9103:44:135;9087:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;9158:8:135;-1:-1:-1;9158:8:135;;-1:-1:-1;9175:14:135;;-1:-1:-1;9175:12:135;:14::i;:::-;9158:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9201:14:135;;9252:10;;9201:63;;-1:-1:-1;;;9201:63:135;;-1:-1:-1;;;;;9201:14:135;;;;-1:-1:-1;9201:28:135;;-1:-1:-1;9201:63:135;;9230:9;;9201:14;;9252:10;;;9201:63;;;:::i;3241:119:16:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:16;;;:8;:31::i;55425:396:137:-;55541:6;:8;;55490:17;;;;55541:8;55490:17;55541:8;;;:::i;:::-;;;;;;55650:11;55644:18;55633:8;55627:15;55620:4;55610:8;55606:19;55603:1;55595:68;55582:81;-1:-1:-1;;55685:22:137;;55734:8;55726:35;;;;-1:-1:-1;;;55726:35:137;;45346:2:139;55726:35:137;;;45328:21:139;45385:2;45365:18;;;45358:30;-1:-1:-1;;;45404:18:139;;;45397:44;45458:18;;55726:35:137;;;;;;;;;55509:312;55425:396;;;:::o;9747:577:135:-;9793:18;9814:16;:14;:16::i;:::-;9849:10;;9841:29;;-1:-1:-1;;;9841:29:135;;9793:37;;-1:-1:-1;;;;;;;;;;;;9841:7:135;;;:29;;-1:-1:-1;;;;;9849:10:135;;;;9861:8;;9841:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9889:10:135;;9880:20;;-1:-1:-1;;;9880:20:135;;-1:-1:-1;;;;;;;;;;;9880:8:135;-1:-1:-1;9880:8:135;;-1:-1:-1;9880:20:135;;-1:-1:-1;;;;;9889:10:135;;9880:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9930:10:135;;9910:17;;-1:-1:-1;;;;;;9930:10:135;;-1:-1:-1;9930:26:135;9964:28;1789:7;9964:10;:28;:::i;:::-;9994:10;9930:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9910:103;-1:-1:-1;;;;;;;;;;;;10024:8:135;10041:14;:12;:14::i;:::-;10024:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10067:14:135;;10118:10;;10067:63;;-1:-1:-1;;;10067:63:135;;-1:-1:-1;;;;;10067:14:135;;;;-1:-1:-1;10067:28:135;;-1:-1:-1;10067:63:135;;10096:9;;10107:1;;10118:10;;;10067:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10188:14:135;;:39;;-1:-1:-1;;;10188:39:135;;;;;3303:25:139;;;10142:14:135;;-1:-1:-1;10142:14:135;;-1:-1:-1;10142:14:135;;-1:-1:-1;;;;;10188:14:135;;:28;;3276:18:139;;10188:39:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10141:86;;;;;;10238:19;10247:6;10255:1;10238:8;:19::i;:::-;10267:17;10279:4;10267:11;:17::i;:::-;10294:23;10306:10;10294:11;:23::i;1802:142::-;1941:3;1886:50;1747:1;;1886:50;:::i;:::-;1869:68;;1640:7;1869:68;:::i;:::-;1868:76;;;;:::i;:::-;1852:92;;1640:7;1852:92;:::i;:::-;1802:142;:::o;20439:125:25:-;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:25;20439:125;-1:-1:-1;;20439:125:25:o;1114:930:18:-;1164:17;:15;:17::i;:::-;-1:-1:-1;;;;;;;;;;;1192:8:18;1201:12;:10;:12::i;:::-;1192:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:18;-1:-1:-1;;;;;1242:24:18;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1301:48:18;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:18;;;;;3303:25:139;;;;1422:10:18;;;-1:-1:-1;;;;;1422:10:18;;:25;;3276:18:139;;1422:42:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:18;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:18;-1:-1:-1;;;;;1400:71:18;;;;;;;;;-1:-1:-1;;;;;;;;;;;1482:8:18;1491:16;:14;:16::i;:::-;1482:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:18;-1:-1:-1;;;;;1533:24:18;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;-1:-1:-1;;;1587:44:18;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:18;;;;;3303:25:139;;;;1708:10:18;;;-1:-1:-1;;;;;1708:10:18;;:25;;3276:18:139;;1708:39:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:18;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:18;-1:-1:-1;;;;;1689:65:18;;;;;;;;;-1:-1:-1;;;;;;;;;;;1765:8:18;1774:16;:14;:16::i;:::-;1765:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:18;-1:-1:-1;;;;;1816:24:18;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;-1:-1:-1;;;1870:44:18;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:18;;;;;3303:25:139;;;;1991:10:18;;;-1:-1:-1;;;;;1991:10:18;;:25;;3276:18:139;;1991:39:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:18;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:18;-1:-1:-1;;;;;1972:65:18;;;;;;;;;1114:930::o;283:358:17:-;-1:-1:-1;;;;;;;;;;;342:13:17;356:12;:10;:12::i;:::-;342:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:17;:19;;-1:-1:-1;;;;;;379:19:17;-1:-1:-1;;;;;379:19:17;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:17;;;-1:-1:-1;;;;;50750:15:139;;;409:201:17;;;50732:34:139;50802:15;;;50782:18;;;50775:43;50854:15;;;50834:18;;;50827:43;554:4:17;50886:18:139;;;50879:34;-1:-1:-1;50929:19:139;;;50922:35;50666:19;;409:201:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;620:12:17;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1412:320:78;-1:-1:-1;;;;;1702:19:78;;:23;;;1412:320::o;2270:110:23:-;2349:24;;-1:-1:-1;;;2349:24:23;;;;;32421:25:139;;;32462:18;;;32455:34;;;-1:-1:-1;;;;;;;;;;;2349:11:23;;;32394:18:139;;2349:24:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;59028:495:137;59174:22;59375:7;;;-1:-1:-1;;;;;;;;;;;59408:7:137;59416:16;59434:33;59442:3;59447:5;59454:12;59434:7;:33::i;:::-;59408:60;;-1:-1:-1;;;;;;59408:60:137;;;;;;;;;;32421:25:139;;;;32462:18;;;32455:34;32394:18;;59408:60:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;59491:25;;;;;;51802:19:139;;;;51837:12;;;51830:28;;;;51914:3;51892:16;;;;-1:-1:-1;;;;;;51888:36:139;51874:12;;;51867:58;59491:25:137;;;;;;;;;51941:12:139;;;;59491:25:137;;;;59028:495;-1:-1:-1;;;;;;;;59028:495:137:o;1689:113:23:-;1771:24;;-1:-1:-1;;;1771:24:23;;-1:-1:-1;;;;;;;;;;;1771:13:23;;;:24;;1785:4;;1791:3;;1771:24;;;:::i;4989:114:130:-;5052:7;5078:18;5088:8;5078:7;:18;:::i;5384:447::-;5445:15;-1:-1:-1;;;5480:2:130;:12;5472:53;;;;-1:-1:-1;;;5472:53:130;;52472:2:139;5472:53:130;;;52454:21:139;52511:2;52491:18;;;52484:30;-1:-1:-1;;;52530:18:139;;;52523:58;52598:18;;5472:53:130;52270:352:139;5472:53:130;-1:-1:-1;;;;5547:2:130;5571;5610:215;5617:5;;5610:215;;5642:1;5646;5642:5;5651:1;5642:10;5638:177;;5676:10;5681:1;5684;5676:4;:10::i;:::-;5672:14;-1:-1:-1;5710:1:130;5704:7;5610:215;;5638:177;5760:16;5765:7;5774:1;5760:4;:16::i;:::-;5750:26;-1:-1:-1;5794:6:130;5799:1;5794:6;;:::i;:::-;;;5610:215;;;5462:369;;5384:447;;;;:::o;1808:91:23:-;1872:20;;-1:-1:-1;;;1872:20:23;;13718:14:139;;13711:22;1872:20:23;;;13693:41:139;-1:-1:-1;;;;;;;;;;;1872:14:23;;;13666:18:139;;1872:20:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242:25;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:25;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:25;;;;;3303:25:139;;;20293:33:25;-1:-1:-1;;;;;;;;;;;;20344:7:25;;;3276:18:139;;20344:19:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:25;;20337:26;;-1:-1:-1;;;;;;;;;;;;20373:8:25;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;475:129:18:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:18;:27;;-1:-1:-1;;;;;;521:27:18;;-1:-1:-1;;;;;521:27:18;;;;;;;;;;;;;558:10;;;:21;580:16;:14;:16::i;:::-;558:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;58727:295:137;58818:14;58853:12;-1:-1:-1;;;;;58853:31:137;;58906:3;58912:1;58915:5;58922:19;58943:1;58946;58949;58960;58980;58985:12;-1:-1:-1;;;;;58985:18:137;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;58853:162;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;58844:171;58727:295;-1:-1:-1;;;;58727:295:137:o;5109:269:130:-;5170:15;-1:-1:-1;;;5205:2:130;:13;;5197:66;;;;-1:-1:-1;;;5197:66:130;;54472:2:139;5197:66:130;;;54454:21:139;54511:2;54491:18;;;54484:30;54550:34;54530:18;;;54523:62;-1:-1:-1;;;54601:18:139;;;54594:38;54649:19;;5197:66:130;54270:404:139;5197:66:130;-1:-1:-1;;;5281:2:130;:12;5273:53;;;;-1:-1:-1;;;5273:53:130;;54881:2:139;5273:53:130;;;54863:21:139;54920:2;54900:18;;;54893:30;-1:-1:-1;;;54939:18:139;;;54932:58;55007:18;;5273:53:130;54679:352:139;5273:53:130;5368:3;-1:-1:-1;;;5345:7:130;5350:2;5345;:7;:::i;:::-;5344:19;;;;:::i;:::-;5343:28;;;5109:269;-1:-1:-1;;;5109:269:130:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:104:139:-;-1:-1:-1;;;;;80:31:139;68:44;;14:104::o;123:203::-;-1:-1:-1;;;;;287:32:139;;;;269:51;;257:2;242:18;;123:203::o;331:138::-;-1:-1:-1;;;;;413:31:139;;403:42;;393:70;;459:1;456;449:12;474:127;535:10;530:3;526:20;523:1;516:31;566:4;563:1;556:15;590:4;587:1;580:15;606:253;678:2;672:9;720:4;708:17;;-1:-1:-1;;;;;740:34:139;;776:22;;;737:62;734:88;;;802:18;;:::i;:::-;838:2;831:22;606:253;:::o;864:275::-;935:2;929:9;1000:2;981:13;;-1:-1:-1;;977:27:139;965:40;;-1:-1:-1;;;;;1020:34:139;;1056:22;;;1017:62;1014:88;;;1082:18;;:::i;:::-;1118:2;1111:22;864:275;;-1:-1:-1;864:275:139:o;1144:186::-;1192:4;-1:-1:-1;;;;;1214:30:139;;1211:56;;;1247:18;;:::i;:::-;-1:-1:-1;1313:2:139;1292:15;-1:-1:-1;;1288:29:139;1319:4;1284:40;;1144:186::o;1335:462::-;1377:5;1430:3;1423:4;1415:6;1411:17;1407:27;1397:55;;1448:1;1445;1438:12;1397:55;1484:6;1471:20;1515:48;1531:31;1559:2;1531:31;:::i;:::-;1515:48;:::i;:::-;1588:2;1579:7;1572:19;1634:3;1627:4;1622:2;1614:6;1610:15;1606:26;1603:35;1600:55;;;1651:1;1648;1641:12;1600:55;1716:2;1709:4;1701:6;1697:17;1690:4;1681:7;1677:18;1664:55;1764:1;1739:16;;;1757:4;1735:27;1728:38;;;;1743:7;1335:462;-1:-1:-1;;;1335:462:139:o;1802:694::-;1912:6;1920;1928;1936;1989:3;1977:9;1968:7;1964:23;1960:33;1957:53;;;2006:1;2003;1996:12;1957:53;2045:9;2032:23;2064:38;2096:5;2064:38;:::i;:::-;2121:5;-1:-1:-1;2173:2:139;2158:18;;2145:32;;-1:-1:-1;2229:2:139;2214:18;;2201:32;2242:40;2201:32;2242:40;:::i;:::-;2301:7;-1:-1:-1;2359:2:139;2344:18;;2331:32;-1:-1:-1;;;;;2375:30:139;;2372:50;;;2418:1;2415;2408:12;2372:50;2441:49;2482:7;2473:6;2462:9;2458:22;2441:49;:::i;:::-;2431:59;;;1802:694;;;;;;;:::o;2724:428::-;2818:6;2826;2879:2;2867:9;2858:7;2854:23;2850:32;2847:52;;;2895:1;2892;2885:12;2847:52;2934:9;2921:23;2953:38;2985:5;2953:38;:::i;:::-;3010:5;-1:-1:-1;3067:2:139;3052:18;;3039:32;3080:40;3039:32;3080:40;:::i;:::-;3139:7;3129:17;;;2724:428;;;;;:::o;3521:254::-;3580:6;3633:2;3621:9;3612:7;3608:23;3604:32;3601:52;;;3649:1;3646;3639:12;3601:52;3688:9;3675:23;3707:38;3739:5;3707:38;:::i;3946:461::-;3999:3;4037:5;4031:12;4064:6;4059:3;4052:19;4090:4;4119:2;4114:3;4110:12;4103:19;;4156:2;4149:5;4145:14;4177:1;4187:195;4201:6;4198:1;4195:13;4187:195;;;4266:13;;-1:-1:-1;;;;;4262:39:139;4250:52;;4322:12;;;;4357:15;;;;4298:1;4216:9;4187:195;;;-1:-1:-1;4398:3:139;;3946:461;-1:-1:-1;;;;;3946:461:139:o;4412:261::-;4591:2;4580:9;4573:21;4554:4;4611:56;4663:2;4652:9;4648:18;4640:6;4611:56;:::i;4678:250::-;4763:1;4773:113;4787:6;4784:1;4781:13;4773:113;;;4863:11;;;4857:18;4844:11;;;4837:39;4809:2;4802:10;4773:113;;;-1:-1:-1;;4920:1:139;4902:16;;4895:27;4678:250::o;4933:271::-;4975:3;5013:5;5007:12;5040:6;5035:3;5028:19;5056:76;5125:6;5118:4;5113:3;5109:14;5102:4;5095:5;5091:16;5056:76;:::i;:::-;5186:2;5165:15;-1:-1:-1;;5161:29:139;5152:39;;;;5193:4;5148:50;;4933:271;-1:-1:-1;;4933:271:139:o;5209:616::-;5261:3;5299:5;5293:12;5326:6;5321:3;5314:19;5352:4;5393:2;5388:3;5384:12;5418:11;5445;5438:18;;5495:6;5492:1;5488:14;5481:5;5477:26;5465:38;;5537:2;5530:5;5526:14;5558:1;5568:231;5582:6;5579:1;5576:13;5568:231;;;5653:5;5647:4;5643:16;5638:3;5631:29;5681:38;5714:4;5705:6;5699:13;5681:38;:::i;:::-;5777:12;;;;5673:46;-1:-1:-1;5742:15:139;;;;5604:1;5597:9;5568:231;;;-1:-1:-1;5815:4:139;;5209:616;-1:-1:-1;;;;;;;5209:616:139:o;5830:1077::-;6036:4;6065:2;6105;6094:9;6090:18;6135:2;6124:9;6117:21;6158:6;6193;6187:13;6224:6;6216;6209:22;6250:2;6240:12;;6283:2;6272:9;6268:18;6261:25;;6345:2;6335:6;6332:1;6328:14;6317:9;6313:30;6309:39;6383:2;6375:6;6371:15;6404:1;6414:464;6428:6;6425:1;6422:13;6414:464;;;6493:22;;;-1:-1:-1;;6489:36:139;6477:49;;6549:13;;6594:9;;-1:-1:-1;;;;;6590:35:139;6575:51;;6665:11;;6659:18;6697:15;;;6690:27;;;6740:58;6782:15;;;6659:18;6740:58;:::i;:::-;6856:12;;;;6730:68;-1:-1:-1;;6821:15:139;;;;6450:1;6443:9;6414:464;;;-1:-1:-1;6895:6:139;;5830:1077;-1:-1:-1;;;;;;;;5830:1077:139:o;6912:1342::-;7032:6;7040;7048;7101:2;7089:9;7080:7;7076:23;7072:32;7069:52;;;7117:1;7114;7107:12;7069:52;7156:9;7143:23;7175:38;7207:5;7175:38;:::i;:::-;7232:5;-1:-1:-1;7256:2:139;7295:18;;;7282:32;7323:40;7282:32;7323:40;:::i;:::-;7382:7;-1:-1:-1;7440:2:139;7425:18;;7412:32;-1:-1:-1;;;;;7493:14:139;;;7490:34;;;7520:1;7517;7510:12;7490:34;7558:6;7547:9;7543:22;7533:32;;7603:7;7596:4;7592:2;7588:13;7584:27;7574:55;;7625:1;7622;7615:12;7574:55;7661:2;7648:16;7683:2;7679;7676:10;7673:36;;;7689:18;;:::i;:::-;7735:2;7732:1;7728:10;7718:20;;7758:28;7782:2;7778;7774:11;7758:28;:::i;:::-;7820:15;;;7890:11;;;7886:20;;;7851:12;;;;7918:19;;;7915:39;;;7950:1;7947;7940:12;7915:39;7974:11;;;;7994:230;8010:6;8005:3;8002:15;7994:230;;;8092:3;8079:17;8064:32;;8109:40;8141:7;8109:40;:::i;:::-;8162:20;;;8027:12;;;;8202;;;;7994:230;;;8243:5;8233:15;;;;;;;;6912:1342;;;;;:::o;8259:291::-;8436:6;8425:9;8418:25;8479:2;8474;8463:9;8459:18;8452:30;8399:4;8499:45;8540:2;8529:9;8525:18;8517:6;8499:45;:::i;8555:1569::-;8759:4;8788:2;8828;8817:9;8813:18;8858:2;8847:9;8840:21;8881:6;8916;8910:13;8947:6;8939;8932:22;8973:2;8963:12;;9006:2;8995:9;8991:18;8984:25;;9068:2;9058:6;9055:1;9051:14;9040:9;9036:30;9032:39;9106:2;9098:6;9094:15;9127:1;9148;9158:937;9174:6;9169:3;9166:15;9158:937;;;9243:22;;;-1:-1:-1;;9239:36:139;9227:49;;9299:13;;9386:9;;-1:-1:-1;;;;;9382:35:139;9367:51;;9457:11;;9451:18;9489:15;;;9482:27;;;9570:19;;9339:15;;;9602:24;;;9692:21;;;;9737:1;;9660:2;9648:15;;;9751:236;9767:8;9762:3;9759:17;9751:236;;;9848:15;;-1:-1:-1;;;;;;9844:42:139;9830:57;;9956:17;;;;9795:1;9786:11;;;;;9913:14;;;;9751:236;;;-1:-1:-1;10073:12:139;;;;10010:5;-1:-1:-1;;;10038:15:139;;;;9200:1;9191:11;9158:937;;;-1:-1:-1;10112:6:139;;8555:1569;-1:-1:-1;;;;;;;;;8555:1569:139:o;10129:530::-;10215:6;10223;10231;10284:2;10272:9;10263:7;10259:23;10255:32;10252:52;;;10300:1;10297;10290:12;10252:52;10339:9;10326:23;10358:38;10390:5;10358:38;:::i;:::-;10415:5;-1:-1:-1;10467:2:139;10452:18;;10439:32;;-1:-1:-1;10522:2:139;10507:18;;10494:32;-1:-1:-1;;;;;10538:30:139;;10535:50;;;10581:1;10578;10571:12;10535:50;10604:49;10645:7;10636:6;10625:9;10621:22;10604:49;:::i;:::-;10594:59;;;10129:530;;;;;:::o;10889:280::-;11088:2;11077:9;11070:21;11051:4;11108:55;11159:2;11148:9;11144:18;11136:6;11108:55;:::i;11174:111::-;11259:1;11252:5;11249:12;11239:40;;11275:1;11272;11265:12;11290:152;11367:20;;11416:1;11406:12;;11396:40;;11432:1;11429;11422:12;11396:40;11290:152;;;:::o;11447:715::-;11510:5;11558:4;11546:9;11541:3;11537:19;11533:30;11530:50;;;11576:1;11573;11566:12;11530:50;11598:22;;:::i;:::-;11589:31;;11657:9;11644:23;11676:40;11708:7;11676:40;:::i;:::-;11725:22;;11799:2;11784:18;;11771:32;11812:40;11771:32;11812:40;:::i;:::-;11884:7;11879:2;11872:5;11868:14;11861:31;;11952:2;11941:9;11937:18;11924:32;11919:2;11912:5;11908:14;11901:56;12017:2;12006:9;12002:18;11989:32;11984:2;11977:5;11973:14;11966:56;12083:3;12072:9;12068:19;12055:33;12049:3;12042:5;12038:15;12031:58;12150:3;12139:9;12135:19;12122:33;12116:3;12109:5;12105:15;12098:58;11447:715;;;;:::o;12167:1285::-;12390:6;12398;12406;12414;12422;12430;12438;12446;12499:3;12487:9;12478:7;12474:23;12470:33;12467:53;;;12516:1;12513;12506:12;12467:53;12555:9;12542:23;12574:38;12606:5;12574:38;:::i;:::-;12631:5;-1:-1:-1;12688:2:139;12673:18;;12660:32;12701:40;12660:32;12701:40;:::i;:::-;12760:7;-1:-1:-1;12819:2:139;12804:18;;12791:32;12832:40;12791:32;12832:40;:::i;:::-;12891:7;-1:-1:-1;12950:2:139;12935:18;;12922:32;12963:40;12922:32;12963:40;:::i;:::-;13022:7;-1:-1:-1;13081:3:139;13066:19;;13053:33;13095:40;13053:33;13095:40;:::i;:::-;13154:7;-1:-1:-1;13213:3:139;13198:19;;13185:33;13227:43;13185:33;13227:43;:::i;:::-;13289:7;-1:-1:-1;13315:48:139;13358:3;13343:19;;13315:48;:::i;:::-;13305:58;;13382:64;13438:7;13432:3;13421:9;13417:19;13382:64;:::i;:::-;13372:74;;12167:1285;;;;;;;;;;;:::o;13979:763::-;14098:6;14106;14114;14122;14130;14183:3;14171:9;14162:7;14158:23;14154:33;14151:53;;;14200:1;14197;14190:12;14151:53;14239:9;14226:23;14258:38;14290:5;14258:38;:::i;:::-;14315:5;-1:-1:-1;14367:2:139;14352:18;;14339:32;;-1:-1:-1;14423:2:139;14408:18;;14395:32;14436:40;14395:32;14436:40;:::i;:::-;14495:7;-1:-1:-1;14553:2:139;14538:18;;14525:32;-1:-1:-1;;;;;14569:30:139;;14566:50;;;14612:1;14609;14602:12;14566:50;14635:49;14676:7;14667:6;14656:9;14652:22;14635:49;:::i;:::-;13979:763;;;;-1:-1:-1;13979:763:139;;14731:3;14716:19;14703:33;;13979:763;-1:-1:-1;;;13979:763:139:o;14747:416::-;14811:5;14859:4;14847:9;14842:3;14838:19;14834:30;14831:50;;;14877:1;14874;14867:12;14831:50;14910:2;14904:9;14952:4;14940:17;;-1:-1:-1;;;;;14972:34:139;;15008:22;;;14969:62;14966:88;;;15034:18;;:::i;:::-;15070:2;15063:22;15133:23;;15118:39;;-1:-1:-1;15103:6:139;14747:416;-1:-1:-1;14747:416:139:o;15168:795::-;15369:6;15377;15385;15393;15401;15454:3;15442:9;15433:7;15429:23;15425:33;15422:53;;;15471:1;15468;15461:12;15422:53;15510:9;15497:23;15529:38;15561:5;15529:38;:::i;:::-;15586:5;-1:-1:-1;15643:2:139;15628:18;;15615:32;15656:43;15615:32;15656:43;:::i;:::-;15718:7;-1:-1:-1;15744:47:139;15787:2;15772:18;;15744:47;:::i;:::-;15734:57;;15810:64;15866:7;15861:2;15850:9;15846:18;15810:64;:::i;:::-;15800:74;;15893:64;15949:7;15943:3;15932:9;15928:19;15893:64;:::i;:::-;15883:74;;15168:795;;;;;;;;:::o;15968:127::-;16029:10;16024:3;16020:20;16017:1;16010:31;16060:4;16057:1;16050:15;16084:4;16081:1;16074:15;16100:143;16184:1;16177:5;16174:12;16164:46;;16190:18;;:::i;:::-;16219;;16100:143::o;16248:142::-;16331:1;16324:5;16321:12;16311:46;;16337:18;;:::i;16932:1018::-;17018:5;17012:12;17051:2;17045:9;17040:3;17033:22;17101:4;17097:2;17093:13;17087:20;17080:4;17075:3;17071:14;17064:44;17154:4;17150:2;17146:13;17140:20;17133:4;17128:3;17124:14;17117:44;17207:4;17203:2;17199:13;17193:20;17186:4;17181:3;17177:14;17170:44;;17260:4;17253:5;17249:16;17243:23;17275:58;17327:4;17322:3;17318:14;17304:12;17275:58;:::i;:::-;;17381:4;17374:5;17370:16;17364:23;17396:59;17449:4;17444:3;17440:14;17424;17396:59;:::i;:::-;-1:-1:-1;17503:4:139;17492:16;;;17486:23;16470:12;17579:4;17570:14;;16458:25;17633:4;17622:16;;;17616:23;16614:12;;-1:-1:-1;;;;;16610:21:139;;;17708:4;17699:14;;16598:34;16685:4;16674:16;;16668:23;16664:32;16648:14;;;16641:56;16746:4;16735:16;;16729:23;16713:14;;;16706:47;16791:16;;;16785:23;16769:14;;;16762:47;16847:16;;16841:23;16825:14;;;16818:47;16578:3;16903:16;;;16897:23;16881:14;;;16874:47;17751:16;;17745:23;17777:52;17821:6;17812:16;;17745:23;17777:52;:::i;:::-;;17877:4;17870:5;17866:16;17860:23;17892:52;17936:6;17931:3;17927:16;17911:14;17892:52;:::i;17955:276::-;18159:3;18144:19;;18172:53;18148:9;18207:6;18172:53;:::i;18681:1422::-;18949:6;18957;18965;18973;18981;18989;18997;19005;19013;19066:3;19054:9;19045:7;19041:23;19037:33;19034:53;;;19083:1;19080;19073:12;19034:53;19122:9;19109:23;19141:38;19173:5;19141:38;:::i;:::-;19198:5;-1:-1:-1;19255:2:139;19240:18;;19227:32;19268:40;19227:32;19268:40;:::i;:::-;19327:7;-1:-1:-1;19386:2:139;19371:18;;19358:32;19399:40;19358:32;19399:40;:::i;:::-;19458:7;-1:-1:-1;19517:2:139;19502:18;;19489:32;19530:40;19489:32;19530:40;:::i;:::-;19589:7;-1:-1:-1;19648:3:139;19633:19;;19620:33;19662:40;19620:33;19662:40;:::i;:::-;19721:7;-1:-1:-1;19780:3:139;19765:19;;19752:33;19794:43;19752:33;19794:43;:::i;:::-;19856:7;-1:-1:-1;19882:48:139;19925:3;19910:19;;19882:48;:::i;:::-;19872:58;;19949:65;20006:7;20000:3;19989:9;19985:19;19949:65;:::i;:::-;19939:75;;20033:64;20089:7;20083:3;20072:9;20068:19;20033:64;:::i;:::-;20023:74;;18681:1422;;;;;;;;;;;:::o;20108:385::-;20194:6;20202;20210;20218;20271:3;20259:9;20250:7;20246:23;20242:33;20239:53;;;20288:1;20285;20278:12;20239:53;-1:-1:-1;;20311:23:139;;;20381:2;20366:18;;20353:32;;-1:-1:-1;20432:2:139;20417:18;;20404:32;;20483:2;20468:18;20455:32;;-1:-1:-1;20108:385:139;-1:-1:-1;20108:385:139:o;20498:320::-;20566:6;20619:2;20607:9;20598:7;20594:23;20590:32;20587:52;;;20635:1;20632;20625:12;20587:52;20662:23;;-1:-1:-1;;;;;20697:30:139;;20694:50;;;20740:1;20737;20730:12;20694:50;20763:49;20804:7;20795:6;20784:9;20780:22;20763:49;:::i;21506:145::-;21585:13;;21607:38;21585:13;21607:38;:::i;21656:258::-;21726:6;21779:2;21767:9;21758:7;21754:23;21750:32;21747:52;;;21795:1;21792;21785:12;21747:52;21827:9;21821:16;21846:38;21878:5;21846:38;:::i;22804:127::-;22865:10;22860:3;22856:20;22853:1;22846:31;22896:4;22893:1;22886:15;22920:4;22917:1;22910:15;22936:1042;23378:4;23407:3;23437:2;23426:9;23419:21;23463:56;23515:2;23504:9;23500:18;23492:6;23463:56;:::i;:::-;23550:2;23535:18;;;23528:34;;;;-1:-1:-1;;;;;23636:15:139;;;23631:2;23616:18;;23609:43;23688:22;;;23683:2;23668:18;;23661:50;-1:-1:-1;23720:17:139;;23806:15;;;23800:3;23785:19;;23778:44;-1:-1:-1;;23859:15:139;;;23589:3;23838:19;;23831:44;23906:3;23891:19;;23884:35;;;;23956:15;;;23950:3;23935:19;;;23928:44;;;;23754:15;;22936:1042;-1:-1:-1;22936:1042:139:o;24828:127::-;24889:10;24884:3;24880:20;24877:1;24870:31;24920:4;24917:1;24910:15;24944:4;24941:1;24934:15;24960:217;25000:1;25026;25016:132;;25070:10;25065:3;25061:20;25058:1;25051:31;25105:4;25102:1;25095:15;25133:4;25130:1;25123:15;25016:132;-1:-1:-1;25162:9:139;;24960:217::o;25182:274::-;-1:-1:-1;;;;;25374:32:139;;;;25356:51;;25438:2;25423:18;;25416:34;25344:2;25329:18;;25182:274::o;25769:164::-;25845:13;;25894;;25887:21;25877:32;;25867:60;;25923:1;25920;25913:12;25938:202;26005:6;26058:2;26046:9;26037:7;26033:23;26029:32;26026:52;;;26074:1;26071;26064:12;26026:52;26097:37;26124:9;26097:37;:::i;26145:315::-;-1:-1:-1;;;;;26320:32:139;;26302:51;;26389:2;26384;26369:18;;26362:30;;;-1:-1:-1;;26409:45:139;;26435:18;;26427:6;26409:45;:::i;26465:380::-;26544:1;26540:12;;;;26587;;;26608:61;;26662:4;26654:6;26650:17;26640:27;;26608:61;26715:2;26707:6;26704:14;26684:18;26681:38;26678:161;;26761:10;26756:3;26752:20;26749:1;26742:31;26796:4;26793:1;26786:15;26824:4;26821:1;26814:15;27401:252;27488:5;27482:12;27477:3;27470:25;27452:3;27541:4;27534:5;27530:16;27524:23;27579:4;27572;27567:3;27563:14;27556:28;27600:47;27641:4;27636:3;27632:14;27618:12;27600:47;:::i;27658:1709::-;27857:2;27846:9;27839:21;27869:53;27918:2;27907:9;27903:18;27894:6;27888:13;27869:53;:::i;:::-;27820:4;27969:2;27961:6;27957:15;27951:22;27982:52;28030:2;28019:9;28015:18;28001:12;27982:52;:::i;:::-;;28088:2;28080:6;28076:15;28070:22;28065:2;28054:9;28050:18;28043:50;28148:2;28140:6;28136:15;28130:22;28124:3;28113:9;28109:19;28102:51;28208:3;28200:6;28196:16;28190:23;28184:3;28173:9;28169:19;28162:52;28263:3;28255:6;28251:16;28245:23;28277:55;28327:3;28316:9;28312:19;28296:14;28277:55;:::i;:::-;;28381:3;28373:6;28369:16;28363:23;28395:55;28445:3;28434:9;28430:19;28414:14;28395:55;:::i;:::-;;28499:3;28491:6;28487:16;28481:23;28523:6;28548:3;28587:2;28582;28571:9;28567:18;28560:30;28613:63;28671:3;28660:9;28656:19;28640:14;28613:63;:::i;:::-;28713:15;;;28707:22;28599:77;;-1:-1:-1;28748:3:139;28760:54;28795:18;;;28707:22;28760:54;:::i;:::-;28863:2;28855:6;28851:15;28845:22;28823:44;;;28890:2;28886:7;28912:3;28979:2;28967:9;28959:6;28955:22;28951:31;28946:2;28935:9;28931:18;28924:59;29006:41;29040:6;29024:14;29006:41;:::i;:::-;28992:55;;29096:2;29088:6;29084:15;29078:22;29056:44;;;29119:3;29131:51;29178:2;29167:9;29163:18;29147:14;13527:13;13520:21;13508:34;;13457:91;29131:51;29219:15;;29213:22;29275;;;29271:31;;;29251:18;;;29244:59;29213:22;-1:-1:-1;29320:41:139;29279:6;29213:22;29320:41;:::i;:::-;29312:49;27658:1709;-1:-1:-1;;;;;;27658:1709:139:o;29372:168::-;29445:9;;;29476;;29493:15;;;29487:22;;29473:37;29463:71;;29514:18;;:::i;29671:1278::-;29766:5;29760:12;29755:3;29748:25;29730:3;29792:4;29836:2;29829:5;29825:14;29858:4;29892;29887:2;29882:3;29878:12;29871:26;29917:1;29950:12;29944:19;29986:3;30016:9;30012:2;30008:18;29998:28;;30076:2;30065:9;30061:18;30098;30088:61;;30142:4;30134:6;30130:17;30120:27;;30088:61;30195:2;30187:6;30184:14;30164:18;30161:38;30158:165;;-1:-1:-1;;;30222:33:139;;30278:4;30275:1;30268:15;30308:4;30229:3;30296:17;30158:165;30401:4;30392:14;;3878:19;;;3921:14;;;30431:18;30458:132;;;;30604:1;30599:325;;;;30424:500;;30458:132;-1:-1:-1;;30493:24:139;;30479:39;;30563:14;;30556:22;30553:1;30549:30;30538:42;;;-1:-1:-1;30458:132:139;;30599:325;29618:1;29611:14;;;29655:4;29642:18;;30700:1;30714:167;30728:6;30725:1;30722:13;30714:167;;;30808:14;;30793:13;;;30786:37;30851:16;;;;30743:10;;30714:167;;;30901:13;;;-1:-1:-1;;30424:500:139;-1:-1:-1;30940:3:139;;29671:1278;-1:-1:-1;;;;;;;;;;29671:1278:139:o;30954:555::-;-1:-1:-1;;;;;31280:32:139;;31262:51;;31221:4;31250:3;31322:62;31380:2;31365:18;;31357:6;31322:62;:::i;:::-;31421:2;31415:3;31404:9;31400:19;31393:31;31441:62;31499:2;31488:9;31484:18;31476:6;31441:62;:::i;31514:319::-;31593:6;31601;31654:2;31642:9;31633:7;31629:23;31625:32;31622:52;;;31670:1;31667;31660:12;31622:52;31699:9;31693:16;31683:26;;31752:2;31741:9;31737:18;31731:25;31765:38;31797:5;31765:38;:::i;32117:125::-;32182:9;;;32203:10;;;32200:36;;;32216:18;;:::i;32500:706::-;32695:2;32684:9;32677:21;32740:6;32734:13;32729:2;32718:9;32714:18;32707:41;32658:4;32795:2;32787:6;32783:15;32777:22;32835:1;32831;32826:3;32822:11;32818:19;32891:2;32877:12;32873:21;32868:2;32857:9;32853:18;32846:49;32949:2;32941:6;32937:15;32931:22;32926:2;32915:9;32911:18;32904:50;33019:2;33013;33005:6;33001:15;32995:22;32991:31;32985:3;32974:9;32970:19;32963:60;;;33072:3;33064:6;33060:16;33054:23;33115:4;33108;33097:9;33093:20;33086:34;33137:63;33195:3;33184:9;33180:19;33164:14;33137:63;:::i;33211:667::-;33347:6;33355;33363;33371;33379;33387;33440:3;33428:9;33419:7;33415:23;33411:33;33408:53;;;33457:1;33454;33447:12;33408:53;33489:9;33483:16;33508:38;33540:5;33508:38;:::i;:::-;33615:2;33600:18;;33594:25;33565:5;;-1:-1:-1;33628:40:139;33594:25;33628:40;:::i;:::-;33734:2;33719:18;;33713:25;33778:2;33763:18;;33757:25;33822:3;33807:19;;33801:26;33867:3;33852:19;;;33846:26;33211:667;;33687:7;;-1:-1:-1;33713:25:139;;33757;;33801:26;;-1:-1:-1;33846:26:139;-1:-1:-1;33211:667:139;-1:-1:-1;;;33211:667:139:o;34345:864::-;34769:6;34758:9;34751:25;34812:3;34807:2;34796:9;34792:18;34785:31;34732:4;34839:50;34884:3;34873:9;34869:19;34254:2;34242:15;;-1:-1:-1;;;34282:4:139;34273:14;;34266:40;34331:2;34322:12;;34177:163;34839:50;34937:9;34929:6;34925:22;34920:2;34909:9;34905:18;34898:50;34971:42;35006:6;34998;34971:42;:::i;:::-;-1:-1:-1;;;;;35049:32:139;;35044:2;35029:18;;35022:60;35119:22;;;35113:3;35098:19;;35091:51;34957:56;-1:-1:-1;35159:44:139;34957:56;35188:6;35159:44;:::i;:::-;35151:52;34345:864;-1:-1:-1;;;;;;;34345:864:139:o;35214:184::-;35284:6;35337:2;35325:9;35316:7;35312:23;35308:32;35305:52;;;35353:1;35350;35343:12;35305:52;-1:-1:-1;35376:16:139;;35214:184;-1:-1:-1;35214:184:139:o;35709:535::-;36021:25;;;36082:2;36077;36062:18;;36055:30;;;-1:-1:-1;36101:18:139;;;36094:29;;;36159:3;36154:2;36139:18;;36132:31;;;36179:19;;36172:30;36234:3;36219:19;;35709:535::o;36438:202::-;-1:-1:-1;;;;;;36600:33:139;;;;36582:52;;36570:2;36555:18;;36438:202::o;36645:353::-;36855:25;;;36911:2;36896:18;;36889:34;;;;-1:-1:-1;;;;;36959:32:139;36954:2;36939:18;;36932:60;36843:2;36828:18;;36645:353::o;37361:320::-;37436:5;37465:52;37481:35;37509:6;37481:35;:::i;37465:52::-;37456:61;;37540:6;37533:5;37526:21;37580:3;37571:6;37566:3;37562:16;37559:25;37556:45;;;37597:1;37594;37587:12;37556:45;37610:65;37668:6;37661:4;37654:5;37650:16;37645:3;37610:65;:::i;37686:961::-;37850:6;37858;37866;37874;37882;37890;37943:3;37931:9;37922:7;37918:23;37914:33;37911:53;;;37960:1;37957;37950:12;37911:53;37992:9;37986:16;38011:38;38043:5;38011:38;:::i;:::-;38117:2;38102:18;;38096:25;38068:5;;-1:-1:-1;;;;;;38133:30:139;;38130:50;;;38176:1;38173;38166:12;38130:50;38199:22;;38252:4;38244:13;;38240:27;-1:-1:-1;38230:55:139;;38281:1;38278;38271:12;38230:55;38304:77;38373:7;38368:2;38362:9;38357:2;38353;38349:11;38304:77;:::i;:::-;38294:87;;;38421:2;38410:9;38406:18;38400:25;38390:35;;38465:2;38454:9;38450:18;38444:25;38434:35;;38509:3;38498:9;38494:19;38488:26;38478:36;;38559:3;38548:9;38544:19;38538:26;38595:1;38586:7;38583:14;38573:42;;38611:1;38608;38601:12;38573:42;38634:7;38624:17;;;37686:961;;;;;;;;:::o;38652:128::-;38719:9;;;38740:11;;;38737:37;;;38754:18;;:::i;39476:218::-;39623:2;39612:9;39605:21;39586:4;39643:45;39684:2;39673:9;39669:18;39661:6;39643:45;:::i;40266:140::-;40347:1;40340:5;40337:12;40327:46;;40353:18;;:::i;40411:1112::-;-1:-1:-1;;;;;40941:15:139;;;40923:34;;40988:2;40973:18;;40966:34;;;40873:3;41031:2;41016:18;;41009:30;;;40844:4;;41062:45;41088:18;;;41080:6;41062:45;:::i;:::-;41048:59;;41116:53;41165:2;41154:9;41150:18;41142:6;41116:53;:::i;:::-;41206:6;41200:3;41189:9;41185:19;41178:35;41250:6;41244:3;41233:9;41229:19;41222:35;41294:6;41288:3;41277:9;41273:19;41266:35;41350:2;41342:6;41338:15;41332:3;41321:9;41317:19;41310:44;41403:2;41395:6;41391:15;41385:3;41374:9;41370:19;41363:44;;41456:9;41448:6;41444:22;41438:3;41427:9;41423:19;41416:51;41484:33;41510:6;41502;41484:33;:::i;:::-;41476:41;40411:1112;-1:-1:-1;;;;;;;;;;;;;40411:1112:139:o;42412:386::-;-1:-1:-1;;;;;42615:32:139;;42597:51;;42684:2;42679;42664:18;;42657:30;;;-1:-1:-1;;42704:45:139;;42730:18;;42722:6;42704:45;:::i;:::-;42696:53;;42785:6;42780:2;42769:9;42765:18;42758:34;42412:386;;;;;;:::o;43241:984::-;43663:6;43652:9;43645:25;43626:4;43706:1;43702;43697:3;43693:11;43689:19;43756:2;43748:6;43744:15;43739:2;43728:9;43724:18;43717:43;43796:3;43791:2;43780:9;43776:18;43769:31;43823:46;43864:3;43853:9;43849:19;43841:6;43823:46;:::i;:::-;43917:2;43909:6;43905:15;43900:2;43889:9;43885:18;43878:43;43958:6;43952:3;43941:9;43937:19;43930:35;44014:9;44006:6;44002:22;43996:3;43985:9;43981:19;43974:51;44048:50;44091:6;44083;44048:50;:::i;:::-;44034:64;;;44147:9;44139:6;44135:22;44129:3;44118:9;44114:19;44107:51;44175:44;44212:6;44204;44175:44;:::i;:::-;44167:52;43241:984;-1:-1:-1;;;;;;;;;;43241:984:139:o;44230:279::-;44318:6;44371:2;44359:9;44350:7;44346:23;44342:32;44339:52;;;44387:1;44384;44377:12;44339:52;44419:9;44413:16;44438:41;44473:5;44438:41;:::i;44514:127::-;44575:10;44570:3;44566:20;44563:1;44556:31;44606:4;44603:1;44596:15;44630:4;44627:1;44620:15;45004:135;45043:3;45064:17;;;45061:43;;45084:18;;:::i;:::-;-1:-1:-1;45131:1:139;45120:13;;45004:135::o;45487:342::-;45569:6;45577;45585;45638:2;45626:9;45617:7;45613:23;45609:32;45606:52;;;45654:1;45651;45644:12;45606:52;45683:9;45677:16;45667:26;;45712:46;45754:2;45743:9;45739:18;45712:46;:::i;:::-;45702:56;;45777:46;45819:2;45808:9;45804:18;45777:46;:::i;:::-;45767:56;;45487:342;;;;;:::o;46703:236::-;46757:5;46810:3;46803:4;46795:6;46791:17;46787:27;46777:55;;46828:1;46825;46818:12;46777:55;46850:83;46929:3;46920:6;46914:13;46907:4;46899:6;46895:17;46850:83;:::i;46944:618::-;47010:5;47058:4;47046:9;47041:3;47037:19;47033:30;47030:50;;;47076:1;47073;47066:12;47030:50;47109:4;47103:11;;;47141:17;;-1:-1:-1;;;;;47210:18:139;;;47230:22;;;47207:46;47204:72;;;47256:18;;:::i;:::-;47298:10;47292:4;47285:24;47327:6;47318:15;;47363:9;47357:16;47349:6;47342:32;47418:2;47407:9;47403:18;47397:25;47383:39;;47445:2;47437:6;47434:14;47431:34;;;47461:1;47458;47451:12;47431:34;;47498:57;47551:3;47542:6;47531:9;47527:22;47498:57;:::i;:::-;47493:2;47485:6;47481:15;47474:82;;;46944:618;;;;:::o;47567:1059::-;47662:6;47715:2;47703:9;47694:7;47690:23;47686:32;47683:52;;;47731:1;47728;47721:12;47683:52;47758:16;;-1:-1:-1;;;;;47823:14:139;;;47820:34;;;47850:1;47847;47840:12;47820:34;47873:22;;;;47929:4;47911:16;;;47907:27;47904:47;;;47947:1;47944;47937:12;47904:47;47973:22;;:::i;:::-;48024:2;48018:9;48011:5;48004:24;48074:2;48070;48066:11;48060:18;48055:2;48048:5;48044:14;48037:42;48118:2;48114;48110:11;48104:18;48147:2;48137:8;48134:16;48131:36;;;48163:1;48160;48153:12;48131:36;48199:56;48247:7;48236:8;48232:2;48228:17;48199:56;:::i;:::-;48194:2;48187:5;48183:14;48176:80;;48295:2;48291;48287:11;48281:18;48324:2;48314:8;48311:16;48308:36;;;48340:1;48337;48330:12;48308:36;48376:65;48433:7;48422:8;48418:2;48414:17;48376:65;:::i;:::-;48371:2;48364:5;48360:14;48353:89;;48475:43;48513:3;48509:2;48505:12;48475:43;:::i;:::-;48469:3;48462:5;48458:15;48451:68;48552:43;48590:3;48586:2;48582:12;48552:43;:::i;:::-;48546:3;48535:15;;48528:68;48539:5;47567:1059;-1:-1:-1;;;;;47567:1059:139:o;48631:873::-;49055:6;49044:9;49037:25;49098:3;49093:2;49082:9;49078:18;49071:31;49139:1;49133:3;49122:9;49118:19;49111:30;-1:-1:-1;;;49172:3:139;49161:9;49157:19;49150:40;49226:3;49221:2;49210:9;49206:18;49199:31;49018:4;49253:55;49303:3;49292:9;49288:19;49280:6;49253:55;:::i;:::-;-1:-1:-1;;;;;49344:32:139;;49339:2;49324:18;;49317:60;49414:22;;;49408:3;49393:19;;49386:51;49454:44;49418:6;49483;49454:44;:::i;49509:873::-;49933:6;49922:9;49915:25;49976:3;49971:2;49960:9;49956:18;49949:31;50017:1;50011:3;50000:9;49996:19;49989:30;-1:-1:-1;;;50050:3:139;50039:9;50035:19;50028:40;50104:3;50099:2;50088:9;50084:18;50077:31;49896:4;50131:55;50181:3;50170:9;50166:19;50158:6;50131:55;:::i;51221:395::-;51307:6;51315;51323;51376:2;51364:9;51355:7;51351:23;51347:32;51344:52;;;51392:1;51389;51382:12;51344:52;51424:9;51418:16;51474:4;51467:5;51463:16;51456:5;51453:27;51443:55;;51494:1;51491;51484:12;51443:55;51562:2;51547:18;;51541:25;51606:2;51591:18;;;51585:25;51517:5;;51541:25;;-1:-1:-1;51585:25:139;51221:395;-1:-1:-1;;;51221:395:139:o;51964:301::-;52149:6;52142:14;52135:22;52124:9;52117:41;52194:2;52189;52178:9;52174:18;52167:30;52098:4;52214:45;52255:2;52244:9;52240:18;52232:6;52214:45;:::i;52627:289::-;52758:3;52796:6;52790:13;52812:66;52871:6;52866:3;52859:4;52851:6;52847:17;52812:66;:::i;:::-;52894:16;;;;;52627:289;-1:-1:-1;;52627:289:139:o;53243:1022::-;-1:-1:-1;;;;;53755:15:139;;;53737:34;;53802:2;53787:18;;53780:34;;;53687:3;53845:2;53830:18;;53823:30;;;53658:4;;53870:45;53896:18;;;53888:6;53870:45;:::i;:::-;53862:53;;53924;53973:2;53962:9;53958:18;53950:6;53924:53;:::i;:::-;54008:3;53993:19;;53986:35;;;;-1:-1:-1;54052:3:139;54037:19;;54030:35;;;;54096:3;54081:19;;54074:35;;;;54146:15;;;54140:3;54125:19;;54118:44;54199:15;;;54193:3;54178:19;;54171:44;54246:3;54231:19;54224:35;;;;53243:1022;;-1:-1:-1;;;;53243:1022:139:o","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","IS_TEST()":"fa7626d4","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","POOL_AMOUNT()":"beda3db3","SAFE_FACTORY()":"d23727ed","SAFE_NONCE()":"1d8fcc10","SAFE_SINGLETON()":"caa12add","STAKE_WITH_FEES()":"fe24a3cb","__createContract(bytes)":"f69d511f","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafe()":"dac770b3","_councilSafeWithOwner(address)":"1ae726d9","_councilSafeWithOwner(address,address)":"08c24f9f","_createSafe()":"49ef42c1","_createSafeProxyFactory()":"bb0504cd","_nonce()":"5d1222aa","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","createProposal()":"180fd87f","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,address,bytes)":"023a6f43","safeHelper(address,uint256,address,bytes,uint256)":"c1f2a641","safeHelper(address,uint256,bytes)":"6db52510","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testArbitrationCost()":"c73b09e7","testCannotCreateDisputeWithInsufficientFee()":"8292636f","testCannotExecuteRulingFromNonSafe()":"94d181e3","testCannotExecuteRulingTwice()":"ec9ec248","testCannotRuleInvalidRuling()":"6f6dfab1","testCreateDispute()":"985a0b94","testCurrentRuling()":"f8cbf34f","testExecuteRuling()":"758311e4","testSetArbitrationFee()":"a41cfc99","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"POOL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_NONCE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_SINGLETON\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_WITH_FEES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"name\":\"__createContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"_safeProxyFactory\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafeProxyFactory\",\"outputs\":[{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testArbitrationCost\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotCreateDisputeWithInsufficientFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotExecuteRulingFromNonSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotExecuteRulingTwice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotRuleInvalidRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCreateDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCurrentRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetArbitrationFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract GV2ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/SafeArbitratorTest.t.sol\":\"SafeArbitratorTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/CollateralVault.sol\":{\"keccak256\":\"0x2f1d86b6ccfcb72ccbc9b85c9b3a5723e23a0c06c31e581fe2f4d70c4cfdae99\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0534a8e50623170fbead6eedf933d0d0f5deb059b5de54c66dda3583e1c9826a\",\"dweb:/ipfs/QmeJXfZeuiwfbu1BtG2sCUFTJkUnSvChmT8ALYh2UCpANk\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d\",\"dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":{\"keccak256\":\"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3\",\"dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT\"]},\"pkg/contracts/test/SafeArbitratorTest.t.sol\":{\"keccak256\":\"0x8129dfcd4b6f25f4e542171ebc47ac029384a3eddbda690003116f5e8e183a15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1292e03ea94b993cb150db8c6c947d1f9596176fb1626f6e9a50882f516fc25\",\"dweb:/ipfs/QmYJQfJfpUfrFwud2ngtkaug1wqrH1BUBfS876nw2JFYYb\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b\",\"dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"POOL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_NONCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_SINGLETON","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKE_WITH_FEES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"bytecode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"__createContract","outputs":[{"internalType":"address","name":"_contract","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract SafeProxyFactory","name":"_safeProxyFactory","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafeProxyFactory","outputs":[{"internalType":"contract SafeProxyFactory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"createProposal","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"},{"internalType":"uint256","name":"value_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"testArbitrationCost"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotCreateDisputeWithInsufficientFee"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotExecuteRulingFromNonSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotExecuteRulingTwice"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotRuleInvalidRuling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCreateDispute"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCurrentRuling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testExecuteRuling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testSetArbitrationFee"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract GV2ERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/SafeArbitratorTest.t.sol":"SafeArbitratorTest"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CollateralVault.sol":{"keccak256":"0x2f1d86b6ccfcb72ccbc9b85c9b3a5723e23a0c06c31e581fe2f4d70c4cfdae99","urls":["bzz-raw://0534a8e50623170fbead6eedf933d0d0f5deb059b5de54c66dda3583e1c9826a","dweb:/ipfs/QmeJXfZeuiwfbu1BtG2sCUFTJkUnSvChmT8ALYh2UCpANk"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07","urls":["bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d","dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d"],"license":"MIT"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpersV0_0.sol":{"keccak256":"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e","urls":["bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3","dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/SafeArbitratorTest.t.sol":{"keccak256":"0x8129dfcd4b6f25f4e542171ebc47ac029384a3eddbda690003116f5e8e183a15","urls":["bzz-raw://a1292e03ea94b993cb150db8c6c947d1f9596176fb1626f6e9a50882f516fc25","dweb:/ipfs/QmYJQfJfpUfrFwud2ngtkaug1wqrH1BUBfS876nw2JFYYb"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8","urls":["bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b","dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":12264,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":17876,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5146,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5179,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5181,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5183,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5185,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5187,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5189,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"},{"astId":5082,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_allo_","offset":0,"slot":"37","type":"t_contract(Allo)1390"},{"astId":82715,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"metadata","offset":0,"slot":"38","type":"t_struct(Metadata)3098_storage"},{"astId":82727,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_poolProfileId1_","offset":0,"slot":"40","type":"t_bytes32"},{"astId":100620,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilSafe","offset":0,"slot":"41","type":"t_contract(ISafe)79793"},{"astId":100623,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilSafeOwner","offset":0,"slot":"42","type":"t_contract(ISafe)79793"},{"astId":100625,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilMember1","offset":0,"slot":"43","type":"t_address"},{"astId":100628,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilMemberPK","offset":0,"slot":"44","type":"t_uint256"},{"astId":100631,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_nonce","offset":0,"slot":"45","type":"t_uint256"},{"astId":100633,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_safeSingleton","offset":0,"slot":"46","type":"t_address"},{"astId":99441,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"safeArbitrator","offset":0,"slot":"47","type":"t_contract(SafeArbitrator)79485"},{"astId":99444,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"cvStrategy","offset":0,"slot":"48","type":"t_contract(CVStrategyV0_0)75423"},{"astId":99446,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"poolId","offset":0,"slot":"49","type":"t_uint256"},{"astId":99449,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"registryCommunity","offset":0,"slot":"50","type":"t_contract(RegistryCommunityV0_0)78368"},{"astId":99452,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"token","offset":0,"slot":"51","type":"t_contract(GV2ERC20)70717"},{"astId":99458,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"factoryOwner","offset":0,"slot":"52","type":"t_address"},{"astId":99464,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"challenger","offset":0,"slot":"53","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Allo)1390":{"encoding":"inplace","label":"contract Allo","numberOfBytes":"20"},"t_contract(CVStrategyV0_0)75423":{"encoding":"inplace","label":"contract CVStrategyV0_0","numberOfBytes":"20"},"t_contract(GV2ERC20)70717":{"encoding":"inplace","label":"contract GV2ERC20","numberOfBytes":"20"},"t_contract(ISafe)79793":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_contract(RegistryCommunityV0_0)78368":{"encoding":"inplace","label":"contract RegistryCommunityV0_0","numberOfBytes":"20"},"t_contract(SafeArbitrator)79485":{"encoding":"inplace","label":"contract SafeArbitrator","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/SafeArbitratorTest.t.sol","id":100523,"exportedSymbols":{"Address":[57421],"AlloSetup":[5129],"CVStrategyHelpersV0_0":[83221],"CVStrategyV0_0":[75423],"CollateralVault":[75671],"ERC1967Proxy":[55102],"ERC1967Upgrade":[55406],"GV2ERC20":[70717],"IArbitrable":[79563],"IBeacon":[55468],"IERC1822Proxiable":[55065],"IERC1967":[55055],"IERC20":[56609],"Native":[3106],"Proxy":[55458],"RegistryCommunityV0_0":[78368],"RegistryFactoryV0_0":[79079],"RegistrySetupFull":[5338],"SafeArbitrator":[79485],"SafeArbitratorTest":[100522],"SafeSetup":[101234],"StdAssertions":[8545],"StdChains":[9327],"StdCheats":[12180],"StdInvariant":[12505],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"StorageSlot":[57561],"StrategyStruct":[71871],"Test":[17877],"TestBase":[5876],"Vm":[21527],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdError":[12246],"stdJson":[13097],"stdMath":[13239],"stdStorage":[15236],"stdToml":[17039]},"nodeType":"SourceUnit","src":"32:10295:135","nodes":[{"id":99400,"nodeType":"PragmaDirective","src":"32:24:135","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":99401,"nodeType":"ImportDirective","src":"58:28:135","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":17878,"symbolAliases":[],"unitAlias":""},{"id":99403,"nodeType":"ImportDirective","src":"87:57:135","nodes":[],"absolutePath":"pkg/contracts/src/SafeArbitrator.sol","file":"../src/SafeArbitrator.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":79486,"symbolAliases":[{"foreign":{"id":99402,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79485,"src":"95:14:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99406,"nodeType":"ImportDirective","src":"145:84:135","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../src/CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":75424,"symbolAliases":[{"foreign":{"id":99404,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75423,"src":"153:14:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":99405,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71871,"src":"169:14:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99408,"nodeType":"ImportDirective","src":"230:89:135","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../src/RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":78369,"symbolAliases":[{"foreign":{"id":99407,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78368,"src":"238:21:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99410,"nodeType":"ImportDirective","src":"320:83:135","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","file":"../src/RegistryFactory/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":79080,"symbolAliases":[{"foreign":{"id":99409,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79079,"src":"328:19:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99412,"nodeType":"ImportDirective","src":"404:59:135","nodes":[],"absolutePath":"pkg/contracts/src/CollateralVault.sol","file":"../src/CollateralVault.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":75672,"symbolAliases":[{"foreign":{"id":99411,"name":"CollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75671,"src":"412:15:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99414,"nodeType":"ImportDirective","src":"464:80:135","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":5339,"symbolAliases":[{"foreign":{"id":99413,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5338,"src":"472:17:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99416,"nodeType":"ImportDirective","src":"545:68:135","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":5130,"symbolAliases":[{"foreign":{"id":99415,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5129,"src":"553:9:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99418,"nodeType":"ImportDirective","src":"614:49:135","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":101235,"symbolAliases":[{"foreign":{"id":99417,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101234,"src":"622:9:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99420,"nodeType":"ImportDirective","src":"664:62:135","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../src/interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":79564,"symbolAliases":[{"foreign":{"id":99419,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79563,"src":"672:11:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99422,"nodeType":"ImportDirective","src":"727:48:135","nodes":[],"absolutePath":"pkg/contracts/script/GV2ERC20.sol","file":"../script/GV2ERC20.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":70718,"symbolAliases":[{"foreign":{"id":99421,"name":"GV2ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70717,"src":"735:8:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99424,"nodeType":"ImportDirective","src":"776:66:135","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpersV0_0.sol","file":"./CVStrategyHelpersV0_0.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":83222,"symbolAliases":[{"foreign":{"id":99423,"name":"CVStrategyHelpersV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"784:21:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99426,"nodeType":"ImportDirective","src":"843:67:135","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":99425,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"851:6:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":99427,"nodeType":"ImportDirective","src":"912:64:135","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":55103,"symbolAliases":[],"unitAlias":""},{"id":99428,"nodeType":"ImportDirective","src":"977:56:135","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":100523,"sourceUnit":56610,"symbolAliases":[],"unitAlias":""},{"id":100522,"nodeType":"ContractDefinition","src":"1035:9291:135","nodes":[{"id":99441,"nodeType":"VariableDeclaration","src":"1141:29:135","nodes":[],"constant":false,"mutability":"mutable","name":"safeArbitrator","nameLocation":"1156:14:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"},"typeName":{"id":99440,"nodeType":"UserDefinedTypeName","pathNode":{"id":99439,"name":"SafeArbitrator","nameLocations":["1141:14:135"],"nodeType":"IdentifierPath","referencedDeclaration":79485,"src":"1141:14:135"},"referencedDeclaration":79485,"src":"1141:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"visibility":"internal"},{"id":99444,"nodeType":"VariableDeclaration","src":"1176:25:135","nodes":[],"constant":false,"mutability":"mutable","name":"cvStrategy","nameLocation":"1191:10:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"},"typeName":{"id":99443,"nodeType":"UserDefinedTypeName","pathNode":{"id":99442,"name":"CVStrategyV0_0","nameLocations":["1176:14:135"],"nodeType":"IdentifierPath","referencedDeclaration":75423,"src":"1176:14:135"},"referencedDeclaration":75423,"src":"1176:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"visibility":"internal"},{"id":99446,"nodeType":"VariableDeclaration","src":"1207:14:135","nodes":[],"constant":false,"mutability":"mutable","name":"poolId","nameLocation":"1215:6:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99445,"name":"uint256","nodeType":"ElementaryTypeName","src":"1207:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":99449,"nodeType":"VariableDeclaration","src":"1227:48:135","nodes":[],"constant":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"1258:17:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":99448,"nodeType":"UserDefinedTypeName","pathNode":{"id":99447,"name":"RegistryCommunityV0_0","nameLocations":["1227:21:135"],"nodeType":"IdentifierPath","referencedDeclaration":78368,"src":"1227:21:135"},"referencedDeclaration":78368,"src":"1227:21:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"},{"id":99452,"nodeType":"VariableDeclaration","src":"1281:21:135","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1297:5:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"},"typeName":{"id":99451,"nodeType":"UserDefinedTypeName","pathNode":{"id":99450,"name":"GV2ERC20","nameLocations":["1281:8:135"],"nodeType":"IdentifierPath","referencedDeclaration":70717,"src":"1281:8:135"},"referencedDeclaration":70717,"src":"1281:8:135","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}},"visibility":"public"},{"id":99458,"nodeType":"VariableDeclaration","src":"1350:33:135","nodes":[],"constant":false,"mutability":"mutable","name":"factoryOwner","nameLocation":"1358:12:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99453,"name":"address","nodeType":"ElementaryTypeName","src":"1350:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"31","id":99456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1381:1:135","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"}],"id":99455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1373:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99454,"name":"address","nodeType":"ElementaryTypeName","src":"1373:7:135","typeDescriptions":{}}},"id":99457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":99464,"nodeType":"VariableDeclaration","src":"1466:31:135","nodes":[],"constant":false,"mutability":"mutable","name":"challenger","nameLocation":"1474:10:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99459,"name":"address","nodeType":"ElementaryTypeName","src":"1466:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"33","id":99462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1495:1:135","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":99461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1487:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99460,"name":"address","nodeType":"ElementaryTypeName","src":"1487:7:135","typeDescriptions":{}}},"id":99463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1487:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":99467,"nodeType":"VariableDeclaration","src":"1504:49:135","nodes":[],"constant":true,"functionSelector":"beda3db3","mutability":"constant","name":"POOL_AMOUNT","nameLocation":"1528:11:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99465,"name":"uint256","nodeType":"ElementaryTypeName","src":"1504:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":99466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1542:11:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_15000000000000000000000_by_1","typeString":"int_const 15000000000000000000000"},"value":"15000"},"visibility":"public"},{"id":99470,"nodeType":"VariableDeclaration","src":"1559:42:135","nodes":[],"constant":true,"mutability":"constant","name":"TOTAL_SUPPLY","nameLocation":"1576:12:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99468,"name":"uint256","nodeType":"ElementaryTypeName","src":"1559:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":99469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1591:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000"},"visibility":"internal"},{"id":99473,"nodeType":"VariableDeclaration","src":"1607:40:135","nodes":[],"constant":true,"mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1624:13:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99471,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":99472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1640:7:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"visibility":"internal"},{"id":99476,"nodeType":"VariableDeclaration","src":"1653:45:135","nodes":[],"constant":true,"mutability":"constant","name":"COMMUNITY_FEE_PERCENTAGE","nameLocation":"1670:24:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99474,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":99475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1697:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"id":99479,"nodeType":"VariableDeclaration","src":"1704:44:135","nodes":[],"constant":true,"mutability":"constant","name":"PROTOCOL_FEE_PERCENTAGE","nameLocation":"1721:23:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99477,"name":"uint256","nodeType":"ElementaryTypeName","src":"1704:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":99478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1747:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"id":99482,"nodeType":"VariableDeclaration","src":"1754:42:135","nodes":[],"constant":true,"mutability":"constant","name":"ARBITRATION_FEE","nameLocation":"1771:15:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99480,"name":"uint256","nodeType":"ElementaryTypeName","src":"1754:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":99481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1789:7:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"},"visibility":"internal"},{"id":99495,"nodeType":"VariableDeclaration","src":"1802:142:135","nodes":[],"constant":true,"functionSelector":"fe24a3cb","mutability":"constant","name":"STAKE_WITH_FEES","nameLocation":"1826:15:135","scope":100522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99483,"name":"uint256","nodeType":"ElementaryTypeName","src":"1802:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":99484,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99473,"src":"1852:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":99485,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99473,"src":"1869:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":99486,"name":"COMMUNITY_FEE_PERCENTAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99476,"src":"1886:24:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":99487,"name":"PROTOCOL_FEE_PERCENTAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99479,"src":"1913:23:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1886:50:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":99489,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1885:52:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1869:68:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":99491,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1868:70:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":99492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1941:3:135","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"1868:76:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1852:92:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":99906,"nodeType":"FunctionDefinition","src":"1951:3563:135","nodes":[],"body":{"id":99905,"nodeType":"Block","src":"1975:3539:135","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":99498,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5289,"src":"2092:19:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":99499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2092:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99500,"nodeType":"ExpressionStatement","src":"2092:21:135"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99504,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5173,"src":"2143:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":99505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2143:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":99503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2135:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99502,"name":"address","nodeType":"ElementaryTypeName","src":"2135:7:135","typeDescriptions":{}}},"id":99506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99501,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5119,"src":"2123:11:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":99507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2123:32:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99508,"nodeType":"ExpressionStatement","src":"2123:32:135"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99512,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4727,"src":"2180:10:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":99513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2180:12:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":99509,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2166:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2169:10:135","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21308,"src":"2166:13:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":99514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2166:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99515,"nodeType":"ExpressionStatement","src":"2166:27:135"},{"expression":{"arguments":[{"hexValue":"30","id":99519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2224:1:135","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":{"arguments":[],"expression":{"argumentTypes":[],"id":99516,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5128,"src":"2203:4:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":99517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2203:6:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":99518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2210:13:135","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"2203:20:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":99520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2203:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99521,"nodeType":"ExpressionStatement","src":"2203:23:135"},{"expression":{"arguments":[{"hexValue":"30","id":99525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2260:1:135","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":{"arguments":[],"expression":{"argumentTypes":[],"id":99522,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5128,"src":"2236:4:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":99523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2236:6:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":99524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2243:16:135","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2236:23:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":99526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2236:26:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99527,"nodeType":"ExpressionStatement","src":"2236:26:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99528,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2272:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2275:9:135","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"2272:12:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":99531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2272:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99532,"nodeType":"ExpressionStatement","src":"2272:14:135"},{"expression":{"id":99541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99533,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99452,"src":"2297:5:135","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"4d6f636b20546f6b656e","id":99537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2318:12:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb96b779e2a421c78f42d9b3999c8bc0c7726c66c63accdd9ba94f2ff1357844","typeString":"literal_string \"Mock Token\""},"value":"Mock Token"},{"hexValue":"4d544b","id":99538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2332:5:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_793539e36336d70961c91bdb898dff4b065dbb5ef5ac709025f5b68be91dd01e","typeString":"literal_string \"MTK\""},"value":"MTK"},{"hexValue":"3138","id":99539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2339:2:135","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb96b779e2a421c78f42d9b3999c8bc0c7726c66c63accdd9ba94f2ff1357844","typeString":"literal_string \"Mock Token\""},{"typeIdentifier":"t_stringliteral_793539e36336d70961c91bdb898dff4b065dbb5ef5ac709025f5b68be91dd01e","typeString":"literal_string \"MTK\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":99536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2305:12:135","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_GV2ERC20_$70717_$","typeString":"function (string memory,string memory,uint8) returns (contract GV2ERC20)"},"typeName":{"id":99535,"nodeType":"UserDefinedTypeName","pathNode":{"id":99534,"name":"GV2ERC20","nameLocations":["2309:8:135"],"nodeType":"IdentifierPath","referencedDeclaration":70717,"src":"2309:8:135"},"referencedDeclaration":70717,"src":"2309:8:135","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}}},"id":99540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2305:37:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}},"src":"2297:45:135","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}},"id":99542,"nodeType":"ExpressionStatement","src":"2297:45:135"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99546,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4707,"src":"2363:5:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":99547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2363:7:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":99548,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99470,"src":"2372:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":99549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2387:1:135","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2372:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99543,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99452,"src":"2352:5:135","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}},"id":99545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:4:135","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":70571,"src":"2352:10:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":99551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2352:37:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99552,"nodeType":"ExpressionStatement","src":"2352:37:135"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99556,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"2410:10:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":99557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2410:12:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":99558,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99470,"src":"2424:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":99559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2439:1:135","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2424:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99553,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99452,"src":"2399:5:135","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}},"id":99555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2405:4:135","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":70571,"src":"2399:10:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":99561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2399:42:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99562,"nodeType":"ExpressionStatement","src":"2399:42:135"},{"expression":{"arguments":[{"arguments":[{"hexValue":"36","id":99568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2500:1:135","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":99567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2492:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99566,"name":"address","nodeType":"ElementaryTypeName","src":"2492:7:135","typeDescriptions":{}}},"id":99569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2492:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":99570,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99470,"src":"2504:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":99571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2519:1:135","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2504:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99563,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99452,"src":"2481:5:135","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}},"id":99565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2487:4:135","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":70571,"src":"2481:10:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":99573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2481:40:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99574,"nodeType":"ExpressionStatement","src":"2481:40:135"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99580,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5128,"src":"2553:4:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":99581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2553:6:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":99579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2545:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99578,"name":"address","nodeType":"ElementaryTypeName","src":"2545:7:135","typeDescriptions":{}}},"id":99582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2545:15:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31353030","id":99583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2562:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1500000000000000000000_by_1","typeString":"int_const 1500000000000000000000"},"value":"1500"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1500000000000000000000_by_1","typeString":"int_const 1500000000000000000000"}],"expression":{"id":99575,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99452,"src":"2531:5:135","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}},"id":99577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2537:7:135","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":4268,"src":"2531:13:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":99584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2531:42:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99585,"nodeType":"ExpressionStatement","src":"2531:42:135"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99589,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4727,"src":"2598:10:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":99590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2598:12:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":99586,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2584:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2587:10:135","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21308,"src":"2584:13:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":99591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2584:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99592,"nodeType":"ExpressionStatement","src":"2584:27:135"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99596,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4707,"src":"2646:5:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":99597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2646:7:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":99593,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5128,"src":"2621:4:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":99594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2621:6:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":99595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2628:17:135","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":4061,"src":"2621:24:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":99598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2621:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99599,"nodeType":"ExpressionStatement","src":"2621:33:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99600,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2664:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2667:9:135","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"2664:12:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":99603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2664:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99604,"nodeType":"ExpressionStatement","src":"2664:14:135"},{"expression":{"arguments":[{"id":99608,"name":"factoryOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99458,"src":"2703:12:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":99605,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"2689:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2692:10:135","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21308,"src":"2689:13:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":99609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2689:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99610,"nodeType":"ExpressionStatement","src":"2689:27:135"},{"expression":{"id":99638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99611,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"2727:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2876:18:135","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_SafeArbitrator_$79485_$","typeString":"function () returns (contract SafeArbitrator)"},"typeName":{"id":99623,"nodeType":"UserDefinedTypeName","pathNode":{"id":99622,"name":"SafeArbitrator","nameLocations":["2880:14:135"],"nodeType":"IdentifierPath","referencedDeclaration":79485,"src":"2880:14:135"},"referencedDeclaration":79485,"src":"2880:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}}},"id":99625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2876:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}],"id":99621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2868:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99620,"name":"address","nodeType":"ElementaryTypeName","src":"2868:7:135","typeDescriptions":{}}},"id":99626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":99629,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79485,"src":"2946:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$79485_$","typeString":"type(contract SafeArbitrator)"}},"id":99630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2961:10:135","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":79209,"src":"2946:25:135","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_uint256_$returns$__$","typeString":"function SafeArbitrator.initialize(uint256)"}},"id":99631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2972:8:135","memberName":"selector","nodeType":"MemberAccess","src":"2946:34:135","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":99632,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"2982:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99627,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2923:3:135","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":99628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2927:18:135","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2923:22:135","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":99633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2923:75:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":99619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2826:16:135","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55102_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":99618,"nodeType":"UserDefinedTypeName","pathNode":{"id":99617,"name":"ERC1967Proxy","nameLocations":["2830:12:135"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"2830:12:135"},"referencedDeclaration":55102,"src":"2830:12:135","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}},"id":99634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2826:194:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}],"id":99616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2797:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99615,"name":"address","nodeType":"ElementaryTypeName","src":"2797:7:135","typeDescriptions":{}}},"id":99635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2797:241:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2772:8:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":99613,"name":"address","nodeType":"ElementaryTypeName","src":"2772:8:135","stateMutability":"payable","typeDescriptions":{}}},"id":99636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2772:280:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":99612,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79485,"src":"2744:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$79485_$","typeString":"type(contract SafeArbitrator)"}},"id":99637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2744:318:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"src":"2727:335:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":99639,"nodeType":"ExpressionStatement","src":"2727:335:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99640,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"3150:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3153:9:135","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"3150:12:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":99643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3150:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99644,"nodeType":"ExpressionStatement","src":"3150:14:135"},{"assignments":[99649],"declarations":[{"constant":false,"id":99649,"mutability":"mutable","name":"params","nameLocation":"3221:6:135","nodeType":"VariableDeclaration","scope":99905,"src":"3175:52:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":99648,"nodeType":"UserDefinedTypeName","pathNode":{"id":99647,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["3175:21:135","3197:16:135"],"nodeType":"IdentifierPath","referencedDeclaration":76610,"src":"3175:38:135"},"referencedDeclaration":76610,"src":"3175:38:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"id":99650,"nodeType":"VariableDeclarationStatement","src":"3175:52:135"},{"expression":{"id":99659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":99651,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99649,"src":"3237:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":99653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3244:5:135","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":76585,"src":"3237:12:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99656,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5128,"src":"3260:4:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":99657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3260:6:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":99655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3252:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99654,"name":"address","nodeType":"ElementaryTypeName","src":"3252:7:135","typeDescriptions":{}}},"id":99658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3252:15:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3237:30:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":99660,"nodeType":"ExpressionStatement","src":"3237:30:135"},{"expression":{"id":99670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":99661,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99649,"src":"3277:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":99663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3284:12:135","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":76588,"src":"3277:19:135","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":99667,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99452,"src":"3314:5:135","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GV2ERC20_$70717","typeString":"contract GV2ERC20"}],"id":99666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3306:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99665,"name":"address","nodeType":"ElementaryTypeName","src":"3306:7:135","typeDescriptions":{}}},"id":99668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3306:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99664,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56609,"src":"3299:6:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$56609_$","typeString":"type(contract IERC20)"}},"id":99669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3299:22:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"src":"3277:44:135","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":99671,"nodeType":"ExpressionStatement","src":"3277:44:135"},{"expression":{"id":99676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":99672,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99649,"src":"3331:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":99674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3338:20:135","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":76590,"src":"3331:27:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99675,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99473,"src":"3361:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3331:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99677,"nodeType":"ExpressionStatement","src":"3331:43:135"},{"expression":{"id":99682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":99678,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99649,"src":"3384:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":99680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3391:13:135","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":76592,"src":"3384:20:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99681,"name":"COMMUNITY_FEE_PERCENTAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99476,"src":"3407:24:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3384:47:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99683,"nodeType":"ExpressionStatement","src":"3384:47:135"},{"expression":{"id":99691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":99684,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99649,"src":"3442:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":99686,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3449:12:135","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":76598,"src":"3442:19:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99689,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3472:4:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitratorTest_$100522","typeString":"contract SafeArbitratorTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitratorTest_$100522","typeString":"contract SafeArbitratorTest"}],"id":99688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3464:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99687,"name":"address","nodeType":"ElementaryTypeName","src":"3464:7:135","typeDescriptions":{}}},"id":99690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3464:13:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3442:35:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":99692,"nodeType":"ExpressionStatement","src":"3442:35:135"},{"expression":{"id":99697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":99693,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99649,"src":"3488:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":99695,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3495:9:135","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":76601,"src":"3488:16:135","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99696,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82715,"src":"3507:8:135","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"3488:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":99698,"nodeType":"ExpressionStatement","src":"3488:27:135"},{"expression":{"id":99710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":99699,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99649,"src":"3525:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":99701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3532:12:135","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":76603,"src":"3525:19:135","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99706,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101053,"src":"3563:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$79793_$","typeString":"function () returns (contract ISafe)"}},"id":99707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3563:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}],"id":99705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3555:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99704,"name":"address","nodeType":"ElementaryTypeName","src":"3555:7:135","typeDescriptions":{}}},"id":99708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3555:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3547:8:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":99702,"name":"address","nodeType":"ElementaryTypeName","src":"3547:8:135","stateMutability":"payable","typeDescriptions":{}}},"id":99709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3547:32:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"3525:54:135","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":99711,"nodeType":"ExpressionStatement","src":"3525:54:135"},{"expression":{"id":99769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99712,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99449,"src":"3590:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":99766,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99649,"src":"4276:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$76610_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}],"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3761:23:135","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactoryV0_0_$79079_$","typeString":"function () returns (contract RegistryFactoryV0_0)"},"typeName":{"id":99723,"nodeType":"UserDefinedTypeName","pathNode":{"id":99722,"name":"RegistryFactoryV0_0","nameLocations":["3765:19:135"],"nodeType":"IdentifierPath","referencedDeclaration":79079,"src":"3765:19:135"},"referencedDeclaration":79079,"src":"3765:19:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}}},"id":99725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3761:25:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}],"id":99721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3753:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99720,"name":"address","nodeType":"ElementaryTypeName","src":"3753:7:135","typeDescriptions":{}}},"id":99726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3753:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":99729,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79079,"src":"3865:19:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactoryV0_0_$79079_$","typeString":"type(contract RegistryFactoryV0_0)"}},"id":99730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3885:10:135","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":78882,"src":"3865:30:135","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryFactoryV0_0.initialize(address,address,address,address,address)"}},"id":99731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3896:8:135","memberName":"selector","nodeType":"MemberAccess","src":"3865:39:135","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":99734,"name":"factoryOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99458,"src":"3942:12:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3934:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99732,"name":"address","nodeType":"ElementaryTypeName","src":"3934:7:135","typeDescriptions":{}}},"id":99735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3934:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"32","id":99738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3993:1:135","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":99737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3985:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99736,"name":"address","nodeType":"ElementaryTypeName","src":"3985:7:135","typeDescriptions":{}}},"id":99739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3985:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4033:25:135","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryCommunityV0_0_$78368_$","typeString":"function () returns (contract RegistryCommunityV0_0)"},"typeName":{"id":99743,"nodeType":"UserDefinedTypeName","pathNode":{"id":99742,"name":"RegistryCommunityV0_0","nameLocations":["4037:21:135"],"nodeType":"IdentifierPath","referencedDeclaration":78368,"src":"4037:21:135"},"referencedDeclaration":78368,"src":"4037:21:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}}},"id":99745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4033:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}],"id":99741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4025:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99740,"name":"address","nodeType":"ElementaryTypeName","src":"4025:7:135","typeDescriptions":{}}},"id":99746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4025:36:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4099:18:135","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CVStrategyV0_0_$75423_$","typeString":"function () returns (contract CVStrategyV0_0)"},"typeName":{"id":99750,"nodeType":"UserDefinedTypeName","pathNode":{"id":99749,"name":"CVStrategyV0_0","nameLocations":["4103:14:135"],"nodeType":"IdentifierPath","referencedDeclaration":75423,"src":"4103:14:135"},"referencedDeclaration":75423,"src":"4103:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}},"id":99752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4099:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}],"id":99748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4091:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99747,"name":"address","nodeType":"ElementaryTypeName","src":"4091:7:135","typeDescriptions":{}}},"id":99753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4091:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4158:19:135","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CollateralVault_$75671_$","typeString":"function () returns (contract CollateralVault)"},"typeName":{"id":99757,"nodeType":"UserDefinedTypeName","pathNode":{"id":99756,"name":"CollateralVault","nameLocations":["4162:15:135"],"nodeType":"IdentifierPath","referencedDeclaration":75671,"src":"4162:15:135"},"referencedDeclaration":75671,"src":"4162:15:135","typeDescriptions":{"typeIdentifier":"t_contract$_CollateralVault_$75671","typeString":"contract CollateralVault"}}},"id":99759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4158:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CollateralVault_$75671","typeString":"contract CollateralVault"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CollateralVault_$75671","typeString":"contract CollateralVault"}],"id":99755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4150:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99754,"name":"address","nodeType":"ElementaryTypeName","src":"4150:7:135","typeDescriptions":{}}},"id":99760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:30:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":99727,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3813:3:135","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":99728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3817:18:135","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3813:22:135","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":99761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3813:393:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":99719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3711:16:135","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55102_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":99718,"nodeType":"UserDefinedTypeName","pathNode":{"id":99717,"name":"ERC1967Proxy","nameLocations":["3715:12:135"],"nodeType":"IdentifierPath","referencedDeclaration":55102,"src":"3715:12:135"},"referencedDeclaration":55102,"src":"3715:12:135","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}},"id":99762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3711:517:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55102","typeString":"contract ERC1967Proxy"}],"id":99716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3682:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99715,"name":"address","nodeType":"ElementaryTypeName","src":"3682:7:135","typeDescriptions":{}}},"id":99763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3682:564:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99714,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79079,"src":"3645:19:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactoryV0_0_$79079_$","typeString":"type(contract RegistryFactoryV0_0)"}},"id":99764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3645:615:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}},"id":99765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4261:14:135","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":78965,"src":"3645:630:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$76610_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryCommunityV0_0.InitializeParams memory) external returns (address)"}},"id":99767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3645:638:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99713,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78368,"src":"3610:21:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78368_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":99768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3610:683:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"src":"3590:703:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"id":99770,"nodeType":"ExpressionStatement","src":"3590:703:135"},{"assignments":[99772],"declarations":[{"constant":false,"id":99772,"mutability":"mutable","name":"_poolId","nameLocation":"4312:7:135","nodeType":"VariableDeclaration","scope":99905,"src":"4304:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99771,"name":"uint256","nodeType":"ElementaryTypeName","src":"4304:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99773,"nodeType":"VariableDeclarationStatement","src":"4304:15:135"},{"assignments":[99775],"declarations":[{"constant":false,"id":99775,"mutability":"mutable","name":"_strategy","nameLocation":"4337:9:135","nodeType":"VariableDeclaration","scope":99905,"src":"4329:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99774,"name":"address","nodeType":"ElementaryTypeName","src":"4329:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":99776,"nodeType":"VariableDeclarationStatement","src":"4329:17:135"},{"expression":{"id":99819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":99777,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99772,"src":"4358:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":99778,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99775,"src":"4367:9:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":99779,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4357:20:135","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99782,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4422:6:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":99786,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99449,"src":"4477:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}],"id":99785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4469:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99784,"name":"address","nodeType":"ElementaryTypeName","src":"4469:7:135","typeDescriptions":{}}},"id":99787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4469:26:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":99788,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71871,"src":"4513:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$71871_$","typeString":"type(library StrategyStruct)"}},"id":99789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4528:12:135","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":71753,"src":"4513:27:135","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$71753_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":99790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4541:7:135","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":71751,"src":"4513:35:135","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$71753","typeString":"enum StrategyStruct.ProposalType"}},{"expression":{"expression":{"id":99791,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71871,"src":"4566:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$71871_$","typeString":"type(library StrategyStruct)"}},"id":99792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4581:11:135","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":71758,"src":"4566:26:135","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$71758_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":99793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4593:9:135","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":71756,"src":"4566:36:135","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$71758","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":99796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4653:3:135","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":99797,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82720,"src":"4659:8:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4653:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99794,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71871,"src":"4620:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$71871_$","typeString":"type(library StrategyStruct)"}},"id":99795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4635:17:135","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":71827,"src":"4620:32:135","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$71827_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":99799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4620:48:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$71827_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"arguments":[{"id":99802,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"4739:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99807,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101053,"src":"4771:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$79793_$","typeString":"function () returns (contract ISafe)"}},"id":99808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4771:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}],"id":99806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4763:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99805,"name":"address","nodeType":"ElementaryTypeName","src":"4763:7:135","typeDescriptions":{}}},"id":99809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4763:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4755:8:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":99803,"name":"address","nodeType":"ElementaryTypeName","src":"4755:8:135","stateMutability":"payable","typeDescriptions":{}}},"id":99810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4755:32:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"302e3032","id":99811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4789:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_20000000000000000_by_1","typeString":"int_const 20000000000000000"},"value":"0.02"},{"hexValue":"302e3031","id":99812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4801:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},{"hexValue":"31","id":99813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4813:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"333030","id":99814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4816:3:135","typeDescriptions":{"typeIdentifier":"t_rational_300_by_1","typeString":"int_const 300"},"value":"300"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_20000000000000000_by_1","typeString":"int_const 20000000000000000"},{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_300_by_1","typeString":"int_const 300"}],"expression":{"id":99800,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71871,"src":"4686:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$71871_$","typeString":"type(library StrategyStruct)"}},"id":99801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4701:16:135","memberName":"ArbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":71841,"src":"4686:31:135","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArbitrableConfig_$71841_storage_ptr_$","typeString":"type(struct StrategyStruct.ArbitrableConfig storage pointer)"}},"id":99815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4686:151:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$71841_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$71753","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$71758","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$71827_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$71841_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":99783,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82883,"src":"4442:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$71753_$_t_enum$_PointSystem_$71758_$_t_struct$_PointSystemConfig_$71827_memory_ptr_$_t_struct$_ArbitrableConfig_$71841_memory_ptr_$returns$_t_struct$_InitializeParams_$71870_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) pure returns (struct StrategyStruct.InitializeParams memory)"}},"id":99816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4442:409:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$71870_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":99817,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82715,"src":"4865:8:135","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$71870_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}],"expression":{"id":99780,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99449,"src":"4380:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"id":99781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4398:10:135","memberName":"createPool","nodeType":"MemberAccess","referencedDeclaration":77203,"src":"4380:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_InitializeParams_$71870_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) external returns (uint256,address)"}},"id":99818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4380:503:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"src":"4357:526:135","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99820,"nodeType":"ExpressionStatement","src":"4357:526:135"},{"expression":{"id":99823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99821,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99446,"src":"4894:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99822,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99772,"src":"4903:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4894:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99824,"nodeType":"ExpressionStatement","src":"4894:16:135"},{"expression":{"id":99832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99825,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"4920:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":99829,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99775,"src":"4956:9:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4948:8:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":99827,"name":"address","nodeType":"ElementaryTypeName","src":"4948:8:135","stateMutability":"payable","typeDescriptions":{}}},"id":99830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4948:18:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":99826,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75423,"src":"4933:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$75423_$","typeString":"type(contract CVStrategyV0_0)"}},"id":99831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4933:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"src":"4920:47:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":99833,"nodeType":"ExpressionStatement","src":"4920:47:135"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99837,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"4991:10:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":99838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4991:12:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":99834,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"4977:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4980:10:135","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21308,"src":"4977:13:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":99839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4977:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99840,"nodeType":"ExpressionStatement","src":"4977:27:135"},{"expression":{"arguments":[{"arguments":[{"id":99844,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99449,"src":"5046:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}],"id":99843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5038:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99842,"name":"address","nodeType":"ElementaryTypeName","src":"5038:7:135","typeDescriptions":{}}},"id":99845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5038:26:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":99846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5078:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":99849,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99449,"src":"5116:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"id":99850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5134:11:135","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":77824,"src":"5116:29:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":99851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5146:8:135","memberName":"selector","nodeType":"MemberAccess","src":"5116:38:135","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":99854,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"5164:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}],"id":99853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5156:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99852,"name":"address","nodeType":"ElementaryTypeName","src":"5156:7:135","typeDescriptions":{}}},"id":99855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5156:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":99847,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5093:3:135","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":99848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5097:18:135","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"5093:22:135","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":99856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5093:83:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":99841,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[101156,101177,101233],"referencedDeclaration":101156,"src":"5014:10:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":99857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5014:172:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99858,"nodeType":"ExpressionStatement","src":"5014:172:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99859,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5196:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5199:9:135","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"5196:12:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":99862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5196:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99863,"nodeType":"ExpressionStatement","src":"5196:14:135"},{"expression":{"arguments":[{"arguments":[{"id":99871,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99449,"src":"5269:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}],"id":99870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5261:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99869,"name":"address","nodeType":"ElementaryTypeName","src":"5261:7:135","typeDescriptions":{}}},"id":99872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5261:26:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99873,"name":"STAKE_WITH_FEES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99495,"src":"5289:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99864,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99449,"src":"5221:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"id":99866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5239:11:135","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":76677,"src":"5221:29:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56609_$","typeString":"function () view external returns (contract IERC20)"}},"id":99867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5221:31:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56609","typeString":"contract IERC20"}},"id":99868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5253:7:135","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56596,"src":"5221:39:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":99874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5221:84:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99875,"nodeType":"ExpressionStatement","src":"5221:84:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99876,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99449,"src":"5315:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"id":99878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5333:22:135","memberName":"stakeAndRegisterMember","nodeType":"MemberAccess","referencedDeclaration":78104,"src":"5315:40:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":99879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5315:42:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99880,"nodeType":"ExpressionStatement","src":"5315:42:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99881,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"5367:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":99883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5378:14:135","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":72753,"src":"5367:25:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":99884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5367:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99885,"nodeType":"ExpressionStatement","src":"5367:27:135"},{"expression":{"arguments":[{"arguments":[{"id":99891,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5421:4:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitratorTest_$100522","typeString":"contract SafeArbitratorTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitratorTest_$100522","typeString":"contract SafeArbitratorTest"}],"id":99890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5413:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99889,"name":"address","nodeType":"ElementaryTypeName","src":"5413:7:135","typeDescriptions":{}}},"id":99892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5413:13:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99893,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99467,"src":"5428:11:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99886,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5405:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5408:4:135","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":21047,"src":"5405:7:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":99894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5405:35:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99895,"nodeType":"ExpressionStatement","src":"5405:35:135"},{"expression":{"arguments":[{"id":99901,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99772,"src":"5486:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":99902,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99467,"src":"5495:11:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":99896,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5128,"src":"5450:4:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":99897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5450:6:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":99898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5457:8:135","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"5450:15:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":99900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":99899,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99467,"src":"5473:11:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"5450:35:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$value","typeString":"function (uint256,uint256) payable external"}},"id":99903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5450:57:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99904,"nodeType":"ExpressionStatement","src":"5450:57:135"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1960:5:135","parameters":{"id":99496,"nodeType":"ParameterList","parameters":[],"src":"1965:2:135"},"returnParameters":{"id":99497,"nodeType":"ParameterList","parameters":[],"src":"1975:0:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":99981,"nodeType":"FunctionDefinition","src":"5520:634:135","nodes":[],"body":{"id":99980,"nodeType":"Block","src":"5582:572:135","nodes":[],"statements":[{"assignments":[99912],"declarations":[{"constant":false,"id":99912,"mutability":"mutable","name":"requestAmount","nameLocation":"5600:13:135","nodeType":"VariableDeclaration","scope":99980,"src":"5592:21:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99911,"name":"uint256","nodeType":"ElementaryTypeName","src":"5592:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99914,"initialValue":{"hexValue":"31","id":99913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5616:7:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"5592:31:135"},{"assignments":[99919],"declarations":[{"constant":false,"id":99919,"mutability":"mutable","name":"proposal","nameLocation":"5670:8:135","nodeType":"VariableDeclaration","scope":99980,"src":"5633:45:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$71770_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":99918,"nodeType":"UserDefinedTypeName","pathNode":{"id":99917,"name":"StrategyStruct.CreateProposal","nameLocations":["5633:14:135","5648:14:135"],"nodeType":"IdentifierPath","referencedDeclaration":71770,"src":"5633:29:135"},"referencedDeclaration":71770,"src":"5633:29:135","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$71770_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":99932,"initialValue":{"arguments":[{"id":99922,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99446,"src":"5723:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":99923,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"5731:10:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":99924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5731:12:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99925,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99912,"src":"5745:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":99928,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5768:6:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5760:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":99926,"name":"address","nodeType":"ElementaryTypeName","src":"5760:7:135","typeDescriptions":{}}},"id":99929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5760:15:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99930,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82715,"src":"5777:8:135","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}],"expression":{"id":99920,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71871,"src":"5693:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$71871_$","typeString":"type(library StrategyStruct)"}},"id":99921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5708:14:135","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":71770,"src":"5693:29:135","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$71770_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}},"id":99931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5693:93:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$71770_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"5633:153:135"},{"assignments":[99934],"declarations":[{"constant":false,"id":99934,"mutability":"mutable","name":"data","nameLocation":"5809:4:135","nodeType":"VariableDeclaration","scope":99980,"src":"5796:17:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":99933,"name":"bytes","nodeType":"ElementaryTypeName","src":"5796:5:135","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":99939,"initialValue":{"arguments":[{"id":99937,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99919,"src":"5827:8:135","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$71770_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$71770_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}],"expression":{"id":99935,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5816:3:135","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":99936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5820:6:135","memberName":"encode","nodeType":"MemberAccess","src":"5816:10:135","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":99938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5816:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5796:40:135"},{"assignments":[null,null,99941,null,null,null],"declarations":[null,null,{"constant":false,"id":99941,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"5859:25:135","nodeType":"VariableDeclaration","scope":99980,"src":"5851:33:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99940,"name":"uint256","nodeType":"ElementaryTypeName","src":"5851:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null],"id":99945,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99942,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"5891:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":99943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5902:19:135","memberName":"getArbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":73820,"src":"5891:30:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IArbitrator_$79667_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function () view external returns (contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":99944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5891:32:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$79667_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5847:76:135"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99949,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"5941:10:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":99950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5941:12:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99951,"name":"submitterCollateralAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99941,"src":"5955:25:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99946,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5933:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5936:4:135","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":21047,"src":"5933:7:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":99952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5933:48:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99953,"nodeType":"ExpressionStatement","src":"5933:48:135"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":99957,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4795,"src":"6006:10:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":99958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6006:12:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":99954,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"5992:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5995:10:135","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21308,"src":"5992:13:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":99959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5992:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99960,"nodeType":"ExpressionStatement","src":"5992:27:135"},{"expression":{"id":99973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99961,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99909,"src":"6029:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":99969,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99446,"src":"6109:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":99970,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99934,"src":"6117:4:135","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":99964,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5128,"src":"6050:4:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":99965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6050:6:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":99966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6057:17:135","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"6050:24:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":99968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":99967,"name":"submitterCollateralAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99941,"src":"6082:25:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"6050:58:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$value","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":99971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6050:72:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":99963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6042:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":99962,"name":"uint160","nodeType":"ElementaryTypeName","src":"6042:7:135","typeDescriptions":{}}},"id":99972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6042:81:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"6029:94:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99974,"nodeType":"ExpressionStatement","src":"6029:94:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99975,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"6133:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6136:9:135","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"6133:12:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":99978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6133:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99979,"nodeType":"ExpressionStatement","src":"6133:14:135"}]},"functionSelector":"180fd87f","implemented":true,"kind":"function","modifiers":[],"name":"createProposal","nameLocation":"5529:14:135","parameters":{"id":99907,"nodeType":"ParameterList","parameters":[],"src":"5543:2:135"},"returnParameters":{"id":99910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99909,"mutability":"mutable","name":"proposalId","nameLocation":"5570:10:135","nodeType":"VariableDeclaration","scope":99981,"src":"5562:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99908,"name":"uint256","nodeType":"ElementaryTypeName","src":"5562:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5561:20:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":100014,"nodeType":"FunctionDefinition","src":"6160:257:135","nodes":[],"body":{"id":100013,"nodeType":"Block","src":"6200:217:135","nodes":[],"statements":[{"expression":{"arguments":[{"id":99987,"name":"factoryOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99458,"src":"6224:12:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":99984,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"6210:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":99986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6213:10:135","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21308,"src":"6210:13:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":99988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6210:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99989,"nodeType":"ExpressionStatement","src":"6210:27:135"},{"assignments":[99991],"declarations":[{"constant":false,"id":99991,"mutability":"mutable","name":"newFee","nameLocation":"6255:6:135","nodeType":"VariableDeclaration","scope":100013,"src":"6247:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99990,"name":"uint256","nodeType":"ElementaryTypeName","src":"6247:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99993,"initialValue":{"hexValue":"302e3032","id":99992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6264:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_20000000000000000_by_1","typeString":"int_const 20000000000000000"},"value":"0.02"},"nodeType":"VariableDeclarationStatement","src":"6247:27:135"},{"expression":{"arguments":[{"id":99997,"name":"newFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99991,"src":"6317:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99994,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"6284:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":99996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6299:17:135","memberName":"setArbitrationFee","nodeType":"MemberAccess","referencedDeclaration":79226,"src":"6284:32:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":99998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6284:40:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99999,"nodeType":"ExpressionStatement","src":"6284:40:135"},{"expression":{"arguments":[{"arguments":[{"hexValue":"","id":100003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6374:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":100001,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"6343:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6358:15:135","memberName":"arbitrationCost","nodeType":"MemberAccess","referencedDeclaration":79422,"src":"6343:30:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view external returns (uint256)"}},"id":100004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6343:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":100005,"name":"newFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99991,"src":"6379:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":100000,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"6334:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":100006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6334:52:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100007,"nodeType":"ExpressionStatement","src":"6334:52:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":100008,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"6396:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6399:9:135","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"6396:12:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":100011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6396:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100012,"nodeType":"ExpressionStatement","src":"6396:14:135"}]},"functionSelector":"a41cfc99","implemented":true,"kind":"function","modifiers":[],"name":"testSetArbitrationFee","nameLocation":"6169:21:135","parameters":{"id":99982,"nodeType":"ParameterList","parameters":[],"src":"6190:2:135"},"returnParameters":{"id":99983,"nodeType":"ParameterList","parameters":[],"src":"6200:0:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":100091,"nodeType":"FunctionDefinition","src":"6423:686:135","nodes":[],"body":{"id":100090,"nodeType":"Block","src":"6459:650:135","nodes":[],"statements":[{"assignments":[100018],"declarations":[{"constant":false,"id":100018,"mutability":"mutable","name":"proposalId","nameLocation":"6477:10:135","nodeType":"VariableDeclaration","scope":100090,"src":"6469:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100017,"name":"uint256","nodeType":"ElementaryTypeName","src":"6469:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100021,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":100019,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99981,"src":"6490:14:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":100020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6490:16:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6469:37:135"},{"expression":{"arguments":[{"id":100025,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"6524:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":100026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6536:8:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":100022,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"6516:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6519:4:135","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":21047,"src":"6516:7:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":100027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6516:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100028,"nodeType":"ExpressionStatement","src":"6516:29:135"},{"expression":{"arguments":[{"id":100032,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"6564:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100029,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"6555:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6558:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"6555:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6555:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100034,"nodeType":"ExpressionStatement","src":"6555:20:135"},{"assignments":[100036],"declarations":[{"constant":false,"id":100036,"mutability":"mutable","name":"disputeID","nameLocation":"6594:9:135","nodeType":"VariableDeclaration","scope":100090,"src":"6586:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100035,"name":"uint256","nodeType":"ElementaryTypeName","src":"6586:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100047,"initialValue":{"arguments":[{"id":100043,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100018,"src":"6670:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":100044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6682:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":100045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6686:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":100037,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"6606:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":100038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6617:15:135","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":75094,"src":"6606:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":100041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":100039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6640:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":100040,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"6653:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6640:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"6606:63:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6606:83:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6586:103:135"},{"assignments":[null,null,100049,100051,100053,100056],"declarations":[null,null,{"constant":false,"id":100049,"mutability":"mutable","name":"choices","nameLocation":"6775:7:135","nodeType":"VariableDeclaration","scope":100090,"src":"6767:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100048,"name":"uint256","nodeType":"ElementaryTypeName","src":"6767:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":100051,"mutability":"mutable","name":"arbitrationFee","nameLocation":"6792:14:135","nodeType":"VariableDeclaration","scope":100090,"src":"6784:22:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100050,"name":"uint256","nodeType":"ElementaryTypeName","src":"6784:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":100053,"mutability":"mutable","name":"ruling","nameLocation":"6816:6:135","nodeType":"VariableDeclaration","scope":100090,"src":"6808:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100052,"name":"uint256","nodeType":"ElementaryTypeName","src":"6808:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":100056,"mutability":"mutable","name":"status","nameLocation":"6853:6:135","nodeType":"VariableDeclaration","scope":100090,"src":"6824:35:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":100055,"nodeType":"UserDefinedTypeName","pathNode":{"id":100054,"name":"SafeArbitrator.DisputeStatus","nameLocations":["6824:14:135","6839:13:135"],"nodeType":"IdentifierPath","referencedDeclaration":79130,"src":"6824:28:135"},"referencedDeclaration":79130,"src":"6824:28:135","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"id":100061,"initialValue":{"arguments":[{"id":100059,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100036,"src":"6899:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":100057,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"6875:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6890:8:135","memberName":"disputes","nodeType":"MemberAccess","referencedDeclaration":79151,"src":"6875:23:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_contract$_IArbitrable_$79563_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$79130_$","typeString":"function (uint256) view external returns (contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"id":100060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6875:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrable_$79563_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$79130_$","typeString":"tuple(contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"nodeType":"VariableDeclarationStatement","src":"6763:146:135"},{"expression":{"arguments":[{"id":100063,"name":"choices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100049,"src":"6929:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"33","id":100064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6938:1:135","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":100062,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"6920:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":100065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6920:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100066,"nodeType":"ExpressionStatement","src":"6920:20:135"},{"expression":{"arguments":[{"id":100068,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100051,"src":"6959:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":100069,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"6975:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":100067,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"6950:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":100070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6950:41:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100071,"nodeType":"ExpressionStatement","src":"6950:41:135"},{"expression":{"arguments":[{"id":100073,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100053,"src":"7010:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":100074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7018:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":100072,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"7001:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":100075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7001:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100076,"nodeType":"ExpressionStatement","src":"7001:19:135"},{"expression":{"arguments":[{"arguments":[{"id":100080,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100056,"src":"7047:6:135","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":100079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7039:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":100078,"name":"uint256","nodeType":"ElementaryTypeName","src":"7039:7:135","typeDescriptions":{}}},"id":100081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7039:15:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":100084,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79485,"src":"7064:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$79485_$","typeString":"type(contract SafeArbitrator)"}},"id":100085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7079:13:135","memberName":"DisputeStatus","nodeType":"MemberAccess","referencedDeclaration":79130,"src":"7064:28:135","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$79130_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":100086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7093:7:135","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":79128,"src":"7064:36:135","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":100083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7056:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":100082,"name":"uint256","nodeType":"ElementaryTypeName","src":"7056:7:135","typeDescriptions":{}}},"id":100087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7056:45:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":100077,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"7030:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":100088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7030:72:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100089,"nodeType":"ExpressionStatement","src":"7030:72:135"}]},"functionSelector":"985a0b94","implemented":true,"kind":"function","modifiers":[],"name":"testCreateDispute","nameLocation":"6432:17:135","parameters":{"id":100015,"nodeType":"ParameterList","parameters":[],"src":"6449:2:135"},"returnParameters":{"id":100016,"nodeType":"ParameterList","parameters":[],"src":"6459:0:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":100175,"nodeType":"FunctionDefinition","src":"7115:606:135","nodes":[],"body":{"id":100174,"nodeType":"Block","src":"7151:570:135","nodes":[],"statements":[{"assignments":[100095],"declarations":[{"constant":false,"id":100095,"mutability":"mutable","name":"proposalId","nameLocation":"7169:10:135","nodeType":"VariableDeclaration","scope":100174,"src":"7161:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100094,"name":"uint256","nodeType":"ElementaryTypeName","src":"7161:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100098,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":100096,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99981,"src":"7182:14:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":100097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7182:16:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7161:37:135"},{"expression":{"arguments":[{"id":100102,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"7217:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":100103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7229:8:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":100099,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"7209:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7212:4:135","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":21047,"src":"7209:7:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":100104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7209:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100105,"nodeType":"ExpressionStatement","src":"7209:29:135"},{"expression":{"arguments":[{"id":100109,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"7257:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100106,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"7248:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7251:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"7248:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7248:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100111,"nodeType":"ExpressionStatement","src":"7248:20:135"},{"assignments":[100113],"declarations":[{"constant":false,"id":100113,"mutability":"mutable","name":"disputeID","nameLocation":"7286:9:135","nodeType":"VariableDeclaration","scope":100174,"src":"7278:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100112,"name":"uint256","nodeType":"ElementaryTypeName","src":"7278:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100124,"initialValue":{"arguments":[{"id":100120,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100095,"src":"7362:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":100121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7374:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":100122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7378:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":100114,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"7298:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":100115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7309:15:135","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":75094,"src":"7298:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":100118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":100116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7332:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":100117,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"7345:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7332:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"7298:63:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7298:83:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7278:103:135"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":100130,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101053,"src":"7409:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$79793_$","typeString":"function () returns (contract ISafe)"}},"id":100131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7409:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}],"id":100129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7401:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100128,"name":"address","nodeType":"ElementaryTypeName","src":"7401:7:135","typeDescriptions":{}}},"id":100132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7401:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100125,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"7392:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7395:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"7392:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7392:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100134,"nodeType":"ExpressionStatement","src":"7392:33:135"},{"expression":{"arguments":[{"id":100138,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100113,"src":"7464:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":100139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7475:1:135","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":100142,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"7486:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}],"id":100141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7478:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100140,"name":"address","nodeType":"ElementaryTypeName","src":"7478:7:135","typeDescriptions":{}}},"id":100143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7478:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100135,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"7435:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7450:13:135","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":79410,"src":"7435:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":100144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7435:63:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100145,"nodeType":"ExpressionStatement","src":"7435:63:135"},{"assignments":[null,null,null,null,100147,100150],"declarations":[null,null,null,null,{"constant":false,"id":100147,"mutability":"mutable","name":"ruling","nameLocation":"7523:6:135","nodeType":"VariableDeclaration","scope":100174,"src":"7515:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100146,"name":"uint256","nodeType":"ElementaryTypeName","src":"7515:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":100150,"mutability":"mutable","name":"status","nameLocation":"7560:6:135","nodeType":"VariableDeclaration","scope":100174,"src":"7531:35:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":100149,"nodeType":"UserDefinedTypeName","pathNode":{"id":100148,"name":"SafeArbitrator.DisputeStatus","nameLocations":["7531:14:135","7546:13:135"],"nodeType":"IdentifierPath","referencedDeclaration":79130,"src":"7531:28:135"},"referencedDeclaration":79130,"src":"7531:28:135","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"id":100155,"initialValue":{"arguments":[{"id":100153,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100113,"src":"7594:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":100151,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"7570:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7585:8:135","memberName":"disputes","nodeType":"MemberAccess","referencedDeclaration":79151,"src":"7570:23:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_contract$_IArbitrable_$79563_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$79130_$","typeString":"function (uint256) view external returns (contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"id":100154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7570:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrable_$79563_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$79130_$","typeString":"tuple(contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"nodeType":"VariableDeclarationStatement","src":"7509:95:135"},{"expression":{"arguments":[{"id":100157,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100147,"src":"7623:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":100158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7631:1:135","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":100156,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"7614:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":100159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7614:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100160,"nodeType":"ExpressionStatement","src":"7614:19:135"},{"expression":{"arguments":[{"arguments":[{"id":100164,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100150,"src":"7660:6:135","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":100163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7652:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":100162,"name":"uint256","nodeType":"ElementaryTypeName","src":"7652:7:135","typeDescriptions":{}}},"id":100165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7652:15:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":100168,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79485,"src":"7677:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$79485_$","typeString":"type(contract SafeArbitrator)"}},"id":100169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7692:13:135","memberName":"DisputeStatus","nodeType":"MemberAccess","referencedDeclaration":79130,"src":"7677:28:135","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$79130_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":100170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7706:6:135","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":79129,"src":"7677:35:135","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$79130","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":100167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7669:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":100166,"name":"uint256","nodeType":"ElementaryTypeName","src":"7669:7:135","typeDescriptions":{}}},"id":100171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7669:44:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":100161,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"7643:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":100172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7643:71:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100173,"nodeType":"ExpressionStatement","src":"7643:71:135"}]},"functionSelector":"758311e4","implemented":true,"kind":"function","modifiers":[],"name":"testExecuteRuling","nameLocation":"7124:17:135","parameters":{"id":100092,"nodeType":"ParameterList","parameters":[],"src":"7141:2:135"},"returnParameters":{"id":100093,"nodeType":"ParameterList","parameters":[],"src":"7151:0:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":100191,"nodeType":"FunctionDefinition","src":"7727:150:135","nodes":[],"body":{"id":100190,"nodeType":"Block","src":"7770:107:135","nodes":[],"statements":[{"assignments":[100179],"declarations":[{"constant":false,"id":100179,"mutability":"mutable","name":"cost","nameLocation":"7788:4:135","nodeType":"VariableDeclaration","scope":100190,"src":"7780:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100178,"name":"uint256","nodeType":"ElementaryTypeName","src":"7780:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100184,"initialValue":{"arguments":[{"hexValue":"","id":100182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7826:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":100180,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"7795:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7810:15:135","memberName":"arbitrationCost","nodeType":"MemberAccess","referencedDeclaration":79422,"src":"7795:30:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view external returns (uint256)"}},"id":100183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7795:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7780:49:135"},{"expression":{"arguments":[{"id":100186,"name":"cost","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100179,"src":"7848:4:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":100187,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"7854:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":100185,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"7839:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":100188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7839:31:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100189,"nodeType":"ExpressionStatement","src":"7839:31:135"}]},"functionSelector":"c73b09e7","implemented":true,"kind":"function","modifiers":[],"name":"testArbitrationCost","nameLocation":"7736:19:135","parameters":{"id":100176,"nodeType":"ParameterList","parameters":[],"src":"7755:2:135"},"returnParameters":{"id":100177,"nodeType":"ParameterList","parameters":[],"src":"7770:0:135"},"scope":100522,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":100227,"nodeType":"FunctionDefinition","src":"7883:285:135","nodes":[],"body":{"id":100226,"nodeType":"Block","src":"7944:224:135","nodes":[],"statements":[{"expression":{"arguments":[{"id":100197,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"7962:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":100198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7974:8:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":100194,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"7954:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7957:4:135","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":21047,"src":"7954:7:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":100199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7954:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100200,"nodeType":"ExpressionStatement","src":"7954:29:135"},{"expression":{"arguments":[{"id":100204,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"8002:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100201,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"7993:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7996:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"7993:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7993:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100206,"nodeType":"ExpressionStatement","src":"7993:20:135"},{"expression":{"arguments":[{"expression":{"expression":{"id":100210,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79485,"src":"8039:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$79485_$","typeString":"type(contract SafeArbitrator)"}},"id":100211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8054:24:135","memberName":"NotEnoughArbitrationFees","nodeType":"MemberAccess","referencedDeclaration":79163,"src":"8039:39:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":100212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8079:8:135","memberName":"selector","nodeType":"MemberAccess","src":"8039:48:135","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":100207,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"8023:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8026:12:135","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21494,"src":"8023:15:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":100213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8023:65:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100214,"nodeType":"ExpressionStatement","src":"8023:65:135"},{"expression":{"arguments":[{"hexValue":"33","id":100222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8155:1:135","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"hexValue":"","id":100223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8158:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":100215,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"8098:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8113:13:135","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":79299,"src":"8098:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":100221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":100220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":100218,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"8134:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":100219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8152:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8134:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8098:56:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":100224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8098:63:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":100225,"nodeType":"ExpressionStatement","src":"8098:63:135"}]},"functionSelector":"8292636f","implemented":true,"kind":"function","modifiers":[],"name":"testCannotCreateDisputeWithInsufficientFee","nameLocation":"7892:42:135","parameters":{"id":100192,"nodeType":"ParameterList","parameters":[],"src":"7934:2:135"},"returnParameters":{"id":100193,"nodeType":"ParameterList","parameters":[],"src":"7944:0:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":100292,"nodeType":"FunctionDefinition","src":"8174:502:135","nodes":[],"body":{"id":100291,"nodeType":"Block","src":"8227:449:135","nodes":[],"statements":[{"assignments":[100231],"declarations":[{"constant":false,"id":100231,"mutability":"mutable","name":"proposalId","nameLocation":"8245:10:135","nodeType":"VariableDeclaration","scope":100291,"src":"8237:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100230,"name":"uint256","nodeType":"ElementaryTypeName","src":"8237:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100234,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":100232,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99981,"src":"8258:14:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":100233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8258:16:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8237:37:135"},{"expression":{"arguments":[{"id":100238,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"8293:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":100239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8305:8:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":100235,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"8285:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8288:4:135","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":21047,"src":"8285:7:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":100240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8285:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100241,"nodeType":"ExpressionStatement","src":"8285:29:135"},{"expression":{"arguments":[{"id":100245,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"8333:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100242,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"8324:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8327:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"8324:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8324:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100247,"nodeType":"ExpressionStatement","src":"8324:20:135"},{"assignments":[100249],"declarations":[{"constant":false,"id":100249,"mutability":"mutable","name":"disputeID","nameLocation":"8362:9:135","nodeType":"VariableDeclaration","scope":100291,"src":"8354:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100248,"name":"uint256","nodeType":"ElementaryTypeName","src":"8354:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100260,"initialValue":{"arguments":[{"id":100256,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100231,"src":"8438:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":100257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8450:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":100258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8454:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":100250,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"8374:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":100251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8385:15:135","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":75094,"src":"8374:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":100254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":100252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8408:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":100253,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"8421:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8408:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8374:63:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8374:83:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8354:103:135"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":100266,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79485,"src":"8507:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$79485_$","typeString":"type(contract SafeArbitrator)"}},"id":100267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8522:8:135","memberName":"OnlySafe","nodeType":"MemberAccess","referencedDeclaration":79161,"src":"8507:23:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":100268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8531:8:135","memberName":"selector","nodeType":"MemberAccess","src":"8507:32:135","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":100269,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"8541:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":100270,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100620,"src":"8553:11:135","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}],"expression":{"id":100264,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8484:3:135","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":100265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8488:18:135","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8484:22:135","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":100271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8484:81:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":100261,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"8468:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8471:12:135","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21500,"src":"8468:15:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":100272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8468:98:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100273,"nodeType":"ExpressionStatement","src":"8468:98:135"},{"expression":{"arguments":[{"id":100277,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"8585:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100274,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"8576:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8579:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"8576:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8576:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100279,"nodeType":"ExpressionStatement","src":"8576:20:135"},{"expression":{"arguments":[{"id":100283,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100249,"src":"8635:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":100284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8646:1:135","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":100287,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"8657:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}],"id":100286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8649:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100285,"name":"address","nodeType":"ElementaryTypeName","src":"8649:7:135","typeDescriptions":{}}},"id":100288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8649:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100280,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"8606:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8621:13:135","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":79410,"src":"8606:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":100289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8606:63:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100290,"nodeType":"ExpressionStatement","src":"8606:63:135"}]},"functionSelector":"94d181e3","implemented":true,"kind":"function","modifiers":[],"name":"testCannotExecuteRulingFromNonSafe","nameLocation":"8183:34:135","parameters":{"id":100228,"nodeType":"ParameterList","parameters":[],"src":"8217:2:135"},"returnParameters":{"id":100229,"nodeType":"ParameterList","parameters":[],"src":"8227:0:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":100377,"nodeType":"FunctionDefinition","src":"8682:589:135","nodes":[],"body":{"id":100376,"nodeType":"Block","src":"8729:542:135","nodes":[],"statements":[{"assignments":[100296],"declarations":[{"constant":false,"id":100296,"mutability":"mutable","name":"proposalId","nameLocation":"8747:10:135","nodeType":"VariableDeclaration","scope":100376,"src":"8739:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100295,"name":"uint256","nodeType":"ElementaryTypeName","src":"8739:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100299,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":100297,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99981,"src":"8760:14:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":100298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8760:16:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8739:37:135"},{"expression":{"arguments":[{"id":100303,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"8795:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":100304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8807:8:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":100300,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"8787:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8790:4:135","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":21047,"src":"8787:7:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":100305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8787:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100306,"nodeType":"ExpressionStatement","src":"8787:29:135"},{"expression":{"arguments":[{"id":100310,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"8835:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100307,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"8826:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8829:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"8826:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8826:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100312,"nodeType":"ExpressionStatement","src":"8826:20:135"},{"assignments":[100314],"declarations":[{"constant":false,"id":100314,"mutability":"mutable","name":"disputeID","nameLocation":"8864:9:135","nodeType":"VariableDeclaration","scope":100376,"src":"8856:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100313,"name":"uint256","nodeType":"ElementaryTypeName","src":"8856:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100325,"initialValue":{"arguments":[{"id":100321,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100296,"src":"8940:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":100322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8952:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":100323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8956:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":100315,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"8876:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":100316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8887:15:135","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":75094,"src":"8876:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":100319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":100317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8910:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":100318,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"8923:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8910:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8876:63:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8876:83:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8856:103:135"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":100331,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101053,"src":"8987:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$79793_$","typeString":"function () returns (contract ISafe)"}},"id":100332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8987:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}],"id":100330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8979:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100329,"name":"address","nodeType":"ElementaryTypeName","src":"8979:7:135","typeDescriptions":{}}},"id":100333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8979:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100326,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"8970:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8973:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"8970:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8970:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100335,"nodeType":"ExpressionStatement","src":"8970:33:135"},{"expression":{"arguments":[{"id":100339,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100314,"src":"9042:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":100340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9053:1:135","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":100343,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"9064:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}],"id":100342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9056:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100341,"name":"address","nodeType":"ElementaryTypeName","src":"9056:7:135","typeDescriptions":{}}},"id":100344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9056:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100336,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"9013:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9028:13:135","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":79410,"src":"9013:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":100345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9013:63:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100346,"nodeType":"ExpressionStatement","src":"9013:63:135"},{"expression":{"arguments":[{"expression":{"expression":{"id":100350,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79485,"src":"9103:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$79485_$","typeString":"type(contract SafeArbitrator)"}},"id":100351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9118:20:135","memberName":"DisputeAlreadySolved","nodeType":"MemberAccess","referencedDeclaration":79167,"src":"9103:35:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":100352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9139:8:135","memberName":"selector","nodeType":"MemberAccess","src":"9103:44:135","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":100347,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"9087:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9090:12:135","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21494,"src":"9087:15:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":100353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9087:61:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100354,"nodeType":"ExpressionStatement","src":"9087:61:135"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":100360,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101053,"src":"9175:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$79793_$","typeString":"function () returns (contract ISafe)"}},"id":100361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9175:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}],"id":100359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9167:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100358,"name":"address","nodeType":"ElementaryTypeName","src":"9167:7:135","typeDescriptions":{}}},"id":100362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9167:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100355,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"9158:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9161:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"9158:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9158:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100364,"nodeType":"ExpressionStatement","src":"9158:33:135"},{"expression":{"arguments":[{"id":100368,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100314,"src":"9230:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":100369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9241:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":100372,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"9252:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}],"id":100371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9244:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100370,"name":"address","nodeType":"ElementaryTypeName","src":"9244:7:135","typeDescriptions":{}}},"id":100373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9244:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100365,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"9201:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9216:13:135","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":79410,"src":"9201:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":100374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9201:63:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100375,"nodeType":"ExpressionStatement","src":"9201:63:135"}]},"functionSelector":"ec9ec248","implemented":true,"kind":"function","modifiers":[],"name":"testCannotExecuteRulingTwice","nameLocation":"8691:28:135","parameters":{"id":100293,"nodeType":"ParameterList","parameters":[],"src":"8719:2:135"},"returnParameters":{"id":100294,"nodeType":"ParameterList","parameters":[],"src":"8729:0:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":100441,"nodeType":"FunctionDefinition","src":"9277:464:135","nodes":[],"body":{"id":100440,"nodeType":"Block","src":"9323:418:135","nodes":[],"statements":[{"assignments":[100381],"declarations":[{"constant":false,"id":100381,"mutability":"mutable","name":"proposalId","nameLocation":"9341:10:135","nodeType":"VariableDeclaration","scope":100440,"src":"9333:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100380,"name":"uint256","nodeType":"ElementaryTypeName","src":"9333:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100384,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":100382,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99981,"src":"9354:14:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":100383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9354:16:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9333:37:135"},{"expression":{"arguments":[{"id":100388,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"9389:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":100389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9401:8:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":100385,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"9381:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9384:4:135","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":21047,"src":"9381:7:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":100390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9381:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100391,"nodeType":"ExpressionStatement","src":"9381:29:135"},{"expression":{"arguments":[{"id":100395,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"9429:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100392,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"9420:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9423:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"9420:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9420:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100397,"nodeType":"ExpressionStatement","src":"9420:20:135"},{"assignments":[100399],"declarations":[{"constant":false,"id":100399,"mutability":"mutable","name":"disputeID","nameLocation":"9458:9:135","nodeType":"VariableDeclaration","scope":100440,"src":"9450:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100398,"name":"uint256","nodeType":"ElementaryTypeName","src":"9450:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100410,"initialValue":{"arguments":[{"id":100406,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100381,"src":"9534:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":100407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9546:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":100408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9550:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":100400,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"9470:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":100401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9481:15:135","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":75094,"src":"9470:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":100404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":100402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9504:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":100403,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"9517:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9504:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9470:63:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9470:83:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9450:103:135"},{"expression":{"arguments":[{"expression":{"expression":{"id":100414,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79485,"src":"9580:14:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$79485_$","typeString":"type(contract SafeArbitrator)"}},"id":100415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9595:13:135","memberName":"InvalidRuling","nodeType":"MemberAccess","referencedDeclaration":79165,"src":"9580:28:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":100416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9609:8:135","memberName":"selector","nodeType":"MemberAccess","src":"9580:37:135","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":100411,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"9564:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9567:12:135","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21494,"src":"9564:15:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":100417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9564:54:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100418,"nodeType":"ExpressionStatement","src":"9564:54:135"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":100424,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101053,"src":"9645:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$79793_$","typeString":"function () returns (contract ISafe)"}},"id":100425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9645:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}],"id":100423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9637:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100422,"name":"address","nodeType":"ElementaryTypeName","src":"9637:7:135","typeDescriptions":{}}},"id":100426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9637:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100419,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"9628:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9631:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"9628:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9628:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100428,"nodeType":"ExpressionStatement","src":"9628:33:135"},{"expression":{"arguments":[{"id":100432,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100399,"src":"9700:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"34","id":100433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9711:1:135","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"arguments":[{"id":100436,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"9722:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}],"id":100435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9714:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100434,"name":"address","nodeType":"ElementaryTypeName","src":"9714:7:135","typeDescriptions":{}}},"id":100437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9714:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100429,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"9671:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9686:13:135","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":79410,"src":"9671:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":100438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9671:63:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100439,"nodeType":"ExpressionStatement","src":"9671:63:135"}]},"functionSelector":"6f6dfab1","implemented":true,"kind":"function","modifiers":[],"name":"testCannotRuleInvalidRuling","nameLocation":"9286:27:135","parameters":{"id":100378,"nodeType":"ParameterList","parameters":[],"src":"9313:2:135"},"returnParameters":{"id":100379,"nodeType":"ParameterList","parameters":[],"src":"9323:0:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":100521,"nodeType":"FunctionDefinition","src":"9747:577:135","nodes":[],"body":{"id":100520,"nodeType":"Block","src":"9783:541:135","nodes":[],"statements":[{"assignments":[100445],"declarations":[{"constant":false,"id":100445,"mutability":"mutable","name":"proposalId","nameLocation":"9801:10:135","nodeType":"VariableDeclaration","scope":100520,"src":"9793:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100444,"name":"uint256","nodeType":"ElementaryTypeName","src":"9793:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100448,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":100446,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99981,"src":"9814:14:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":100447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9814:16:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9793:37:135"},{"expression":{"arguments":[{"id":100452,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"9849:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":100453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9861:8:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":100449,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"9841:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9844:4:135","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":21047,"src":"9841:7:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":100454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9841:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100455,"nodeType":"ExpressionStatement","src":"9841:29:135"},{"expression":{"arguments":[{"id":100459,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99464,"src":"9889:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100456,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"9880:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9883:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"9880:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9880:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100461,"nodeType":"ExpressionStatement","src":"9880:20:135"},{"assignments":[100463],"declarations":[{"constant":false,"id":100463,"mutability":"mutable","name":"disputeID","nameLocation":"9918:9:135","nodeType":"VariableDeclaration","scope":100520,"src":"9910:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100462,"name":"uint256","nodeType":"ElementaryTypeName","src":"9910:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100474,"initialValue":{"arguments":[{"id":100470,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100445,"src":"9994:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":100471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10006:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":100472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10010:2:135","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":100464,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"9930:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":100465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9941:15:135","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":75094,"src":"9930:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":100468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":100466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9964:10:135","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":100467,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99482,"src":"9977:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9964:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9930:63:135","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":100473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9930:83:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9910:103:135"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":100480,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101053,"src":"10041:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$79793_$","typeString":"function () returns (contract ISafe)"}},"id":100481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10041:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$79793","typeString":"contract ISafe"}],"id":100479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10033:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100478,"name":"address","nodeType":"ElementaryTypeName","src":"10033:7:135","typeDescriptions":{}}},"id":100482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10033:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100475,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"10024:2:135","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21527","typeString":"contract Vm"}},"id":100477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10027:5:135","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21180,"src":"10024:8:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":100483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10024:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100484,"nodeType":"ExpressionStatement","src":"10024:33:135"},{"expression":{"arguments":[{"id":100488,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100463,"src":"10096:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":100489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10107:1:135","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":100492,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99444,"src":"10118:10:135","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}],"id":100491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10110:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100490,"name":"address","nodeType":"ElementaryTypeName","src":"10110:7:135","typeDescriptions":{}}},"id":100493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10110:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":100485,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"10067:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10082:13:135","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":79410,"src":"10067:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":100494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10067:63:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100495,"nodeType":"ExpressionStatement","src":"10067:63:135"},{"assignments":[100497,100499,100501],"declarations":[{"constant":false,"id":100497,"mutability":"mutable","name":"ruling","nameLocation":"10150:6:135","nodeType":"VariableDeclaration","scope":100520,"src":"10142:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100496,"name":"uint256","nodeType":"ElementaryTypeName","src":"10142:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":100499,"mutability":"mutable","name":"tied","nameLocation":"10163:4:135","nodeType":"VariableDeclaration","scope":100520,"src":"10158:9:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":100498,"name":"bool","nodeType":"ElementaryTypeName","src":"10158:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":100501,"mutability":"mutable","name":"overridden","nameLocation":"10174:10:135","nodeType":"VariableDeclaration","scope":100520,"src":"10169:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":100500,"name":"bool","nodeType":"ElementaryTypeName","src":"10169:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":100506,"initialValue":{"arguments":[{"id":100504,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100463,"src":"10217:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":100502,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99441,"src":"10188:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$79485","typeString":"contract SafeArbitrator"}},"id":100503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10203:13:135","memberName":"currentRuling","nodeType":"MemberAccess","referencedDeclaration":79471,"src":"10188:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_bool_$_t_bool_$","typeString":"function (uint256) view external returns (uint256,bool,bool)"}},"id":100505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10188:39:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_bool_$","typeString":"tuple(uint256,bool,bool)"}},"nodeType":"VariableDeclarationStatement","src":"10141:86:135"},{"expression":{"arguments":[{"id":100508,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100497,"src":"10247:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":100509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10255:1:135","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":100507,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6194,6212,6227,6245,6299,6317,6371,6389,6404,6422,6466,6484,6499,6517,6534,6554,6571,6591,6608,6628,6645,6665,6682,6702,6719,6739,6756,6776],"referencedDeclaration":6227,"src":"10238:8:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":100510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10238:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100511,"nodeType":"ExpressionStatement","src":"10238:19:135"},{"expression":{"arguments":[{"id":100513,"name":"tied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100499,"src":"10279:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":100512,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6164,6179],"referencedDeclaration":6164,"src":"10267:11:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":100514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10267:17:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100515,"nodeType":"ExpressionStatement","src":"10267:17:135"},{"expression":{"arguments":[{"id":100517,"name":"overridden","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100501,"src":"10306:10:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":100516,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6164,6179],"referencedDeclaration":6164,"src":"10294:11:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":100518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10294:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100519,"nodeType":"ExpressionStatement","src":"10294:23:135"}]},"functionSelector":"f8cbf34f","implemented":true,"kind":"function","modifiers":[],"name":"testCurrentRuling","nameLocation":"9756:17:135","parameters":{"id":100442,"nodeType":"ParameterList","parameters":[],"src":"9773:2:135"},"returnParameters":{"id":100443,"nodeType":"ParameterList","parameters":[],"src":"9783:0:135"},"scope":100522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":99429,"name":"Test","nameLocations":["1066:4:135"],"nodeType":"IdentifierPath","referencedDeclaration":17877,"src":"1066:4:135"},"id":99430,"nodeType":"InheritanceSpecifier","src":"1066:4:135"},{"baseName":{"id":99431,"name":"RegistrySetupFull","nameLocations":["1072:17:135"],"nodeType":"IdentifierPath","referencedDeclaration":5338,"src":"1072:17:135"},"id":99432,"nodeType":"InheritanceSpecifier","src":"1072:17:135"},{"baseName":{"id":99433,"name":"AlloSetup","nameLocations":["1091:9:135"],"nodeType":"IdentifierPath","referencedDeclaration":5129,"src":"1091:9:135"},"id":99434,"nodeType":"InheritanceSpecifier","src":"1091:9:135"},{"baseName":{"id":99435,"name":"CVStrategyHelpersV0_0","nameLocations":["1102:21:135"],"nodeType":"IdentifierPath","referencedDeclaration":83221,"src":"1102:21:135"},"id":99436,"nodeType":"InheritanceSpecifier","src":"1102:21:135"},{"baseName":{"id":99437,"name":"SafeSetup","nameLocations":["1125:9:135"],"nodeType":"IdentifierPath","referencedDeclaration":101234,"src":"1125:9:135"},"id":99438,"nodeType":"InheritanceSpecifier","src":"1125:9:135"}],"canonicalName":"SafeArbitratorTest","contractDependencies":[1390,2295,55102,70717,75423,75671,78368,79079,79485],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[100522,101234,83221,5129,5338,5174,5068,17877,17825,12505,12180,11387,9327,8545,5876,5873,3106],"name":"SafeArbitratorTest","nameLocation":"1044:18:135","scope":100523,"usedErrors":[]}],"license":"MIT"},"id":135} \ No newline at end of file diff --git a/pkg/contracts/out/SafeERC20.sol/SafeERC20.json b/pkg/contracts/out/SafeERC20.sol/SafeERC20.json index 1ed447af6..f4fbc815b 100644 --- a/pkg/contracts/out/SafeERC20.sol/SafeERC20.json +++ b/pkg/contracts/out/SafeERC20.sol/SafeERC20.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212205c2db136c1668257eb809457f6f70746770781838866c3d21d9379aa8e89a0d364736f6c63430008130033","sourceMap":"701:6211:70:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212205c2db136c1668257eb809457f6f70746770781838866c3d21d9379aa8e89a0d364736f6c63430008130033","sourceMap":"701:6211:70:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":56263,"exportedSymbols":{"Address":[56637],"IERC20":[55825],"IERC20Permit":[55886],"SafeERC20":[56262]},"nodeType":"SourceUnit","src":"115:6798:70","nodes":[{"id":55888,"nodeType":"PragmaDirective","src":"115:23:70","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55889,"nodeType":"ImportDirective","src":"140:23:70","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":56263,"sourceUnit":55826,"symbolAliases":[],"unitAlias":""},{"id":55890,"nodeType":"ImportDirective","src":"164:40:70","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"../extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":56263,"sourceUnit":55887,"symbolAliases":[],"unitAlias":""},{"id":55891,"nodeType":"ImportDirective","src":"205:36:70","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","file":"../../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":56263,"sourceUnit":56638,"symbolAliases":[],"unitAlias":""},{"id":56262,"nodeType":"ContractDefinition","src":"701:6211:70","nodes":[{"id":55895,"nodeType":"UsingForDirective","src":"725:26:70","nodes":[],"global":false,"libraryName":{"id":55893,"name":"Address","nameLocations":["731:7:70"],"nodeType":"IdentifierPath","referencedDeclaration":56637,"src":"731:7:70"},"typeName":{"id":55894,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":55919,"nodeType":"FunctionDefinition","src":"941:175:70","nodes":[],"body":{"id":55918,"nodeType":"Block","src":"1013:103:70","nodes":[],"statements":[{"expression":{"arguments":[{"id":55907,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55899,"src":"1043:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":55910,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55899,"src":"1073:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":55911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1079:8:70","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":55792,"src":"1073:14:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":55912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1088:8:70","memberName":"selector","nodeType":"MemberAccess","src":"1073:23:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":55913,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55901,"src":"1098:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55914,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55903,"src":"1102:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1050:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1050:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":55915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:58:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55906,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"1023:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":55916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1023:86:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55917,"nodeType":"ExpressionStatement","src":"1023:86:70"}]},"documentation":{"id":55896,"nodeType":"StructuredDocumentation","src":"757:179:70","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"950:12:70","parameters":{"id":55904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55899,"mutability":"mutable","name":"token","nameLocation":"970:5:70","nodeType":"VariableDeclaration","scope":55919,"src":"963:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":55898,"nodeType":"UserDefinedTypeName","pathNode":{"id":55897,"name":"IERC20","nameLocations":["963:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"963:6:70"},"referencedDeclaration":55825,"src":"963:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":55901,"mutability":"mutable","name":"to","nameLocation":"985:2:70","nodeType":"VariableDeclaration","scope":55919,"src":"977:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55900,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55903,"mutability":"mutable","name":"value","nameLocation":"997:5:70","nodeType":"VariableDeclaration","scope":55919,"src":"989:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55902,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"962:41:70"},"returnParameters":{"id":55905,"nodeType":"ParameterList","parameters":[],"src":"1013:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":55946,"nodeType":"FunctionDefinition","src":"1355:203:70","nodes":[],"body":{"id":55945,"nodeType":"Block","src":"1445:113:70","nodes":[],"statements":[{"expression":{"arguments":[{"id":55933,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55923,"src":"1475:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":55936,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55923,"src":"1505:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":55937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1511:12:70","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":55824,"src":"1505:18:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":55938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:8:70","memberName":"selector","nodeType":"MemberAccess","src":"1505:27:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":55939,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55925,"src":"1534:4:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55940,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55927,"src":"1540:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55941,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55929,"src":"1544:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1482:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1486:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1482:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":55942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:68:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55932,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"1455:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":55943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:96:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55944,"nodeType":"ExpressionStatement","src":"1455:96:70"}]},"documentation":{"id":55920,"nodeType":"StructuredDocumentation","src":"1122:228:70","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1364:16:70","parameters":{"id":55930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55923,"mutability":"mutable","name":"token","nameLocation":"1388:5:70","nodeType":"VariableDeclaration","scope":55946,"src":"1381:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":55922,"nodeType":"UserDefinedTypeName","pathNode":{"id":55921,"name":"IERC20","nameLocations":["1381:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1381:6:70"},"referencedDeclaration":55825,"src":"1381:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":55925,"mutability":"mutable","name":"from","nameLocation":"1403:4:70","nodeType":"VariableDeclaration","scope":55946,"src":"1395:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55924,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55927,"mutability":"mutable","name":"to","nameLocation":"1417:2:70","nodeType":"VariableDeclaration","scope":55946,"src":"1409:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55926,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55929,"mutability":"mutable","name":"value","nameLocation":"1429:5:70","nodeType":"VariableDeclaration","scope":55946,"src":"1421:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55928,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1380:55:70"},"returnParameters":{"id":55931,"nodeType":"ParameterList","parameters":[],"src":"1445:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":55990,"nodeType":"FunctionDefinition","src":"1818:573:70","nodes":[],"body":{"id":55989,"nodeType":"Block","src":"1894:497:70","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55958,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55954,"src":"2143:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2143:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":55961,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2142:12:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":55966,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2183:4:70","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}],"id":55965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2175:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55964,"name":"address","nodeType":"ElementaryTypeName","src":"2175:7:70","typeDescriptions":{}}},"id":55967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55968,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55952,"src":"2190:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55962,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55950,"src":"2159:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":55963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:9:70","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":55802,"src":"2159:15:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":55969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2202:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2159:44:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":55972,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2158:46:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2142:62:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":55974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2218:56:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":55957,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2121:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:163:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55976,"nodeType":"ExpressionStatement","src":"2121:163:70"},{"expression":{"arguments":[{"id":55978,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55950,"src":"2314:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":55981,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55950,"src":"2344:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":55982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"2344:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":55983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:70","memberName":"selector","nodeType":"MemberAccess","src":"2344:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":55984,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55952,"src":"2368:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55985,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55954,"src":"2377:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55979,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2321:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2325:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2321:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":55986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:62:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55977,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"2294:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":55987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:90:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55988,"nodeType":"ExpressionStatement","src":"2294:90:70"}]},"documentation":{"id":55947,"nodeType":"StructuredDocumentation","src":"1564:249:70","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1827:11:70","parameters":{"id":55955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55950,"mutability":"mutable","name":"token","nameLocation":"1846:5:70","nodeType":"VariableDeclaration","scope":55990,"src":"1839:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":55949,"nodeType":"UserDefinedTypeName","pathNode":{"id":55948,"name":"IERC20","nameLocations":["1839:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1839:6:70"},"referencedDeclaration":55825,"src":"1839:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":55952,"mutability":"mutable","name":"spender","nameLocation":"1861:7:70","nodeType":"VariableDeclaration","scope":55990,"src":"1853:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55951,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55954,"mutability":"mutable","name":"value","nameLocation":"1878:5:70","nodeType":"VariableDeclaration","scope":55990,"src":"1870:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55953,"name":"uint256","nodeType":"ElementaryTypeName","src":"1870:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:46:70"},"returnParameters":{"id":55956,"nodeType":"ParameterList","parameters":[],"src":"1894:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56027,"nodeType":"FunctionDefinition","src":"2582:280:70","nodes":[],"body":{"id":56026,"nodeType":"Block","src":"2668:194:70","nodes":[],"statements":[{"assignments":[56002],"declarations":[{"constant":false,"id":56002,"mutability":"mutable","name":"oldAllowance","nameLocation":"2686:12:70","nodeType":"VariableDeclaration","scope":56026,"src":"2678:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56001,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56011,"initialValue":{"arguments":[{"arguments":[{"id":56007,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2725:4:70","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}],"id":56006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2717:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56005,"name":"address","nodeType":"ElementaryTypeName","src":"2717:7:70","typeDescriptions":{}}},"id":56008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56009,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55996,"src":"2732:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56003,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55994,"src":"2701:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2707:9:70","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":55802,"src":"2701:15:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2678:62:70"},{"expression":{"arguments":[{"id":56013,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55994,"src":"2770:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56016,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55994,"src":"2800:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2806:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"2800:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:8:70","memberName":"selector","nodeType":"MemberAccess","src":"2800:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56019,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55996,"src":"2824:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56020,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56002,"src":"2833:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56021,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55998,"src":"2848:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2833:20:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56014,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2777:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56015,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2781:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2777:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:77:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56012,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"2750:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:105:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56025,"nodeType":"ExpressionStatement","src":"2750:105:70"}]},"documentation":{"id":55991,"nodeType":"StructuredDocumentation","src":"2397:180:70","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2591:21:70","parameters":{"id":55999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55994,"mutability":"mutable","name":"token","nameLocation":"2620:5:70","nodeType":"VariableDeclaration","scope":56027,"src":"2613:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":55993,"nodeType":"UserDefinedTypeName","pathNode":{"id":55992,"name":"IERC20","nameLocations":["2613:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"2613:6:70"},"referencedDeclaration":55825,"src":"2613:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":55996,"mutability":"mutable","name":"spender","nameLocation":"2635:7:70","nodeType":"VariableDeclaration","scope":56027,"src":"2627:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55995,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55998,"mutability":"mutable","name":"value","nameLocation":"2652:5:70","nodeType":"VariableDeclaration","scope":56027,"src":"2644:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55997,"name":"uint256","nodeType":"ElementaryTypeName","src":"2644:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2612:46:70"},"returnParameters":{"id":56000,"nodeType":"ParameterList","parameters":[],"src":"2668:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56072,"nodeType":"FunctionDefinition","src":"3053:407:70","nodes":[],"body":{"id":56071,"nodeType":"Block","src":"3139:321:70","nodes":[],"statements":[{"id":56070,"nodeType":"UncheckedBlock","src":"3149:305:70","statements":[{"assignments":[56039],"declarations":[{"constant":false,"id":56039,"mutability":"mutable","name":"oldAllowance","nameLocation":"3181:12:70","nodeType":"VariableDeclaration","scope":56070,"src":"3173:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56038,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56048,"initialValue":{"arguments":[{"arguments":[{"id":56044,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3220:4:70","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}],"id":56043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3212:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56042,"name":"address","nodeType":"ElementaryTypeName","src":"3212:7:70","typeDescriptions":{}}},"id":56045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56046,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56033,"src":"3227:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56040,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"3196:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3202:9:70","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":55802,"src":"3196:15:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3196:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3173:62:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56050,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56039,"src":"3257:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56051,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56035,"src":"3273:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3257:21:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3280:43:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":56049,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3249:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3249:75:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56055,"nodeType":"ExpressionStatement","src":"3249:75:70"},{"expression":{"arguments":[{"id":56057,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"3358:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56060,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"3388:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"3388:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3402:8:70","memberName":"selector","nodeType":"MemberAccess","src":"3388:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56063,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56033,"src":"3412:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56064,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56039,"src":"3421:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56065,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56035,"src":"3436:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3421:20:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3365:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3369:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3365:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:77:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56056,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"3338:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3338:105:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56069,"nodeType":"ExpressionStatement","src":"3338:105:70"}]}]},"documentation":{"id":56028,"nodeType":"StructuredDocumentation","src":"2868:180:70","text":" @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"3062:21:70","parameters":{"id":56036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56031,"mutability":"mutable","name":"token","nameLocation":"3091:5:70","nodeType":"VariableDeclaration","scope":56072,"src":"3084:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":56030,"nodeType":"UserDefinedTypeName","pathNode":{"id":56029,"name":"IERC20","nameLocations":["3084:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3084:6:70"},"referencedDeclaration":55825,"src":"3084:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56033,"mutability":"mutable","name":"spender","nameLocation":"3106:7:70","nodeType":"VariableDeclaration","scope":56072,"src":"3098:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56032,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56035,"mutability":"mutable","name":"value","nameLocation":"3123:5:70","nodeType":"VariableDeclaration","scope":56072,"src":"3115:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56034,"name":"uint256","nodeType":"ElementaryTypeName","src":"3115:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:46:70"},"returnParameters":{"id":56037,"nodeType":"ParameterList","parameters":[],"src":"3139:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56119,"nodeType":"FunctionDefinition","src":"3756:410:70","nodes":[],"body":{"id":56118,"nodeType":"Block","src":"3833:333:70","nodes":[],"statements":[{"assignments":[56084],"declarations":[{"constant":false,"id":56084,"mutability":"mutable","name":"approvalCall","nameLocation":"3856:12:70","nodeType":"VariableDeclaration","scope":56118,"src":"3843:25:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56083,"name":"bytes","nodeType":"ElementaryTypeName","src":"3843:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56093,"initialValue":{"arguments":[{"expression":{"expression":{"id":56087,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"3894:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3900:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"3894:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3908:8:70","memberName":"selector","nodeType":"MemberAccess","src":"3894:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56090,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56078,"src":"3918:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56091,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56080,"src":"3927:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56085,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3871:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3875:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3871:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:62:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3843:90:70"},{"condition":{"id":56098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3948:45:70","subExpression":{"arguments":[{"id":56095,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"3973:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"id":56096,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56084,"src":"3980:12:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56094,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56261,"src":"3949:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":56097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:44:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56117,"nodeType":"IfStatement","src":"3944:216:70","trueBody":{"id":56116,"nodeType":"Block","src":"3995:165:70","statements":[{"expression":{"arguments":[{"id":56100,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"4029:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56103,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"4059:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"4059:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4073:8:70","memberName":"selector","nodeType":"MemberAccess","src":"4059:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56106,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56078,"src":"4083:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":56107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":56101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4036:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4040:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4036:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:58:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56099,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"4009:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4009:86:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56110,"nodeType":"ExpressionStatement","src":"4009:86:70"},{"expression":{"arguments":[{"id":56112,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"4129:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"id":56113,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56084,"src":"4136:12:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56111,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"4109:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:40:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56115,"nodeType":"ExpressionStatement","src":"4109:40:70"}]}}]},"documentation":{"id":56073,"nodeType":"StructuredDocumentation","src":"3466:285:70","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Compatible with tokens that require the approval to be set to\n 0 before setting it to a non-zero value."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"3765:12:70","parameters":{"id":56081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56076,"mutability":"mutable","name":"token","nameLocation":"3785:5:70","nodeType":"VariableDeclaration","scope":56119,"src":"3778:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":56075,"nodeType":"UserDefinedTypeName","pathNode":{"id":56074,"name":"IERC20","nameLocations":["3778:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3778:6:70"},"referencedDeclaration":55825,"src":"3778:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56078,"mutability":"mutable","name":"spender","nameLocation":"3800:7:70","nodeType":"VariableDeclaration","scope":56119,"src":"3792:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56077,"name":"address","nodeType":"ElementaryTypeName","src":"3792:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56080,"mutability":"mutable","name":"value","nameLocation":"3817:5:70","nodeType":"VariableDeclaration","scope":56119,"src":"3809:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56079,"name":"uint256","nodeType":"ElementaryTypeName","src":"3809:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3777:46:70"},"returnParameters":{"id":56082,"nodeType":"ParameterList","parameters":[],"src":"3833:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56176,"nodeType":"FunctionDefinition","src":"4318:472:70","nodes":[],"body":{"id":56175,"nodeType":"Block","src":"4533:257:70","nodes":[],"statements":[{"assignments":[56141],"declarations":[{"constant":false,"id":56141,"mutability":"mutable","name":"nonceBefore","nameLocation":"4551:11:70","nodeType":"VariableDeclaration","scope":56175,"src":"4543:19:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56140,"name":"uint256","nodeType":"ElementaryTypeName","src":"4543:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56146,"initialValue":{"arguments":[{"id":56144,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56125,"src":"4578:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56142,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56123,"src":"4565:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"}},"id":56143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4571:6:70","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":55879,"src":"4565:12:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4565:19:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4543:41:70"},{"expression":{"arguments":[{"id":56150,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56125,"src":"4607:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56151,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56127,"src":"4614:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56152,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56129,"src":"4623:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56153,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56131,"src":"4630:8:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56154,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56133,"src":"4640:1:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56155,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56135,"src":"4643:1:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56156,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56137,"src":"4646:1:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56147,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56123,"src":"4594:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"}},"id":56149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4600:6:70","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":55871,"src":"4594:12:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":56157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:54:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56158,"nodeType":"ExpressionStatement","src":"4594:54:70"},{"assignments":[56160],"declarations":[{"constant":false,"id":56160,"mutability":"mutable","name":"nonceAfter","nameLocation":"4666:10:70","nodeType":"VariableDeclaration","scope":56175,"src":"4658:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56159,"name":"uint256","nodeType":"ElementaryTypeName","src":"4658:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56165,"initialValue":{"arguments":[{"id":56163,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56125,"src":"4692:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56161,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56123,"src":"4679:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"}},"id":56162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:6:70","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":55879,"src":"4679:12:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4679:19:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4658:40:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56167,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56160,"src":"4716:10:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56168,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56141,"src":"4730:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":56169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4744:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4716:29:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":56172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4747:35:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":56166,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4708:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:75:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56174,"nodeType":"ExpressionStatement","src":"4708:75:70"}]},"documentation":{"id":56120,"nodeType":"StructuredDocumentation","src":"4172:141:70","text":" @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`.\n Revert on invalid signature."},"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"4327:10:70","parameters":{"id":56138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56123,"mutability":"mutable","name":"token","nameLocation":"4360:5:70","nodeType":"VariableDeclaration","scope":56176,"src":"4347:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"},"typeName":{"id":56122,"nodeType":"UserDefinedTypeName","pathNode":{"id":56121,"name":"IERC20Permit","nameLocations":["4347:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":55886,"src":"4347:12:70"},"referencedDeclaration":55886,"src":"4347:12:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":56125,"mutability":"mutable","name":"owner","nameLocation":"4383:5:70","nodeType":"VariableDeclaration","scope":56176,"src":"4375:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56124,"name":"address","nodeType":"ElementaryTypeName","src":"4375:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56127,"mutability":"mutable","name":"spender","nameLocation":"4406:7:70","nodeType":"VariableDeclaration","scope":56176,"src":"4398:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56126,"name":"address","nodeType":"ElementaryTypeName","src":"4398:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56129,"mutability":"mutable","name":"value","nameLocation":"4431:5:70","nodeType":"VariableDeclaration","scope":56176,"src":"4423:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56128,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56131,"mutability":"mutable","name":"deadline","nameLocation":"4454:8:70","nodeType":"VariableDeclaration","scope":56176,"src":"4446:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56130,"name":"uint256","nodeType":"ElementaryTypeName","src":"4446:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56133,"mutability":"mutable","name":"v","nameLocation":"4478:1:70","nodeType":"VariableDeclaration","scope":56176,"src":"4472:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56132,"name":"uint8","nodeType":"ElementaryTypeName","src":"4472:5:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56135,"mutability":"mutable","name":"r","nameLocation":"4497:1:70","nodeType":"VariableDeclaration","scope":56176,"src":"4489:9:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4489:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56137,"mutability":"mutable","name":"s","nameLocation":"4516:1:70","nodeType":"VariableDeclaration","scope":56176,"src":"4508:9:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4508:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4337:186:70"},"returnParameters":{"id":56139,"nodeType":"ParameterList","parameters":[],"src":"4533:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56213,"nodeType":"FunctionDefinition","src":"5173:642:70","nodes":[],"body":{"id":56212,"nodeType":"Block","src":"5243:572:70","nodes":[],"statements":[{"assignments":[56186],"declarations":[{"constant":false,"id":56186,"mutability":"mutable","name":"returndata","nameLocation":"5605:10:70","nodeType":"VariableDeclaration","scope":56212,"src":"5592:23:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56185,"name":"bytes","nodeType":"ElementaryTypeName","src":"5592:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56195,"initialValue":{"arguments":[{"id":56192,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56182,"src":"5646:4:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":56193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5652:34:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":56189,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56180,"src":"5626:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":56188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5618:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56187,"name":"address","nodeType":"ElementaryTypeName","src":"5618:7:70","typeDescriptions":{}}},"id":56190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:14:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5633:12:70","memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":56397,"src":"5618:27:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":56194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:69:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5592:95:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56197,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56186,"src":"5705:10:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5716:6:70","memberName":"length","nodeType":"MemberAccess","src":"5705:17:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5726:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5705:22:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56203,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56186,"src":"5742:10:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5755:4:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56204,"name":"bool","nodeType":"ElementaryTypeName","src":"5755:4:70","typeDescriptions":{}}}],"id":56206,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5754:6:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56201,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5731:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5735:6:70","memberName":"decode","nodeType":"MemberAccess","src":"5731:10:70","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5731:30:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5705:56:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":56209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:44:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":56196,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5697:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:111:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56211,"nodeType":"ExpressionStatement","src":"5697:111:70"}]},"documentation":{"id":56177,"nodeType":"StructuredDocumentation","src":"4796:372:70","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"5182:19:70","parameters":{"id":56183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56180,"mutability":"mutable","name":"token","nameLocation":"5209:5:70","nodeType":"VariableDeclaration","scope":56213,"src":"5202:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":56179,"nodeType":"UserDefinedTypeName","pathNode":{"id":56178,"name":"IERC20","nameLocations":["5202:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"5202:6:70"},"referencedDeclaration":55825,"src":"5202:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56182,"mutability":"mutable","name":"data","nameLocation":"5229:4:70","nodeType":"VariableDeclaration","scope":56213,"src":"5216:17:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56181,"name":"bytes","nodeType":"ElementaryTypeName","src":"5216:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5201:33:70"},"returnParameters":{"id":56184,"nodeType":"ParameterList","parameters":[],"src":"5243:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":56261,"nodeType":"FunctionDefinition","src":"6316:594:70","nodes":[],"body":{"id":56260,"nodeType":"Block","src":"6405:505:70","nodes":[],"statements":[{"assignments":[56225,56227],"declarations":[{"constant":false,"id":56225,"mutability":"mutable","name":"success","nameLocation":"6706:7:70","nodeType":"VariableDeclaration","scope":56260,"src":"6701:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56224,"name":"bool","nodeType":"ElementaryTypeName","src":"6701:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56227,"mutability":"mutable","name":"returndata","nameLocation":"6728:10:70","nodeType":"VariableDeclaration","scope":56260,"src":"6715:23:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56226,"name":"bytes","nodeType":"ElementaryTypeName","src":"6715:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56235,"initialValue":{"arguments":[{"id":56233,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"6762:4:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":56230,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"6750:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":56229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6742:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56228,"name":"address","nodeType":"ElementaryTypeName","src":"6742:7:70","typeDescriptions":{}}},"id":56231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:14:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6757:4:70","memberName":"call","nodeType":"MemberAccess","src":"6742:19:70","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":56234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6700:67:70"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56236,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56225,"src":"6796:7:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56237,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56227,"src":"6808:10:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6819:6:70","memberName":"length","nodeType":"MemberAccess","src":"6808:17:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6829:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6808:22:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56243,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56227,"src":"6845:10:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6858:4:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56244,"name":"bool","nodeType":"ElementaryTypeName","src":"6858:4:70","typeDescriptions":{}}}],"id":56246,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6857:6:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6834:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6838:6:70","memberName":"decode","nodeType":"MemberAccess","src":"6834:10:70","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6834:30:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6808:56:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56249,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6807:58:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:69:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":56255,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"6896:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":56254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6888:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56253,"name":"address","nodeType":"ElementaryTypeName","src":"6888:7:70","typeDescriptions":{}}},"id":56256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6888:14:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56251,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56637,"src":"6869:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$56637_$","typeString":"type(library Address)"}},"id":56252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6877:10:70","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":56325,"src":"6869:18:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":56257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6869:34:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:107:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":56223,"id":56259,"nodeType":"Return","src":"6777:126:70"}]},"documentation":{"id":56214,"nodeType":"StructuredDocumentation","src":"5821:490:70","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"6325:23:70","parameters":{"id":56220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56217,"mutability":"mutable","name":"token","nameLocation":"6356:5:70","nodeType":"VariableDeclaration","scope":56261,"src":"6349:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":56216,"nodeType":"UserDefinedTypeName","pathNode":{"id":56215,"name":"IERC20","nameLocations":["6349:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"6349:6:70"},"referencedDeclaration":55825,"src":"6349:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56219,"mutability":"mutable","name":"data","nameLocation":"6376:4:70","nodeType":"VariableDeclaration","scope":56261,"src":"6363:17:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56218,"name":"bytes","nodeType":"ElementaryTypeName","src":"6363:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:33:70"},"returnParameters":{"id":56223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56261,"src":"6399:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56221,"name":"bool","nodeType":"ElementaryTypeName","src":"6399:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6398:6:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":55892,"nodeType":"StructuredDocumentation","src":"243:457:70","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[56262],"name":"SafeERC20","nameLocation":"709:9:70","scope":56263,"usedErrors":[]}],"license":"MIT"},"id":70} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212209dcd1e0b76158b422584a022707b998a231263af4b7a102cf03be84435721f3f64736f6c63430008130033","sourceMap":"701:6234:70:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212209dcd1e0b76158b422584a022707b998a231263af4b7a102cf03be84435721f3f64736f6c63430008130033","sourceMap":"701:6234:70:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":56263,"exportedSymbols":{"Address":[56637],"IERC20":[55825],"IERC20Permit":[55886],"SafeERC20":[56262]},"nodeType":"SourceUnit","src":"115:6821:70","nodes":[{"id":55888,"nodeType":"PragmaDirective","src":"115:23:70","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55889,"nodeType":"ImportDirective","src":"140:23:70","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":56263,"sourceUnit":55826,"symbolAliases":[],"unitAlias":""},{"id":55890,"nodeType":"ImportDirective","src":"164:40:70","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"../extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":56263,"sourceUnit":55887,"symbolAliases":[],"unitAlias":""},{"id":55891,"nodeType":"ImportDirective","src":"205:36:70","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","file":"../../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":56263,"sourceUnit":56638,"symbolAliases":[],"unitAlias":""},{"id":56262,"nodeType":"ContractDefinition","src":"701:6234:70","nodes":[{"id":55895,"nodeType":"UsingForDirective","src":"725:26:70","nodes":[],"global":false,"libraryName":{"id":55893,"name":"Address","nameLocations":["731:7:70"],"nodeType":"IdentifierPath","referencedDeclaration":56637,"src":"731:7:70"},"typeName":{"id":55894,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":55919,"nodeType":"FunctionDefinition","src":"941:175:70","nodes":[],"body":{"id":55918,"nodeType":"Block","src":"1013:103:70","nodes":[],"statements":[{"expression":{"arguments":[{"id":55907,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55899,"src":"1043:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":55910,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55899,"src":"1073:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":55911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1079:8:70","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":55792,"src":"1073:14:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":55912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1088:8:70","memberName":"selector","nodeType":"MemberAccess","src":"1073:23:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":55913,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55901,"src":"1098:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55914,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55903,"src":"1102:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1050:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1050:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":55915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:58:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55906,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"1023:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":55916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1023:86:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55917,"nodeType":"ExpressionStatement","src":"1023:86:70"}]},"documentation":{"id":55896,"nodeType":"StructuredDocumentation","src":"757:179:70","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"950:12:70","parameters":{"id":55904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55899,"mutability":"mutable","name":"token","nameLocation":"970:5:70","nodeType":"VariableDeclaration","scope":55919,"src":"963:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":55898,"nodeType":"UserDefinedTypeName","pathNode":{"id":55897,"name":"IERC20","nameLocations":["963:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"963:6:70"},"referencedDeclaration":55825,"src":"963:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":55901,"mutability":"mutable","name":"to","nameLocation":"985:2:70","nodeType":"VariableDeclaration","scope":55919,"src":"977:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55900,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55903,"mutability":"mutable","name":"value","nameLocation":"997:5:70","nodeType":"VariableDeclaration","scope":55919,"src":"989:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55902,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"962:41:70"},"returnParameters":{"id":55905,"nodeType":"ParameterList","parameters":[],"src":"1013:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":55946,"nodeType":"FunctionDefinition","src":"1355:203:70","nodes":[],"body":{"id":55945,"nodeType":"Block","src":"1445:113:70","nodes":[],"statements":[{"expression":{"arguments":[{"id":55933,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55923,"src":"1475:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":55936,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55923,"src":"1505:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":55937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1511:12:70","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":55824,"src":"1505:18:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":55938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:8:70","memberName":"selector","nodeType":"MemberAccess","src":"1505:27:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":55939,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55925,"src":"1534:4:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55940,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55927,"src":"1540:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55941,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55929,"src":"1544:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1482:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1486:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1482:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":55942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:68:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55932,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"1455:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":55943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:96:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55944,"nodeType":"ExpressionStatement","src":"1455:96:70"}]},"documentation":{"id":55920,"nodeType":"StructuredDocumentation","src":"1122:228:70","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1364:16:70","parameters":{"id":55930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55923,"mutability":"mutable","name":"token","nameLocation":"1388:5:70","nodeType":"VariableDeclaration","scope":55946,"src":"1381:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":55922,"nodeType":"UserDefinedTypeName","pathNode":{"id":55921,"name":"IERC20","nameLocations":["1381:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1381:6:70"},"referencedDeclaration":55825,"src":"1381:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":55925,"mutability":"mutable","name":"from","nameLocation":"1403:4:70","nodeType":"VariableDeclaration","scope":55946,"src":"1395:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55924,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55927,"mutability":"mutable","name":"to","nameLocation":"1417:2:70","nodeType":"VariableDeclaration","scope":55946,"src":"1409:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55926,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55929,"mutability":"mutable","name":"value","nameLocation":"1429:5:70","nodeType":"VariableDeclaration","scope":55946,"src":"1421:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55928,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1380:55:70"},"returnParameters":{"id":55931,"nodeType":"ParameterList","parameters":[],"src":"1445:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":55990,"nodeType":"FunctionDefinition","src":"1818:573:70","nodes":[],"body":{"id":55989,"nodeType":"Block","src":"1894:497:70","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55958,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55954,"src":"2143:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2143:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":55961,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2142:12:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":55966,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2183:4:70","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}],"id":55965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2175:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55964,"name":"address","nodeType":"ElementaryTypeName","src":"2175:7:70","typeDescriptions":{}}},"id":55967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55968,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55952,"src":"2190:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55962,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55950,"src":"2159:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":55963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:9:70","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":55802,"src":"2159:15:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":55969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2202:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2159:44:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":55972,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2158:46:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2142:62:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":55974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2218:56:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":55957,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2121:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:163:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55976,"nodeType":"ExpressionStatement","src":"2121:163:70"},{"expression":{"arguments":[{"id":55978,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55950,"src":"2314:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":55981,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55950,"src":"2344:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":55982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"2344:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":55983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:70","memberName":"selector","nodeType":"MemberAccess","src":"2344:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":55984,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55952,"src":"2368:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55985,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55954,"src":"2377:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55979,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2321:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2325:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2321:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":55986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:62:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55977,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"2294:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":55987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:90:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55988,"nodeType":"ExpressionStatement","src":"2294:90:70"}]},"documentation":{"id":55947,"nodeType":"StructuredDocumentation","src":"1564:249:70","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1827:11:70","parameters":{"id":55955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55950,"mutability":"mutable","name":"token","nameLocation":"1846:5:70","nodeType":"VariableDeclaration","scope":55990,"src":"1839:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":55949,"nodeType":"UserDefinedTypeName","pathNode":{"id":55948,"name":"IERC20","nameLocations":["1839:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"1839:6:70"},"referencedDeclaration":55825,"src":"1839:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":55952,"mutability":"mutable","name":"spender","nameLocation":"1861:7:70","nodeType":"VariableDeclaration","scope":55990,"src":"1853:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55951,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55954,"mutability":"mutable","name":"value","nameLocation":"1878:5:70","nodeType":"VariableDeclaration","scope":55990,"src":"1870:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55953,"name":"uint256","nodeType":"ElementaryTypeName","src":"1870:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:46:70"},"returnParameters":{"id":55956,"nodeType":"ParameterList","parameters":[],"src":"1894:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56027,"nodeType":"FunctionDefinition","src":"2582:280:70","nodes":[],"body":{"id":56026,"nodeType":"Block","src":"2668:194:70","nodes":[],"statements":[{"assignments":[56002],"declarations":[{"constant":false,"id":56002,"mutability":"mutable","name":"oldAllowance","nameLocation":"2686:12:70","nodeType":"VariableDeclaration","scope":56026,"src":"2678:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56001,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56011,"initialValue":{"arguments":[{"arguments":[{"id":56007,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2725:4:70","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}],"id":56006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2717:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56005,"name":"address","nodeType":"ElementaryTypeName","src":"2717:7:70","typeDescriptions":{}}},"id":56008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56009,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55996,"src":"2732:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56003,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55994,"src":"2701:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2707:9:70","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":55802,"src":"2701:15:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2678:62:70"},{"expression":{"arguments":[{"id":56013,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55994,"src":"2770:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56016,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55994,"src":"2800:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2806:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"2800:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:8:70","memberName":"selector","nodeType":"MemberAccess","src":"2800:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56019,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55996,"src":"2824:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56020,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56002,"src":"2833:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56021,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55998,"src":"2848:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2833:20:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56014,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2777:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56015,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2781:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2777:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:77:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56012,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"2750:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:105:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56025,"nodeType":"ExpressionStatement","src":"2750:105:70"}]},"documentation":{"id":55991,"nodeType":"StructuredDocumentation","src":"2397:180:70","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2591:21:70","parameters":{"id":55999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55994,"mutability":"mutable","name":"token","nameLocation":"2620:5:70","nodeType":"VariableDeclaration","scope":56027,"src":"2613:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":55993,"nodeType":"UserDefinedTypeName","pathNode":{"id":55992,"name":"IERC20","nameLocations":["2613:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"2613:6:70"},"referencedDeclaration":55825,"src":"2613:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":55996,"mutability":"mutable","name":"spender","nameLocation":"2635:7:70","nodeType":"VariableDeclaration","scope":56027,"src":"2627:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55995,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55998,"mutability":"mutable","name":"value","nameLocation":"2652:5:70","nodeType":"VariableDeclaration","scope":56027,"src":"2644:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55997,"name":"uint256","nodeType":"ElementaryTypeName","src":"2644:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2612:46:70"},"returnParameters":{"id":56000,"nodeType":"ParameterList","parameters":[],"src":"2668:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56072,"nodeType":"FunctionDefinition","src":"3053:407:70","nodes":[],"body":{"id":56071,"nodeType":"Block","src":"3139:321:70","nodes":[],"statements":[{"id":56070,"nodeType":"UncheckedBlock","src":"3149:305:70","statements":[{"assignments":[56039],"declarations":[{"constant":false,"id":56039,"mutability":"mutable","name":"oldAllowance","nameLocation":"3181:12:70","nodeType":"VariableDeclaration","scope":56070,"src":"3173:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56038,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56048,"initialValue":{"arguments":[{"arguments":[{"id":56044,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3220:4:70","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56262","typeString":"library SafeERC20"}],"id":56043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3212:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56042,"name":"address","nodeType":"ElementaryTypeName","src":"3212:7:70","typeDescriptions":{}}},"id":56045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56046,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56033,"src":"3227:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56040,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"3196:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3202:9:70","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":55802,"src":"3196:15:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3196:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3173:62:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56050,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56039,"src":"3257:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56051,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56035,"src":"3273:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3257:21:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3280:43:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":56049,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3249:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3249:75:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56055,"nodeType":"ExpressionStatement","src":"3249:75:70"},{"expression":{"arguments":[{"id":56057,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"3358:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56060,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"3388:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"3388:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3402:8:70","memberName":"selector","nodeType":"MemberAccess","src":"3388:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56063,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56033,"src":"3412:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56064,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56039,"src":"3421:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56065,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56035,"src":"3436:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3421:20:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3365:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3369:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3365:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:77:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56056,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"3338:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3338:105:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56069,"nodeType":"ExpressionStatement","src":"3338:105:70"}]}]},"documentation":{"id":56028,"nodeType":"StructuredDocumentation","src":"2868:180:70","text":" @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"3062:21:70","parameters":{"id":56036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56031,"mutability":"mutable","name":"token","nameLocation":"3091:5:70","nodeType":"VariableDeclaration","scope":56072,"src":"3084:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":56030,"nodeType":"UserDefinedTypeName","pathNode":{"id":56029,"name":"IERC20","nameLocations":["3084:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3084:6:70"},"referencedDeclaration":55825,"src":"3084:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56033,"mutability":"mutable","name":"spender","nameLocation":"3106:7:70","nodeType":"VariableDeclaration","scope":56072,"src":"3098:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56032,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56035,"mutability":"mutable","name":"value","nameLocation":"3123:5:70","nodeType":"VariableDeclaration","scope":56072,"src":"3115:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56034,"name":"uint256","nodeType":"ElementaryTypeName","src":"3115:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:46:70"},"returnParameters":{"id":56037,"nodeType":"ParameterList","parameters":[],"src":"3139:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56119,"nodeType":"FunctionDefinition","src":"3779:410:70","nodes":[],"body":{"id":56118,"nodeType":"Block","src":"3856:333:70","nodes":[],"statements":[{"assignments":[56084],"declarations":[{"constant":false,"id":56084,"mutability":"mutable","name":"approvalCall","nameLocation":"3879:12:70","nodeType":"VariableDeclaration","scope":56118,"src":"3866:25:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56083,"name":"bytes","nodeType":"ElementaryTypeName","src":"3866:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56093,"initialValue":{"arguments":[{"expression":{"expression":{"id":56087,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"3917:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3923:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"3917:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3931:8:70","memberName":"selector","nodeType":"MemberAccess","src":"3917:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56090,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56078,"src":"3941:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56091,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56080,"src":"3950:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56085,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3894:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3898:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3894:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:62:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3866:90:70"},{"condition":{"id":56098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3971:45:70","subExpression":{"arguments":[{"id":56095,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"3996:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"id":56096,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56084,"src":"4003:12:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56094,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56261,"src":"3972:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":56097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3972:44:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56117,"nodeType":"IfStatement","src":"3967:216:70","trueBody":{"id":56116,"nodeType":"Block","src":"4018:165:70","statements":[{"expression":{"arguments":[{"id":56100,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"4052:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56103,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"4082:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"id":56104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4088:7:70","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":55812,"src":"4082:13:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4096:8:70","memberName":"selector","nodeType":"MemberAccess","src":"4082:22:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56106,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56078,"src":"4106:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":56107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4115:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":56101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4059:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4063:18:70","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4059:22:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4059:58:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56099,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"4032:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4032:86:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56110,"nodeType":"ExpressionStatement","src":"4032:86:70"},{"expression":{"arguments":[{"id":56112,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"4152:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},{"id":56113,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56084,"src":"4159:12:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56111,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"4132:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$55825_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4132:40:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56115,"nodeType":"ExpressionStatement","src":"4132:40:70"}]}}]},"documentation":{"id":56073,"nodeType":"StructuredDocumentation","src":"3466:308:70","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Meant to be used with tokens that require the approval\n to be set to zero before setting it to a non-zero value, such as USDT."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"3788:12:70","parameters":{"id":56081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56076,"mutability":"mutable","name":"token","nameLocation":"3808:5:70","nodeType":"VariableDeclaration","scope":56119,"src":"3801:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":56075,"nodeType":"UserDefinedTypeName","pathNode":{"id":56074,"name":"IERC20","nameLocations":["3801:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"3801:6:70"},"referencedDeclaration":55825,"src":"3801:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56078,"mutability":"mutable","name":"spender","nameLocation":"3823:7:70","nodeType":"VariableDeclaration","scope":56119,"src":"3815:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56077,"name":"address","nodeType":"ElementaryTypeName","src":"3815:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56080,"mutability":"mutable","name":"value","nameLocation":"3840:5:70","nodeType":"VariableDeclaration","scope":56119,"src":"3832:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56079,"name":"uint256","nodeType":"ElementaryTypeName","src":"3832:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3800:46:70"},"returnParameters":{"id":56082,"nodeType":"ParameterList","parameters":[],"src":"3856:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56176,"nodeType":"FunctionDefinition","src":"4341:472:70","nodes":[],"body":{"id":56175,"nodeType":"Block","src":"4556:257:70","nodes":[],"statements":[{"assignments":[56141],"declarations":[{"constant":false,"id":56141,"mutability":"mutable","name":"nonceBefore","nameLocation":"4574:11:70","nodeType":"VariableDeclaration","scope":56175,"src":"4566:19:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56140,"name":"uint256","nodeType":"ElementaryTypeName","src":"4566:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56146,"initialValue":{"arguments":[{"id":56144,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56125,"src":"4601:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56142,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56123,"src":"4588:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"}},"id":56143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4594:6:70","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":55879,"src":"4588:12:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4588:19:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4566:41:70"},{"expression":{"arguments":[{"id":56150,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56125,"src":"4630:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56151,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56127,"src":"4637:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56152,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56129,"src":"4646:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56153,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56131,"src":"4653:8:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56154,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56133,"src":"4663:1:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56155,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56135,"src":"4666:1:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56156,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56137,"src":"4669:1:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56147,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56123,"src":"4617:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"}},"id":56149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4623:6:70","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":55871,"src":"4617:12:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":56157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:54:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56158,"nodeType":"ExpressionStatement","src":"4617:54:70"},{"assignments":[56160],"declarations":[{"constant":false,"id":56160,"mutability":"mutable","name":"nonceAfter","nameLocation":"4689:10:70","nodeType":"VariableDeclaration","scope":56175,"src":"4681:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56159,"name":"uint256","nodeType":"ElementaryTypeName","src":"4681:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56165,"initialValue":{"arguments":[{"id":56163,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56125,"src":"4715:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56161,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56123,"src":"4702:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"}},"id":56162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4708:6:70","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":55879,"src":"4702:12:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4702:19:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4681:40:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56167,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56160,"src":"4739:10:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56168,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56141,"src":"4753:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":56169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4767:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4753:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4739:29:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":56172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4770:35:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":56166,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4731:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4731:75:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56174,"nodeType":"ExpressionStatement","src":"4731:75:70"}]},"documentation":{"id":56120,"nodeType":"StructuredDocumentation","src":"4195:141:70","text":" @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`.\n Revert on invalid signature."},"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"4350:10:70","parameters":{"id":56138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56123,"mutability":"mutable","name":"token","nameLocation":"4383:5:70","nodeType":"VariableDeclaration","scope":56176,"src":"4370:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"},"typeName":{"id":56122,"nodeType":"UserDefinedTypeName","pathNode":{"id":56121,"name":"IERC20Permit","nameLocations":["4370:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":55886,"src":"4370:12:70"},"referencedDeclaration":55886,"src":"4370:12:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$55886","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":56125,"mutability":"mutable","name":"owner","nameLocation":"4406:5:70","nodeType":"VariableDeclaration","scope":56176,"src":"4398:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56124,"name":"address","nodeType":"ElementaryTypeName","src":"4398:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56127,"mutability":"mutable","name":"spender","nameLocation":"4429:7:70","nodeType":"VariableDeclaration","scope":56176,"src":"4421:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56126,"name":"address","nodeType":"ElementaryTypeName","src":"4421:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56129,"mutability":"mutable","name":"value","nameLocation":"4454:5:70","nodeType":"VariableDeclaration","scope":56176,"src":"4446:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56128,"name":"uint256","nodeType":"ElementaryTypeName","src":"4446:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56131,"mutability":"mutable","name":"deadline","nameLocation":"4477:8:70","nodeType":"VariableDeclaration","scope":56176,"src":"4469:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56130,"name":"uint256","nodeType":"ElementaryTypeName","src":"4469:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56133,"mutability":"mutable","name":"v","nameLocation":"4501:1:70","nodeType":"VariableDeclaration","scope":56176,"src":"4495:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56132,"name":"uint8","nodeType":"ElementaryTypeName","src":"4495:5:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56135,"mutability":"mutable","name":"r","nameLocation":"4520:1:70","nodeType":"VariableDeclaration","scope":56176,"src":"4512:9:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4512:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56137,"mutability":"mutable","name":"s","nameLocation":"4539:1:70","nodeType":"VariableDeclaration","scope":56176,"src":"4531:9:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4531:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4360:186:70"},"returnParameters":{"id":56139,"nodeType":"ParameterList","parameters":[],"src":"4556:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56213,"nodeType":"FunctionDefinition","src":"5196:642:70","nodes":[],"body":{"id":56212,"nodeType":"Block","src":"5266:572:70","nodes":[],"statements":[{"assignments":[56186],"declarations":[{"constant":false,"id":56186,"mutability":"mutable","name":"returndata","nameLocation":"5628:10:70","nodeType":"VariableDeclaration","scope":56212,"src":"5615:23:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56185,"name":"bytes","nodeType":"ElementaryTypeName","src":"5615:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56195,"initialValue":{"arguments":[{"id":56192,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56182,"src":"5669:4:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":56193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5675:34:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":56189,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56180,"src":"5649:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":56188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5641:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56187,"name":"address","nodeType":"ElementaryTypeName","src":"5641:7:70","typeDescriptions":{}}},"id":56190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5641:14:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5656:12:70","memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":56397,"src":"5641:27:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":56194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5641:69:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5615:95:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56197,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56186,"src":"5728:10:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5739:6:70","memberName":"length","nodeType":"MemberAccess","src":"5728:17:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5749:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5728:22:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56203,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56186,"src":"5765:10:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5778:4:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56204,"name":"bool","nodeType":"ElementaryTypeName","src":"5778:4:70","typeDescriptions":{}}}],"id":56206,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5777:6:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56201,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5754:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5758:6:70","memberName":"decode","nodeType":"MemberAccess","src":"5754:10:70","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5754:30:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5728:56:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":56209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5786:44:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":56196,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5720:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5720:111:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56211,"nodeType":"ExpressionStatement","src":"5720:111:70"}]},"documentation":{"id":56177,"nodeType":"StructuredDocumentation","src":"4819:372:70","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"5205:19:70","parameters":{"id":56183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56180,"mutability":"mutable","name":"token","nameLocation":"5232:5:70","nodeType":"VariableDeclaration","scope":56213,"src":"5225:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":56179,"nodeType":"UserDefinedTypeName","pathNode":{"id":56178,"name":"IERC20","nameLocations":["5225:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"5225:6:70"},"referencedDeclaration":55825,"src":"5225:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56182,"mutability":"mutable","name":"data","nameLocation":"5252:4:70","nodeType":"VariableDeclaration","scope":56213,"src":"5239:17:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56181,"name":"bytes","nodeType":"ElementaryTypeName","src":"5239:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5224:33:70"},"returnParameters":{"id":56184,"nodeType":"ParameterList","parameters":[],"src":"5266:0:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":56261,"nodeType":"FunctionDefinition","src":"6339:594:70","nodes":[],"body":{"id":56260,"nodeType":"Block","src":"6428:505:70","nodes":[],"statements":[{"assignments":[56225,56227],"declarations":[{"constant":false,"id":56225,"mutability":"mutable","name":"success","nameLocation":"6729:7:70","nodeType":"VariableDeclaration","scope":56260,"src":"6724:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56224,"name":"bool","nodeType":"ElementaryTypeName","src":"6724:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56227,"mutability":"mutable","name":"returndata","nameLocation":"6751:10:70","nodeType":"VariableDeclaration","scope":56260,"src":"6738:23:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56226,"name":"bytes","nodeType":"ElementaryTypeName","src":"6738:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56235,"initialValue":{"arguments":[{"id":56233,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56219,"src":"6785:4:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":56230,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"6773:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":56229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6765:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56228,"name":"address","nodeType":"ElementaryTypeName","src":"6765:7:70","typeDescriptions":{}}},"id":56231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6765:14:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6780:4:70","memberName":"call","nodeType":"MemberAccess","src":"6765:19:70","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":56234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6765:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6723:67:70"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56236,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56225,"src":"6819:7:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56237,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56227,"src":"6831:10:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6842:6:70","memberName":"length","nodeType":"MemberAccess","src":"6831:17:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6852:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6831:22:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56243,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56227,"src":"6868:10:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6881:4:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56244,"name":"bool","nodeType":"ElementaryTypeName","src":"6881:4:70","typeDescriptions":{}}}],"id":56246,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6880:6:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6857:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6861:6:70","memberName":"decode","nodeType":"MemberAccess","src":"6857:10:70","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6857:30:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6831:56:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56249,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6830:58:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6819:69:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":56255,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56217,"src":"6919:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}],"id":56254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6911:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56253,"name":"address","nodeType":"ElementaryTypeName","src":"6911:7:70","typeDescriptions":{}}},"id":56256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6911:14:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56251,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56637,"src":"6892:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$56637_$","typeString":"type(library Address)"}},"id":56252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6900:10:70","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":56325,"src":"6892:18:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":56257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6892:34:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6819:107:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":56223,"id":56259,"nodeType":"Return","src":"6800:126:70"}]},"documentation":{"id":56214,"nodeType":"StructuredDocumentation","src":"5844:490:70","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"6348:23:70","parameters":{"id":56220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56217,"mutability":"mutable","name":"token","nameLocation":"6379:5:70","nodeType":"VariableDeclaration","scope":56261,"src":"6372:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"},"typeName":{"id":56216,"nodeType":"UserDefinedTypeName","pathNode":{"id":56215,"name":"IERC20","nameLocations":["6372:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":55825,"src":"6372:6:70"},"referencedDeclaration":55825,"src":"6372:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$55825","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56219,"mutability":"mutable","name":"data","nameLocation":"6399:4:70","nodeType":"VariableDeclaration","scope":56261,"src":"6386:17:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56218,"name":"bytes","nodeType":"ElementaryTypeName","src":"6386:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6371:33:70"},"returnParameters":{"id":56223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56261,"src":"6422:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56221,"name":"bool","nodeType":"ElementaryTypeName","src":"6422:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6421:6:70"},"scope":56262,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":55892,"nodeType":"StructuredDocumentation","src":"243:457:70","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[56262],"name":"SafeERC20","nameLocation":"709:9:70","scope":56263,"usedErrors":[]}],"license":"MIT"},"id":70} \ No newline at end of file diff --git a/pkg/contracts/out/TERC20.sol/TERC20.json b/pkg/contracts/out/TERC20.sol/TERC20.json new file mode 100644 index 000000000..3bf6bd801 --- /dev/null +++ b/pkg/contracts/out/TERC20.sol/TERC20.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x6080604052346200033a5762000f9d803803806200001d816200033f565b9283398101906060818303126200033a5780516001600160401b03908181116200033a57836200004f91840162000365565b90602093848401518281116200033a576040916200006f91860162000365565b9301519260ff84168094036200033a57825190828211620003245760008054926001958685811c9516801562000319575b8986101462000305578190601f95868111620002b2575b5089908683116001146200024e57849262000242575b5050600019600383901b1c191690861b1781555b81519384116200022e5784548581811c9116801562000223575b888210146200020f57838111620001c7575b5086928411600114620001615783949596509262000155575b5050600019600383901b1c191690821b1790555b60ff196002541617600255604051610bc59081620003d88239f35b01519050388062000126565b9190601f1984169685845280842093905b888210620001af575050838596971062000195575b505050811b0190556200013a565b015160001960f88460031b161c1916905538808062000187565b80878596829496860151815501950193019062000172565b8582528782208480870160051c8201928a881062000205575b0160051c019086905b828110620001f95750506200010d565b838155018690620001e9565b92508192620001e0565b634e487b7160e01b82526022600452602482fd5b90607f1690620000fb565b634e487b7160e01b81526041600452602490fd5b015190503880620000cd565b8480528a85208994509190601f198416865b8d8282106200029b575050841162000281575b505050811b018155620000e1565b015160001960f88460031b161c1916905538808062000273565b8385015186558c9790950194938401930162000260565b9091508380528984208680850160051c8201928c8610620002fb575b918a91869594930160051c01915b828110620002ec575050620000b7565b8681558594508a9101620002dc565b92508192620002ce565b634e487b7160e01b83526022600452602483fd5b94607f1694620000a0565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200032457604052565b919080601f840112156200033a5782516001600160401b03811162000324576020906200039b601f8201601f191683016200033f565b928184528282870101116200033a5760005b818110620003c357508260009394955001015290565b8581018301518482018401528201620003ad56fe60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220ec3382a0ff5cecbd595cbf11800f290744df2e2144065db3db76d25f3d8a66a964736f6c63430008130033","sourceMap":"290:2058:115:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2058:115;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;290:2058:115;;;;;;;;;;;;;;;;541:21;290:2058;;;541:21;290:2058;;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:115;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:115;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;-1:-1:-1;;290:2058:115;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;;;;;;-1:-1:-1;;;290:2058:115;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;-1:-1:-1;290:2058:115;;-1:-1:-1;290:2058:115;;;;;;;;;-1:-1:-1;;290:2058:115;;;-1:-1:-1;;;;;290:2058:115;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;290:2058:115;;;;;;;;;;-1:-1:-1;;290:2058:115;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040908082526004908136101561001757600080fd5b600092833560e01c91826306fdde031461089a57508163095ea7b31461084257816318160ddd1461081b57816323b872dd14610761578163313ce5671461073f5781633644e5151461071b57816339509351146106a457816340c10f191461062357816370a08231146105ef5781637ecebe00146105bb57816395d89b41146104b85781639dc29fac14610438578163a457c2d7146103c0578163a9059cbb1461033c578163d30ed3b3146102de578163d505accf146101af578163dd62ed3e14610171575063f83d1791146100ec57600080fd5b3461016d576100fa366109cd565b919290925a60a01b17925a60a01b17906387a211a28460601b17600c526020600c20908154908185116101625750839003905583526020600c20818154019055602052600c5160601c9060018060a01b0316600080516020610b50833981519152602080a380f35b63f4d678b88752601cfd5b5080fd5b83903461016d578060031936011261016d5760209161018e61099c565b906101976109b7565b8452637f5e9f20600c52526034600c20549051908152f35b8391503461016d5760e036600319011261016d576101cb61099c565b906101d46109b7565b90604435606435906084359260ff841684036102da576101f2610a02565b938151968442116102ce5760c09060018060a01b038091169716976338377508600c52878a5260209687600c20968754976001890190557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835289898401528a868401526060830197878952608084015260a08301526119018b5287522082526042601e20885260ff16845260a435815260c435606052838060808960015afa50843d51036102c2576303faf4f960a51b861790526034602c2055600080516020610b708339815191529190a380f35b8763ddafbaef8852601cfd5b89631a15a3cc8a52601cfd5b8680fd5b50503461016d576102ee366109cd565b91905a905a60a01b17602052637f5e9f20600c5260a01b1783526034600c2091825490600019820361031e578480f35b8183116103315750039055388080808480f35b6313be252b8552601cfd5b905082346103bd57816003193601126103bd5761035761099c565b90602435915a60a01b17906387a211a2600c5233815260209485600c20908154908186116103b2575084900390555282600c208181540190558252600c5160601c33600080516020610b508339815191528480a35160018152f35b63f4d678b88452601cfd5b80fd5b905082346103bd57816003193601126103bd576103db61099c565b602435905a60a01b17602052637f5e9f20600c523382526034600c2090815481811061042c5760209550038091558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b85638301ab388552601cfd5b8391503461016d573660031901126103bd5761045261099c565b602435905a60a01b17906387a211a2600c528183526020600c208054948583116104ad57508184950390556805345cdf77eb68f44c818154039055825260018060a01b0316600080516020610b50833981519152602083a380f35b63f4d678b88552601cfd5b8391503461016d578160031936011261016d5780519082600180549081811c908083169283156105b1575b602093848410811461059e57838852908115610582575060011461054a575b505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b0390f35b634e487b7160e01b815260418552602490fd5b809293508652828620918387935b83851061056e5750505050830101858080610502565b805488860183015293019284908201610558565b60ff1916878501525050151560051b8401019050858080610502565b634e487b7160e01b895260228a52602489fd5b91607f16916104e3565b83903461016d57602036600319011261016d576020916105d961099c565b906338377508600c525281600c20549051908152f35b83903461016d57602036600319011261016d5760209161060d61099c565b906387a211a2600c525281600c20549051908152f35b9050346106a05736600319011261016d5761063c61099c565b90602435915a60a01b17906805345cdf77eb68f44c8054918483019283106106955750556387a211a2600c5282526020600c20818154019055602052600c5160601c81600080516020610b50833981519152602080a380f35b63e5cfe9578652601cfd5b8280fd5b905082346103bd57816003193601126103bd576106bf61099c565b5a60a01b17602052637f5e9f20600c523381526034600c20928354906024358201918210610710575080602094558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b63f90670668352601cfd5b83903461016d578160031936011261016d57602090610738610a02565b9051908152f35b83903461016d578160031936011261016d5760209060ff600254169051908152f35b905082346103bd57610772366109cd565b9092915a60a01b17925a60a01b178360601b92602096338852600c94637f5e9f208117865260348620805460001981036107f8575b50506387a211a2178552878520908154908186116103b2575084900390555284822080548201905584525160601c906001600160a01b0316600080516020610b508339815191528480a35160018152f35b80871161080f5786900390556387a211a28a6107a7565b836313be252b8652601cfd5b83903461016d578160031936011261016d576020906805345cdf77eb68f44c549051908152f35b83903461016d578060031936011261016d5760209161085f61099c565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c90600080516020610b70833981519152843392a35160018152f35b90849250346106a057826003193601126106a057828354600181811c90808316928315610949575b602093848410811461059e57838852908115610582575060011461091157505050829003601f01601f19168201926001600160401b038411838510176105375750829182610533925282610953565b919250858052828620918387935b8385106109355750505050830101858080610502565b80548886018301529301928490820161091f565b91607f16916108c2565b6020808252825181830181905290939260005b82811061098857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610966565b600435906001600160a01b03821682036109b257565b600080fd5b602435906001600160a01b03821682036109b257565b60609060031901126109b2576001600160a01b039060043582811681036109b2579160243590811681036109b2579060443590565b60405160009081549160019280841c848216948515610b45575b6020928383108714610b315782865283860196908115610b175750600114610adc575b505050819003601f01601f19168101916001600160401b03831182841017610ac65760a09260405281518120907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660408201524660608201523060808201522090565b634e487b7160e01b600052604160045260246000fd5b919250600080528260002091836000935b838510610b035750505050820101388080610a3f565b805487860183015293019284908201610aed565b60ff191687525050151560051b8301019050388080610a3f565b634e487b7160e01b85526022600452602485fd5b90607f1690610a1c56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220ec3382a0ff5cecbd595cbf11800f290744df2e2144065db3db76d25f3d8a66a964736f6c63430008130033","sourceMap":"290:2058:115:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934:13;290:2058:115;11081:1934:13;;;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2259:81;;;;;;;;;;;;;21786:1164:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11081:1934;290:2058:115;11081:1934:13;;;;21786:1164;-1:-1:-1;;;;;;;;;;;21786:1164:13;;;290:2058:115;;21786:1164:13;;;;;;290:2058:115;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;5674:184:13;;;;;;;;;;290:2058:115;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:115;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;14252:18:13;;:::i;:::-;14323:2708;;;;;;;;;290:2058:115;11081:1934:13;290:2058:115;11081:1934:13;;;;14323:2708;;;;;;;;;;;;290:2058:115;14323:2708:13;;;;;;;;290:2058:115;14323:2708:13;;;;;;;;;;;;;;;;;290:2058:115;14323:2708:13;;;;;;290:2058:115;14323:2708:13;;;11081:1934;14323:2708;;;;;;;;;;;;;;;;290:2058:115;14323:2708:13;;;290:2058:115;;14323:2708:13;;290:2058:115;;;14323:2708:13;;;290:2058:115;14323:2708:13;290:2058:115;14323:2708:13;;;;;;;;;-1:-1:-1;;;14323:2708:13;;;;;;;;-1:-1:-1;;;;;;;;;;;14323:2708:13;;;290:2058:115;;14323:2708:13;;;;;;;;;;;;;;290:2058:115;;;;;;;;;;;;;:::i;:::-;2259:81;;;;;;;;23520:810:13;;;;;2259:81:115;;;23520:810:13;;;;;;;;11081:1934;;;23520:810;;;;290:2058:115;;;23520:810:13;;;;;;;;;;;;;;290:2058:115;;;23520:810:13;;;;;;290:2058:115;;;;;;;;;;;;;;;;;:::i;:::-;;;;2259:81;;;;;9295:1143:13;;;;;;;290:2058:115;9295:1143:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9295:1143:13;;;290:2058:115;;;;;9295:1143:13;;;;;;290:2058:115;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2259:81;;;;;290:2058;8037:861:13;;;;;;;;;;;;;;;;;;290:2058:115;8037:861:13;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8037:861:13;;;;290:2058:115;;;;;8037:861:13;;;;;;;290:2058:115;;;;;;;;-1:-1:-1;;290:2058:115;;;;;;:::i;:::-;;;2259:81;;;;;20311:887:13;;;;;;;290:2058:115;20311:887:13;;;;;;;;;;;;;;;;;;;;;;;;;;290:2058:115;11081:1934:13;;;;20311:887;-1:-1:-1;;;;;;;;;;;290:2058:115;20311:887:13;;290:2058:115;;20311:887:13;;;;;;290:2058:115;;;;;;;;;;;;;;;;;;;767:7;290:2058;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:115;;;;;-1:-1:-1;;290:2058:115;;;;-1:-1:-1;;;;;290:2058:115;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:115;;;;;-1:-1:-1;;290:2058:115;;;;;;;;-1:-1:-1;290:2058:115;;;;;;-1:-1:-1;;;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:115;;;;;;;;:::i;:::-;13632:205:13;;;;;;;;;290:2058:115;;;;;;;;;;;;;;-1:-1:-1;;290:2058:115;;;;;;;;:::i;:::-;5240:148:13;;;;;;;;;290:2058:115;;;;;;;;;;;;;-1:-1:-1;;290:2058:115;;;;;;:::i;:::-;;;;2259:81;;;;;18729:946:13;;;;;;;;;;;;;;;;;;;;290:2058:115;18729:946:13;;;;;;;;290:2058:115;18729:946:13;;;;;;-1:-1:-1;;;;;;;;;;;290:2058:115;18729:946:13;;290:2058:115;;18729:946:13;;;;;;290:2058:115;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2259:81;;;;290:2058;6847:884:13;;;;;;;;;;;;;290:2058:115;;;6847:884:13;;;;;;;;;290:2058:115;6847:884:13;;;;;;;;;-1:-1:-1;;;;;;;;;;;6847:884:13;;;;290:2058:115;;;;;6847:884:13;;;;;;290:2058:115;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;869:9;290:2058;;;;;;;;;;;;;;;;;;:::i;:::-;2259:81;;;;;;;;;;;;11081:1934:13;;;;;;;;;;;;;;;;;;;;;;;;;;;290:2058:115;11081:1934:13;;;;;;;;;;;;;;;;;;-1:-1:-1;11081:1934:13;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11081:1934:13;-1:-1:-1;;;;;;;;;;;11081:1934:13;;;290:2058:115;;;;;11081:1934:13;;;;;;;;;;;;;;;;;;;;;;290:2058:115;;;;;;;;;;;;;;;4968:68:13;;;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;6128:413:13;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6128:413:13;;;;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:115;;;;;-1:-1:-1;;290:2058:115;;;;-1:-1:-1;;;;;290:2058:115;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;290:2058:115;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;290:2058:115;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;11081:1934:13;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;:::o;17096:1062:13:-;17222:87;;661:5:115;290:2058;;;;;;;;;;;;;;;;;17096:1062:13;290:2058:115;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;290:2058:115;;;;;-1:-1:-1;;290:2058:115;;;;-1:-1:-1;;;;;290:2058:115;;;;;;;;17508:644:13;290:2058:115;17222:87:13;290:2058:115;;;17431:24:13;;17508:644;;;;;;17222:87;17508:644;;;;;;;;;;;;;;17096:1062;:::o;290:2058:115:-;;;;661:5;290:2058;;;;;661:5;290:2058;;;;;661:5;290:2058;;;661:5;290:2058;;;661:5;290:2058;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;290:2058:115;;;-1:-1:-1;;290:2058:115;;;;;;;;-1:-1:-1;290:2058:115;;;;;;-1:-1:-1;;;290:2058:115;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/shared/TERC20.sol\":\"TERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/test/shared/TERC20.sol\":{\"keccak256\":\"0xa2faa9aef871b8b542b2e66a356d96b7cd1b45e3e58bec5c4f3da100445b36ed\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://86b8a44cbe5cddef50d39cdc95d14ffc879ecbce145414c8953fd06bdf6c548e\",\"dweb:/ipfs/Qmbw6p2C7RuH1JuSLeNPW7AoGbMxxxvFz7qvd8WCjaMtHr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/shared/TERC20.sol":"TERC20"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/test/shared/TERC20.sol":{"keccak256":"0xa2faa9aef871b8b542b2e66a356d96b7cd1b45e3e58bec5c4f3da100445b36ed","urls":["bzz-raw://86b8a44cbe5cddef50d39cdc95d14ffc879ecbce145414c8953fd06bdf6c548e","dweb:/ipfs/Qmbw6p2C7RuH1JuSLeNPW7AoGbMxxxvFz7qvd8WCjaMtHr"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":76086,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":76088,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":76090,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/test/shared/TERC20.sol","id":76301,"exportedSymbols":{"ERC20":[4491],"TERC20":[76300]},"nodeType":"SourceUnit","src":"42:2307:115","nodes":[{"id":76079,"nodeType":"PragmaDirective","src":"42:24:115","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76081,"nodeType":"ImportDirective","src":"68:50:115","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":76301,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":76080,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"76:5:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76300,"nodeType":"ContractDefinition","src":"290:2058:115","nodes":[{"id":76086,"nodeType":"VariableDeclaration","src":"321:21:115","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"337:5:115","scope":76300,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":76085,"name":"string","nodeType":"ElementaryTypeName","src":"321:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":76088,"nodeType":"VariableDeclaration","src":"348:23:115","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"364:7:115","scope":76300,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":76087,"name":"string","nodeType":"ElementaryTypeName","src":"348:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":76090,"nodeType":"VariableDeclaration","src":"377:24:115","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"392:9:115","scope":76300,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":76089,"name":"uint8","nodeType":"ElementaryTypeName","src":"377:5:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":76112,"nodeType":"FunctionDefinition","src":"408:161:115","nodes":[],"body":{"id":76111,"nodeType":"Block","src":"481:88:115","nodes":[],"statements":[{"expression":{"id":76101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76099,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76086,"src":"491:5:115","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76100,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76092,"src":"499:5:115","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"491:13:115","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":76102,"nodeType":"ExpressionStatement","src":"491:13:115"},{"expression":{"id":76105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76103,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76088,"src":"514:7:115","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76104,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76094,"src":"524:7:115","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"514:17:115","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":76106,"nodeType":"ExpressionStatement","src":"514:17:115"},{"expression":{"id":76109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76107,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76090,"src":"541:9:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76108,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76096,"src":"553:9:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"541:21:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":76110,"nodeType":"ExpressionStatement","src":"541:21:115"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":76097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76092,"mutability":"mutable","name":"name_","nameLocation":"434:5:115","nodeType":"VariableDeclaration","scope":76112,"src":"420:19:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":76091,"name":"string","nodeType":"ElementaryTypeName","src":"420:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":76094,"mutability":"mutable","name":"symbol_","nameLocation":"455:7:115","nodeType":"VariableDeclaration","scope":76112,"src":"441:21:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":76093,"name":"string","nodeType":"ElementaryTypeName","src":"441:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":76096,"mutability":"mutable","name":"decimals_","nameLocation":"470:9:115","nodeType":"VariableDeclaration","scope":76112,"src":"464:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":76095,"name":"uint8","nodeType":"ElementaryTypeName","src":"464:5:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"419:61:115"},"returnParameters":{"id":76098,"nodeType":"ParameterList","parameters":[],"src":"481:0:115"},"scope":76300,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":76121,"nodeType":"FunctionDefinition","src":"575:98:115","nodes":[],"body":{"id":76120,"nodeType":"Block","src":"644:29:115","nodes":[],"statements":[{"expression":{"id":76118,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76086,"src":"661:5:115","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":76117,"id":76119,"nodeType":"Return","src":"654:12:115"}]},"baseFunctions":[4167],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"584:4:115","overrides":{"id":76114,"nodeType":"OverrideSpecifier","overrides":[],"src":"611:8:115"},"parameters":{"id":76113,"nodeType":"ParameterList","parameters":[],"src":"588:2:115"},"returnParameters":{"id":76117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76121,"src":"629:13:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":76115,"name":"string","nodeType":"ElementaryTypeName","src":"629:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"628:15:115"},"scope":76300,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":76130,"nodeType":"FunctionDefinition","src":"679:102:115","nodes":[],"body":{"id":76129,"nodeType":"Block","src":"750:31:115","nodes":[],"statements":[{"expression":{"id":76127,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76088,"src":"767:7:115","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":76126,"id":76128,"nodeType":"Return","src":"760:14:115"}]},"baseFunctions":[4173],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"688:6:115","overrides":{"id":76123,"nodeType":"OverrideSpecifier","overrides":[],"src":"717:8:115"},"parameters":{"id":76122,"nodeType":"ParameterList","parameters":[],"src":"694:2:115"},"returnParameters":{"id":76126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76125,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76130,"src":"735:13:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":76124,"name":"string","nodeType":"ElementaryTypeName","src":"735:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"734:15:115"},"scope":76300,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":76139,"nodeType":"FunctionDefinition","src":"787:98:115","nodes":[],"body":{"id":76138,"nodeType":"Block","src":"852:33:115","nodes":[],"statements":[{"expression":{"id":76136,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76090,"src":"869:9:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":76135,"id":76137,"nodeType":"Return","src":"862:16:115"}]},"baseFunctions":[4182],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"796:8:115","overrides":{"id":76132,"nodeType":"OverrideSpecifier","overrides":[],"src":"827:8:115"},"parameters":{"id":76131,"nodeType":"ParameterList","parameters":[],"src":"804:2:115"},"returnParameters":{"id":76135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76139,"src":"845:5:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":76133,"name":"uint8","nodeType":"ElementaryTypeName","src":"845:5:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"844:7:115"},"scope":76300,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":76154,"nodeType":"FunctionDefinition","src":"891:102:115","nodes":[],"body":{"id":76153,"nodeType":"Block","src":"947:46:115","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":76148,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76141,"src":"975:2:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76147,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"963:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"963:15:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76150,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76143,"src":"980:5:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76146,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"957:5:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":76151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"957:29:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76152,"nodeType":"ExpressionStatement","src":"957:29:115"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"900:4:115","parameters":{"id":76144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76141,"mutability":"mutable","name":"to","nameLocation":"913:2:115","nodeType":"VariableDeclaration","scope":76154,"src":"905:10:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76140,"name":"address","nodeType":"ElementaryTypeName","src":"905:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76143,"mutability":"mutable","name":"value","nameLocation":"925:5:115","nodeType":"VariableDeclaration","scope":76154,"src":"917:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76142,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"904:27:115"},"returnParameters":{"id":76145,"nodeType":"ParameterList","parameters":[],"src":"947:0:115"},"scope":76300,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":76169,"nodeType":"FunctionDefinition","src":"999:106:115","nodes":[],"body":{"id":76168,"nodeType":"Block","src":"1057:48:115","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":76163,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76156,"src":"1085:4:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76162,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"1073:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1073:17:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76165,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76158,"src":"1092:5:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76161,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"1067:5:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":76166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1067:31:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76167,"nodeType":"ExpressionStatement","src":"1067:31:115"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1008:4:115","parameters":{"id":76159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76156,"mutability":"mutable","name":"from","nameLocation":"1021:4:115","nodeType":"VariableDeclaration","scope":76169,"src":"1013:12:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76155,"name":"address","nodeType":"ElementaryTypeName","src":"1013:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76158,"mutability":"mutable","name":"value","nameLocation":"1035:5:115","nodeType":"VariableDeclaration","scope":76169,"src":"1027:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76157,"name":"uint256","nodeType":"ElementaryTypeName","src":"1027:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1012:29:115"},"returnParameters":{"id":76160,"nodeType":"ParameterList","parameters":[],"src":"1057:0:115"},"scope":76300,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":76189,"nodeType":"FunctionDefinition","src":"1111:151:115","nodes":[],"body":{"id":76188,"nodeType":"Block","src":"1192:70:115","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":76180,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76171,"src":"1224:4:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76179,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"1212:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:17:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":76183,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76173,"src":"1243:2:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76182,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"1231:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1231:15:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76185,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76175,"src":"1248:6:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76178,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4444,"src":"1202:9:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":76186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1202:53:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76187,"nodeType":"ExpressionStatement","src":"1202:53:115"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1120:14:115","parameters":{"id":76176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76171,"mutability":"mutable","name":"from","nameLocation":"1143:4:115","nodeType":"VariableDeclaration","scope":76189,"src":"1135:12:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76170,"name":"address","nodeType":"ElementaryTypeName","src":"1135:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76173,"mutability":"mutable","name":"to","nameLocation":"1157:2:115","nodeType":"VariableDeclaration","scope":76189,"src":"1149:10:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76172,"name":"address","nodeType":"ElementaryTypeName","src":"1149:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76175,"mutability":"mutable","name":"amount","nameLocation":"1169:6:115","nodeType":"VariableDeclaration","scope":76189,"src":"1161:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76174,"name":"uint256","nodeType":"ElementaryTypeName","src":"1161:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1134:42:115"},"returnParameters":{"id":76177,"nodeType":"ParameterList","parameters":[],"src":"1192:0:115"},"scope":76300,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":76209,"nodeType":"FunctionDefinition","src":"1268:175:115","nodes":[],"body":{"id":76208,"nodeType":"Block","src":"1361:82:115","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":76200,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76191,"src":"1399:5:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76199,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"1387:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1387:18:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":76203,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76193,"src":"1419:7:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76202,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"1407:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1407:20:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76205,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76195,"src":"1429:6:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76198,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4456,"src":"1371:15:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":76206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1371:65:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76207,"nodeType":"ExpressionStatement","src":"1371:65:115"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1277:20:115","parameters":{"id":76196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76191,"mutability":"mutable","name":"owner","nameLocation":"1306:5:115","nodeType":"VariableDeclaration","scope":76209,"src":"1298:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76190,"name":"address","nodeType":"ElementaryTypeName","src":"1298:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76193,"mutability":"mutable","name":"spender","nameLocation":"1321:7:115","nodeType":"VariableDeclaration","scope":76209,"src":"1313:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76192,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76195,"mutability":"mutable","name":"amount","nameLocation":"1338:6:115","nodeType":"VariableDeclaration","scope":76209,"src":"1330:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76194,"name":"uint256","nodeType":"ElementaryTypeName","src":"1330:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1297:48:115"},"returnParameters":{"id":76197,"nodeType":"ParameterList","parameters":[],"src":"1361:0:115"},"scope":76300,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":76228,"nodeType":"FunctionDefinition","src":"1449:148:115","nodes":[],"body":{"id":76227,"nodeType":"Block","src":"1534:63:115","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":76222,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76211,"src":"1578:2:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76221,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"1566:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1566:15:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76224,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76213,"src":"1583:6:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76219,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1551:5:115","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$76300_$","typeString":"type(contract super TERC20)"}},"id":76220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1557:8:115","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1551:14:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":76225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1551:39:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76218,"id":76226,"nodeType":"Return","src":"1544:46:115"}]},"baseFunctions":[4282],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1458:8:115","overrides":{"id":76215,"nodeType":"OverrideSpecifier","overrides":[],"src":"1510:8:115"},"parameters":{"id":76214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76211,"mutability":"mutable","name":"to","nameLocation":"1475:2:115","nodeType":"VariableDeclaration","scope":76228,"src":"1467:10:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76210,"name":"address","nodeType":"ElementaryTypeName","src":"1467:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76213,"mutability":"mutable","name":"amount","nameLocation":"1487:6:115","nodeType":"VariableDeclaration","scope":76228,"src":"1479:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76212,"name":"uint256","nodeType":"ElementaryTypeName","src":"1479:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1466:28:115"},"returnParameters":{"id":76218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76228,"src":"1528:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76216,"name":"bool","nodeType":"ElementaryTypeName","src":"1528:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1527:6:115"},"scope":76300,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":76252,"nodeType":"FunctionDefinition","src":"1603:189:115","nodes":[],"body":{"id":76251,"nodeType":"Block","src":"1706:86:115","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":76243,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76230,"src":"1754:4:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76242,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"1742:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1742:17:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":76246,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76232,"src":"1773:2:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76245,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"1761:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1761:15:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76248,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76234,"src":"1778:6:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76240,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1723:5:115","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$76300_$","typeString":"type(contract super TERC20)"}},"id":76241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1729:12:115","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4310,"src":"1723:18:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":76249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1723:62:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76239,"id":76250,"nodeType":"Return","src":"1716:69:115"}]},"baseFunctions":[4310],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1612:12:115","overrides":{"id":76236,"nodeType":"OverrideSpecifier","overrides":[],"src":"1682:8:115"},"parameters":{"id":76235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76230,"mutability":"mutable","name":"from","nameLocation":"1633:4:115","nodeType":"VariableDeclaration","scope":76252,"src":"1625:12:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76229,"name":"address","nodeType":"ElementaryTypeName","src":"1625:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76232,"mutability":"mutable","name":"to","nameLocation":"1647:2:115","nodeType":"VariableDeclaration","scope":76252,"src":"1639:10:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76231,"name":"address","nodeType":"ElementaryTypeName","src":"1639:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76234,"mutability":"mutable","name":"amount","nameLocation":"1659:6:115","nodeType":"VariableDeclaration","scope":76252,"src":"1651:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76233,"name":"uint256","nodeType":"ElementaryTypeName","src":"1651:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1624:42:115"},"returnParameters":{"id":76239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76252,"src":"1700:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76237,"name":"bool","nodeType":"ElementaryTypeName","src":"1700:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1699:6:115"},"scope":76300,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":76271,"nodeType":"FunctionDefinition","src":"1798:184:115","nodes":[],"body":{"id":76270,"nodeType":"Block","src":"1901:81:115","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":76265,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76254,"src":"1954:7:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76264,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"1942:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1942:20:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76267,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76256,"src":"1964:10:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76262,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1918:5:115","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$76300_$","typeString":"type(contract super TERC20)"}},"id":76263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1924:17:115","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4240,"src":"1918:23:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":76268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:57:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76261,"id":76269,"nodeType":"Return","src":"1911:64:115"}]},"baseFunctions":[4240],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1807:17:115","overrides":{"id":76258,"nodeType":"OverrideSpecifier","overrides":[],"src":"1877:8:115"},"parameters":{"id":76257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76254,"mutability":"mutable","name":"spender","nameLocation":"1833:7:115","nodeType":"VariableDeclaration","scope":76271,"src":"1825:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76253,"name":"address","nodeType":"ElementaryTypeName","src":"1825:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76256,"mutability":"mutable","name":"difference","nameLocation":"1850:10:115","nodeType":"VariableDeclaration","scope":76271,"src":"1842:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76255,"name":"uint256","nodeType":"ElementaryTypeName","src":"1842:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1824:37:115"},"returnParameters":{"id":76261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76271,"src":"1895:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76259,"name":"bool","nodeType":"ElementaryTypeName","src":"1895:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1894:6:115"},"scope":76300,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":76290,"nodeType":"FunctionDefinition","src":"1988:184:115","nodes":[],"body":{"id":76289,"nodeType":"Block","src":"2091:81:115","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":76284,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76273,"src":"2144:7:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76283,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76299,"src":"2132:11:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":76285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2132:20:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76286,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76275,"src":"2154:10:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76281,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2108:5:115","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$76300_$","typeString":"type(contract super TERC20)"}},"id":76282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2114:17:115","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"2108:23:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":76287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2108:57:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76280,"id":76288,"nodeType":"Return","src":"2101:64:115"}]},"baseFunctions":[4254],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1997:17:115","overrides":{"id":76277,"nodeType":"OverrideSpecifier","overrides":[],"src":"2067:8:115"},"parameters":{"id":76276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76273,"mutability":"mutable","name":"spender","nameLocation":"2023:7:115","nodeType":"VariableDeclaration","scope":76290,"src":"2015:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76272,"name":"address","nodeType":"ElementaryTypeName","src":"2015:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76275,"mutability":"mutable","name":"difference","nameLocation":"2040:10:115","nodeType":"VariableDeclaration","scope":76290,"src":"2032:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76274,"name":"uint256","nodeType":"ElementaryTypeName","src":"2032:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2014:37:115"},"returnParameters":{"id":76280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76279,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76290,"src":"2085:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76278,"name":"bool","nodeType":"ElementaryTypeName","src":"2085:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2084:6:115"},"scope":76300,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":76299,"nodeType":"FunctionDefinition","src":"2178:168:115","nodes":[],"body":{"id":76298,"nodeType":"Block","src":"2249:97:115","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2284:56:115","statements":[{"nodeType":"YulAssignment","src":"2298:32:115","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2311:1:115"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2318:3:115","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2323:3:115"},"nodeType":"YulFunctionCall","src":"2323:5:115"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2314:3:115"},"nodeType":"YulFunctionCall","src":"2314:15:115"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2308:2:115"},"nodeType":"YulFunctionCall","src":"2308:22:115"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2298:6:115"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":76292,"isOffset":false,"isSlot":false,"src":"2311:1:115","valueSize":1},{"declaration":76295,"isOffset":false,"isSlot":false,"src":"2298:6:115","valueSize":1}],"flags":["memory-safe"],"id":76297,"nodeType":"InlineAssembly","src":"2259:81:115"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2187:11:115","parameters":{"id":76293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76292,"mutability":"mutable","name":"a","nameLocation":"2207:1:115","nodeType":"VariableDeclaration","scope":76299,"src":"2199:9:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76291,"name":"address","nodeType":"ElementaryTypeName","src":"2199:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2198:11:115"},"returnParameters":{"id":76296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76295,"mutability":"mutable","name":"result","nameLocation":"2241:6:115","nodeType":"VariableDeclaration","scope":76299,"src":"2233:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76294,"name":"address","nodeType":"ElementaryTypeName","src":"2233:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2232:16:115"},"scope":76300,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":76083,"name":"ERC20","nameLocations":["309:5:115"],"nodeType":"IdentifierPath","referencedDeclaration":4491,"src":"309:5:115"},"id":76084,"nodeType":"InheritanceSpecifier","src":"309:5:115"}],"canonicalName":"TERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":76082,"nodeType":"StructuredDocumentation","src":"120:170:115","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[76300,4491],"name":"TERC20","nameLocation":"299:6:115","scope":76301,"usedErrors":[4101,4104,4107,4110,4113,4116,4119]}],"license":"AGPL-3.0-only"},"id":115} \ No newline at end of file diff --git a/pkg/contracts/out/UpgradeCVMultichain.s.sol/UpgradeCVMultichain.json b/pkg/contracts/out/UpgradeCVMultichain.s.sol/UpgradeCVMultichain.json index dbd77c11c..b9c7d243d 100644 --- a/pkg/contracts/out/UpgradeCVMultichain.s.sol/UpgradeCVMultichain.json +++ b/pkg/contracts/out/UpgradeCVMultichain.s.sol/UpgradeCVMultichain.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"BENEFICIARY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"COUNCIL_SAFE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"CURRENT_NETWORK","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ETH_SEPOLIA","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REGISTRY_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SAFE_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SAFE_NONCE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SAFE_PROXY_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SAFE_SINGLETON","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SENDER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TOKEN","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"WAIT_TIME","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"__createContract","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"_contract","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_safeProxyFactory","type":"address","internalType":"contract SafeProxyFactory"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafeProxyFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract SafeProxyFactory"}],"stateMutability":"nonpayable"},{"type":"function","name":"_nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[{"name":"network","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"runCurrentNetwork","inputs":[{"name":"networkJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"},{"name":"value_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x608034620002f857600c805460ff191660019081179091556001600160401b03916040919080830184811182821017620002e25783528181528251916060830183811086821117620002e2578452602e83526020917f516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a4468838501526d6132666a3547656536684a7a535960901b858501528383820152516015558251948511620002e257620000af601654620002fd565b92601f93848111620002a4575b508290848711600114620002245795809173c583789751910e39fd2ddb988ad05567bcd81334969760009262000218575b5050600019600383901b1c191690821b176016555b61010161ffff1960215416176021556024556000602555670de0b6b3a764000060275560018060a01b03199173b05a948b5c1b057b88d381bde3a375efea87ebad836028541617602855614e20602d556200015f602e54620002fd565b818111620001f4575b507f6172627365706f6c696100000000000000000000000000000000000000000014602e55602f546200019b90620002fd565b90808211620001d0575b505050600e667365706f6c696160c81b01602f556030541617603055516201833d9081620003548239f35b620001eb92602f600052600020910160051c8101906200033a565b388080620001a5565b6200021190602e6000528284600020910160051c8101906200033a565b3862000168565b015190503880620000ed565b90601f198716916016600052846000209260005b8181106200028e5750918493918973c583789751910e39fd2ddb988ad05567bcd81334999a941062000274575b505050811b0160165562000102565b015160001960f88460031b161c1916905538808062000265565b8284015185559385019392860192860162000238565b620002d19060166000528460002086808a0160051c820192878b10620002d8575b0160051c01906200033a565b38620000bc565b92508192620002c5565b634e487b7160e01b600052604160045260246000fd5b600080fd5b90600182811c921680156200032f575b60208310146200031957565b634e487b7160e01b600052602260045260246000fd5b91607f16916200030d565b81811062000346575050565b600081556001016200033a56fe608060405260043610156200001357600080fd5b60003560e01c8062b1fad714620005b0578063023a6f4314620005aa578063030e400614620005a45780630522b7db146200059e5780630688b135146200059857806308c24f9f146200059257806308dbbb03146200058c5780630f166ad41462000586578063174eedde146200049c5780631ae726d914620005805780631b96dce6146200057a5780631d8fcc1014620005745780631e7bcb2e146200056e5780631ed7831c14620005685780632ade388014620005625780632e0f2625146200055c5780632f99c6cc1462000556578063352c94a7146200055057806337d1c404146200054a578063388aef5c1462000544578063392f37e9146200053e5780633e5e3c2314620005385780633f26479e14620005325780633f7286f4146200052c57806349ef42c114620005265780634bf4ba211462000520578063587c1243146200051a5780635aff599914620005145780635d1222aa146200050e5780635e2dd44214620005085780636050f2f8146200049657806366d003ac146200050257806366d9a9a014620004fc5780636a38dd0a14620004f65780636c53db9a14620004f05780636db5251014620004ea57806370a3294414620004e457806374d9284e146200049c578063759c9a8614620004de5780637658524d14620004d857806379e62d0d14620004d25780637b2edf3214620004cc5780637cbe79ed14620004c65780637f6a80df14620004c0578063829e423f146200049c57806382bfefc814620004ba57806385226c8114620004b457806385294f1814620004ae578063861ceb6914620004a8578063896546a114620004a25780638c7408c4146200049c5780638e0d1a5014620004965780638e3c24931462000490578063916a17c6146200048a5780639352fad2146200048457806393892107146200047e578063a0cf0aea1462000478578063a407c67a1462000472578063aa3744bd146200046c578063b5508aa91462000466578063ba414fa61462000460578063bb0504cd146200045a578063c04062261462000454578063c1f2a641146200044e578063c36e336b1462000448578063caa12add1462000442578063d1e82b58146200043c578063d1f2cd881462000436578063d23727ed1462000430578063d5bee9f5146200042a578063da4bf0871462000424578063dac4eb16146200041e578063dac770b31462000418578063e070e0ab1462000412578063e20c9f71146200040c578063e99ce9111462000406578063ef0d790f1462000400578063f4d914e614620003fa578063f69d511f14620003f4578063f8ccbf4714620003ee5763fa7626d414620003e857600080fd5b620032b8565b62003293565b62003252565b620031b1565b62003152565b62003023565b62002fba565b62002f07565b62002aaa565b62002a50565b62002935565b620028de565b620028ad565b62002853565b620027f7565b620027c6565b620026ea565b62002565565b62002533565b62002514565b620024eb565b6200244b565b620023f5565b620022fa565b620022c9565b6200229e565b62002283565b6200211b565b620020fd565b620015f3565b62000c07565b620020d2565b620020a7565b62001fbe565b62001e92565b62001e54565b62001e29565b62001dd3565b62001db5565b62001cba565b62001c9a565b62001c42565b62001b0a565b62001aa5565b62001a76565b62001a58565b6200173d565b6200161e565b620015d8565b62001578565b6200151c565b620014fe565b620014c8565b620014a9565b62001440565b62001421565b620013b8565b620012bd565b6200129d565b620011ca565b620010bf565b62000fa6565b62000f81565b62000ee9565b62000d45565b62000cd5565b62000cb7565b62000c5d565b62000c25565b62000bea565b62000bca565b62000b7c565b62000b26565b62000afb565b62000a9c565b620008dd565b620005e6565b6000910312620005c257565b600080fd5b6001600160a01b031690565b6001600160a01b03909116815260200190565b34620005c25760008060031936011262000735576200060462003346565b620006556040516020810190620006308162000621848762003571565b03601f19810183528262000840565b5190206040516001625e79b760e01b0319815260048101919091529081906024820190565b0391602082600080516020620182688339815191529481865afa928315620006f45784928394620006fe575b50803b15620006fa57620006ad916040519586809481936318caf8e360e31b83528860048401620035a2565b03925af1918215620006f457620006d292620006d6575b5060405191829182620005d3565b0390f35b80620006e6620006ed9262000760565b80620005b6565b38620006c4565b620034ce565b8280fd5b6200072591945060203d81116200072d575b6200071c818362000840565b8101906200358a565b923862000681565b503d62000710565b80fd5b6001600160a01b03811603620005c257565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116200077457604052565b6200074a565b604081019081106001600160401b038211176200077457604052565b60c081019081106001600160401b038211176200077457604052565b602081019081106001600160401b038211176200077457604052565b60e081019081106001600160401b038211176200077457604052565b608081019081106001600160401b038211176200077457604052565b610f0081019081106001600160401b038211176200077457604052565b615a0081019081106001600160401b038211176200077457604052565b601f909101601f19168101906001600160401b038211908210176200077457604052565b6001600160401b0381116200077457601f01601f191660200190565b9291926200088e8262000864565b916200089e604051938462000840565b829481845281830111620005c2578281602093846000960137010152565b9080601f83011215620005c257816020620008da9335910162000880565b90565b34620005c2576080366003190112620005c257600435620008fe8162000738565b604435906200090d8262000738565b606435906001600160401b038211620005c257620009346200096c923690600401620008bc565b906060620009448284876200b626565b6040516338d07aa960e21b815260248035600483015281019190915293849081906044820190565b0381600080516020620182688339815191525afa918215620006f457620009e69460209460008091819662000a51575b5060009291620009b9620009c8926040519889938b85016200b5ad565b03601f19810187528662000840565b60405163353b090160e11b815296879586948593600485016200b2ff565b03926001600160a01b03165af18015620006f45762000a1a9160009162000a1c575b5062000a136200b3c5565b906200b51b565b005b62000a42915060203d811162000a49575b62000a39818362000840565b8101906200b2e5565b3862000a08565b503d62000a2d565b620009b996506000939250620009c8915062000a879060603d811162000a94575b62000a7e818362000840565b8101906200b586565b975092939091506200099c565b503d62000a72565b34620005c257600080600319360112620007355760405162000abe816200077a565b6013815272383937b334b63298afb737ba20a6b2b6b132b960691b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c2576022546040516001600160a01b039091168152602090f35b34620005c257600080600319360112620007355760405162000b48816200077a565b600a8152693932b1b4b834b2b73a1960b11b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576040366003190112620005c257602062000bb860043562000ba38162000738565b6024359062000bb28262000738565b6200afe1565b6040516001600160a01b039091168152f35b34620005c2576000366003190112620005c2576020602754604051908152f35b34620005c2576000366003190112620005c2576020604051308152f35b34620005c2576000366003190112620005c257602060405160008152f35b34620005c2576020366003190112620005c257602062000bb860043562000c4c8162000738565b62000c5662004bc2565b906200afe1565b34620005c257600080600319360112620007355760405162000c7f816200077a565b600e81526d383937b334b632992fb7bbb732b960911b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c257602060405160038152f35b34620005c25760008060031936011262000735576200060462003406565b90815180825260208080930193019160005b82811062000d14575050505090565b83516001600160a01b03168552938101939281019260010162000d05565b906020620008da92818152019062000cf3565b34620005c257600080600319360112620007355760405180918260195480845260208094019060198452848420935b8582821062000da45750505062000d8e9250038362000840565b620006d260405192828493845283019062000cf3565b85546001600160a01b031684526001958601958895509301920162000d74565b60005b83811062000dd85750506000910152565b818101518382015260200162000dc7565b9060209162000e048151809281855285808601910162000dc4565b601f01601f1916010190565b90815180825260208092019182818360051b82019501936000915b84831062000e3c5750505050505090565b909192939495848062000e5883856001950387528a5162000de9565b980193019301919493929062000e2b565b602080820190808352835180925260409283810182858560051b8401019601946000925b85841062000e9f575050505050505090565b90919293949596858062000ed7600193603f1986820301885286838d51878060a01b0381511684520151918185820152019062000e10565b99019401940192959493919062000e8d565b34620005c2576000806003193601126200073557602090815462000f0d81620011b2565b9160409362000f1f8551948562000840565b8284528082528082208185015b84841062000f4357865180620006d2888262000e69565b600283600192895162000f56816200077a565b848060a01b03865416815262000f6e8587016200369f565b8382015281520192019301929062000f2c565b34620005c2576000366003190112620005c2576020604051670de0b6b3a76400008152f35b34620005c2576000366003190112620005c2576030546040516001600160a01b039091168152602090f35b90600182811c9216801562001003575b602083101462000fed57565b634e487b7160e01b600052602260045260246000fd5b91607f169162000fe1565b9060009291805491620010218362000fd1565b91828252600193848116908160001462001088575060011462001045575b50505050565b90919394506000526020928360002092846000945b838610620010735750505050010190388080806200103f565b8054858701830152940193859082016200105a565b9294505050602093945060ff191683830152151560051b010190388080806200103f565b906020620008da92818152019062000de9565b34620005c257600080600319360112620007355760405181602f54620010e58162000fd1565b8084529060019081811690811562001187575060011462001129575b620006d284620011148188038262000840565b60405191829160208352602083019062000de9565b602f8352602094507fa813484aef6fb598f9f753daf162068ff39ccea4075cb95e1a30f86995b5b7ee5b828410620011735750505081620006d29362001114928201019362001101565b805485850187015292850192810162001153565b620006d29650620011149450602092508593915060ff191682840152151560051b8201019362001101565b6001600160401b038111620007745760051b60200190565b34620005c2576060366003190112620005c257600435620011eb8162000738565b602435620011f98162000738565b604435916001600160401b038311620005c25736602384011215620005c25782600401356200122881620011b2565b9362001238604051958662000840565b81855260209160248387019160051b83010191368311620005c257602401905b8282106200128157620006d26200127188888862004554565b6040519081529081906020820190565b8380918335620012918162000738565b81520191019062001258565b34620005c2576000366003190112620005c2576020602d54604051908152f35b34620005c2576000806003193601126200073557601554604051918281601654620012e88162000fd1565b8084529060019081811690811562001393575060011462001332575b5050620013149250038362000840565b620006d2604051928392835260406020840152604083019062000de9565b601685527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289946020935091905b8183106200137a575050620013149350820101388062001304565b855488840185015294850194879450918301916200135f565b9150506200131494506020925060ff191682840152151560051b820101388062001304565b34620005c2576000806003193601126200073557604051809182601b54808452602080940190601b8452848420935b85828210620014015750505062000d8e9250038362000840565b85546001600160a01b0316845260019586019588955093019201620013e7565b34620005c2576000366003190112620005c25760206040516127108152f35b34620005c2576000806003193601126200073557604051809182601a54808452602080940190601a8452848420935b85828210620014895750505062000d8e9250038362000840565b85546001600160a01b03168452600195860195889550930192016200146f565b34620005c2576000366003190112620005c257602062000bb862005bda565b34620005c2576000366003190112620005c257620006d2620014e9620032e0565b60405191829160208352602083019062000cf3565b34620005c25760008060031936011262000735576200060462003462565b34620005c25760008060031936011262000735576040516200153e816200077a565b601081526f726563697069656e744164647265737360801b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c2576020602554604051908152f35b6020600319820112620005c257600435906001600160401b038211620005c25780602383011215620005c257816024620008da9360040135910162000880565b34620005c25762000a1a620015ed3662001598565b62004097565b34620005c2576000366003190112620005c2576028546040516001600160a01b039091168152602090f35b34620005c257600080600319360112620007355760405162001640816200077a565b60098152681c9958da5c1a595b9d60ba1b6020820152620006556040516020810190620006308162000621848762003571565b6001600160e01b0319169052565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510620016b957505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b808210620017185750505090806001929a019501950193969594929190620016a6565b82516001600160e01b03191684528a94938401939092019160019190910190620016f5565b34620005c2576000366003190112620005c257601e546200175e81620011b2565b6200176d604051918262000840565b818152601e60009081529160207f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3508184015b838610620017b75760405180620006d2878262001681565b82604051620017c6816200077a565b83546001600160a01b03168152604051600185018054808352620017f4602084015b92600052602060002090565b906000915b81600784011062001998579386600297969482946200186b9460019b985491848282106200197c575b82821062001957575b82821062001932575b8282106200190d575b828210620018e8575b828210620018c3575b8282106200189f575b50106200187e575b509050038262000840565b838201528152019201950194906200179f565b620018959082906001600160e01b03191662001673565b0186903862001860565b84620018b98f939663ffffffff60e01b87851b1662001673565b0193018462001858565b84620018de8f939663ffffffff60e01b8760401b1662001673565b019301846200184f565b84620019038f939663ffffffff60e01b8760601b1662001673565b0193018462001846565b84620019288f939663ffffffff60e01b8760801b1662001673565b019301846200183d565b846200194d8f939663ffffffff60e01b8760a01b1662001673565b0193018462001834565b84620019728f939663ffffffff60e01b8760c01b1662001673565b019301846200182b565b846200198e8f93968660e01b62001673565b0193018462001822565b939495509091600161010060089262001a4787548d60e0620019bd8584831b62001673565b6001600160e01b03199162001a3d90838560c0620019e28a850183831b851662001673565b62001a3260a0620019fb60408d018686841b1662001673565b62001a248c868660609260809062001a1a8582018585851b1662001673565b01921b1662001673565b8b01848460401b1662001673565b8901921b1662001673565b8401911662001673565b0194019201908895949392620017f9565b34620005c25760008060031936011262000735576200060462003371565b34620005c2576000366003190112620005c25760215460405160109190911c6001600160a01b03168152602090f35b34620005c2576060366003190112620005c25760043562001ac68162000738565b604435906001600160401b038211620005c25762001aed62000a1a923690600401620008bc565b602154602480549035939160101c6001600160a01b03166200b3f9565b34620005c257600080600319360112620007355762001b28620032e0565b62001b3262003406565b62001b4f6040516020810190620006308162000621848762003571565b0391602082600080516020620182688339815191529481865afa928315620006f4578592839462001c1d575b50803b15620006fa5762001ba7916040519687809481936318caf8e360e31b83528860048401620035a2565b03925af1908115620006f457620006d29362001bd59262001c06575b5062001bcf836200339c565b620033f7565b62001bf962001bed62001be762003434565b620035c6565b5062001bcf83620033c0565b6040519182918262000d32565b80620006e662001c169262000760565b3862001bc3565b62001c3a91945060203d81116200072d576200071c818362000840565b923862001b7b565b34620005c257600080600319360112620007355760405162001c64816200077a565b600c81526b1b9bd7dc9958da5c1a595b9d60a21b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c2576020602454604051908152f35b34620005c257600080600319360112620007355762001cd8620032e0565b62001ce262003346565b62001cff6040516020810190620006308162000621848762003571565b0391602082600080516020620182688339815191529481865afa928315620006f4578592839462001d90575b50803b15620006fa5762001d57916040519687809481936318caf8e360e31b83528860048401620035a2565b03925af1908115620006f457620006d29362001d7e9262001c06575062001bcf836200339c565b62001bf962001bed62001be762003371565b62001dad91945060203d81116200072d576200071c818362000840565b923862001d2b565b34620005c25760008060031936011262000735576200060462003434565b34620005c257600080600319360112620007355760405162001df5816200077a565b600a81526930b63637afb7bbb732b960b11b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c257602b546040516001600160a01b039091168152602090f35b34620005c2576000366003190112620005c2576029546040516001600160a01b039091168152602090f35b906020620008da92818152019062000e10565b34620005c2576000806003193601126200073557601d5462001eb481620011b2565b9060409262001ec68451938462000840565b818352601d815260207f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f8185015b84841062001f0b57865180620006d2888262001e7f565b6001838192895162001f2b8162001f2381896200100e565b038262000840565b81520192019301929062001ef4565b60031115620005c257565b60c435906004821015620005c257565b60c090610103190112620005c2576040519062001f728262000796565b816101043562001f828162000738565b81526101243562001f938162000738565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b34620005c2576101a0366003190112620005c25760043562001fe08162000738565b60243562001fee8162000738565b6044359162001ffd8362000738565b6064356200200b8162000738565b608435620020198162000738565b60a43590620020288262001f3a565b6200203262001f45565b9260c03660e3190112620005c257620006d296620012719660405196620020598862000796565b60e435620020678162000738565b885261010435620020788162000738565b60208901526101243560408901526101443560608901526101643560808901526101843560a089015262004a63565b34620005c2576000366003190112620005c257602c546040516001600160a01b039091168152602090f35b34620005c2576000366003190112620005c2576023546040516001600160a01b039091168152602090f35b34620005c25760008060031936011262000735576200060462003490565b34620005c2576000366003190112620005c257601f546200213c81620011b2565b6200214b604051918262000840565b818152601f60009081529160207fa03837a25210ee280c2113ff4b77ca23440b19d4866cca721c801278fd08d8078184015b838610620021955760405180620006d2878262001681565b82604051620021a4816200077a565b83546001600160a01b03168152604051600185018054808352620021cb60208401620017e8565b906000915b8160078401106200224d579386600297969482946200223a9460019b985491848282106200197c57828210620019575782821062001932578282106200190d57828210620018e857828210620018c3578282106200189f5750106200187e57509050038262000840565b838201528152019201950194906200217d565b93949550909160016101006008926200227287548d60e0620019bd8584831b62001673565b0194019201908895949392620021d0565b34620005c25762000a1a620022983662001598565b62003933565b34620005c2576000366003190112620005c257602a546040516001600160a01b039091168152602090f35b34620005c2576000366003190112620005c257602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620005c257600080600319360112620007355762002318620032e0565b6200232262003462565b6200233f6040516020810190620006308162000621848762003571565b0391602082600080516020620182688339815191529481865afa928315620006f45785928394620023d0575b50803b15620006fa5762002397916040519687809481936318caf8e360e31b83528860048401620035a2565b03925af1908115620006f457620006d293620023be9262001c06575062001bcf836200339c565b62001bf962001bed62001be762003490565b620023ed91945060203d81116200072d576200071c818362000840565b92386200236b565b34620005c257600080600319360112620007355760405162002417816200077a565b600a815269726563697069656e743160b01b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000806003193601126200073557601c546200246d81620011b2565b906040926200247f8451938462000840565b818352601c815260207f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2118185015b848410620024c457865180620006d2888262001e7f565b60018381928951620024dc8162001f2381896200100e565b815201920193019290620024ad565b34620005c2576000366003190112620005c25760206200250a620034da565b6040519015158152f35b34620005c2576000366003190112620005c257602062000bb862004bc2565b34620005c2576000806003193601126200073557620025626040516200255981620007b2565b82815262003933565b80f35b34620005c25760a0366003190112620005c257600435620025868162000738565b60443590620025958262000738565b606435916001600160401b038311620005c257620025bc62000a1a933690600401620008bc565b9060843592602435906200b3f9565b634e487b7160e01b600052602160045260246000fd5b60031115620025ec57565b620025cb565b906003821015620025ec5752565b906004821015620025ec5752565b620026e8909291926101c060c06101e083019560608151805186526020810151602087015260408101516040870152015160608501526200265860208201516080860190620025f2565b6200266c604082015160a086019062002600565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b565b34620005c257610140366003190112620005c2576004356200270c8162000738565b6024356200271a8162001f3a565b604435916004831015620005c2576020366063190112620005c2576040516200274381620007b2565b606435815260c0366083190112620005c257620006d293620027b993604051936200276e8562000796565b6084356200277c8162000738565b855260a4356200278c8162000738565b602086015260c435604086015260e43560608601526101043560808601526101243560a08601526200469b565b604051918291826200260e565b34620005c2576000366003190112620005c257602060405173dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc7378152f35b34620005c257600080600319360112620007355760405162002819816200077a565b601081526f3837b7b62fb737ba20a6b0b730b3b2b960811b6020820152620006556040516020810190620006308162000621848762003571565b34620005c257600080600319360112620007355760405162002875816200077a565b600e81526d383937b334b63298afb7bbb732b960911b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c257602060405173bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf8152f35b34620005c257600080600319360112620007355760405162002900816200077a565b600b81526a1c985b991bdb4818da185960aa1b6020820152620006556040516020810190620006308162000621848762003571565b34620005c257600080600319360112620007355760405162002957816200077a565b600d81526c616c6c6f5f747265617375727960981b60208201526200298e6040516020810190620006308162000621848762003571565b0391602082600080516020620182688339815191529481865afa928315620006f4578492839462002a2b575b50803b15620006fa57620029e6916040519586809481936318caf8e360e31b83528860048401620035a2565b03925af1918215620006f457620006d29262002a14575b506040519182916001600160a01b031682620005d3565b80620006e662002a249262000760565b38620029fd565b62002a4891945060203d81116200072d576200071c818362000840565b9238620029ba565b34620005c257600080600319360112620007355760405162002a72816200077a565b600e81526d3932b3b4b9ba393cafb7bbb732b960911b6020820152620006556040516020810190620006308162000621848762003571565b34620005c257600080600319360112620007355760245490604090815163ffa1864960e01b81526020908062002ae96004968783019190602083019252565b03908281600080516020620182688339815191529381855afa8015620006f45762002b3991859162002ee5575b50602380546001600160a01b0319166001600160a01b0392909216919091179055565b62002b46602354620005c7565b91813b1562002e8d5784516318caf8e360e31b8082526001600160a01b03909416878201908152604060208201819052600e908201526d636f756e63696c4d656d6265723160901b6060820152859082908190608001038183875af18015620006f45762002ece575b5060018060a01b038062002bcf62002bc96021546200b28d565b620005c7565b161562002bf5575b620006d28662002be96021546200b28d565b905191829182620005d3565b8062002c0062004bc2565b62002c3462002c1262002bc962005bda565b602680546001600160a01b0319166001600160a01b0392909216919091179055565b16833b1562002eca5786519085825286828062002c86848d830160809160018060a01b0316815260406020820152601060408201526f5361666550726f7879466163746f727960801b60608201520190565b038183895af1908115620006f45762002cd892859262002eb3575b5062002caf602654620005c7565b9062002cba6200b29c565b91898c8c5196879586948593631688f0b960e01b855284016200b2b8565b03925af1908115620006f45762002d1d93879262002e91575b50506021805462010000600160b01b0319169290911660101b62010000600160b01b0316919091179055565b62002d2e62002bc96021546200b28d565b91813b1562002e8d5784519081526001600160a01b03909216858301908152604060208201819052600b908201526a636f756e63696c5361666560a81b60608201528391839182908490829060800103925af18015620006f45762002e76575b5062002d996200330d565b62002db562002daa602354620005c7565b62001bcf836200339c565b62002ddd62002dc482620033c0565b73f39fd6e51aad88f6f4ce6ab8827279cfffb922669052565b62002e0562002dec82620033d1565b7370997970c51812dc3a010c7d01b50e0d17dc79c89052565b62002e1662002bc96021546200b28d565b803b15620006fa5762002e3e9483855180978195829463b63e800d60e01b845283016200af94565b03925af1918215620006f457620006d29262002e5f575b8080808062002bd7565b80620006e662002e6f9262000760565b3862002e55565b80620006e662002e869262000760565b3862002d8e565b8380fd5b62002eab9250803d106200072d576200071c818362000840565b388062002cf1565b80620006e662002ec39262000760565b3862002ca1565b8580fd5b80620006e662002ede9262000760565b3862002baf565b62002f009150843d86116200072d576200071c818362000840565b3862002b16565b34620005c2576101c0366003190112620005c25760043562002f298162000738565b6024359062002f388262000738565b6044359062002f478262000738565b6064359262002f568462000738565b60843562002f648162000738565b60a43562002f728162001f3a565b62002f7c62001f45565b9160203660e3190112620005c257620006d29662001271966040519562002fa387620007b2565b60e435875262002fb33662001f55565b97620048c6565b34620005c257600080600319360112620007355760405180918260185480845260208094019060188452848420935b85828210620030035750505062000d8e9250038362000840565b85546001600160a01b031684526001958601958895509301920162002fe9565b34620005c2576080366003190112620005c257606435600160801b62989680608083901b04818110156200310e57600435805b620030c857620006d262001271620030c2620030bc86620030b589620030ae620030a7620030876024358662004687565b94620030a0620030996044356200466e565b9162004ab9565b9062004687565b9162004acc565b9062004a88565b9062004af0565b62004ade565b60801c90565b600191818316620030ec5780620030df9162004afe565b911c90815b909162003056565b915091620030ff82620031069262004afe565b9262004aa9565b9081620030e4565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b34620005c257600080600319360112620007355760405162003174816200077a565b6013815272383937b334b632992fb737ba20a6b2b6b132b960691b6020820152620006556040516020810190620006308162000621848762003571565b34620005c257600080600319360112620007355760405181602e54620031d78162000fd1565b808452906001908181169081156200118757506001146200320557620006d284620011148188038262000840565b602e835260209450600080516020620182a88339815191525b8284106200323e5750505081620006d29362001114928201019362001101565b80548585018701529285019281016200321e565b34620005c2576020366003190112620005c2576004356001600160401b038111620005c25762000bb86200328d6020923690600401620008bc565b6200af38565b34620005c2576000366003190112620005c257602060ff602154166040519015158152f35b34620005c2576000366003190112620005c257602060ff60215460081c166040519015158152f35b60405190606082016001600160401b03811183821017620007745760405260028252604082602036910137565b604051906200331c82620007ea565b600382526060366020840137565b6040519062003339826200077a565b6001825260203681840137565b6040519062003355826200077a565b600d82526c706f6f6c5f6d616e616765723160981b6020830152565b6040519062003380826200077a565b600d82526c3837b7b62fb6b0b730b3b2b91960991b6020830152565b805115620033aa5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015620033aa5760400190565b805160021015620033aa5760600190565b8051821015620033aa5760209160051b010190565b6001600160a01b039091169052565b6040519062003415826200077a565b601082526f70726f66696c65315f6d656d6265723160801b6020830152565b6040519062003443826200077a565b601082526f383937b334b63298afb6b2b6b132b91960811b6020830152565b6040519062003471826200077a565b601082526f70726f66696c65325f6d656d6265723160801b6020830152565b604051906200349f826200077a565b601082526f383937b334b632992fb6b2b6b132b91960811b6020830152565b90816020910312620005c2575190565b6040513d6000823e3d90fd5b60085460ff168015620034ea5790565b50604051630667f9d760e41b8152602081604481600080516020620182688339815191528060048301526519985a5b195960d21b60248301525afa908115620006f4576000916200353c575b50151590565b62003562915060203d811162003569575b62003559818362000840565b810190620034be565b3862003536565b503d6200354d565b90620035866020928281519485920162000dc4565b0190565b90816020910312620005c25751620008da8162000738565b6001600160a01b039091168152604060208201819052620008da9291019062000de9565b906040516020810190620035e08162000621848762003571565b5190206040516001625e79b760e01b03198152600481018290529091906000805160206201826883398151915290602081602481855afa908115620006f4576000916200367c575b508094823b15620005c2576200365992600092836040518096819582946318caf8e360e31b845260048401620035a2565b03925af18015620006f4576200366c5750565b80620006e6620026e89262000760565b62003698915060203d81116200072d576200071c818362000840565b3862003628565b908154620036ad81620011b2565b92604093620036bf8551918262000840565b828152809460208092019260005281600020906000935b858510620036e657505050505050565b60018481928451620036fe8162001f23818a6200100e565b815201930194019391620036d6565b601f81116200371a575050565b600090602e825260208220906020601f850160051c830194106200375b575b601f0160051c01915b8281106200374f57505050565b81815560010162003742565b909250829062003739565b80519091906001600160401b038111620007745762003792816200378c602e5462000fd1565b6200370d565b602080601f8311600114620037d15750819293600092620037c5575b50508160011b916000199060031b1c191617602e55565b015190503880620037ae565b602e600052601f19831694909190600080516020620182a8833981519152926000905b8782106200382f57505083600195961062003815575b505050811b01602e55565b015160001960f88460031b161c191690553880806200380a565b80600185968294968601518155019501930190620037f4565b6040519062003857826200077a565b60088252670b98da185a5b925960c21b6020830152565b604051906200387d826200077a565b60058252642e6e616d6560d81b6020830152565b60405190620038a0826200077a565b600c82526b1722a72b299729a2a72222a960a11b6020830152565b60405190620038ca826200077a565b60088252676e616d653a20257360c01b6020830152565b60405190620038f0826200077a565b600a82526973656e6465723a20257360b01b6020830152565b6040519062003918826200077a565b600c82526b636861696e4964203a20257360a01b6020830152565b62003940602854620005c7565b906000805160206201826883398151915290813b15620005c257604051637fec2a8d60e01b81526000938490829081906200397f9060048301620005d3565b038183875af18015620006f45762003aae575b50805162003a9c575b5062003a6a620039aa62003eb7565b620015ed620039cd620039c6620039c062003848565b62003d75565b8362003aee565b62003a39620039ea620039e3620039c06200386e565b8562003bbf565b62003a2962003a0762003a00620039c062003891565b8762003c2b565b602880546001600160a01b0319166001600160a01b0392909216919091179055565b62003a33620038bb565b62003cf7565b62003a5a62003a4a602854620005c7565b62003a54620038e1565b62003d22565b62003a6462003909565b62003c94565b803b1562003a98578190600460405180948193633b756e9b60e11b83525af18015620006f4576200366c5750565b5080fd5b62003aa79062003766565b386200399b565b80620006e662003abe9262000760565b3862003992565b909162003adf620008da9360408452604084019062000de9565b91602081840391015262000de9565b6040516356eef15b60e11b8152916020918391829162003b1391906004840162003ac5565b0381600080516020620182688339815191525afa908115620006f45760009162003b3b575090565b620008da915060203d8111620035695762003559818362000840565b602081830312620005c2578051906001600160401b038211620005c2570181601f82011215620005c257805162003b8e8162000864565b9262003b9e604051948562000840565b81845260208284010111620005c257620008da916020808501910162000dc4565b6040516309389f5960e31b8152916000918391829162003be491906004840162003ac5565b0381600080516020620182688339815191525afa908115620006f45760009162003c0c575090565b620008da913d8091833e62003c22818362000840565b81019062003b57565b604051631e19e65760e01b8152916020918391829162003c5091906004840162003ac5565b0381600080516020620182688339815191525afa908115620006f45760009162003c78575090565b620008da915060203d81116200072d576200071c818362000840565b62003cdc62003cc791620026e893604051938492632d839cb360e21b602085015260406024850152606484019062000de9565b90604483015203601f19810183528262000840565b600080916020815191016a636f6e736f6c652e6c6f675afa50565b9062003cdc620026e89262000621604051938492634b5c427760e01b60208501526024840162003ac5565b62003cdc62003d5591620026e89360405193849263319af33360e01b602085015260406024850152606484019062000de9565b6001600160a01b0391909116604483015203601f19810183528262000840565b604051600091602e549162003d8a8362000fd1565b9384825260209485830194600190818116908160001462003e99575060011462003e5b575b5050918162003dcb620008da959362003e389795038262000840565b62003e256039604051809562003e088883019575242e6e6574776f726b735b3f28402e6e616d653d3d2760501b8752518092603685019062000dc4565b81016227295d60e81b603682015203601981018652018462000840565b6040519586935180928686019062000dc4565b820162003e4e8251809386808501910162000dc4565b0103808452018262000840565b9150602e60005285600020916000925b82841062003e8557505050810184018162003dcb62003daf565b805485850189015292870192810162003e6b565b60ff191687525050151560051b8201850190508162003dcb62003daf565b604051636c98507360e11b815260009060008051602062018268833981519152908281600481855afa8015620006f45762003f76928492839262003fa5575b5062003f5a60436040518462003f1782965180926020808601910162000dc4565b81017f2f706b672f636f6e7472616374732f636f6e6669672f6e6574776f726b732e6a60208201526239b7b760e91b604082015203602381018552018362000840565b60405180809581946360f9bb1160e01b835260048301620010ac565b03915afa918215620006f457809262003f8e57505090565b620008da92503d8091833e62003c22818362000840565b62003fbd9192503d8085833e62003c22818362000840565b903862003ef6565b6040519062003fd4826200077a565b60198252782e50524f584945532e52454749535452595f464143544f525960381b6020830152565b604051906200400b826200077a565b601d82527f2e50524f584945532e52454749535452595f434f4d4d554e49544945530000006020830152565b634e487b7160e01b600052601160045260246000fd5b60001981146200405d5760010190565b62004037565b6040519062004072826200077a565b60168252752e50524f584945532e43565f5354524154454749455360501b6020830152565b604080516001600160401b039361576f80830193929086851182861017620007745762010dc3823980600094039084f0908115620006f45782516001600160a01b0392831693906156e980820189811183821017620007745782916200b6da8339039086f08015620006f4578316936200412b62002bc962002bc962002bc962004124620039c062003fc5565b8b62003c2b565b82519098611d36908183019081118382101762000774578291620165328339039087f0928315620006f457883b156200439457825187818b81838162004183631b2ce7f360e11b9c8d835260049c168c8301620005d3565b03925af18015620006f457620043d0575b50883b1562004394578251632ef6570160e11b815287818b818381620041bd898c8301620005d3565b03925af18015620006f457620043b9575b50883b156200439457825187816306dc7c3960e21b9b8c8252818381620041f88d8c8301620005d3565b03925af18015620006f457620043a2575b50620042236200421c620039c062003ffc565b89620043e7565b90875b825181101562004305576200425962002bc962002bc962002bc96200424c8588620033e2565b516001600160a01b031690565b803b15620042ea5785518881528a818062004277898c8301620005d3565b038183865af18015620006f457620042ee575b50803b15620042ea5785518c815291908a908390818381620042af8f828f01620005d3565b03925af1918215620006f457620042cd92620042d3575b506200404d565b62004226565b80620006e6620042e39262000760565b38620042c6565b8980fd5b80620006e6620042fe9262000760565b386200428a565b5097915050620043279193975062004320620039c062004063565b90620043e7565b845b815181101562004398576200434f62002bc962002bc962002bc96200424c8587620033e2565b90813b15620043945786855180938b8252818381620043718c8b8301620005d3565b03925af1918215620006f4576200438e92620042d357506200404d565b62004329565b8680fd5b5050505050509050565b80620006e6620043b29262000760565b3862004209565b80620006e6620043c99262000760565b38620041ce565b80620006e6620043e09262000760565b3862004194565b9060405191632fce788360e01b835282806200440b60009485946004840162003ac5565b0381600080516020620182688339815191525afa918215620006f45781926200443357505090565b9091503d8083833e62004447818362000840565b8101602091828183031262002e8d578051906001600160401b038211620044d9570181601f8201121562002e8d578051906200448382620011b2565b9462004493604051968762000840565b828652848087019360051b8301019384116200073557508301905b828210620044bd575050505090565b8380918351620044cd8162000738565b815201910190620044ae565b8480fd5b620045356020620008da95936002845260a082850152600e60a08501526d506f6f6c2050726f66696c65203160901b60c085015260e06040850152805160e08501520151604061010084015261012083019062000de9565b6001600160a01b03909316606082015280830360809091015262000cf3565b916017541562004568575b50505060175490565b620045cc92602092600060405162004580816200077a565b6001815260405162004592816200077a565b600c81526b506f6f6c50726f66696c653160a01b8782015281870152604051633a92f65f60e01b81529687958694859360048501620044dd565b03926001600160a01b03165af18015620006f457620045f491600091620045fd575b50601755565b3880806200455f565b62004619915060203d8111620035695762003559818362000840565b38620045ee565b604051906200462f8262000796565b8160a06000918281528260208201528260408201528260608201528260808201520152565b6003821015620025ec5752565b6004821015620025ec5752565b9062989680918281029281840414901517156200405d57565b818102929181159184041417156200405d57565b9493929094604095865193620046b185620007ce565b875191620046bf83620007ea565b600092838152836020820152838a820152836060820152865260208601908382528987019380855260608801958b51620046f981620007b2565b828152875260808901986200470d62004620565b8a5260a081019280845260c0820152809c815101629895b790528051621e8480905280516020016127109052516060016702c68af0bb14000090526200475391620033f7565b6200475e9162004654565b620047699162004661565b81511562004775575252565b680ad78ebc5ac620000082525252565b9195949293908252620047b460018060a01b039485602098168885015260e0604085015260e084019062000de9565b9360609116818301526000608083015281840360a0830152601554845260408685015260009360165490620047e98262000fd1565b9182604083015260019081811690816000146200486a575060011462004823575b50505050620008da93945060c081840391015262000cf3565b9293955090601660005287600020926000935b8285106200485657505050620008da95965001019184933880806200480a565b805484860187015293890193810162004836565b60ff1916858401525096975087965090151560051b01019250620008da3880806200480a565b90816020910312620005c25751620008da8162001f3a565b15620048b057565b634e487b7160e01b600052600160045260246000fd5b92949596620049709787620048df949b9a939b6200469b565b90620048ea620032e0565b90620048fb3062001bcf846200339c565b6200490b3362001bcf84620033c0565b6001600160a01b039473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee948a91879182811662004a57575b509062004955856000936200494e602854620005c7565b9062004554565b6200499d604051966200497f8860209e8f9b8c83016200260e565b03601f1981018a528962000840565b6040516370803ea560e11b8152998a98899788956004870162004785565b0393165af18015620006f457849160009162004a35575b5095600460405180948193631a8ecfcb60e11b8352165afa908115620006f457620026e89360009262004a01575b5050620049ef82620025e1565b620049fa81620025e1565b14620048a8565b62004a259250803d1062004a2d575b62004a1c818362000840565b81019062004890565b3880620049e2565b503d62004a10565b62004a509150823d8411620035695762003559818362000840565b38620049b4565b96506200495562004937565b94929091620008da979694926040519662004a7e88620007b2565b60008852620048c6565b811562004a93570490565b634e487b7160e01b600052601260045260246000fd5b6000198101919082116200405d57565b600160801b908103919082116200405d57565b90629896809182039182116200405d57565b6001607f1b8101919082106200405d57565b919082018092116200405d57565b90600160801b80831162004b6c5781101562004b2857620030bc620030c291620008da9362004687565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf803b620008da5750620008da62002bc960405162004bf58162000806565b610ede81527f608060405234801561001057600080fd5b50610ebe806100206000396000f3fe60208201527f608060405234801561001057600080fd5b50600436106100625760003560e01c60408201527f80631688f0b9146100675780632500510e1461017657806353e5d9351461024360608201527f57806361b69abd146102c6578063addacc0f146103cb578063d18af54d14610460808201527f4e575b600080fd5b61014a6004803603606081101561007d57600080fd5b810160a082015266e96f9fdffe6f6e642420200d5d60da1b0360c08201527f9190803590602001906401000000008111156100ba57600080fd5b820183602060e08201527f820111156100cc57600080fd5b803590602001918460018302840111640100006101008201527d831117156100ee57600080fd5b91908080601f01602080910402602001606101208201527f40519081016040528093929190818152602001838380828437600081840152606101408201527f1f19601f8201169050808301925050505050505091929192908035906020019061016082015260017024a46414141418415f5596d8101460209d607a1b036101808201527ae97ead9fdffe6eafaf9fbfae7f6efc6f0ca49efde89ffb7fc9fc9f196101a08201526001731820440558406315d800203f56e0406420200d5d60621b036101c082015277e96f9fdffe6f6d6e6f7fca6f9fdffe6f9bfeffffffff7eee196101e08201527f156101c957600080fd5b8201836020820111156101db57600080fd5b803590606102008201527f2001918460018302840111640100000000831117156101fd57600080fd5b90916102208201527f92939192939080359060200190929190505050610624565b604051808273ffff6102408201526de97ead9fdffe6eafaf9fbfae7f6e196102608201527f0390f35b61024b610751565b60405180806020018281038252838181518152606102808201527f200191508051906020019080838360005b8381101561028b57808201518184016102a08201527f52602081019050610270565b50505050905090810190601f1680156102b857806102c08201527f820380516001836020036101000a031916815260200191505b509250505060406102e08201527f5180910390f35b61039f600480360360408110156102dc57600080fd5b81019061030082015267e96f9fdffe6f6d6f6320200d5d60e21b036103208201527f908035906020019064010000000081111561031957600080fd5b8201836020826103408201527f01111561032b57600080fd5b80359060200191846001830284011164010000006103608201527e8311171561034d57600080fd5b91908080601f0160208091040260200160406103808201527f519081016040528093929190818152602001838380828437600081840152601f6103a08201527f19601f82011690508083019250505050505050919291929050505061077c565b6103c082015265e97ead9fdfff6518101460209d60d21b036103e08201527f91505060405180910390f35b6103d3610861565b6040518080602001828103826104008201527f5283818151815260200191508051906020019080838360005b838110156104136104208201527f5780820151818401526020810190506103f8565b50505050905090810190601f6104408201527f1680156104405780820380516001836020036101000a031916815260200191506104608201527f5b509250505060405180910390f35b610551600480360360808110156104645761048082015260016b1800203f56e0406420200d5d60a21b036104a08201527f169060200190929190803590602001906401000000008111156104a1576000806104c08201527ffd5b8201836020820111156104b357600080fd5b8035906020019184600183026104e08201527f840111640100000000831117156104d557600080fd5b91908080601f016020806105008201527f91040260200160405190810160405280939291908181526020018383808284376105208201527f600081840152601f19601f82011690508083019250505050505050919291929061054082015260016c200d641808006424a464200d5d609a1b03610560820152763a5be7f7ff9bdb5b9bebebebe7bddcea6927efeb9fdf6360421b1961058082015273e97ead9fdffe6eafaf9fbfae7f6efc6f0ca49fff196105a08201527f61058a848484610a3b565b90506000835111156105b2576000806000855160206105c08201527f87016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f0676576105e08201527fe43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffff610600820152673a5fab67f7ff9f6360421b1961062082015273e97ead9fdffe6dafafaf9fbfae7f6efc6f5e6c6d196106408201527f505050565b60006106758585858080601f0160208091040260200160405190816106608201527f016040528093929190818152602001838380828437600081840152601f19601f6106808201527f8201169050808301925050505050505084610a3b565b905080604051602001806106a082015269e99f9fe47ead9febfe6f61209d60f21b036106c08201527802828302028b01040c18181c0a948302029302028bf8461bcd603d1b6106e08201526a81526004018080602001826107008201527f8103825283818151815260200191508051906020019080838360005b838110156107208201527f6107165780820151818401526020810190506106fb565b5050505090509081016107408201527f90601f1680156107435780820380516001836020036101000a031916815260206107608201527f0191505b509250505060405180910390fd5b60606040518060200161076390616107808201527f0bde565b6020820181038252601f19601f82011660405250905090565b6000826107a082015260016e1810145841e2e41842f79596e0209d608a1b036107c08201527ce97ead9fdffe6eafaf9fbfae7f6efc6f9fff0f7fea7fea9ef838a8c29f196107e08201527e803e3d6000fd5b5090506000825111156107f05760008060008451602086016108008201527f6000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e4346108208201527f39f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffff610840820152673a5fab67f7ff9f6360521b1961086082015275e97ead9fdffe6dafafaf9fbfae7f6efc6f5e6d6eafaf196108808201527f565b60606040518060200161087390610beb565b6020820181038252601f19606108a08201527f1f82011660405250905090565b600080838360405160200180838152602001826108c08201526ae99f9fe47ead9febfe6db0601d60fa1b036108e08201527f50506040516020818303038152906040528051906020012060001c90506108e761090082015260016c21a1a0d8415f5596e45418001d609a1b0361092082015267e9eb9ef5cda87d8c623a5f2360e21b01196109408201526be99ce1ad4ae77c7777779fbf19610960820152600172146158ffffffffc5983806e05498010060215d606a1b03610980820152673a5fab67f7ff9ee3608a1b196109a08201527ce97ead9fdffe7f9fdffe7c7ead9fdffe7d7efc7dad7b7e7eae7ead9fdf196109c08201527f0191508051906020019080838360005b838110156109ca5780820151818401526109e08201527f6020810190506109af565b50505050905090810190601f1680156109f7578082610a008201527f0380516001836020036101000a031916815260200191505b5095505050505050610a208201527f600060405180830381600087803b158015610a1957600080fd5b505af1158015610a408201527f610a2d573d6000803e3d6000fd5b505050505b50949350505050565b60008083610a608201527f8051906020012083604051602001808381526020018281526020019250505060610a808201527f4051602081830303815290604052805190602001209050600060405180602001610aa08201527f610a8890610bde565b6020820181038252601f19601f820116604052508673ff610ac08201526ce99fbfae9fdffe7f7c7fae6f9f19610ae08201527f2001908083835b60208310610ae9578051825260208201915060208101905060610b008201527f2083039250610ac6565b6001836020036101000a038019825116818451168082610b208201527f1785525050505050509050018281526020019250505060405160208183030381610b4082015260017514a4181014a4142060546098080058003d649418001d60521b03610b60820152623a5f23609a1b19610b8082015260016e074f5f54f7a15544fdfd7407b9e43360851b0319610ba0820152738152600401808060200182810382526013815260610bc0820152760800601fd0dc99585d194c8818d85b1b0819985a5b1959604a1b610be08201527b81525060200191505060405180910390fd5b50509392505050565b61610c008201527f01e680610bf883390190565b60ab80610dde8339019056fe6080604052348015610c208201527f61001057600080fd5b506040516101e63803806101e683398181016040526020610c408201527f81101561003357600080fd5b8101908080519060200190929190505050600073610c60820152623a5fa3604a1b19610c8082015274e9ebea9eff35a89fbfae80f73c865fffffffffffff19610ca08201526981526004018080602001610cc08201527f828103825260228152602001806101c460229139604001915050604051809103610ce082015260016e243f56e018002018404002a055205d608a1b03610d0082015262e9fde8653f79ba5bdf2360ba1b0119610d2082015260017624155414182ae018404658000e58003cff98201810149d604a1b03610d408201526001684fffd5f4c02cf35bc960611b0319610d608201526f60003514156050578060005260206000610d808201527ff35b3660008037600080366000845af43d6000803e60008114156070573d6000610da08201527ffd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332d610dc08201527fe1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e7661610de08201527f6c69642073696e676c65746f6e20616464726573732070726f76696465646080610e00820152679fffabe98059e6b8631810149d60e21b03610e2082015262600035603760f91b01610e408201527f14156050578060005260206000f35b3660008037600080366000845af43d6000610e608201527f803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d142610e808201527f9297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b95526473610ea08201527f6f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f610ec08201527f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000610ee08201526200af38565b73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc737803b620008da5750620008da62002bc960405162005c0d8162000823565b6159d781527f608060405234801561001057600080fd5b5060016004819055506159ae80620060208201527e296000396000f3fe6080604052600436106101dc5760003560e01c8063affe60408201527fd0e011610102578063e19a9dd911610095578063f08a032311610064578063f060608201527f8a032314611647578063f698da2514611698578063f8dc5dd9146116c357806360808201527fffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b1460a08201527f6113ec578063e75235b81461147d578063e86637db146114a857610231565b8060c08201527f63cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b55760e08201527f8063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed06101008201527fe014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca6101208201527f3a9c1461101757610231565b80635624b25b1161017a5780636a7612021161016101408201527f495780636a761202146109945780637d83297414610b50578063934f3a1114616101608201527f0bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780636101808201527f5ae6bd37146108b9578063610b592514610908578063694e80c31461095957616101a08201527f0231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4706101c08201527f1461053a578063468721a7146105655780635229073f1461067a57610231565b6101e08201527f80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c61020082015260016c15d8408c5596cd98408c55ccdd609a1b036102208201527fff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d16102408201527fad7c3d346040518082815260200191505060405180910390a2005b34801561026102608201527f3d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870f6102808201527fb976a4366c693b939918d560001b905080548061027257600080f35b366000806102a08201527f373360601b365260008060143601600080855af13d6000803e80610299573d606102c08201527efd5b3d6000f35b3480156102aa57600080fd5b506102f760048036036040816102e082015260017104055840b055d800203f56e0406420200d5d60721b0361030082015279e96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6fafafaf9ee831a9196103208201527f5b005b34801561030557600080fd5b5061046a6004803603608081101561031c6103408201527f57600080fd5b81019080803590602001909291908035906020019064010000006103608201527e81111561034357600080fd5b82018360208201111561035557600080fd5b806103808201527f35906020019184600183028401116401000000008311171561037757600080fd6103a08201527f5b91908080601f016020809104026020016040519081016040528093929190816103c08201527f8152602001838380828437600081840152601f19601f820116905080830192506103e08201527f5050505050509192919290803590602001906401000000008111156103da57606104008201527e80fd5b8201836020820111156103ec57600080fd5b803590602001918460016104208201527f83028401116401000000008311171561040e57600080fd5b91908080601f01606104408201527f20809104026020016040519081016040528093929190818152602001838380826104608201527f8437600081840152601f19601f820116905080830192505050505050509192916104808201527f929080359060200190929190505050611bbe565b005b348015610478576000806104a08201527ffd5b506104bb6004803603602081101561048f57600080fd5b810190808035736104c08201526be96f9fdffe6f6d6e6fafafaf196104e082018190527f612440565b60405180821515815260200191505060405180910390f35b3480156105008301527f6104df57600080fd5b50610522600480360360208110156104f657600080fd5b61052083015264e96f9fdfff6620406420200d5d60ca1b036105408301527f90929190505050612512565b60405180821515815260200191505060405180916105608301527f0390f35b34801561054657600080fd5b5061054f6125e4565b604051808281526105808301527f60200191505060405180910390f35b34801561057157600080fd5b50610662606105a083015260017801200d80d82020440558416215d800203f56e0406420200d5d603a1b036105c083015272e96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6f196105e08301527f803590602001906401000000008111156105cf57600080fd5b820183602082016106008301527b11156105e157600080fd5b803590602001918460018302840111640160201b6106208301527f8311171561060357600080fd5b91908080601f01602080910402602001604051610640830152600080516020620182888339815191526106608301527f601f820116905080830192505050505050509192919290803560ff16906020016106808301527f909291905050506125f1565b60405180821515815260200191505060405180916106a08301527f0390f35b34801561068657600080fd5b506107776004803603608081101561066106c083015260016d2755d800203f56e0406420200d5d60921b036106e08301527de96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6f7fca6f9fdffe6f9bfeffff196107008301527d8111156106e457600080fd5b8201836020820111156106f657600080fd5b6107208301527f80359060200191846001830284011164010000000083111715610718576000806107408301527ffd5b91908080601f0160208091040260200160405190810160405280939291906107608301527f818152602001838380828437600081840152601f19601f8201169050808301926107808301527f505050505050509192919290803560ff1690602001909291905050506127d7566107a08301527f5b604051808315158152602001806020018281038252838181518152602001916107c08301527f508051906020019080838360005b838110156107bf57808201518184015260206107e08301527f810190506107a4565b50505050905090810190601f1680156107ec57808203806108008301527f516001836020036101000a031916815260200191505b509350505050604051806108208301527f910390f35b34801561080757600080fd5b5061083e60048036036040811015616108408301527f081e57600080fd5b8101908080359060200190929190803590602001909291906108608301527f50505061280d565b6040518080602001828103825283818151815260200191506108808301527f8051906020019080838360005b8381101561087e5780820151818401526020816108a08301527f019050610863565b50505050905090810190601f1680156108ab5780820380516108c08301527f6001836020036101000a031916815260200191505b50925050506040518091036108e08301527f90f35b3480156108c557600080fd5b506108f2600480360360208110156108dc6109008301527f57600080fd5b8101908080359060200190929190505050612894565b604051806109208301527f82815260200191505060405180910390f35b34801561091457600080fd5b50616109408301527f09576004803603602081101561092b57600080fd5b81019080803573ffffffff6109608301526fe96f9fdffe6f6d6e6fafafaf9ed753a9196109808301527f5b005b34801561096557600080fd5b506109926004803603602081101561097c6109a08301527f57600080fd5b8101908080359060200190929190505050612c3e565b005b610b6109c08301527f3860048036036101408110156109ab57600080fd5b81019080803573ffffffff6109e08301526fe96f9fdffe6f6d6e6f7fca6f9fdffe6f19610a0083018190527f929190803590602001906401000000008111156109f257600080fd5b82018360610a208401527f2082011115610a0457600080fd5b803590602001918460018302840111640100610a408401527c83111715610a2657600080fd5b9091929391929390803560ff16906020610a608401527f0190929190803590602001909291908035906020019092919080359060200190610a8084015265e96f9fdffe706524a464200d5d60d21b03610aa08401819052610ac08401527f92919080359060200190640100000000811115610ab257600080fd5b82018360610ae08401527f2082011115610ac457600080fd5b803590602001918460018302840111640100610b008401527c83111715610ae657600080fd5b91908080601f01602080910402602001610b208401527f6040519081016040528093929190818152602001838380828437600081840152610b408401527f601f19601f820116905080830192505050505050509192919290505050612d78610b608401527f565b60405180821515815260200191505060405180910390f35b348015610b5c610b808401527f57600080fd5b50610ba960048036036040811015610b7357600080fd5b810190610ba084015267e96f9fdffe6f6d6f6320200d5d60e21b03610bc08401527f90803590602001909291905050506132b5565b60405180828152602001915050610be08401527f60405180910390f35b348015610bcb57600080fd5b50610d2660048036036060610c008401527f811015610be257600080fd5b8101908080359060200190929190803590602001610c208401527f90640100000000811115610c0957600080fd5b820183602082011115610c1b57610c408401527f600080fd5b80359060200191846001830284011164010000000083111715610c610c608401527f3d57600080fd5b91908080601f01602080910402602001604051908101604052610c808401527f8093929190818152602001838380828437600081840152601f19601f82011690610ca08401527f5080830192505050505050509192919290803590602001906401000000008111610cc08401527f15610ca057600080fd5b820183602082011115610cb257600080fd5b80359060610ce08401527f200191846001830284011164010000000083111715610cd457600080fd5b9190610d008401527f8080601f01602080910402602001604051908101604052809392919081815260610d208401527f2001838380828437600081840152601f19601f82011690508083019250505050610d408401527f50505091929192905050506132da565b005b348015610d3457600080fd5b5061610d608401527f0d3d613369565b60405180806020018281038252838181518152602001915080610d808401527f51906020019060200280838360005b83811015610d8057808201518184015260610da08401527f2081019050610d65565b505050509050019250505060405180910390f35b3480610dc08401527f15610da057600080fd5b50610da9613512565b60405180828152602001915050610de08401527f60405180910390f35b348015610dcb57600080fd5b50610ea560048036036040610e0084015260017220440558437895d800203f56e0406420200d5d606a1b03610e2084015278e96f9fdffe6f6d6e6f7fca6f9fdffe6f9bfeffffffff7eeeea19610e408401527f610e1f57600080fd5b820183602082011115610e3157600080fd5b8035906020610e608401527f0191846001830284011164010000000083111715610e5357600080fd5b919080610e80840152600080516020620182e8833981519152610ea0840152600080516020620182c8833981519152610ec08401527f50509192919290505050613518565b005b348015610eb357600080fd5b506110610ee08401527f156004803603610100811015610ecb57600080fd5b8101908080359060200190610f008401527f640100000000811115610ee857600080fd5b820183602082011115610efa5760610f208401527e80fd5b80359060200191846020830284011164010000000083111715610f1c610f408401527f57600080fd5b909192939192939080359060200190929190803573ffffffffff610f6084015270e96f9fdffe6f6d6e6f7fca6f9fdffe6f9b19610f808401527f0100000000811115610f6757600080fd5b820183602082011115610f79576000610fa08401527f80fd5b80359060200191846001830284011164010000000083111715610f9b57610fc084015260016f1800203f56e42464a4e464a4e4200d5d60821b03610fe08401526b3a5be7f7ff9bdb5b9bdff2a360821b19611000840152753a5be7f7ff9bdb5b9bdff29be7f7ff9bdb5b9bdff2a360321b1961102084015271e96f9fdffe6f6d6e6fafafaf9ecac5a9a4ff196110408401527f5b34801561102357600080fd5b506110d26004803603608081101561103a576061106084015260ea69203f56e0406420200d5d60aa1b036110808401527f90602001909291908035906020019092919080359060200190640100000000816110a08401527f111561108157600080fd5b82018360208201111561109357600080fd5b8035906110c08401527f602001918460018302840111640100000000831117156110b557600080fd5b906110e08401527f91929391929390803560ff1690602001909291905050506136f8565b604051806111008401527f82815260200191505060405180910390f35b3480156110f457600080fd5b50616111208401527f11416004803603604081101561110b57600080fd5b81019080803573ffffffff61114084015261116083015260017424a464141414184e081596d81014602018080060dd605a1b0361118083015276e97ead9fdffe7d7efc7dad7b7e7eae7ead9fdffe6eaf7f196111a08301527f51906020019060200280838360005b838110156111a0578082015181840152606111c08301527f2081019050611185565b50505050905001935050505060405180910390f35b346111e08301527f80156111c157600080fd5b506111ee600480360360208110156111d8576000806112008301527ffd5b8101908080359060200190929190505050613a12565b005b3480156111fc6112208301527f57600080fd5b50611314600480360361014081101561121457600080fd5b810161124083015266e96f9fdffe6f6e642420200d5d60da1b036112608301527f9190803590602001909291908035906020019064010000000081111561125b576112808301527f600080fd5b82018360208201111561126d57600080fd5b8035906020019184606112a08301527f0183028401116401000000008311171561128f57600080fd5b909192939192936112c08301527f90803560ff1690602001909291908035906020019092919080359060200190926112e083015260016e2464200d641808006424a464200d5d608a1b036113008301526b3a5be7f7ff9bdb5b9bdff2a3608a1b196113208301527ce96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6fafafaf9ec44ea9a49fbf196113408301527f518082815260200191505060405180910390f35b34801561133657600080fd5b6113608301527f506113996004803603604081101561134d57600080fd5b81019080803573ffff6113808301526de96f9fdffe6f6d6e6f7fca8c0000196113a08301526de96f9fdffe6f6d6e6fafafaf9ec4196113c08301527fde565b005b3480156113a757600080fd5b506113ea60048036036020811015616113e083015260016e04ef95d800203f56e0406420200d5d608a1b036114008301527ce96f9fdffe6f6d6e6fafafaf9ec090a9a4ffa4cb7fea9eec07a89fff7f196114208301527ffd5b5061147b6004803603606081101561140f57600080fd5b810190808035736114408301526be96f9fdffe6f6d6e6f7fca8c1961146083018190526114808301526114a08201527f613ff3565b005b34801561148957600080fd5b50611492614665565b604051806114c08201527f82815260200191505060405180910390f35b3480156114b457600080fd5b50616114e08201527f15cc60048036036101408110156114cc57600080fd5b81019080803573ffffff6115008201526ee96f9fdffe6f6d6e6f7fca6f9fdffe196115208201527f909291908035906020019064010000000081111561151357600080fd5b8201836115408201527f60208201111561152557600080fd5b80359060200191846001830284011164016115608201527b8311171561154757600080fd5b9091929391929390803560ff1690606115808201527f20019092919080359060200190929190803590602001909291908035906020016115a082015264e96f9fdfff662424a464200d5d60ca1b036115c082018190526115e08201527f909291908035906020019092919050505061466f565b604051808060200182816116008201527f03825283818151815260200191508051906020019080838360005b83811015616116208201527f160c5780820151818401526020810190506115f1565b505050509050908101906116408201527f601f1680156116395780820380516001836020036101000a03191681526020016116608201527f91505b509250505060405180910390f35b34801561165357600080fd5b5061166116808201527f966004803603602081101561166a57600080fd5b81019080803573ffffffffff6116a082015270e96f9fdffe6f6d6e6fafafaf9eb7e8a9a4196116c08201527e5b3480156116a457600080fd5b506116ad614878565b6040518082815260206116e08201527f0191505060405180910390f35b3480156116cf57600080fd5b5061173c6004806117008201526001760d80d8182044055845b995d800203f56e0406420200d5d604a1b036117208201526b3a5be7f7ff9bdb5b9bdff2a3604a1b1961174082015274e96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6fafaf196117608201527f506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040516117808201527f80806020018281038252838181518152602001915080519060200190808383606117a08201527e5b83811015611793578082015181840152602081019050611778565b5050506117c08201527f50905090810190601f1680156117c05780820380516001836020036101000a036117e08201527f1916815260200191505b509250505060405180910390f35b6117d6614d62565b61180082015268e97d8c0000000000016218001d60ea1b036118208201526c3a7afa9ffaa7b9efea2be7ffa3602a1b19611840820152623a5f6360721b196118608201526c3a7afaa91ffaa7b9e1ea2bf3e3606a1b1961188082015261e9eb623a5f6360b21b01196118a08201526caadb08c752bb02028bf8461bcd60951b6118c082015275815260040180806020018281038252600581526020016118e082015266807f475332303360c81b611900820152600174205494180800645414181014602440e43f56d8001d604a1b03611920820152663a67ff67ffdee360721b1961194082015263e97ead9f613a6360c21b01196119608201526001760800642054980800580008180024152418404002a4011d604a1b03611980820152613a63609a1b196119a082015260016d074f5cf730a544fdfd7407b9e433608d1b03196119c0820152748152600401808060200182810382526005815260206119e082015266601fd1d4cc8c0d60c21b611a008201527c81525060200191505060405180910390fd5b60026000600173ffffffff611a20820152613a6360721b19611a40820181905279e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efefff56ffb19611a608301526ae99ffd9fff7b8c00000001601d60fa1b03611a80830152611aa082015279e97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff57eab7e8c0019611ac0820152653f79ba5bdf23603a1b19611ae08201526d3a7f7a1beaabdfa7ff67ffe7ffa3602a1b19611b00820152613a63607a1b19611b208201527ae97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff57eab7e8c000019611b40820152653f79ba5bdf2360421b19611b6082015273e9fde86faaaf9ffc9fff7eab7f6d6e6f9ffefe6e19611b808201527f905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa611ba082015260016b1fd82cba89a098101460209d60a21b03611bc08201527f16815260200191505060405180910390a18060045414611bba57611bb981612c611be08201527f3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c008201526b0308e242bb02028bf8461bcd60a51b611c208201527781526004018080602001828103825260058152602001807f611c4082015264047533032360dc1b611c608201527f81525060200191505060405180910390fd5b6000808060008060005b86811015611c808201527f61243457611c648882614e3f565b80945081955082965050505060008460ff16611ca08201527f141561206d578260001c9450611c96604188614e0590919063ffffffff16565b611cc08201527104130000e080ab08e872bb02028bf8461bcd60751b611ce082015271815260040180806020018281038252600581611d0082018190526a52602001807f475330323160a81b611d208301527981525060200191505060405180910390fd5b8751611d27602084611d408301527f60001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a000611d60830152648152600401611d80830152774040301000c14081c1293002c0a9301000c03fa3a998191960411b611da08301526c81525060200191505060405180611dc08301527f910390fd5b60006020838a01015190508851611dd182611dc360208760001c61611de08301527f4e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45611e008301526802bb02028bf8461bcd60bd1b611e208301527a81526004018080602001828103825260058152602001807f475330611e408301526281525061323360f01b01611e608301527f60200191505060405180910390fd5b60606020848b010190506320c13b0b60e0611e8083015261e6ea6106df60f21b03611ea083015269e99cdf3ec4f4727b9fc06121dd60f21b03611ec08301527f518363ffffffff1660e01b815260040180806020018060200183810383528581611ee08301527f8151815260200191508051906020019080838360005b83811015611ee7578082611f008301527f015181840152602081019050611ecc565b50505050905090810190601f168015611f208301527f611f145780820380516001836020036101000a031916815260200191505b5083611f408301527f8103825284818151815260200191508051906020019080838360005b83811015611f608301527f611f4d578082015181840152602081019050611f32565b505050509050908101611f808301527f90601f168015611f7a5780820380516001836020036101000a03191681526020611fa08301527f0191505b5094505050505060206040518083038186803b158015611f99576000611fc08301527f80fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d60611fe08301527f20811015611fc357600080fd5b81019080805190602001909291905050507bff61200083015264e6e9eb9edf19612020830152690332bb02028bf8461bcd60b51b6120408301527981526004018080602001828103825260058152602001807f4753612060830152618152620c0c8d60ea1b016120808301527f5060200191505060405180910390fd5b50506122b2565b60018460ff161415616120a083015260ea6a086055e09800072514211d60aa1b036120c083015269e9eb7f9edef5a8afa000610cdd60f21b036120e083015265e98c00000001651802180021dd60d21b036121008301526fe97ead9fdffe6f7ead9fdffe9fffdf9f196121208301527e8c81526020019081526020016000205414155b61217c576040517f08c379a0612140830152638152600461216083015278018080602001828103825260058152602001807f475330323560381b6121808301526b8152506020019150506040516121a08301527f80910390fd5b6122b1565b601e8460ff1611156122495760018a6040516020016121c08301527f80807f19457468657265756d205369676e6564204d6573736167653a0a3332006121e08301527c815250601c0182815260200191505060405160208183030381529060406122008301527f52805190602001206004860385856040516000815260200160405260405180856122208301527f81526020018460ff1681526020018381526020018281526020019450505050506122408301527f6020604051602081039080840390855afa158015612238573d6000803e3d60006122608301527ffd5b5050506020604051035194506122b0565b60018a858585604051600081526122808301527f602001604052604051808581526020018460ff168152602001838152602001826122a08301527f81526020019450505050506020604051602081039080840390855afa158015616122c08301527f22a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffff6122e0830152623a5ea3605a1b196123008301526b3a7b9ffaa7b721aa2be7ffe3605a1b19612320830152663a67ff67ffde2360821b1961234083015265e97ead9fdffe613a6360d21b0119612360830152600174242054980800580008180024152418404002a4011d605a1b0361238083015260e9613a6360aa1b01196123a083015260016c050556e0055848ec95d418005d609a1b036123c083015267e9ebeaa49edbdba8623a5ea360e21b01196123e0830152670302028bf8461bcd60c51b6124008301527b81526004018080602001828103825260058152602001807f475330326124208301526381525060601b60f91b016124408301527f200191505060405180910390fd5b8495508080600101915050611c52565b505061246083015260016d14141414141414141596d800205d60921b0361248083015265e9ebea7fea9e633a67ffa360d21b01196124a083015264e99ffea000660942d5d418001d60ca1b036124c08301526001613a6360421b0161211d60f21b036124e083015273e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f1961250083015264e98c0000016618404002a4011d60ca1b036125208301526ee9ebeaa46faf6e6fafa9a49fff9ffe196125408301526001623a5f6360421b01601d60fa1b036125608301526c3a7afa9ffaa7b688aa2be7ffe3603a1b19612580830152663a67ff67ffdee360621b196125a083015261e97e613a6360b21b01196125c083015260017814980800642054980800580008180024152418404002a4011d603a1b036125e0830152613a63608a1b196126008301527ce9ebeaa46faf6e6fafa9a49fff7fb96faf7f6eafaf6fa9a49fff9ffe8c19612620830152623a7323604a1b196126408301526c3a7afa9ffaa7b650ea2be7ffe360421b19612660830152663a67ffa7fff323606a1b1961268083015262e97ead613a6360ba1b01196126a0830152600177180800642054980800580008180024152418404002a4011d60421b036126c0830152613a6360921b196126e083015260016f074f5f5524f6c68d44fdfd7407b9e43360751b03196127008301526127208201526a14980800601fd1d4cc4c0d60aa1b6127408201527981525060200191505060405180910390fd5b61273b858585855a61276082015260016e1853a35596e41420055849e2d5ccdd608a1b036127808201527ce980976a3ec99b55b098d774da285de28555cb6e91caa04649051f5ec6196127a08201526001762a4216fb2e181014581014602440e4289849f3d596ccdd604a1b036127c082015274e980532d378fd7fbed7024f24d44b6092ed822fe7e196127e08201527fc13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050566128008201527f5b600060606127e7868686866125f1565b915060405160203d0181016040523d6128208201527f81523d6000602083013e8091505094509492505050565b606060006020830267612840820152777eee7fea9ed7d4a89fff7f02a4af9fbfae6f7f7dad7f9fe0196128608201527f01601f19166020018201604052801561285e57816020016001820280368337806128808201527f820191505090505b50905060005b8381101561288957808501548060208302606128a08201527f2085010152508080600101915050612864565b508091505092915050565b60076128c08201527f6020528060005260406000206000915090505481565b6128b4614d62565b60006128e08201526001623a5fa360421b01601d60fa1b036129008201526c3a7afa9ffaa7b5b86a2be7ffa3603a1b19612920820152623a5fa360821b1961294082015260016f074f5f5524f6b37d44fdfd7407b9e43360651b03196129608201526f8152600401808060200182810382526061298082018190526c058152602001807f475331303160981b6129a08301527781525060200191505060405180910390fd5b600073ffffff6129c08301819052663a67ffa7ffdf2360421b196129e0840152613a6360921b19612a0084018190527de97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efefff56ffb8c00000019612a20850152613a63606a1b19612a4085015260016d074f5cf6ab7544fdfd7407b9e433605d1b0319612a608501526e815260040180806020018281038252612a808501526d3002c0a9301000c03fa3a998981960911b612aa08501527681525060200191505060405180910390fd5b6001600060612ac08501526001613a6360421b01605d60f21b03612ae085015273e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f19612b0085015264e99ffea0006618404002a4011d60ca1b03612b208501526001613a6360421b016120dd60f21b03612b4085015273e97ead9fdffe6f7ead9fdffe9fffdf9fff9efeff19612b6085015266fde6e96f7c8c016402a055205d60da1b03612b808501526ce9fde86faaaf7f9ffe9fff9ffe19612ba08501526001613a63604a1b01601d60fa1b03612bc0850181905274e97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff519612be086015267fde6e96f7c8c0001632055205d60e21b03612c008601526de9fde86faaaf801320c5c10015a819612c208601527f83a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273612c408601526be97ead9fdffe6eafaf9fbfae19612c608601527f80910390a150565b612c46614d62565b600354811115612cbe576040517f08c3612c808601526181526103cd60f51b01612ca08601527a6004018080602001828103825260058152602001807f475332303160281b612cc08601526981525060200191505060612ce08601527802028c04881c87eadb000c0880ab0969aabb02028bf8461bcd603d1b612d008601526a8152600401808060200182612d208601819052714081c1293002c0a9301000c03fa3a999181960711b612d408701527281525060200191505060405180910390fd5b80612d608701527f6004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c51619612d808701527f05bb5ad4039c936004546040518082815260200191505060405180910390a150612da08701527f565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b90506005612dc08701527f6000815480929190600101919050555080805190602001209150612dbb828286612de0870152600174184cb69596d41800184b719853b65596e41418001d605a1b03612e00870152623a5fa360a21b19612e2087015263e99c8a10670585184beb15e01d60c21b03612e408701527fbb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401612e6087015268e97ead9fdffe737eae6220235d60ea1b03612e808701527f602001806020018a6001811115612e6957fe5b81526020018981526020018881612ea087015260016b1498080061e054980800619d60a21b03612ec087015263e97eada06705a054980800615d60c21b03612ee087015263e97eada067080060180800611d60c21b03612f008701527f200183810383528d8d82818152602001925080828437600081840152601f1960612f208701527f1f82011690508083019250505083810382528581815181526020019150805190612f408701527f6020019080838360005b83811015612f3b578082015181840152602081019050612f608701527f612f20565b50505050905090810190601f168015612f68578082038051600183612f808701527f6020036101000a031916815260200191505b509e505050505050505050505050612fa08701527f505050600060405180830381600087803b158015612f9357600080fd5b505af1612fc08701527f158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b612fe08701527f01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a106130008701526bab09824abb02028bf8461bcd609d1b6130208701527681526004018080602001828103825260058152602001806130408701526507f47533031360d41b6130608701527e81525060200191505060405180910390fd5b60005a90506130b28f8f8f8f80613080870152600080516020620182e88339815191526130a0870152600080516020620182c88339815191526130c08701527f50508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b935061306130e08701527fc75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b613100870152770403098712ba83000440a0aadb098aa2bb02028bf8461bcd60451b6131208701526b81526004018080602001828161314087018190527003825260058152602001807f475330313360781b6131608801527381525060200191505060405180910390fd5b60006131808801527f8089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f446131a08801527f2e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e846131c08801527f82604051808381526020018281526020019250505060405180910390a16131f86131e08801527f565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b6132008801527f687d23848260405180838152602001828152602001925050506040518091039061322088015264e97e8c0001662856d41418001d60ca1b03613240880152673a7ae7b356ea1fe360321b1961326088015271e99c6cd8ec977c7a9fbfae7c9c00000000e9196132808801527f60e01b81526004018083815260200182151581526020019250505060006040516132a08801527f80830381600087803b15801561328b57600080fd5b505af115801561329f573d6132c08801527f6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b606132e08801527f08602052816000526040600020602052806000526040600020600091509150506133008801527a02a40ab2db00030022a482830004088b099ababb02028bf8461bcd602d1b613320880152688152600401808060206133408801527301828103825260058152602001807f475330303160601b6133608801527081525060200191505060405180910390fd6133808801527f5b61336384848484611bbe565b50505050565b6060600060035467ffffffffff6133a08801527c7eee7fea9ecc79a89fff7f02a4af9fbfae6f7f7dad7f9fdffd9fdffe7d196133c08801527f0160405280156133b55781602001602082028036833780820191505090505b506133e088015260016b24141800201800980018005d60a21b0361340088015269e97ead9fdffe6f7eada061059d60f21b036134208801526001700800580008180024152418404002a4011d607a1b03613440880152663a5bebe927ffa360a21b1961346088015268e9eb9ecaf6a87f7c7d6205a05d60ea1b0361348088015260017220546044184d1815ff96d8080098080040641d606a1b036134a088015260e9633a5bdfa360aa1b01196134c088015261e98d692054941418009800209d60b21b036134e08801526be97ead9fdffe6f7ead9fdffe1961350088015260016e180008180024152418404002a4011d608a1b036135208801527ce96faf7e7f9ffefe6dafaf9ecbe0a9a47d6cafafafaf6fa9a49ffaab7e196135408801527f565b600080825160208401855af4806000523d6020523d600060403e60403d016135608801527f6000fd5b6135858a8a80806020026020016040519081016040528093929190816135808801527f8152602001838360200280828437600081840152601f19601f820116905080836135a08801526001706494141414141414225854529596d8001d60721b036135c088015262e9eb9e623a5ee360ba1b01196135e08801527f35c3576135c28461564a565b5b6136118787878080601f0160208091040260206136008801527f01604051908101604052809392919081815260200183838082843760008184016136208801527f52601f19601f82011690508083019250505050505050615679565b6000821115613640880152600176184d8ad5d84d8a609800180061a15853d11596d416ccdd604a1b0361366088015274e980ebe2079759cce50ad71c737c4855fc123e6419196136808801527f6e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020016136a088015269e97ead9fdffe7c8c000161211d60f21b036136c08801526de97ead9fdffe7d7efc7dad78787d196136e08801527f818152602001925060200280828437600081840152601f19601f8201169050806137008801527f830192505050965050505050505060405180910390a2505050505050505050506137208801527f565b6000805a905061374f878787878080601f01602080910402602001604051613740880152600080516020620182888339815191526137608801527f601f82011690508083019250505050505050865a614e8d565b613758576000806137808801527ffd5b60005a8203905080604051602001808281526020019150506040516020816137a0880152700418181c0a948302029302028bf8461bcd607d1b6137c088015272815260040180806020018281038252838181516137e08801527f815260200191508051906020019080838360005b838110156137e557808201516138008801527f818401526020810190506137ca565b50505050905090810190601f16801561386138208801527f125780820380516001836020036101000a031916815260200191505b50925050613840880152677eee7fea9ec7c4a96f0a0c080a301220721fab6c0c0c00104d60831b036138608801527f600080fd5b5060405190808252806020026020018201604052801561386a57816138808801527f602001602082028036833780820191505090505b5091506000806001600087736138a0880152613a6360521b196138c088015275e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efe196138e088015266e96fafa49fff8d6302a4011d60da1b03613900880152623a5fa3604a1b1961392088018190526c3a7afa9ffaa7b1b0aa2be7ffa360421b19613940890152623a5fa3608a1b1961396089018190527ce9ebeaa47fea9ec6b7a8af7b7defa4ea9ec5fca87f7b7c7eae7eef9ec6196139808a015260016c1695ff96d8080098080040641d609a1b036139a08a015266e97eadafaf9ffe633a5bdfa360da1b01196139c08a015267e98c000000000001631800209d60e21b036139e08a015271e97ead9fdffe6f7ead9fdffe9fffdf9fff6f19613a008a015262e96fb068152418404002a4011d60ba1b03613a208a01527f81806001019250506138d3565b80925081845250509250929050565b600073ff613a408a0152663a67ff67fff32360321b19613a608a0152613a6360821b19613a808a018190527be97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efefff56ffb8c0019613aa08b0152613a63605a1b19613ac08b015260016e074f5f54f6275d44fdfd7407b9e43360451b0319613ae08b0152613b008a01939093526f3825260058152602001807f475330333607c1b613b208a01527381525060200191505060405180910390fd5b6001613b408a015265e98c0000000165180218000cdd60d21b03613b608a01526fe97ead9fdffe6f7ead9fdffe9fffdf9f19613b808a015260017420e054980800642054980800580008206415540cdd60521b03613ba08a015275e97e800d5f14ea9b8d2ebbfdaa4f283e1e633f8eea2e19613bc08a01527f051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc6613be08a01527f8c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050613c008a01526001721414141414141596d84ef99853589596d8001d606a1b03613c208a015261e9eb623a5fa360b21b0119613c408a015260ea6a056005584f1415d418005d60aa1b03613c608a015269e9ebeaa49ec33da89fc061205d60f21b03613c808a015265028bf8461bcd60d51b613ca08a018190527d81526004018080602001828103825260058152602001807f475331303100613cc08b015265815250602001613ce08b0181905260016d245414181014602440e43f56e01d60921b03613d008c015262e98c00663a67ffa7ffdee360ba1b0119613d208c01526ce97ead9fdffe6f7ead9fdffe9f19613d408c015260016c08180024152418404002a4011d60921b03613d608c015267e9eb9ec23da89fbf613a6360e21b0119613d808c0152613da08b01919091527d81526004018080602001828103825260058152602001807f475331303300613dc08b0152613de08a0152600171245414181014602440e43f56d8005800209d60721b03613e008a015263e97ead9f613a6360c21b0119613e208a018190526001760800642054980800580008180024152418404002a4011d604a1b03613e408b0152663a67ffa7ffdee360721b19613e608b0152613e808a01526001740800642054980800580008180018404002a055205d605a1b03613ea08a0152653f79ba5bdf23608a1b19613ec08a01526d3a7f7a1beaabe7ffe7ffa7ffdf23607a1b19613ee08a015264e97ead9fdf613a6360ca1b0119613f008a0152600172642054980800580008180018404002a055205d60621b03613f208a0152653f79ba5bdf2360921b19613f408a01527de9fde86faaaf80554b05d4b9c0a7e4d4cd34c481c48fb4631c833df64a0419613f608a015260016f135df964eb3901509da058101460209d60821b03613f808a01527be97ead9fdffe6eafaf9fbfae7f6efc6f5eafafa9a49ec0889eb29da919613fa08a01527f5b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558613fc08a01527fc93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf90254613fe08a01526001731be0c199266f3e2e8cf48d4fe8a098101460209d60621b036140008a015277e97ead9fdffe6eafaf9fbfae7f6efc6f5eafafa9a49ec004196140208a015263e97e8c01671853589596d8001d60c21b036140408a01526ce9ebea7fea9ebf9aa8af9ffe8c196140608a01526140808901919091526c3a7afaa91ffaa7afd8aa2bf3e360421b196140a08901526140c088015260016f074f5f5524f5f78544fdfd7407b9e433606d1b03196140e08801527081526004018080602001828103825260056141008801526b8152602001807f475332303360a01b6141208801527881525060200191505060405180910390fd5b600073ffffffff614140880152663a67ff67ffdf23604a1b19614160880152613a63609a1b196141808801527a3a5fab67f7ff9bdfab67f7ffa7fff7e7ffdbeadbe7bfbffd5bfee360221b196141a0880152613a6360721b196141c0880181905260016d074f5cf5ef7d44fdfd7407b9e43360651b03196141e08901526142008801969096526c016054980800601fd1d4cc8c0d609a1b614220880152614240870194909452623a5f6360621b196142608701526c3a7afa9ffaa7af616a2be7ffa3605a1b19614280870152623a5f6360a21b196142a08701526eb0a0aadb0a1762bb02028bf8461bcd60851b6142c08701527381526004018080602001828103825260058152606142e08701819052682001807f475332303360b81b614300880152600173205494180800645414181014602440e43f56e05d60421b03614320880152663a67ff67ffdea3606a1b1961434088015262e97ead613a6360ba1b0119614360880152600177180800642054980800580008180024152418404002a4011d60421b036143808801526143a087019390935260016d074f5cf5e09d44fdfd7407b9e43360851b03196143c08701526143e0860192909252682001807f475332303560b81b6144008601527b81525060200191505060405180910390fd5b600260008373ffffffff614420860152614440850184905279e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efefff56ffb1961446086018190526ae99ffd9fff7c8c00000001601d60fa1b036144808701526144a0860185905279e97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff57eab7e8c00196144c0870152653f79ba5bdf23603a1b196144e08701526c3a7f7a1beaabdfe7ff67ffdea360321b196145008701526145208601939093527be97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff57eab7e8c00000019614540860152653f79ba5bdf23604a1b196145608601526d3a7f7a1beaabe7ffe7ff67ffdee3603a1b19614580860152613a63608a1b196145a0860152783a5fab67f7ff9bdfab67f7ffa7fff7e7ffe7bfbffd5faadfa360221b196145c0860152653f79ba5bdf2360521b196145e086015275e9fde86faaaf80072b603ad67ed16583a3af1963df0f196146008601526001773733036e3ea57262f16332693c704a67abe098101460209d60421b0361462086015273e97ead9fdffe6eafaf9fbfae7f6efc6f5e806b9a196146408601527ffa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26816061466086015266e97ead9fdffe6f64101460209d60da1b036146808601527f505060405180910390a1505050565b6000600454905090565b606060007fbb836146a08601527f10d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860006146c08601527f1b8d8d8d8d6040518083838082843780830192505050925050506040518091036146e08601526001772408232323232323231810145808006023205498080062dd60421b0361470086015273e97ead9fdffe757ead9fdffe767ead9fdffe779f196147208601527f0181111561470057fe5b8152602001878152602001868152602001858152602061474086015268e97ead9fdffe7c8c0161611d60ea1b036147608601526ce97ead9fdffe7d7ead9fdffe64196147808601527f50505050505050505050505060405160208183030381529060405280519060206147a08601527f01209050601960f81b600160f81b61478c614878565b8360405160200180857e6147c086015260e6196147e0860152600167168152600101847f60c01b0361480086015278e6e97ead9ffefe7c7ead9fdffe7d7ead9fdffe6bafafafafaf196148208601527f6040516020818303038152906040529150509b9a5050505050505050505050566148408601527f5b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b536148608601527fdb3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffff61488086015271e97ead9fdffe6eafaf9fbfae7f6efc6f5eaf196148a08601527f565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb96148c08601527f2a7946921860001b6148a66125e4565b306040516020018084815260200183816148e086015265e97ead9fdfff6514980800609d60d21b036149008601527f935050505060405160208183030381529060405280519060200120905090565b6149208601527f6148fe614d62565b806001600354031015614979576040517f08c379a00000006149408601526681526004018080614960860181905275602001828103825260058152602001807f475332303160501b61498087018190526e8152506020019150506040518091036149a0880181905265e97d8c00000165243f56d8001d60d21b036149c08901526ee9ebea7fea9eb61ca8af9ffe8c0000196149e0890152623a5f63605a1b19614a0089015260016f074f5f5524f5ad5544fdfd7407b9e433603d1b0319614a20890152614a408801859052718103825260058152602001807f475332303360701b614a608901527281525060200191505060405180910390fd5b81614a808901526ae99ffd9fff7a8c00000001601d60fa1b03614aa0890152614ac0880196909652614ae0870194909452614b0086019190915260016d074f5cf5a55544fdfd7407b9e433603d1b0319614b20860152614b40850191909152718103825260058152602001807f475332303560701b614b608501527281525060200191505060405180910390fd5b60614b8085015266e98c000000000163980020dd60da1b03614ba085015270e97ead9fdffe6f7ead9fdffe9fffdf9fff19614bc0850181905261e9a06924152418404002a4011d60b21b03614be086015266e98c0000000001639800215d60da1b03614c00860152614c2085015263fde6e9706718404002a055205d60c21b03614c4085015269e9fde86faaaf9fff9ffe6120dd60f21b03614c6085015267e98c000000000001631800211d60e21b03614c8085015271e97ead9fdffe6f7ead9fdffe9fffdf9fff9e19614ca085015264fde6e96f7d654002a055205d60ca1b03614cc08501526ae9fde86faaaf9ffc9fff7f601d60fa1b03614ce08501527f54809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc614d00850152600175036e3ea57262f16332693c704a67abe098101460209d60521b03614d2085015275e97ead9fdffe6eafaf9fbfae7f6efc6f5e7f9ffbabeb19614d408501527f614d2457614d2381612c3e565b5b505050565b60405180604001604052806005614d608501526a081526020017f312e332e360ac1b614d80850152600167205494205596cc1d60921b03614da085015266e9eb9eb1fca89f623a732360da1b0119614dc08501526602028bf8461bcd60cd1b614de08501527c81526004018080602001828103825260058152602001807f4753303331614e00850152648152506020614e208501527f0191505060405180910390fd5b565b600080831415614e185760009050614e39614e408501527f565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b8091614e608501527f50505b92915050565b6000806000836041026020810186015192506040810186614e808501527f0151915060ff60418201870151169350509250925092565b6000808284019050614ea08501527f83811015614e8357600080fd5b8091505092915050565b600060018081111561614ec08501527f4e9b57fe5b836001811115614ea757fe5b1415614ec057600080855160208701614ee08501527f8986f49050614ed0565b600080855160208701888a87f190505b959450505050614f008501527f50565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbd614f208501527fa4f558c93c34c860001b9050805491505090565b600081831015614f1a578161614f408501527f4f1c565b825b905092915050565b600082821115614f3357600080fd5b600082614f608501526001732100e4142024541424a454141596d8002018001d60621b03614f8085015260e9623a5f2360aa1b0119614fa0850152600171051853e055e09853e0d596cc96e41418001d60721b03614fc085015262e9ebea623a5ee360ba1b0119614fe08501527f61509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90916150008501527f9063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffff61502085015270e99ef7037c6f7eeafd6f9fbfae9fff9fbf1961504085015279028c04181c0c2c44478c9a828282830a84b2bb02028bf8461bcd60351b615060850152698152600401808060200161508085015272828103825260058152602001807f475330313160681b6150a08501527181525060200191505060405180910390fd5b6150c08501527f615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e05906150e08501527f919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08615100850152608162061bcd60ed1b016151208501527b29300200c040301000c14081c1293002c0a9301000c03fa3a998189960211b615140850152688152506020019150506151608501527f60405180910390fd5b5b5095945050505050565b6000600454146151c257604061518085015265028bf8461bcd60d51b6151a08501527d81526004018080602001828103825260058152602001807f4753323030006151c0850152658152506020016151e08501527f91505060405180910390fd5b8151811115615239576040517f08c379a0000000615200850152615220840152615240830152615260820152730487eadb000c0880ab0a9582bb02028bf8461bcd60651b6152808201526f815260040180806020018281038252606152a08201526c02c0a9301000c03fa3a999181960991b6152c08201527781525060200191505060405180910390fd5b6000600190506152e08201527f60005b83518110156155b65760008482815181106152d057fe5b60200260200161530082015264e97e8c00016554641418001d60ca1b036153208201526de9ebea7fea9eacbba8af9ffe8c0019615340820152623a5fa360521b196153608201526c3a7afaa91ffaa7ab20ea2bf3e3604a1b19615380820152623a5fa360921b196153a08201526c3a7afaa91ffaa7ab12ea2bdfe3608a1b196153c082015265e9ebeaa49eab623a5f2360d21b01196153e0820152690132bb02028bf8461bcd60b51b6154008201527981526004018080602001828103825260058152602001807f47536154208201526181526232303360e81b0161544082015260017214180800645414181014602440e43f56d8001d606a1b03615460820152663a67ff67ffdf2360921b1961548082015267e97ead9fdffe6f7e613a6360e21b01196154a082015260017214980800580008180024152418404002a4011d606a1b036154c082015262e9eb9e613a6360ba1b01196154e08201526a02a93abb02028bf8461bcd60ad1b6155008201527881526004018080602001828103825260058152602001807f4761552082015260816314cc8c0d60e21b016155408201526001771494180800645414181014602440e43f56e018009800215d60421b03615560820152613a6360921b19615580820152783a5fab67f7ff9bdfab67f7ffa7fff7e7ffe7bfbffd5faadfa3602a1b196155a0820152653f79ba5bdf23605a1b196155c082015276e9fde86faaaf7f6dafaf7f7f9ffefe6eafaf9ead46a9a4196155e082015262e98c01681418005800980020dd60ba1b036156008201526ce97ead9fdffe6f7ead9fdffe9f1961562082015260016a08180018404002a055205d60a21b0361564082015265e9fde86faab0648645a420dd60d21b036156608201527f825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed6156808201527f1cf53d337577d14212a4870fb976a4366c693b939918d560001b9050818155506156a082015265e99ffe9fffa065141596d8001d60d21b036156c08201526001613a6360421b01605d60f21b036156e082015273e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f1961570082015264e98c0000016618404002a4011d60ca1b036157208201526ee9eb9ea884a89fbfae80f73c865fff196157408201526481526004016157608201527708080602001828103825260058152602001807f47533130360441b6157808201526c815250602001915050604051806157a082015260016c2440e43f56d80060180018005d609a1b036157c082015268e97ead9fdffe6f7ead613a6360ea1b01196157e082015260016f180800580008180018404002a055205d60821b0361580082015261e9fd653f79ba5bdf2360b21b011961582082015264e97d8c00016605e4155418001d60ca1b036158408201526de9eb9ea74fa89ea7c27d9fff7c9f19615860820152710ad30a746ab2db0ac57abb02028bf8461bcd606d1b6158808201527081526004018080602001828103825260056158a08201526b08152602001807f47533030360a41b6158c08201527881525060200191505060405180910390fd5b5b5050565b60006158e08201526001702018ea41672ee1211810145809006020dd607a1b036159008201527ae97ead9fdffe7d7ead9fdffe6dafafaf9fbfae9fdf7e7cfcfc7ead1961592082015260016e24181014a4183806d808208060145f608a1b03615940820152747c7e7ce9e87cadafafafaf6faf9fdf9fff7dae9fdf196159608201527f84016000896127105a03f13d6000811461595b576020811461596357600093506159808201527f61596e565b81935061596e565b600051158215171593505b50505093925050506159a08201527f56fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485b6159c082015276a0663db3747ccdf1605df53464736f6c6343000706003360481b6159e08201525b6200af456025546200404d565b90816025556020815191016000f590813f156200af5e57565b60405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b6044820152606490fd5b91906200afaa9061010080855284019062000cf3565b6001602084015260e06020600092836040870152858103606087015283815201938260808201528260a08201528260c08201520152565b9060018060a01b0390816200affc62002bc9602254620005c7565b16156200b014575b505050620008da602254620005c7565b8116156200b1bf575b506200b02f62002bc9602254620005c7565b9060008051602062018268833981519152803b15620005c257604080516318caf8e360e31b8082526001600160a01b039590951660048201526024810191909152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b606482015260009390848160848183875af18015620006f4576200b1a8575b50813b1562002e8d57604080519182526001600160a01b03841660048301526024820152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b60648201529083908290608490829084905af18015620006f4576200b191575b506200b1236200b1176200332a565b9162001bcf836200339c565b6200b13462002bc9602254620005c7565b90813b15620006fa5782916200b1619160405194858094819363b63e800d60e01b8352600483016200af94565b03925af18015620006f4576200b17a575b80806200b004565b80620006e66200b18a9262000760565b386200b172565b80620006e66200b1a19262000760565b386200b108565b80620006e66200b1b89262000760565b386200b0a9565b60009060206200b2276200b1d662002bc962005bda565b836200b1e162004bc2565b604051631688f0b960e01b81526001600160a01b039093166004840152606060248401526000606484015260036044840152919586939190921691839182906084820190565b03925af18015620006f4576200b263926000916200b26a575b5060228054919092166001600160a01b03166001600160a01b0319909116179055565b386200b01d565b6200b286915060203d81116200072d576200071c818362000840565b386200b240565b60101c6001600160a01b031690565b604051906200b2ab826200077a565b6001825260006020830152565b92916200b2e060409160039360018060a01b0316865260606020870152606086019062000de9565b930152565b90816020910312620005c257518015158103620005c25790565b620008da939160018060a01b031681526200b32e60009384602084015261014080604085015283019062000de9565b928060608301528060808301528060a08301528060c08301528060e083015261010082015261012081840391015262000de9565b92620008da94926200b38f9260018060a01b03168552602085015261014080604086015284019062000de9565b9160008060608301528060808301528060a08301528060c08301528060e083015261010082015261012081840391015262000de9565b604051906200b3d4826200077a565b6016825275195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b6020830152565b909360606200b438959493946200b4128486886200b626565b6040516338d07aa960e21b81526004810192909252602482015295869081906044820190565b0381600080516020620182688339815191525afa938415620006f45760008080966200b4dd575b6020969750600092916200b4806200b48f926040519a8b938b85016200b5ad565b03601f19810189528862000840565b6200b4b16040519788968795869463353b090160e11b8652600486016200b362565b03926001600160a01b03165af18015620006f457620026e89160009162000a1c575062000a136200b3c5565b5050602094506000906200b48f6200b5096200b4809860603d811162000a945762000a7e818362000840565b9199909198505091925050866200b45f565b6000805160206201826883398151915291823b15620005c2576200b5689260009260405180958194829363a34edc0360e01b84521515600484015260406024840152604483019062000de9565b03915afa8015620006f4576200b57b5750565b620026e89062000760565b90816060910312620005c257805160ff81168103620005c257916040602083015192015190565b91604193918352602083015260ff60f81b9060f81b1660408201520190565b610120919493929460018060a01b031681526200b5fd60009586602084015261014080604085015283019062000de9565b948060608301528060808301528060a08301528060c08301528060e08301526101008201520152565b60405163057ff68760e51b8152602093919290916001600160a01b03168483600481845afa918215620006f4576200b6829486946000946200b6b5575b50604051631b1a23ef60e31b815295869485938493600485016200b5cc565b03915afa918215620006f4576000926200b69b57505090565b620008da9250803d10620035695762003559818362000840565b6200b6d1919450853d8711620035695762003559818362000840565b92386200b66356fe60a0806040523461003257306080526156b190816200003882396080518181816121e3015281816122cd01526126140152f35b600080fdfe60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613d3657806301ffc9a714613cdf578063059351cd14613c88578063062f9ece14613bd75780630a6f0ee9146138805780630ba95909146119bb5780630bece79c146138575780630c0512e9146138395780630f529ba21461381b578063125fd1d9146137fd57806315cc481e146137d4578063184b9559146136255780631aa91a9e146136065780631ddf1e23146135ec5780632506b870146135b5578063255ffb381461358b5780632bbe0cae146130bb5780632dbd6fdd1461138e5780632ed04b2b14612e49578063311a6c56146128a9578063339604591461288b578063346db8cb14612866578063351d9f96146128405780633659cfe6146125ef57806338fff2d0146125d1578063406244d8146125b557806341bb76051461255d57806342fda9c71461253f5780634ab4ba42146125215780634d31d0871461104c5780634f1ef2861461228f57806352d1902d146121d057806359a5db8b146121b15780635db64b99146113b95780636003e4141461218857806360d5dedc146120cd578063626c47e8146120b15780636453d9c414612087578063715018a61461203b578063782aadff14611ca0578063814516ad14611ba8578063817b1cd214611b8a578063824ea8ed14611b1d578063868c57b814611ac75780638da5cb5b14611a9a578063950559d714611a4f5780639a1c157c14611a31578063a0cf0aea14611a02578063a28889e1146119d9578063a47ff7e5146119bb578063a574cea414611965578063aba9ffee14611263578063ac1ed7b914611917578063b0d3713a146118d2578063b2b878d01461180f578063b41596ec14611477578063b5f620ce1461141b578063b6c61f31146113f2578063bcc5b93b146113b9578063c32921711461138e578063c4d66de81461135c578063c7f758a814611281578063d1e3623214611263578063dc96ff2d14611236578063df868ed314611213578063e0a8f6f5146110bc578063e0dd2c3814611072578063eb11af931461104c578063edd146cc14610b79578063ef2920fc146104a3578063f2fde38b14610412578063f5b0dfb7146103b9578063f5be3f7c1461039c5763ffa1ad7414610352575061000e565b3461039957806003193601126103995761039560405161037181613f24565b60038152620302e360ec1b602082015260405191829160208352602083019061408d565b0390f35b80fd5b50346103995780600319360112610399576020604051611c208152f35b5034610399576020366003190112610399577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103f96145cf565b610405816069546145ac565b606955604051908152a180f35b50346103995760203660031901126103995761042c614131565b6104346142ef565b6001600160a01b0381161561044f5761044c9061434e565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b506104ad36614239565b906104b66145cf565b6104be6145f5565b6001600160a01b0382811691908215610b675760785416938415610b555760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610b09578391610b38575b5015610b265761051b866147d6565b15610b145760405163011de97360e61b815285818061053e308b600484016147bc565b03818b5afa908115610b09578391610adc575b5015610aca578351840193858501908681870312610ac25780870151906001600160401b038211610ac657019481603f87011215610ac257868601519061059782614147565b966105a56040519889613f5a565b82885260408989019360061b820101938411610abe57604001915b838310610a8c5750505050819682975b855189101561064d576105e38987614c98565b515115610643576105f48987614c98565b51516105ff81614cac565b1561062c575061062061062691886106178c8a614c98565b51015190614d04565b98614611565b976105d0565b85906040519063c1d17bef60e01b82526004820152fd5b9761062690614611565b9580939761066c61068a93949698878b52607c845260408b2054614d20565b936040518080958194637817ee4f60e01b83523090600484016147bc565b03915afa908115610a81578791610a4f575b50808211610a325750828695949552607c82526040862055606091829186945b8651861015610a2e576106cf8688614c98565b51519380511560001461091b5750604051946106ea86613f24565b6001865282860183368237865115610906578590529490945b8261070e888a614c98565b51015195858a52607b845260408a209260098401918660005282865261073a604060002054998a614d20565b92876000528652826040600020558b809b81938754945b8a8452607d8a526040842080548210156108f357610770828892614294565b90549060031b1c1461078e57610787604091614611565b9050610751565b50999391509a9593919b5060019994995b1561088d575b506108069493929190808411610854576107bf8482614873565b6107cc60709182546145ac565b90556107d88482614873565b6107e7600285019182546145ac565b90555b600783019283541560001461080d575050509050439055614611565b94956106bc565b60a0935061082a60008051602061557c8339815191529582614ff4565b6003600282015491015491604051938a85528985015260408401528a8301526080820152a1614611565b61085e8185614873565b61086b6070918254614873565b90556108778185614873565b61088660028501918254614873565b90556107ea565b878d52607d875260408d20805490600160401b8210156108e057816108c09160016108069a999897969594018155614294565b819291549060031b91821b91600019901b191617905590919293946107a5565b634e487b7160e01b8f5260416004528d8ffd5b5050999391509a9593919b99949961079f565b82634e487b7160e01b60005260326004526000fd5b9491889497989693919698855b875181101561096d578961093c828a614c98565b51146109505761094b90614611565b610928565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b509794989691939692909215610986575b949094610703565b948051906001808301809311610a1b5761099f83614147565b926109ad6040519485613f5a565b8084526109bc601f1991614147565b0136868501378a815b6109df575b50506109d886915183614c98565b529461097e565b829a949a51811015610a1357806109f9610a0a9285614c98565b51610a048287614c98565b52614611565b819a949a6109c5565b9993996109ca565b634e487b7160e01b8b526011600452838bfd5b8780f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610a7a575b610a668183613f5a565b81010312610a7557518761069c565b600080fd5b503d610a5c565b6040513d89823e3d90fd5b6040898484030112610abe57886040918251610aa781613f24565b8551815282860151838201528152019201916105c0565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610afc9150863d8811610b02575b610af48183613f5a565b8101906147a4565b38610551565b503d610aea565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610b4f9150863d8811610b0257610af48183613f5a565b3861050c565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610399576040366003190112610399576024356001600160401b038111610fda57610baa90369060040161421e565b610bb26145cf565b610bba6145cf565b60685461103a576004351561102857600435606855606a546e5af43d82803e903d91602b57fd5bf3606c54610bee81614611565b606c5560405160208101913360601b8352603482015260348152610c1181613f3f565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017855260789290921b6001600160781b031916176020526001600160a01b03906037600985f5168015610fe957607980546001600160a01b031981168317909155839190821617803b15610fda5781809160046040518094819363204a7f0760e21b83525af18015610fde57610fc6575b5050808051810103906101e08212610fac576040519160e083016001600160401b03811184821017610fb0578060405260808212610ac657610ce881613ef6565b60208301518152604083015161010085015260608301516101208501526080830151610140850152835260a08201516003811015610ac657602084015260c08201516004811015610ac6576040840152602060bf19820112610ac257604051906001600160401b036020830190811190831117610fb05781602060c0930160405260e08401518152606085015260df190112610fac57604051610d8a81613edb565b6101008201516001600160a01b0381168103610ac6578152610daf6101208301614620565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610e056101e0610df86101c08401614620565b928360a086015201614620565b60c08301526001600160a01b031615610b555760a0810151607880546001600160a01b0319166001600160a01b039290921691909117905560208101516003811015610f985760765460408301516004811015610f8457917fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b939160ff61ff006102009560081b1692169061ffff1916171760765560608101515160775560018060a01b0360c08201511660018060a01b0319607a541617607a55610ed06080820151825190615079565b604051906004358252610ee7602083018251614634565b610ef9602082015160a0840190614287565b610f0b604082015160c084019061427a565b6060818101515160e084015260808083015180516001600160a01b03908116610100870152602082015181166101208701526040820151610140870152928101516101608601529081015161018085015260a0908101516101a085015282015181166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b83526021600452602483fd5b8280fd5b634e487b7160e01b600052604160045260246000fd5b610fcf90613f11565b610fda578138610ca7565b5080fd5b6040513d84823e3d90fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b503461039957602036600319011261039957602090611069614131565b50604051908152f35b50346103995760403660031901126103995760096040611090614105565b926004358152607b60205220019060018060a01b03166000526020526020604060002054604051908152f35b503461039957602080600319360112610fda5760043590818352607b8152600160ff6008604086200154166110f08161404a565b036111fa57818352607b815260408320600501546001600160a01b039081163381036111d757508084916079541690848352607b8452601060408420916005830154169101548352607f84526002604084200154823b15610ac25761116f9284928360405180968195829463099ea56b60e41b84528c60048501614c77565b03925af18015610fde576111c3575b50829052607b81526040808420600801805460ff19166003179055519182527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c91a180f35b6111cc90613f11565b610fac57823861117e565b604051634544dc9160e11b81529081906111f6903390600484016147bc565b0390fd5b6040516344980d8f60e01b815260048101839052602490fd5b5034610399578060031936011261039957602060ff606754166040519015158152f35b503461039957602036600319011261039957600260406020926004358152607b8452200154604051908152f35b50346103995780600319360112610399576020607154604051908152f35b503461039957602036600319011261039957610160906004358152607b60205260408120600181015491821560001461134c57905b60018060a01b03918260058301541693836004840154169360068401541690600284015460ff6008860154169060078601549260038701549433600052600988016020526010604060002054980154986040519a8b5260208b015260408a0152606089015260808801526113298161404a565b60a087015260c086015260e0850152610100840152610120830152610140820152f35b5061135682614e69565b906112b6565b50346103995760203660031901126103995761044c611379614131565b61138960ff845460081c1661454c565b61434e565b5034610399578060031936011261039957602060ff60765460081c166113b7604051809261427a565bf35b5034610399576020366003190112610399576020906040906001600160a01b036113e1614131565b168152607c83522054604051908152f35b5034610399578060031936011261039957607a546040516001600160a01b039091168152602090f35b503461039957602036600319011261039957600435801515809103610fda5760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610399576001600160401b0390602435828111610fda576114a59036906004016142c2565b604492919235848111610fac576114c09036906004016142c2565b93909460043594858552607b602052604085209460108601548152607f6020526040812092604051926114f284613edb565b60018060a01b0394858154168086528660018301541660208701526002820154604087015260056003830154926060880193845260048101546080890152015460a0870152156117fd57898954036117e4576008890191600160ff8454166115598161404a565b036117cb5781518034106117ad5750600f8a015480151580611785575b61174f5750611586825134614873565b918760795416905190803b1561174b576115ba87918e60405194858094819363240ff7c560e11b8352339060048401614769565b03925af180156117405761172c575b509a6020916116039b9c8888511691604051809e8195829463c13517e160e01b84526003600485015260406024850152604484019161541a565b03925af1988915610b095783996116f8575b50805460ff19166005179055600c870188905542600d8801908155600e90970180546001600160a01b03191633179055878252607e60205260408220899055606d5491818316908183146116e45750927f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d97959260209a97959260016116d39601169060018060401b03191617606d55511693549260405195869586528986015287604086015233606086015260c0608086015260c085019161541a565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9098506020813d602011611724575b8161171460209383613f5a565b81010312610a7557519738611615565b3d9150611707565b6117368691613f11565b610ac657386115c9565b6040513d88823e3d90fd5b8680fd5b8b86611c2083018093116116e4575061176b6044924290614873565b60405191638d2f6c3160e01b835260048301526024820152fd5b50611c208101808211611799574210611576565b634e487b7160e01b87526011600452602487fd5b60449060405190632c1f8ef160e21b82523460048301526024820152fd5b6040516344980d8f60e01b8152600481018c9052602490fd5b60405163c1d17bef60e01b8152600481018b9052602490fd5b604051636c291fd360e01b8152600490fd5b5034610399576040366003190112610399576001600160401b0390600435828111610fda5761184290369060040161415e565b5060248035838111610fac5736602382011215610fac5780600401359161186883614147565b946118766040519687613f5a565b8386528160208097019460051b8401019436861161039957828401945b8686106118ac5760405163d623472560e01b8152600490fd5b8535838111610fac5788916118c783928736918a010161421e565b815201950194611893565b5034610399576020366003190112610399576118ec614131565b6118f46142ef565b606a80546001600160a01b0319166001600160a01b039290921691909117905580f35b503461039957602036600319011261039957611931614131565b6119396153aa565b61194281614782565b607a80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610399576020366003190112610399576119a7600a60406103959360606020835161199181613f24565b83815201526004358152607b6020522001613f7d565b6040519182916020835260208301906140b2565b50346103995780600319360112610399576020607754604051908152f35b5034610399578060031936011261039957606d546040516001600160401b039091168152602090f35b5034610399578060031936011261039957602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103995780600319360112610399576020607454604051908152f35b5034610399576020366003190112610399576004356298968091828202918083048414901517156116e45760745483039283116116e4576020611a928484614b14565b604051908152f35b50346103995780600319360112610399576020611ab5615463565b6040516001600160a01b039091168152f35b503461039957604036600319011261039957611ae1614131565b6001600160a01b03168152607d6020526040812080546024359290831015610399576020611b0f8484614294565b90546040519160031b1c8152f35b50346103995760203660031901126103995760406020916004358152607b835220611b4c600282015482615026565b81929192159081611b81575b50611b75575b6001611b6b910154614e69565b1115604051908152f35b60038101549150611b5e565b90501538611b58565b50346103995780600319360112610399576020607054604051908152f35b5034610399578060031936011261039957611bc2336147d6565b15610b14576078546001600160a01b039082908216803b15610fda57816040518092630d4a8b4960e01b8252818381611bff3033600484016147bc565b03925af18015610fde57611c8c575b50506078541660206040518092637817ee4f60e01b82528180611c353033600484016147bc565b03915afa8015610fde578290611c59575b611c5391506071546145ac565b60715580f35b506020813d8211611c84575b81611c7260209383613f5a565b81010312610a7557611c539051611c46565b3d9150611c65565b611c9590613f11565b610fda578138611c0e565b503461039957604036600319011261039957611cba614131565b602435611cc561484d565b611cce826147d6565b15610b14578260ff60765460081c166004811015610f845760028103611db857505080915b60785460405163011de97360e61b81529060209082906001600160a01b03168180611d223088600484016147bc565b03915afa908115611dad57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611d90575b50611d7c575b611d718460405193849384614a9d565b0390a1604051908152f35b611d88846071546145ac565b607155611d61565b611da79150863d8111610b0257610af48183613f5a565b38611d5b565b6040513d87823e3d90fd5b60018103611e64575050607854604051637817ee4f60e01b8152829160209082906001600160a01b03168180611df2308a600484016147bc565b03915afa908115611dad578591611e33575b50611e0f83826145ac565b607754809111611e22575b505091611cf3565b611e2c9250614873565b3880611e1a565b90506020813d8211611e5c575b81611e4d60209383613f5a565b81010312610a75575138611e04565b3d9150611e40565b90929060021901611cf3576078546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610a81578590889061200a575b611eba92506145ac565b6040516336d8759760e21b81529060128483600481895afa908115611fff57611f239486611f1893611f1e968d91611fd2575b5060046040518094819363313ce56760e01b8352165afa8b9181611fa3575b50611f98575b50614af3565b90614b01565b614b34565b816040518094637817ee4f60e01b82528180611f43308b600484016147bc565b03915afa918215611740578692611f66575b50611f609250614873565b91611cf3565b90915082813d8311611f91575b611f7d8183613f5a565b81010312610a7557611f6091519038611f55565b503d611f73565b60ff91501638611f12565b611fc4919250883d8a11611fcb575b611fbc8183613f5a565b810190614ada565b9038611f0c565b503d611fb2565b611ff29150823d8411611ff8575b611fea8183613f5a565b810190614abb565b38611eed565b503d611fe0565b6040513d8b823e3d90fd5b50508281813d8311612034575b6120218183613f5a565b81010312610a755784611eba9151611eb0565b503d612017565b50346103995780600319360112610399576120546142ef565b603380546001600160a01b031981169091556000906001600160a01b031660008051602061559c8339815191528280a380f35b50346103995760203660031901126103995761044c6120a4614131565b6120ac61484d565b614880565b5034610399578060031936011261039957602060405160038152f35b5034610399576060366003190112610399576120e7614131565b6024356001600160401b038111610fac5736602382011215610fac576121179036906024816004013591016141e7565b9061213c61212361411b565b61138960ff865460081c166121378161454c565b61454c565b60018060a01b031660018060a01b0319606554161760655560405161217f81612171602082019460208652604083019061408d565b03601f198101835282613f5a565b51902060665580f35b50346103995780600319360112610399576078546040516001600160a01b039091168152602090f35b5034610399576020366003190112610399576020611a92600435614e69565b50346103995780600319360112610399577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361222957602060405160008051602061555c8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b506040366003190112610399576122a4614131565b6024356001600160401b038111610fac576122c390369060040161421e565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169291906122fd30851415614385565b61231a60008051602061555c8339815191529482865416146143d4565b612322615463565b81339116036124fc576000805160206154fc8339815191525460ff161561234f57505061044c9150614423565b8216604051936352d1902d60e01b85526020948581600481865afa600091816124cd575b506123c25760405162461bcd60e51b815260048101879052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9492939403612488576123d484614423565b6000805160206155bc833981519152600080a2815115801590612480575b6123fd575b50505080f35b61246e926000806040519461241186613f3f565b6027865260008051602061561c83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612477573d612451816141cc565b9061245f6040519283613f5a565b8152600081943d92013e6144b3565b503880806123f7565b606092506144b3565b5060016123f2565b60405162461bcd60e51b815260048101839052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d83116124f5575b6124e48183613f5a565b810103126103995750519038612373565b503d6124da565b6111f6612507615463565b60405163163678e960e01b815291829133600484016147bc565b50346103995780600319360112610399576020606954604051908152f35b50346103995780600319360112610399576020606654604051908152f35b5034610399576020366003190112610399576040906004358152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995780600319360112610399576020604051600a8152f35b50346103995780600319360112610399576020606854604051908152f35b503461039957602080600319360112610fda5761260a614131565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661264130821415614385565b61265e60008051602061555c8339815191529183835416146143d4565b612666615463565b82339116036124fc57604051848101929091906001600160401b03841183851017610fb0578360405286835260ff6000805160206154fc83398151915254166000146126ba575050505061044c9150614423565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612811575b5061272d5760405162461bcd60e51b815260048101889052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95939495036127cc5761273f82614423565b6000805160206155bc833981519152600080a28251158015906127c4575b612769575b5050505080f35b6000806127ba956040519561277d87613f3f565b6027875260008051602061561c83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612477573d612451816141cc565b5038808080612762565b50600061275d565b60405162461bcd60e51b815260048101849052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612839575b6128288183613f5a565b8101031261039957505190386126de565b503d61281e565b5034610399578060031936011261039957602060ff607654166113b76040518092614287565b5034610399576060366003190112610399576020611a92604435602435600435614d5b565b50346103995780600319360112610399576020606c54604051908152f35b50346103995760403660031901126103995760043590818152602091607e8352604082205492838352607b8152604083209360108501548452607f82526040842090604051906128f882613edb565b60018060a01b0392838154168352600184818301541686850152600282015490604085019182526003830154926060860193845260056004820154916080880192835201549160a087019283528515612e305760088c0192835490600560ff83166129628161404a565b03612e1757600d8e01549051612977916145ac565b42118015908180612e0a575b612df85790612dee575b15612b2e5750815115612b1c576002915190808214612b0d575b5014612a92575b505083607954169084600e8a015416905192823b15612a8e57916129ed93918980946040519687958694859363099ea56b60e41b855260048501614c77565b03925af1801561174057908691612a7a575b50505b606d546001600160401b038082169791908815612a66577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769596979860001901169060018060401b03191617606d55600f429101555116916040516024358152a380f35b634e487b7160e01b88526011600452602488fd5b612a8390613f11565b610ac65784386129ff565b8880fd5b600660ff1982541617905584607954168560058b015416915191813b15612b0957918991612ad8938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015612afe57908891156129ae57612af390613f11565b61174b5786386129ae565b6040513d8a823e3d90fd5b8980fd5b835460ff1916178355386129a7565b604051630dd466dd60e41b8152600490fd5b9150919250602435828114600014612c0a57505060ff198254161790558360795416600485600e8b0154169287876078541660405193848092633629edcd60e11b82525afa918215612bff578a92612be0575b5051823b15612b0957604051638969ab5360e01b8152948a94869493859387938593612bb3938d16916004860161543b565b03925af1801561174057908691612bcc575b5050612a02565b612bd590613f11565b610ac6578438612bc5565b612bf8919250883d8a11611ff857611fea8183613f5a565b9038612b81565b6040513d8c823e3d90fd5b91949291600214612c20575b5050505050612a02565b60069060ff1916179055846079541691600e8a019286845416915191813b15612d8557918a91612c68938360405180968195829463099ea56b60e41b84528a60048501614c77565b03925af18015611fff57908991612dd6575b5050846079541690600460058b0192878454169089896078541660405194858092633629edcd60e11b82525afa928315612dcb578c93612dac575b50606f548c52607f8a52600260408d200154871c91813b15612da857918c91612cfc93838c60405196879586948593638969ab5360e01b9b8c865216908c6004860161543b565b03925af18015612d9d57908b91612d89575b50508680806079541694541694541694606f548b52607f8952600260408c200154901c833b15612d85578a94939291612d5786926040519889978896879586526004860161543b565b03925af1801561174057908691612d71575b808080612c16565b612d7a90613f11565b610ac6578438612d69565b8a80fd5b612d9290613f11565b612b09578938612d0e565b6040513d8d823e3d90fd5b8c80fd5b612dc49193508a3d8c11611ff857611fea8183613f5a565b9138612cb5565b6040513d8e823e3d90fd5b612ddf90613f11565b612dea578738612c7a565b8780fd5b506024351561298d565b604051631777988560e11b8152600490fd5b508a8a5116331415612983565b604051634b011ca960e11b815260048101899052602490fd5b60405163c1d17bef60e01b815260048101879052602490fd5b503461039957604036600319011261039957612e63614131565b60243591612e6f61484d565b60ff60765460081c1660048110156130a7576002811490811561309c575b5015612ec8575060008051602061551c83398151915282602093925b612eb584607154614873565b607155611d718460405193849384614a9d565b6078546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611dad5782918791879161307f575b5060046040518094819363313ce56760e01b8352165afa859181613060575b50613055575b506040516316308e2560e11b815290861660048201528481602481865afa90811561304a579087918591613017575b5091611f18612f6f611f1e93612f7595614873565b91614af3565b92806040518093637817ee4f60e01b82528180612f96308b600484016147bc565b03915afa92831561300b5792612fcb575b505092612fc560008051602061551c83398151915292602095614873565b92612ea9565b9080959250813d8311613004575b612fe38183613f5a565b81010312610a75579251612fc560008051602061551c833981519152612fa7565b503d612fd9565b604051903d90823e3d90fd5b809250868092503d8311613043575b6130308183613f5a565b81010312610a7557518690611f18612f5a565b503d613026565b6040513d86823e3d90fd5b60ff16915038612f2b565b613078919250873d8911611fcb57611fbc8183613f5a565b9038612f25565b6130969150823d8411611ff857611fea8183613f5a565b38612f06565b600191501438612e8d565b634e487b7160e01b82526021600452602482fd5b506130c536614239565b90916130cf6145cf565b6130d76145f5565b6130e0826147d6565b15610b145782518301906020938481840312610fda57808501516001600160401b0391828211610ac257019260a084820312610fac576040519160a0830183811082821117610fb05760405286850151835261313e60408601614620565b928781019384526060860151956040820196875261315e60808201614620565b936060830194855260a082015190848211612dea5761318392908b0191018a01614657565b608082019081528151156135795760ff60765416916003831015613565576001809314613432575b50606f548652607f89526040862080546001600160a01b039891908916151580613425575b61340357506131e0606e54614611565b9889606e55898852607b8b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b850193015180519182116133ef5761326b8454613ea1565b601f81116133a8575b508990601f831160011461334857928293918392899461333d575b50501b916000199060031b1c19161790555b6010606f5491015582806079541691541690803b15610fac576132dc918391604051808095819463240ff7c560e11b83528a60048401614769565b039134905af18015610fde57613329575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6133338291613f11565b61039957806132ed565b01519250388061328f565b8488528a8820919083601f1981168a8e5b888383106133905750505010613377575b505050811b0190556132a1565b015160001960f88460031b161c1916905538808061336a565b8686015188559096019594850194879350018e613359565b8488528a8820601f840160051c8101918c85106133e5575b601f0160051c019084905b8281106133d9575050613274565b600081550184906133cb565b90915081906133c0565b634e487b7160e01b87526041600452602487fd5b6002604491015460405190632c1f8ef160e21b82523460048301526024820152fd5b50600281015434106131d0565b85516001600160a01b039190613449908316614782565b818651161561355357604051630ae6240f60e11b8152908b82600481305afa918215611fff5791899184938392613514575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa918215612afe5788926134f0575b5060408187511692015116036134de576134c28751614cdb565b6134cc57386131ab565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b61350d9192503d808a833e6135058183613f5a565b8101906146d2565b90386134a8565b92509250508b81813d831161354c575b61352e8183613f5a565b81010312612a8e57518281168103612a8e578291899190602461347b565b503d613524565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b50346103995760203660031901126103995760406020916004358152607e83522054604051908152f35b5034610399578060031936011261039957608060725460735460745460755491604051938452602084015260408301526060820152f35b503461039957806003193601126103995761044c33614880565b5034610399576020366003190112610399576020611a92600435615364565b50346103995760603660031901126103995761363f614131565b613647614105565b9061365061411b565b83549260ff8460081c1615938480956137c7575b80156137b0575b156137545760ff198116600117865584613743575b506136bc6040519261369184613f24565b600a8452694356537472617465677960b01b602085015261138960ff885460081c166121378161454c565b60018060a01b03918260018060a01b031994168460655416176065556040516136f581612171602082019460208652604083019061408d565b5190206066551690606a541617606a5561370c5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538613680565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561366b5750600160ff82161461366b565b50600160ff821610613664565b50346103995780600319360112610399576065546040516001600160a01b039091168152602090f35b50346103995780600319360112610399576020606f54604051908152f35b50346103995780600319360112610399576020604051629896808152f35b50346103995780600319360112610399576020606e54604051908152f35b50346103995780600319360112610399576079546040516001600160a01b039091168152602090f35b5034610399576060366003190112610399576001600160401b0390600435828111610fda576138b390369060040161415e565b506024918235908111610fda576138ce90369060040161421e565b6138d661411b565b506138df6145cf565b6138e76145f5565b805115613bc557602081805181010312610fda5760200151918215613bb357828252607b602052604082209260ff607654166003811015613ba05760011461392d578280f35b80845403613b8b576001840191825460695490818111613b6a5750506008850194600160ff87541661395e8161404a565b03613b535761396c83615364565b9184549261397984614e69565b1180613b4a575b613b385760018060a01b039286846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610a81579160409185938992613b18575b506139d090606954614873565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613ad8575081809381925af115613acb575b600460ff1982541617905581600581607954169201541690606f548652607f602052600260408720015491813b1561174b57918691613a67938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015611dad57613aa6575b50613a9c9060008051602061565c83398151915294955416925460405193849384614c77565b0390a18038808280f35b9060008051602061565c83398151915294613ac3613a9c93613f11565b945090613a76565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d156001885114171615613b0b5785603452613a10565b6390b8ec1886526004601cfd5b6139d0919250613b31903d808c833e6135058183613f5a565b91906139c3565b60405163199cf26160e31b8152600490fd5b50821515613980565b5090604051906344980d8f60e01b82526004820152fd5b6064939260405193632c31d85b60e11b855260048501528301526044820152fd5b6040519063c1d17bef60e01b82526004820152fd5b634e487b7160e01b845260216004528284fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b50346103995736600319016101408112610fda5760c01361039957604051613bfe81613edb565b6004356001600160a01b0381168103610fac578152613c1b614105565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112610fda5760405161044c91613c5c82613ef6565b60c435825260e4356020830152610104356040830152610124356060830152613c836153aa565b615079565b5034610399578060031936011261039957604090606f548152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995760203660031901126103995760043563ffffffff60e01b8116809103610fda5760209063f1801e6160e01b8114908115613d25575b506040519015158152f35b6301ffc9a760e01b14905082613d1a565b5034610399576020366003190112610399576004358152607b60205260408120908154906001830154600284015493600381015460018060a01b0360048301541660018060a01b0360058401541660018060a01b036006850154169060078501549260ff60088701541694613dad600a8801613f7d565b604051909b909960608b01906001600160401b0382118c831017613e8d57506040908152600c8901548b52600d89015460208c810191909152600e8a01546001600160a01b03168c830152600f8a01546010909a015482519d8e52908d019a909a528b015260608a0152608089015260a088015260c087015260e086015293948594613e559190613e3d8161404a565b6101008701526101e0806101208801528601906140b2565b835161014086015260208401516101608601526040909301516001600160a01b03166101808501526101a08401526101c08301520390f35b634e487b7160e01b81526041600452602490fd5b90600182811c92168015613ed1575b6020831014613ebb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613eb0565b60c081019081106001600160401b03821117610fb057604052565b608081019081106001600160401b03821117610fb057604052565b6001600160401b038111610fb057604052565b604081019081106001600160401b03821117610fb057604052565b606081019081106001600160401b03821117610fb057604052565b601f909101601f19168101906001600160401b03821190821017610fb057604052565b9060405191613f8b83613f24565b8281548152600180920191604051928391600091805490613fab82613ea1565b808652918381169081156140215750600114613fd8575b50505060209291613fd4910384613f5a565b0152565b909493925060005260209081600020946000915b81831061400957509394509192509082010181613fd46020613fc2565b86548884018501529586019587945091830191613fec565b60ff191660208781019190915292151560051b860183019450859350613fd4929150613fc29050565b6007111561405457565b634e487b7160e01b600052602160045260246000fd5b60005b83811061407d5750506000910152565b818101518382015260200161406d565b906020916140a68151809281855285808601910161406a565b601f01601f1916010190565b90604060206140cf9380518452015191816020820152019061408d565b90565b9260a09491979695929760c0850198600180881b0380921686521660208501526040840152606083015260808201520152565b602435906001600160a01b0382168203610a7557565b604435906001600160a01b0382168203610a7557565b600435906001600160a01b0382168203610a7557565b6001600160401b038111610fb05760051b60200190565b81601f82011215610a755780359161417583614147565b926141836040519485613f5a565b808452602092838086019260051b820101928311610a75578301905b8282106141ad575050505090565b81356001600160a01b0381168103610a7557815290830190830161419f565b6001600160401b038111610fb057601f01601f191660200190565b9291926141f3826141cc565b916142016040519384613f5a565b829481845281830111610a75578281602093846000960137010152565b9080601f83011215610a75578160206140cf933591016141e7565b6040600319820112610a7557600435906001600160401b038211610a75576142639160040161421e565b906024356001600160a01b0381168103610a755790565b9060048210156140545752565b9060038210156140545752565b80548210156142ac5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610a75578235916001600160401b038311610a755760208381860195010111610a7557565b6142f7615463565b336001600160a01b039091160361430a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061559c833981519152600080a3565b1561438c57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156143db57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156144585760008051602061555c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561451557508151156144c7575090565b3b156144d05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156145285750805190602001fd5b60405162461bcd60e51b8152602060048201529081906111f690602483019061408d565b1561455357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116145b957565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b031633036145e357565b60405163075fd2b160e01b8152600490fd5b606854156145ff57565b604051630f68fe6360e21b8152600490fd5b60001981146145b95760010190565b51906001600160a01b0382168203610a7557565b606080918051845260208101516020850152604081015160408501520151910152565b9190604083820312610a755760405161466f81613f24565b83518152602084015190938491906001600160401b038211610a7557019082601f83011215610a75578151916146a4836141cc565b936146b26040519586613f5a565b83855260208483010111610a7557602092613fd49184808701910161406a565b90602082820312610a755781516001600160401b0392838211610a75570160c081830312610a75576040519261470784613edb565b8151845260208201516001600160a01b0381168103610a7557602085015261473160408301614620565b60408501526060820151908111610a755760a092614750918301614657565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561479257565b6040516303988b8160e61b8152600490fd5b90816020910312610a7557518015158103610a755790565b6001600160a01b0391821681529116602082015260400190565b607a546001600160a01b031680156148465761480c9160209160405180809581946302154c3d60e51b83523090600484016147bc565b03915afa90811561483a57600091614822575090565b6140cf915060203d8111610b0257610af48183613f5a565b6040513d6000823e3d90fd5b5050600190565b6078546001600160a01b0316330361486157565b6040516357848b5160e11b8152600490fd5b919082039182116145b957565b60785460408051637817ee4f60e01b81526020949391926000926001600160a01b039290918316908781806148b93087600484016147bc565b0381855afa8015614a93578590614a64575b6148d89150607154614873565b607155803b15610ac25783855180926322bcf99960e01b82528183816149023089600484016147bc565b03925af18015614a5a57614a47575b5016808252607d8552828220948351808783829954938481520190865283862092865b85828210614a315750505061494b92500387613f5a565b825b8651811015614a0157806149646149849289614c98565b51808652607b845286862061497882614cac565b614989575b5050614611565b61494d565b60008051602061557c8339815191529160a0918760005260098101875260038a6000208a815491556149db60028401916149c4818454614873565b835560706149d3828254614873565b905584614ff4565b54910154908a519289845288840152898b84015260608301526080820152a1388061497d565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c955093019201614934565b614a5390939193613f11565b9138614911565b85513d86823e3d90fd5b508781813d8311614a8c575b614a7a8183613f5a565b81010312610ac6576148d890516148cb565b503d614a70565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610a7557516001600160a01b0381168103610a755790565b90816020910312610a75575160ff81168103610a755790565b604d81116145b957600a0a90565b818102929181159184041417156145b957565b8115614b1e570490565b634e487b7160e01b600052601260045260246000fd5b8015614c7157614bff816000908360801c80614c65575b508060401c80614c58575b508060201c80614c4b575b508060101c80614c3e575b508060081c80614c31575b508060041c80614c24575b508060021c80614c17575b50600191828092811c614c10575b1c1b614ba78185614b14565b01811c614bb48185614b14565b01811c614bc18185614b14565b01811c614bce8185614b14565b01811c614bdb8185614b14565b01811c614be88185614b14565b01811c614bf58185614b14565b01901c8092614b14565b80821015614c0b575090565b905090565b0181614b9b565b6002915091019038614b8d565b6004915091019038614b82565b6008915091019038614b77565b6010915091019038614b6c565b6020915091019038614b61565b6040915091019038614b56565b91505060809038614b4b565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b80518210156142ac5760209160051b010190565b600052607b6020526040600020805415159081614cc7575090565b600501546001600160a01b03161515919050565b614cea60725460695490614b01565b62989680918281029281840414901517156145b957111590565b919091600083820193841291129080158216911516176145b957565b614d2a8282614d04565b9160008312614d3857505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607454906298968093848360801b0490600160801b9182811015614e25578583965b614de4575050614d8f9085614b01565b93858302928084048714901517156145b95781039081116145b957614db391614b01565b9083039283116145b957614dd092614dca91614b14565b906145ac565b6001607f1b81019081106145b95760801c90565b600191818316614e045780614df891614f3d565b911c90815b9091614d7f565b809250614e119197614f3d565b9560001981019081116145b9579081614dfd565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614f2b57614e7b82614cdb565b6134cc57607254604081901b92600160401b92918015908504841417156145b9578060401b9281840414901517156145b957614ebd614ec991614ee493614b14565b62989680809404614873565b614edb8360735460801b049180614b01565b60401c90614b14565b818102908082048314901517156145b95760745482039182116145b957614f1791614f0e91614b14565b60715490614b01565b60401c607554808211600014614c0b575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614f9e57811015614f5a57614dd091614b01565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614fff9082615026565b909182158061501e575b6150195760039160078201550155565b505050565b508115615009565b43916007820154918383116150635783831461505757600361504b6150549486614873565b91015490614d5b565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b60208181018051919290916001600160a01b039060009082168015159081615357575b816152b5575b506150ea575b50505050816080916000805160206154dc8339815191529351607255810151607355604081015160745560608101516075556150e76040518092614634565ba1565b606f548152607f855260409081812083600182015416908480885116809314918215926152a3575b50506151da575b50936005608096946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b99615151606f54614611565b80606f558152607f8a522091808451169560018060a01b0319918783865416178555600185019151168092825416179055818401519182600285015560608501519384600382015560a08d8701519687600484015501519687910155606f549681519788528a88015286015260608501528884015260a083015260c0820152a1918193386150a8565b8385511690813b15610fac578291602483928651948593849263446adb9960e11b845260048401525af1801561529957946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b999560059560809c9a61528a575b507fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f60608b86885116878b51169086519230845283015285820152a195999b505094509450949650615119565b61529390613f11565b3861523d565b83513d84823e3d90fd5b90915054168486511614158438615112565b606f548352607f8752604083206001810154851690911480159250615345575b8115615332575b811561531f575b811561530c575b81156152f8575b50386150a2565b9050600560a08501519101541415386152f1565b60808501516004820154141591506152ea565b60608501516003820154141591506152e3565b60408501516002820154141591506152dc565b905082845116838254161415906152d5565b845184161515915061509c565b80600052607b6020526040600020908082540361539257508061538d6002600393015482614ff4565b015490565b6024906040519063c1d17bef60e01b82526004820152fd5b607854604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa90811561483a576000916153fc575b501633036153ea57565b604051637430763f60e11b8152600490fd5b615414915060203d8111611ff857611fea8183613f5a565b386153e0565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b6033546001600160a01b0316803b6154785790565b604051638da5cb5b60e01b8152602081600481855afa600091816154a0575b50614c0b575090565b90916020823d82116154d3575b816154ba60209383613f5a565b8101031261039957506154cc90614620565b9038615497565b3d91506154ad56feec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3be677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d5345524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a264697066735822122064003a7acadd7523ee195d8b40c31ed7f0f63a1e350f23e958323da84a903bf964736f6c6343000813003360a0806040523461003157306080526157389081610037823960805181818161155f015281816117730152611b4b0152f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004af5780630331383c14620003d157806308386eba14620004a95780630d12bbdb14620004a35780630d4a8b49146200049d578063175188e814620004975780631b71f0e414620004915780631f787d28146200048b578063223e5479146200048557806322bcf999146200047f578063248a9ca3146200047957806328c309e914620004735780632b38c69c146200046d5780632c611c4a14620004675780632f2ff15d146200046157806331f61bca146200045b57806333960459146200045557806334196355146200044f5780633517aa7d146200044957806336568abe14620004435780633659cfe6146200043d578063397e254314620004375780633a871fe11462000431578063477a5cc0146200042b5780634f1ef2861462000425578063524e59e8146200041f57806352d1902d1462000419578063559de05d14620004135780635c94e4d2146200040d5780635ecf71c5146200040757806365e3864c14620003d75780636871eb4d146200040157806368decabb14620003fb5780636c53db9a14620003f5578063715018a614620003ef57806373265c3714620003e9578063733a2d1f14620003e357806377122d5614620003dd5780637817ee4f14620003d757806378a0b8a914620003d15780637b10399914620003cb57806382d6a1e714620003c557806388cfe68414620003bf5780638961be6b14620003b95780638da5cb5b14620003b357806391d1485414620003ad578063a0cf0aea14620003a7578063a217fddf14620003a1578063a230c524146200039b578063b0d3713a1462000395578063b3f00674146200038f578063b5058c501462000389578063b64e39af1462000383578063b99b4370146200037d578063bc063e1a1462000377578063c4d66de81462000371578063c6d572ae146200036b578063d547741f1462000365578063d6d8428d146200035f578063d7050f071462000359578063db61d65c1462000353578063e16d0e32146200034d578063ebd7dc521462000347578063f2fde38b1462000341578063f86c5f89146200033b5763ffa1ad74146200033557600080fd5b62002d29565b62002cfd565b62002c63565b62002c18565b62002b09565b62002add565b62002abe565b62002a92565b62002a48565b620029b2565b62002974565b62002954565b62002828565b62002756565b62002633565b62002604565b620025b7565b6200254a565b6200252c565b620024fb565b620024bd565b6200248c565b6200246c565b6200240a565b62002354565b62002328565b6200051b565b6200203f565b620022fc565b620022d0565b62002234565b620021e3565b620021b7565b6200218b565b6200207e565b62001dc7565b62001d9b565b62001bfa565b62001b36565b620019f1565b62001716565b620016d2565b6200168b565b620015fe565b62001530565b62001493565b6200123c565b620010cf565b62000ed2565b62000e82565b62000dd5565b62000d90565b62000d2b565b62000b72565b62000b41565b62000a50565b62000a1b565b620009f7565b620009aa565b62000973565b62000680565b6200055b565b6200053b565b346200050a5760203660031901126200050a5760043563ffffffff60e01b81168091036200050a57602090637965db0b60e01b8114908115620004f8575b506040519015158152f35b6301ffc9a760e01b14905038620004ed565b600080fd5b60009103126200050a57565b346200050a5760003660031901126200050a57602060fb54604051908152f35b346200050a5760003660031901126200050a57602060fe54604051908152f35b346200050a5760203660031901126200050a576004356200057b62004fea565b620186a08111620005b7576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fc55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b038116036200050a57565b60243590620005f682620005d5565b565b60443590620005f682620005d5565b60643590620005f682620005d5565b6101c43590620005f682620005d5565b6101e43590620005f682620005d5565b6102043590620005f682620005d5565b3590620005f682620005d5565b60409060031901126200050a576004356200066e81620005d5565b906024356200067d81620005d5565b90565b346200050a57620006913662000653565b6200069c82620049f5565b620006a78162004a42565b620006b28162004539565b620006d3620006cc82620006c68562000c60565b62000ccc565b5460ff1690565b620009615760209081620006f1620006eb8562000c7b565b6200490f565b015160fb5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af1801562000830576003918a916200093f575b506200073e8162004664565b036200083657505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af1801562000830576000805160206200564383398151915294620007f6928792620007fc575b50505b80620007b185620006c68662000c96565b55620007d3620007c685620006c68662000c60565b805460ff19166001179055565b620007e984620007e38562000cb1565b62004999565b60405193849384620049d3565b0390a180f35b620008209250803d1062000828575b62000817818362000fae565b81019062003292565b38806200079d565b503d6200080b565b620032a2565b604096919392965193845282846004818b865af180156200083057889485916200090b575b50620008678162004664565b6200088c575b50505050620007f66000805160206200564383398151915293620007a0565b8293965090620008b49160405197888094819363782aadff60e01b835289600484016200495f565b03925af1801562000830576000805160206200564383398151915294620007f6928792620008e9575b5050938591386200086d565b620009039250803d10620008285762000817818362000fae565b3880620008dd565b620009309150843d861162000937575b62000927818362000fae565b81019062004947565b386200085b565b503d6200091b565b6200095a9150863d8811620009375762000927818362000fae565b3862000732565b604051636adcde4b60e11b8152600490fd5b346200050a5760203660031901126200050a57620009a86004356200099881620005d5565b620009a262004fea565b620050bb565b005b346200050a5760203660031901126200050a57600435620009cb81620005d5565b620009d562002fda565b61010280546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a57602060ff8054166040519015158152f35b346200050a5760203660031901126200050a57620009a860043562000a4081620005d5565b62000a4a62004fea565b62005041565b346200050a5762000a613662000653565b62000a6c82620049f5565b62000a778162004539565b6001600160a01b038116330362000b2f5762000aa462000aa0620006cc83620006c68662000c60565b1590565b62000b1d578162000ae862000ade83620006c67ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000c60565b805460ff19169055565b600062000afa83620006c68462000c96565b5562000b07828262004abe565b62000b186040519283928362003847565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b346200050a5760203660031901126200050a5760043560005260c96020526020600160406000200154604051908152f35b346200050a5760003660031901126200050a5762000b9d62000b9761010054620005c9565b620005c9565b60fb549062000bbc62000bb360fc54846200293a565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000bdf306004830162000d18565b03916001600160a01b03165afa918215620008305762000c399362000c1c62000bb362000c299562000c239460009162000c3d575b50856200293a565b9262003083565b62003083565b6040519081529081906020820190565b0390f35b62000c59915060203d8111620008285762000817818362000fae565b3862000c14565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000d125760005260206000200190600090565b62000ce3565b6001600160a01b03909116815260200190565b346200050a5760403660031901126200050a5760043562000d4c81620005d5565b6024359060018060a01b0380911660005261010d602052604060002080548310156200050a5760209262000d809162000cf9565b9190546040519260031b1c168152f35b346200050a5760203660031901126200050a5760043562000db181620005d5565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b346200050a5760403660031901126200050a5760043560243562000df981620005d5565b60009180835260c960205262000e16600160408520015462002d73565b80835260c960205260ff62000e2f836040862062000ccc565b54161562000e3b578280f35b80835260c960205262000e52826040852062000ccc565b805460ff1916600117905533916001600160a01b031690600080516020620055e38339815191528480a438808280f35b346200050a5760203660031901126200050a577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000ec562004fea565b8060fb55604051908152a1005b346200050a5760003660031901126200050a57602060fd54604051908152f35b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111762000f2457604052565b62000ef2565b60c081019081106001600160401b0382111762000f2457604052565b60e081019081106001600160401b0382111762000f2457604052565b608081019081106001600160401b0382111762000f2457604052565b606081019081106001600160401b0382111762000f2457604052565b6001600160401b03811162000f2457604052565b601f909101601f19168101906001600160401b0382119082101762000f2457604052565b6040519061018082016001600160401b0381118382101762000f2457604052565b6001600160401b03811162000f2457601f01601f191660200190565b9291926200101d8262000ff3565b916200102d604051938462000fae565b8294818452818301116200050a578281602093846000960137010152565b9080601f830112156200050a578160206200067d933591016200100f565b91906040838203126200050a5760405190620010858262000f08565b8335825290928391602082013591906001600160401b0383116200050a57602092620010b292016200104b565b910152565b801515036200050a57565b3590620005f682620010b7565b346200050a576003196080368201126200050a57600435906001600160401b03908183116200050a576101809083360301126200050a576200111062000fd2565b906200111f8360040162000646565b82526200112f6024840162000646565b60208301526044830135604083015260648301356060830152608483013560808301526200116060a4840162000646565b60a08301526200117360c4840162000646565b60c083015260e48301358181116200050a5762001197906004369186010162001069565b60e0830152620011ab610104840162000646565b6101008301526101248301358181116200050a57620011d190600436918601016200104b565b610120830152620011e66101448401620010c2565b6101408301526101648301359081116200050a57620009a89260046200121092369201016200104b565b61016082015262001220620005e7565b6200122a620005f8565b906200123562000607565b9262003861565b346200050a5760008060031936011262001490576200125a62004b76565b620012653362000c7b565b6200127762000b9761010054620005c9565b60fb54916200128d62000bb360fc54856200293a565b6040516302a64b8360e21b815260209491936001600160a01b03169190858180620012bc306004830162000d18565b0381865afa80156200083057620012e19262000bb39289926200146c575b506200293a565b926200130262000aa06040620012fb620006eb3362000c7b565b0151151590565b62001317575b85620013146001606555565b80f35b826200132f600260019501600160ff19825416179055565b60fb54938491015562001367610105936200135c8662000c2385620013558954620005c9565b9462003083565b903090339062004bcd565b806200143e575b5082620013be575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689620013b060fb5460405191829133836200495f565b0390a1388080808062001308565b83620013cd60049354620005c9565b9160405193848092634c3a1adf60e11b82525afa9182156200083057620013fe94869362001408575b505062004d4a565b3880808062001376565b6200142d929350803d1062001436575b62001424818362000fae565b810190620037c5565b903880620013f6565b503d62001418565b62001465906200144f8454620005c9565b60ff5460081c6001600160a01b03169062004d4a565b386200136e565b62001488919250883d8a11620008285762000817818362000fae565b9038620012da565b80fd5b346200050a5760403660031901126200050a57602435620014b481620005d5565b336001600160a01b03821603620014d357620009a89060043562002f61565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346200050a5760203660031901126200050a576004356200155181620005d5565b6001600160a01b03620015a87f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b826000805160206200568383398151915254161462003241565b620015b2620037dd565b33911603620015d157620009a890620015ca62003091565b906200335c565b620015fa620015df620037dd565b60405163163678e960e01b8152918291336004840162003847565b0390fd5b346200050a5760203660031901126200050a577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf860406004356200164281620005d5565b6200164c62004fea565b6001600160a01b0390811690620016638262004539565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b346200050a5760203660031901126200050a57600435620016ac81620005d5565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b346200050a57602060ff6200170a620016eb3662000653565b6001600160a01b03909116600090815261010e85526040902062000ccc565b54166040519015158152f35b60403660031901126200050a576004356200173181620005d5565b6024356001600160401b0381116200050a57366023820112156200050a57620017659036906024816004013591016200100f565b6001600160a01b03620017a27f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b620017ac620037dd565b33911603620015d157620009a89162003420565b60a4359060038210156200050a57565b60c4359060038210156200050a57565b600411156200050a57565b60c43590620005f682620017e0565b60e43590620005f682620017e0565b60209060e31901126200050a5760405190602082016001600160401b0381118382101762000f245760405260e4358252565b6020906101031901126200050a5760405190602082016001600160401b0381118382101762000f2457604052610104358252565b60c0906101031901126200050a57604051906200188c8262000f2a565b81610104356200189c81620005d5565b815261012435620018ad81620005d5565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c0906101231901126200050a5760405190620018f58262000f2a565b81610124356200190581620005d5565b8152610144356200191681620005d5565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e083126200050a5760405190620019618262000f46565b60808294126200050a57620019d1906040516200197e8162000f62565b60243581526044356020820152606435604082015260843560608201528352620019a7620017c0565b6020840152620019b6620017eb565b6040840152620019c68162001809565b60608401526200186f565b6080820152620019e062000616565b60a082015260c0620010b262000626565b346200050a576102203660031901126200050a5760043562001a1381620005d5565b62001a1e3662001941565b6001600160401b0390610204358281116200050a5762001a4390369060040162001069565b9162001a5261010254620005c9565b9062001a6562000b9761010754620005c9565b9162001acf62001a7861010154620005c9565b9362001ac062001a87620037dd565b60405163184b955960e01b60208201526001600160a01b0393841660248201529683166044880152909116606486015284906084820190565b03601f19810185528462000fae565b6040519261041091828501938585109085111762000f2457849362001afa93620051d386396200455c565b03906000f0928315620008305762001b1b936001600160a01b0316620047f2565b604080519283526001600160a01b0391909116602083015290f35b346200050a5760003660031901126200050a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001b9457604051600080516020620056838339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b346200050a576020806003193601126200050a5760049081359162001c1e62004b76565b62001c2862004cfb565b62001c3d62001c373362000cb1565b620045de565b60005b815181101562001d1f5762001c6f62000b9762000b9762001c62848662003d18565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001c938c338c84016200495f565b03925af18015620008305762001cbb9260009162001cfd575b508062001cc1575b5062003d08565b62001c40565b62001cf462001ceb62001cd43362000c96565b62001ce462001c62868962003d18565b9062000ccc565b91825462003083565b90553862001cb4565b62001d189150863d8811620008285762000817818362000fae565b3862001cac565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001d8d8662001d628162001d5861010554620005c9565b3090339062004bcd565b600162001d6f3362000c7b565b0162001d7d82825462003083565b905560405191829133836200495f565b0390a1620009a86001606555565b346200050a5760003660031901126200050a57610102546040516001600160a01b039091168152602090f35b346200050a576020806003193601126200050a5760049081359062001deb62004b76565b62001df562004cfb565b62001e003362000cb1565b9060019362001e1d848662001e153362000c7b565b015462003d4d565b60fb5411620020305790849262001e43853362001e3d61010554620005c9565b62004d4a565b6000935b62001e8d575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001d8d868862001e7f3362000c7b565b0162001d7d82825462003d4d565b9091929481549485871015620020275762001ec262001ead888562000cf9565b905460039190911b1c6001600160a01b031690565b9562001ece8762004d75565b1562001fd657506040928484518098632ed04b2b60e01b82528160008162001efb888d339084016200495f565b03926001600160a01b03165af1968715620008305760009762001fb2575b5062001f3962001f293362000c96565b62001ce462001ead8b8562000cf9565b54948588111562001f665784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001fa79162001f9f62001f9662001f863362000c96565b62001ce462001ead868c62000cf9565b91825462003d4d565b905562003d08565b939092919262001e47565b62001fce919750853d8711620008285762000817818362000fae565b953862001f19565b966200202162001fa79297620020166200200362001ead62001ffc889d9b999b62003d2d565b8b62000cf9565b6200200f858b62000cf9565b906200497a565b620009a28862004a78565b62003d08565b94509462001e4d565b604051634e23e81760e11b8152fd5b346200050a57602062002075620020563662000653565b6001600160a01b03909116600090815261010b84526040902062000ccc565b54604051908152f35b346200050a576200208f3662000653565b6200209962004b76565b620020a362004fea565b620020b462000aa060ff5460ff1690565b6200217957620020d262000aa06040620012fb620006eb8662000c7b565b62002167578162001d8d6200210c620006eb7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39562000c7b565b620021178362005112565b62002138620021268462000c7b565b60026000918281558260018201550155565b6200215960206200214c61010554620005c9565b9201918583519162004d4a565b5160405193849384620049d3565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b346200050a5760003660031901126200050a57610103546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610106546040516001600160a01b039091168152602090f35b346200050a5760008060031936011262001490576200220162002fda565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020620056a38339815191528280a380f35b346200050a5760203660031901126200050a576200225162004fea565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa9182156200083057620009a892602091600091620022aa575b50015116620009a28162004539565b620022c9913d8091833e620022c0818362000fae565b81019062004f4e565b386200229b565b346200050a5760003660031901126200050a576020604051600080516020620056038339815191528152f35b346200050a5760003660031901126200050a57610101546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610104546040516001600160a01b039091168152602090f35b346200050a5760203660031901126200050a576200237162004fea565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa80156200083057602062000b9791620023c593600091620023ed575b500151620005c9565b620023d08162004539565b620023db8162004d75565b620023e257005b620009a89062005041565b62002403913d8091833e620022c0818362000fae565b38620023bc565b346200050a5760203660031901126200050a5760606004356200242d81620005d5565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b346200050a5760003660031901126200050a57602060fc54604051908152f35b346200050a5760003660031901126200050a576020620024ab620037dd565b6040516001600160a01b039091168152f35b346200050a5760403660031901126200050a57602060ff6200170a602435620024e681620005d5565b60043560005260c98452604060002062000ccc565b346200050a5760003660031901126200050a57602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b346200050a5760003660031901126200050a57602060405160008152f35b346200050a5760203660031901126200050a57602060406004356200256f81620005d5565b60018060a01b0380911660005261010c835260ff600283600020845193620025978562000f7e565b815416845260018101548685015201541615159182910152604051908152f35b346200050a5760203660031901126200050a57600435620025d881620005d5565b620025e262002fda565b61010180546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a5760ff5460405160089190911c6001600160a01b03168152602090f35b346200050a57600080600319360112620014905761010380546001600160a01b0381169033829003620026a85761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620026ec575b6020831014620026d657565b634e487b7160e01b600052602260045260246000fd5b91607f1691620026ca565b60005b8381106200270b5750506000910152565b8181015183820152602001620026fa565b906020916200273781518092818552858086019101620026f7565b601f01601f1916010190565b9060206200067d9281815201906200271c565b346200050a5760008060031936011262001490576040518161010980546200277e81620026ba565b80855291600191808316908115620027fa5750600114620027ba575b62000c3985620027ad8189038262000fae565b6040519182918262002743565b835260208084209095505b828410620027e6575050508162000c3993620027ad9282010193386200279a565b8054858501870152928501928101620027c5565b905062000c399650620027ad9450602092508593915060ff191682840152151560051b82010193386200279a565b346200050a5760008060031936011262001490576200284662004b76565b6200285133620049f5565b6200285c3362005112565b33815261010c6020527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f462002916604083206040516200289c8162000f7e565b81546001600160a01b0316815260018201546020820190815260029092015460ff161515604090910152620028d5620021263362000c7b565b620028ea620028e43362000cb1565b62003eaa565b62002907620028fc61010554620005c9565b825190339062004d4a565b5160405191829133836200495f565b0390a1620013146001606555565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200294e57565b62002924565b346200050a5760003660031901126200050a576020604051620186a08152f35b346200050a5760203660031901126200050a57620009a86004356200299981620005d5565b620029ac60ff60005460081c166200373f565b6200303c565b346200050a576000806003193601126200149057604051816101088054620029da81620026ba565b80855291600191808316908115620027fa575060011462002a085762000c3985620027ad8189038262000fae565b835260208084209095505b82841062002a34575050508162000c3993620027ad9282010193386200279a565b805485850187015292850192810162002a13565b346200050a5760403660031901126200050a57620009a860243560043562002a7082620005d5565b8060005260c960205262002a8c60016040600020015462002d73565b62002f61565b346200050a5760003660031901126200050a57610107546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5760206040516127108152f35b346200050a5760003660031901126200050a57610105546040516001600160a01b039091168152602090f35b346200050a576102403660031901126200050a5760043562002b2b81620005d5565b6024359062002b3a82620005d5565b36604319016101e081126200050a5760806040519162002b5a8362000f46565b126200050a5760405162002b6e8162000f62565b60443581526064356020820152608435604082015260a4356060820152815262002b97620017d0565b602082015262002ba6620017fa565b604082015262002bb6366200183b565b606082015262002bc636620018d8565b608082015262002bd562000626565b60a082015262002be462000636565b60c082015261022435926001600160401b0384116200050a5762002c1162001b1b94369060040162001069565b92620047f2565b346200050a5760203660031901126200050a57602060ff6200170a60043562002c4181620005d5565b6000805160206200560383398151915260005260c98452604060002062000ccc565b346200050a5760203660031901126200050a5760043562002c8481620005d5565b62002c8e62002fda565b6001600160a01b0381161562002ca957620009a8906200303c565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200050a5760003660031901126200050a57610100546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5762000c3960405162002d4e8162000f08565b60038152620302e360ec1b60208201526040519182916020835260208301906200271c565b8060005260c960205260ff62002d8e33604060002062000ccc565b54161562002d995750565b339062002da5620030ba565b91603062002db384620030d7565b53607862002dc184620030e5565b5360295b6001811162002e7857620015fa62002e3362002e5f8662002e5062002df68862002df0891562003116565b62003162565b62002e2c60405195869462002e2c6020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002ec0565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262000fae565b60405162461bcd60e51b81529182916004830162002743565b90600f811690601082101562000d125762002eba916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8487620030f6565b5360041c9162003108565b62002dc5565b9062002ed560209282815194859201620026f7565b0190565b60008051602062005603833981519152600081815260c96020529060ff62002f1184600080516020620056e383398151915262000ccc565b54161562002f1e57505050565b80825260c960205262002f35836040842062000ccc565b805460ff1916600117905533926001600160a01b031691600080516020620055e38339815191529080a4565b60009080825260c960205260ff62002f7d846040852062000ccc565b541662002f8957505050565b80825260c960205262002fa0836040842062000ccc565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b62002fe4620037dd565b336001600160a01b039091160362002ff857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620056a3833981519152600080a3565b90600282018092116200294e57565b919082018092116200294e57565b604051602081016001600160401b0381118282101762000f245760405260008152906000368137565b60405190620030c98262000f7e565b602a82526040366020840137565b80511562000d125760200190565b80516001101562000d125760210190565b90815181101562000d12570160200190565b80156200294e576000190190565b156200311e57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190620031718262000f62565b60428252606036602084013760306200318a83620030d7565b5360786200319883620030e5565b536041905b60018211620031b3576200067d91501562003116565b600f811690601082101562000d1257620031e9916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8486620030f6565b906200319d565b15620031f857565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200324957565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b908160209103126200050a575190565b6040513d6000823e3d90fd5b15620032b657565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b9062003378600080516020620056238339815191525460ff1690565b156200338a5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620033fb575b50620033d55760405162461bcd60e51b815280620015fa600482016200330d565b620033f560008051602062005683833981519152620005f69414620032ae565b62003576565b6200341891945060203d8111620008285762000817818362000fae565b9238620033b4565b906200343c600080516020620056238339815191525460ff1690565b156200344e5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620034bf575b50620034995760405162461bcd60e51b815280620015fa600482016200330d565b620034b960008051602062005683833981519152620005f69414620032ae565b6200362c565b620034dc91945060203d8111620008285762000817818362000fae565b923862003478565b803b156200351b576000805160206200568383398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b906200358282620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a280511580159062003623575b620035b5575050565b620036209160008060405193620035cc8562000f7e565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200361962003673565b91620036a8565b50565b506000620035ac565b906200363882620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a28051158015906200366a57620035b5575050565b506001620035ac565b3d15620036a3573d90620036878262000ff3565b9162003697604051938462000fae565b82523d6000602084013e565b606090565b919290156200370d5750815115620036be575090565b3b15620036c85790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620037215750805190602001fd5b60405162461bcd60e51b8152908190620015fa906004830162002743565b156200374757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b620005f690620029ac60ff60005460081c166200373f565b5190620005f682620005d5565b908160209103126200050a57516200067d81620005d5565b6033546001600160a01b0316803b620037f35790565b604051638da5cb5b60e01b8152602081600481855afa6000918162003822575b506200381d575090565b905090565b6200383f91925060203d8111620014365762001424818362000fae565b903862003813565b6001600160a01b0391821681529116602082015260400190565b919290926000549360ff8560081c16158095819662003994575b811562003971575b50156200391557620038ae9385620038a3600160ff196000541617600055565b620038fa5762003fa5565b620038b557565b620038c661ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200390f61010061ff00196000541617600055565b62003fa5565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003985575b503862003883565b6001915060ff1614386200397d565b600160ff82161091506200387b565b818110620039af575050565b60008155600101620039a3565b90601f8211620039ca575050565b620005f6916101086000526020600020906020601f840160051c83019310620039fc575b601f0160051c0190620039a3565b9091508190620039ee565b90601f821162003a15575050565b620005f6916101096000526020600020906020601f840160051c83019310620039fc57601f0160051c0190620039a3565b80519091906001600160401b03811162000f24576101089062003a758162003a6f8454620026ba565b620039bc565b602080601f831160011462003ab457508192939460009262003aa8575b50508160011b916000199060031b1c1916179055565b01519050388062003a92565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b88821062003b245750508360019596971062003b0a575b505050811b019055565b015160001960f88460031b161c1916905538808062003b00565b8060018596829496860151815501950193019062003ae9565b80519091906001600160401b03811162000f24576101099062003b6c8162003b668454620026ba565b62003a07565b602080601f831160011462003b9e57508192939460009262003aa85750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b88821062003bf35750508360019596971062003b0a57505050811b019055565b8060018596829496860151815501950193019062003bd3565b6001600160401b03811162000f245760051b60200190565b60209081818403126200050a578051906001600160401b0382116200050a57019180601f840112156200050a57825162003c5e8162003c0c565b9362003c6e604051958662000fae565b818552838086019260051b8201019283116200050a578301905b82821062003c97575050505090565b838091835162003ca781620005d5565b81520191019062003c88565b6040519062003cc28262000f62565b600382526060366020840137565b9062003cdc8262003c0c565b62003ceb604051918262000fae565b828152809262003cfe601f199162003c0c565b0190602036910137565b60001981146200294e5760010190565b805182101562000d125760209160051b010190565b6000198101919082116200294e57565b6001198101919082116200294e57565b919082039182116200294e57565b9060009161010880549162003d7083620026ba565b91828252600193848116908160001462003dd7575060011462003d94575b50505050565b90919394506000526020928360002092846000945b83861062003dc257505050500101903880808062003d8e565b80548587018301529401938590820162003da9565b9294505050602093945060ff191683830152151560051b0101903880808062003d8e565b90604060206200067d938051845201519181602082015201906200271c565b90815180825260208080930193019160005b82811062003e3b575050505090565b83516001600160a01b03168552938101939281019260010162003e2c565b906200067d949262003e8b91835260a0602084015262003e7c60a0840162003d5b565b90838203604085015262003dfb565b6001600160a01b03909316606082015280830360809091015262003e1a565b8054600082558062003eba575050565b620005f691600052602060002090810190620039a3565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b03821162000f2457600160401b821162000f245761010f90815483835580841062003f57575b50602080910191600052806000209060005b84811062003f3b575050505050565b83516001600160a01b0316838201559281019260010162003f2c565b62003f7190836000528460206000209182019101620039a3565b3862003f1a565b90916200067d9282526060602083015262003f966060830162003d5b565b91604081840391015262003dfb565b909262003fb290620037a0565b62003fbc62004514565b62003fc662004498565b62003fd0620044ab565b60208082019262003ff062003fea62000b978651620005c9565b62004539565b61010083016200400962003fea62000b978351620005c9565b6200401962003fea8551620005c9565b60a084016200402d62003fea8251620005c9565b620040a16200407f606087019788516200447f575b620040786200405662000b978a51620005c9565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b51620005c9565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b6040958686018051156200446e5792620041416200411f6200417b94620040db62000b9795620040d56200419d995160fb55565b5160fc55565b620040ff620040ee6101408c0151151590565b60ff8019815416911515161760ff55565b6200410f6101208b015162003a46565b620040786101608b015162003b3d565b61010080546001600160a01b0319166001600160a01b03909216919091179055565b620040786200415460c0890151620005c9565b60ff8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b03831617905562002ed9565b600482620041b262000b9761010754620005c9565b8651635ab1bd5360e01b815292839182905afa80156200083057620041fe916000916200444c575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b6000946200421362000b9761010654620005c9565b95863b6200438e5750620042bc90620042666200422f62003cb3565b976200424f33620042408b620030d7565b6001600160a01b039091169052565b620042406200425f8a5162003d2d565b8a62003d18565b6200427b30620042406200425f8a5162003d3d565b83876200428f62000b9761010454620005c9565b60e06080890151980197600089518b5197889586948593633a92f65f60e01b855230916004860162003e59565b03925af191821562000830577f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205976200430d6200433594620043139362004357986000926200436c575b505060fe55565b62003eea565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b620038f560fe54915192519283928362003f78565b620043869250803d10620008285762000817818362000fae565b388062004306565b94929095969391835163a0e67e2b60e01b815286816004818c5afa9687156200083057809762004422575b5050620043d1620043cb875162003074565b62003cd0565b9660005b87518110156200440a578062002021620043f862001c6262004404948c62003d18565b62004240838d62003d18565b620043d5565b5090929497620042bc9294965062004266906200424f565b620044439297503d8091833e6200443a818362000fae565b81019062003c24565b943880620043b9565b620044679150843d8611620014365762001424818362000fae565b38620041da565b87516363868c5560e11b8152600490fd5b6200449262003fea60c08a0151620005c9565b62004042565b620005f660ff60005460081c166200373f565b60008051602062005603833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b6200453260ff60005460081c166200452c816200373f565b6200373f565b6001606555565b6001600160a01b0316156200454a57565b6040516303988b8160e61b8152600490fd5b6001600160a01b0390911681526040602082018190526200067d929101906200271c565b6040519061010f828154918282526020928383019160005283600020936000905b828210620045ba57505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045a1565b9060405191828154918282526020928383019160005283600020936000905b8282106200461657505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045fd565b634e487b7160e01b600052602160045260246000fd5b9060038210156200465e5752565b6200463a565b600411156200465e57565b9060048210156200465e5752565b620005f6909291926101c060c06101e08301956060815180518652602081015160208701526040810151604087015201516060850152620046c76020820151608086019062004650565b620046db604082015160a08601906200466f565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b9490916200478d620047a9946200067d989694885260018060a01b03809316602089015260e0604089015260e08801906200271c565b921660608601526000608086015284820360a086015262003dfb565b9160c081840391015262003e1a565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a0608082018190526200067d9291019062003dfb565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b03861662004906575b60206200486082968360006200483162004580565b926200488e6200484862000b9761010754620005c9565b946200486f60fe54936040519889918b83016200467d565b03601f19810189528862000fae565b896040519b8c98899788966370803ea560e11b88526004880162004757565b03925af191821562000830577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620048dc575b50620038f5908397604051948594309186620047b8565b620038f5919350620048fe9060203d8111620008285762000817818362000fae565b9290620048c5565b8592506200481c565b906040516200491e8162000f7e565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b908160209103126200050a57516200067d81620017e0565b6001600160a01b039091168152602081019190915260400190565b8054909262004995926001600160a01b039091169162003ed1565b9055565b805490600160401b82101562000f245781620049bf916001620049959401815562000cf9565b815491936001600160a01b03169162003ed1565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff600260406000206040519362004a208562000f7e565b8154168452600181015460208501520154161590604082159101526200216757565b6001600160a01b0316600090815261010a602052604090205460ff161562004a6657565b6040516346c26e4b60e01b8152600490fd5b8054801562004aa857600019019062004a92828262000cf9565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b8154908181101562004b6e5762004af3818462000cf9565b905460039391841b1c86168787161462004b1b575b5062004b15915062003d08565b62004adb565b60001981019081116200294e5762004b159262004b3a87928662000cf9565b9054911b1c1662004b5a62004b50838662000cf9565b8193915462003ed1565b905562004b678362004a78565b3862004b08565b505050915050565b60026065541462004b88576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9062004c089062004bf9620005f6956040519586936323b872dd60e01b602086015260248501620049d3565b03601f19810184528362000fae565b60405162004c65916001600160a01b031662004c248262000f08565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200361962003673565b805182811591821562004cd7575b505090501562004c805750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b83809293500103126200050a5781015162004cf281620010b7565b80823862004c73565b3360005261010c602052604060002060ff60026040519262004d1d8462000f7e565b80546001600160a01b03168452600181015460208501520154161580156040909201919091526200216757565b62004c08620005f6939262004bf960405194859263a9059cbb60e01b6020850152602484016200495f565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004da28162000f7e565b51617530938685fa933d600051908662004e55575b508562004e4a575b508462004de0575b5050508162004dd4575090565b6200067d915062004e61565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004e0e8162000f7e565b5192fa60005190913d8362004e3e575b50508162004e33575b50159038808062004dc7565b905015153862004e27565b10159150388062004e1e565b151594503862004dbf565b84111595503862004db7565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004e938162000f7e565b5191617530fa6000513d8262004eb6575b508162004eaf575090565b9050151590565b6020111591503862004ea4565b91906040838203126200050a5760405162004ede8162000f08565b83518152602084015190938491906001600160401b0382116200050a57019082601f830112156200050a5781519162004f178362000ff3565b9362004f27604051958662000fae565b838552602084830101116200050a5760209262004f4a91848087019101620026f7565b0152565b906020828203126200050a5781516001600160401b03928382116200050a570160c0818303126200050a576040519262004f888462000f2a565b81518452602082015162004f9c81620005d5565b602085015262004faf60408301620037b8565b604085015260608201519081116200050a5760a09262004fd191830162004ec3565b606084015260808101516080840152015160a082015290565b6000805160206200560383398151915260005260c960205260ff6200501f33600080516020620056e383398151915262000ccc565b5416156200502957565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff16620050a957816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491620050ea8162004539565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062005137828520620045de565b845b8151811015620051ca576200515b62000b9762000b9762001c62848662003d18565b90813b15620051c6578685518093631914f67160e21b8252818381620051858a6004830162000d18565b03925af19182156200083057620051a292620051a8575062003d08565b62005139565b80620051b8620051bf9262000f9a565b806200050f565b3862001cb4565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a2646970667358221220f188929cd53be135d5092dbf639902589375592e211f9b10901618b7626cc1ce64736f6c6343000813003360a080604052346100315730608052611cff90816100378239608051818181610a8f01528181610b920152610e2b0152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200131f575080630a992e0c14620012ae5780631459457a14620010c25780631b71f0e414620010795780633659cfe61462000e025780634f1ef2861462000b3d57806352d1902d1462000a7a5780635a2c8ace14620009ec5780635c94e4d214620009c15780635decae021462000978578063715018a6146200092857806377122d5614620008fd5780638279c7db14620008915780638da5cb5b1462000860578063987435be1462000759578063affed0e01462000840578063b0d3713a14620007f7578063b5b3ca2c1462000784578063b8bed9011462000759578063beb331a31462000328578063c4d66de81462000298578063f2fde38b1462000200578063f5016b5e14620001ba5763ffa1ad74146200014057600080fd5b34620001b5576000366003190112620001b55760408051908101906001600160401b038211818310176200019f576200019b9160405260038152620302e360ec1b60208201526040519182916020835260208301906200142a565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001b5576020366003190112620001b5576001600160a01b03620001df62001345565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001b5576020366003190112620001b5576200021d62001345565b620002276200146c565b6001600160a01b0381161562000244576200024290620014ce565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001b5576020366003190112620001b557620002b562001345565b60ff60005460081c1615620002cf576200024290620014ce565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001b557600319602036820112620001b5576001600160401b0360043511620001b5576101808160043536030112620001b5576040519061018082016001600160401b038111838210176200019f576040526200038c6004356004016200135c565b8252600435602401356001600160a01b0381168103620001b5576020830152600435604481013560408401526064810135606084015260848101356080840152620003da9060a4016200135c565b60a0830152620003ef60c4600435016200135c565b60c083015260043560e401356001600160401b038111620001b55760409060043501918236030112620001b55760408051919082016001600160401b038111838210176200019f57604052600481013582526024810135906001600160401b038211620001b557600462000467923692010162001409565b602082015260e082015260043561010401356001600160a01b0381168103620001b55761010082015260043561012401356001600160401b038111620001b557620004ba90600436918135010162001409565b61012082015260043561014401358015159003620001b5576004356101448101356101408301526001600160401b036101649091013511620001b5576200050d3660048035610164810135010162001409565b610160820152606554600019811462000743576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200066b9362000695939192918116911662000562620016dd565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200060e906102648801906200142a565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a015291610160916200064991906200142a565b9261014081015115156101e48a0152015190878303016102048801526200142a565b604485019390935260648401526001600160a01b0316608483015203601f1981018352826200138d565b6040519161041080840192906001600160401b038411858510176200019f578493620006d4936040926200179a8739815281602082015201906200142a565b03906000f08015620007375760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001b5576000366003190112620001b5576067546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b5577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007c462001345565b60243590620007d26200146c565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001b5576020366003190112620001b5576200081462001345565b6200081e6200146c565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576020606554604051908152f35b34620001b5576000366003190112620001b55760206200087f620016dd565b6040516001600160a01b039091168152f35b34620001b5576020366003190112620001b55760008051602062001c4a8339815191526020620008c062001345565b620008ca6200146c565b620008d58162001776565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001b5576000366003190112620001b557606a546040516001600160a01b039091168152602090f35b34620001b5576000366003190112620001b557620009456200146c565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c0a8339815191528280a3005b34620001b5576020366003190112620001b5576200099562001345565b6200099f6200146c565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576069546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b55762000a0962001345565b60243590811515809203620001b5577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a476200146c565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001b5576000366003190112620001b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ad757602060405160008051602062001bea8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001b55762000b5462001345565b6024356001600160401b038111620001b55736602382011215620001b55762000b88903690602481600401359101620013cd565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bc33084141562001506565b62000be360008051602062001bea83398151915293828554161462001557565b62000bed620016dd565b813391160362000dd95760008051602062001baa8339815191525460ff161562000c1f575050506200024290620015a8565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000da4575b5062000c955760405162461bcd60e51b815260048101869052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d5e5762000ca984620015a8565b60008051602062001c2a833981519152600080a281511580159062000d55575b62000cd057005b62000242926000806040519462000ce78662001371565b6027865260008051602062001c8a83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d4b573d62000d2b81620013b1565b9062000d3b60405192836200138d565b8152600081943d92013e6200163a565b606092506200163a565b50600162000cc9565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000dd1575b62000dbf81836200138d565b81010312620001b55751908762000c44565b503d62000db3565b60449062000de6620016dd565b60405163163678e960e01b815233600482015291166024820152fd5b34620001b557602080600319360112620001b55762000e2062001345565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e5a3082141562001506565b62000e7a60008051602062001bea83398151915291858354161462001557565b62000e84620016dd565b84339116036200106c57604051828101949091906001600160401b038611838710176200019f57856040526000835260ff60008051602062001baa833981519152541660001462000edf5750505050620002429150620015a8565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162001037575b5062000f555760405162461bcd60e51b815260048101879052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000ff15762000f6982620015a8565b60008051602062001c2a833981519152600080a282511580159062000fe8575b62000f9057005b60008062000242956040519562000fa78762001371565b6027875260008051602062001c8a83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d4b573d62000d2b81620013b1565b50600062000f89565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001064575b6200105281836200138d565b81010312620001b55751908862000f04565b503d62001046565b60448462000de6620016dd565b34620001b5576020366003190112620001b5576200109662001345565b620010a06200146c565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b55760a0366003190112620001b557620010df62001345565b6001600160a01b039060243590828216808303620001b55760443591848316808403620001b557606435868116809103620001b55760843596871692838803620001b5576000549760ff8960081c16159889809a620012a0575b801562001287575b156200122b5760ff1981166001176000558962001218575b5060ff60005460081c1615620002cf576200119f6020976200119f60008051602062001c4a8339815191529a62001194620011a596620014ce565b600060655562001776565b62001776565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a1620011e057005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558962001159565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620011415750600160ff82161462001141565b50600160ff82161062001139565b34620001b5576020366003190112620001b5576001600160a01b03620012d362001345565b1680600052606660205260ff6001604060002001541615620013075760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001b5576000366003190112620001b5576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001b557565b35906001600160a01b0382168203620001b557565b606081019081106001600160401b038211176200019f57604052565b601f909101601f19168101906001600160401b038211908210176200019f57604052565b6001600160401b0381116200019f57601f01601f191660200190565b929192620013db82620013b1565b91620013eb60405193846200138d565b829481845281830111620001b5578281602093846000960137010152565b9080601f83011215620001b5578160206200142793359101620013cd565b90565b919082519283825260005b84811062001457575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162001435565b62001476620016dd565b336001600160a01b03909116036200148a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c0a833981519152600080a3565b156200150e57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200155f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015df5760008051602062001bea83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156200169f575081511562001650575090565b3b156200165a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016b35750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016d99060248301906200142a565b0390fd5b6033546001600160a01b0390811690813b620016f7575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001729575b505062001724575090565b905090565b602093919293813d82116200176d575b8162001748602093836200138d565b81010312620017695751918216820362001766575090388062001719565b80fd5b5080fd5b3d915062001739565b6001600160a01b0316156200178757565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a26469706673582212202603895606627d30f087fd8adf07ada9eea272be6ef90f42f36294ada33872d464736f6c634300081300330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d9081016040528093929190818152602001838380828437600081840152601f1937fa166cbdbfbb1561ccd9ea985ec0218b5e68502e230525f544285b2bdf3d7e01838380828437600081840152601f19601f820116905080830192505050505080601f0160208091040260200160405190810160405280939291908181526020a2646970667358221220b050d705d1c43bcd25e7a913b472f5ef5cfb324e242fea4bdfd948498dda76ac64736f6c63430008130033","sourceMap":"342:2390:95:-:0;;;;3166:4:19;342:2390:95;;-1:-1:-1;;342:2390:95;3166:4:19;342:2390:95;;;;;;-1:-1:-1;;;;;342:2390:95;;;3166:4:19;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;695:82:112;;;;342:2390:95;;695:82:112;342:2390:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;2413:42:93;342:2390:95;;-1:-1:-1;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;;;;;;;;;;;;;;824:4:17;342:2390:95;;;824:4:17;342:2390:95;821:1:113;342:2390:95;-1:-1:-1;852:1:113;342:2390:95;1860:7:93;;342:2390:95;;;;;;;;1898:42:93;342:2390:95;1898:42:93;342:2390:95;;;1898:42:93;342:2390:95;2278:5:93;;342:2390:95;;;;;:::i;:::-;;;;;;;-1:-1:-1;342:2390:95;;;2368:9:93;342:2390:95;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;2368:9:93;342:2390:95;2413:42:93;342:2390:95;;;2413:42:93;342:2390:95;;;;;;;;;;;;2368:9:93;-1:-1:-1;342:2390:95;-1:-1:-1;342:2390:95;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;342:2390:95;;;-1:-1:-1;342:2390:95;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;-1:-1:-1;342:2390:95;;-1:-1:-1;342:2390:95;;-1:-1:-1;342:2390:95;;;;;;;;;;;;2413:42:93;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;342:2390:95;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;342:2390:95;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610156200001357600080fd5b60003560e01c8062b1fad714620005b0578063023a6f4314620005aa578063030e400614620005a45780630522b7db146200059e5780630688b135146200059857806308c24f9f146200059257806308dbbb03146200058c5780630f166ad41462000586578063174eedde146200049c5780631ae726d914620005805780631b96dce6146200057a5780631d8fcc1014620005745780631e7bcb2e146200056e5780631ed7831c14620005685780632ade388014620005625780632e0f2625146200055c5780632f99c6cc1462000556578063352c94a7146200055057806337d1c404146200054a578063388aef5c1462000544578063392f37e9146200053e5780633e5e3c2314620005385780633f26479e14620005325780633f7286f4146200052c57806349ef42c114620005265780634bf4ba211462000520578063587c1243146200051a5780635aff599914620005145780635d1222aa146200050e5780635e2dd44214620005085780636050f2f8146200049657806366d003ac146200050257806366d9a9a014620004fc5780636a38dd0a14620004f65780636c53db9a14620004f05780636db5251014620004ea57806370a3294414620004e457806374d9284e146200049c578063759c9a8614620004de5780637658524d14620004d857806379e62d0d14620004d25780637b2edf3214620004cc5780637cbe79ed14620004c65780637f6a80df14620004c0578063829e423f146200049c57806382bfefc814620004ba57806385226c8114620004b457806385294f1814620004ae578063861ceb6914620004a8578063896546a114620004a25780638c7408c4146200049c5780638e0d1a5014620004965780638e3c24931462000490578063916a17c6146200048a5780639352fad2146200048457806393892107146200047e578063a0cf0aea1462000478578063a407c67a1462000472578063aa3744bd146200046c578063b5508aa91462000466578063ba414fa61462000460578063bb0504cd146200045a578063c04062261462000454578063c1f2a641146200044e578063c36e336b1462000448578063caa12add1462000442578063d1e82b58146200043c578063d1f2cd881462000436578063d23727ed1462000430578063d5bee9f5146200042a578063da4bf0871462000424578063dac4eb16146200041e578063dac770b31462000418578063e070e0ab1462000412578063e20c9f71146200040c578063e99ce9111462000406578063ef0d790f1462000400578063f4d914e614620003fa578063f69d511f14620003f4578063f8ccbf4714620003ee5763fa7626d414620003e857600080fd5b620032b8565b62003293565b62003252565b620031b1565b62003152565b62003023565b62002fba565b62002f07565b62002aaa565b62002a50565b62002935565b620028de565b620028ad565b62002853565b620027f7565b620027c6565b620026ea565b62002565565b62002533565b62002514565b620024eb565b6200244b565b620023f5565b620022fa565b620022c9565b6200229e565b62002283565b6200211b565b620020fd565b620015f3565b62000c07565b620020d2565b620020a7565b62001fbe565b62001e92565b62001e54565b62001e29565b62001dd3565b62001db5565b62001cba565b62001c9a565b62001c42565b62001b0a565b62001aa5565b62001a76565b62001a58565b6200173d565b6200161e565b620015d8565b62001578565b6200151c565b620014fe565b620014c8565b620014a9565b62001440565b62001421565b620013b8565b620012bd565b6200129d565b620011ca565b620010bf565b62000fa6565b62000f81565b62000ee9565b62000d45565b62000cd5565b62000cb7565b62000c5d565b62000c25565b62000bea565b62000bca565b62000b7c565b62000b26565b62000afb565b62000a9c565b620008dd565b620005e6565b6000910312620005c257565b600080fd5b6001600160a01b031690565b6001600160a01b03909116815260200190565b34620005c25760008060031936011262000735576200060462003346565b620006556040516020810190620006308162000621848762003571565b03601f19810183528262000840565b5190206040516001625e79b760e01b0319815260048101919091529081906024820190565b0391602082600080516020620182688339815191529481865afa928315620006f45784928394620006fe575b50803b15620006fa57620006ad916040519586809481936318caf8e360e31b83528860048401620035a2565b03925af1918215620006f457620006d292620006d6575b5060405191829182620005d3565b0390f35b80620006e6620006ed9262000760565b80620005b6565b38620006c4565b620034ce565b8280fd5b6200072591945060203d81116200072d575b6200071c818362000840565b8101906200358a565b923862000681565b503d62000710565b80fd5b6001600160a01b03811603620005c257565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116200077457604052565b6200074a565b604081019081106001600160401b038211176200077457604052565b60c081019081106001600160401b038211176200077457604052565b602081019081106001600160401b038211176200077457604052565b60e081019081106001600160401b038211176200077457604052565b608081019081106001600160401b038211176200077457604052565b610f0081019081106001600160401b038211176200077457604052565b615a0081019081106001600160401b038211176200077457604052565b601f909101601f19168101906001600160401b038211908210176200077457604052565b6001600160401b0381116200077457601f01601f191660200190565b9291926200088e8262000864565b916200089e604051938462000840565b829481845281830111620005c2578281602093846000960137010152565b9080601f83011215620005c257816020620008da9335910162000880565b90565b34620005c2576080366003190112620005c257600435620008fe8162000738565b604435906200090d8262000738565b606435906001600160401b038211620005c257620009346200096c923690600401620008bc565b906060620009448284876200b626565b6040516338d07aa960e21b815260248035600483015281019190915293849081906044820190565b0381600080516020620182688339815191525afa918215620006f457620009e69460209460008091819662000a51575b5060009291620009b9620009c8926040519889938b85016200b5ad565b03601f19810187528662000840565b60405163353b090160e11b815296879586948593600485016200b2ff565b03926001600160a01b03165af18015620006f45762000a1a9160009162000a1c575b5062000a136200b3c5565b906200b51b565b005b62000a42915060203d811162000a49575b62000a39818362000840565b8101906200b2e5565b3862000a08565b503d62000a2d565b620009b996506000939250620009c8915062000a879060603d811162000a94575b62000a7e818362000840565b8101906200b586565b975092939091506200099c565b503d62000a72565b34620005c257600080600319360112620007355760405162000abe816200077a565b6013815272383937b334b63298afb737ba20a6b2b6b132b960691b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c2576022546040516001600160a01b039091168152602090f35b34620005c257600080600319360112620007355760405162000b48816200077a565b600a8152693932b1b4b834b2b73a1960b11b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576040366003190112620005c257602062000bb860043562000ba38162000738565b6024359062000bb28262000738565b6200afe1565b6040516001600160a01b039091168152f35b34620005c2576000366003190112620005c2576020602754604051908152f35b34620005c2576000366003190112620005c2576020604051308152f35b34620005c2576000366003190112620005c257602060405160008152f35b34620005c2576020366003190112620005c257602062000bb860043562000c4c8162000738565b62000c5662004bc2565b906200afe1565b34620005c257600080600319360112620007355760405162000c7f816200077a565b600e81526d383937b334b632992fb7bbb732b960911b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c257602060405160038152f35b34620005c25760008060031936011262000735576200060462003406565b90815180825260208080930193019160005b82811062000d14575050505090565b83516001600160a01b03168552938101939281019260010162000d05565b906020620008da92818152019062000cf3565b34620005c257600080600319360112620007355760405180918260195480845260208094019060198452848420935b8582821062000da45750505062000d8e9250038362000840565b620006d260405192828493845283019062000cf3565b85546001600160a01b031684526001958601958895509301920162000d74565b60005b83811062000dd85750506000910152565b818101518382015260200162000dc7565b9060209162000e048151809281855285808601910162000dc4565b601f01601f1916010190565b90815180825260208092019182818360051b82019501936000915b84831062000e3c5750505050505090565b909192939495848062000e5883856001950387528a5162000de9565b980193019301919493929062000e2b565b602080820190808352835180925260409283810182858560051b8401019601946000925b85841062000e9f575050505050505090565b90919293949596858062000ed7600193603f1986820301885286838d51878060a01b0381511684520151918185820152019062000e10565b99019401940192959493919062000e8d565b34620005c2576000806003193601126200073557602090815462000f0d81620011b2565b9160409362000f1f8551948562000840565b8284528082528082208185015b84841062000f4357865180620006d2888262000e69565b600283600192895162000f56816200077a565b848060a01b03865416815262000f6e8587016200369f565b8382015281520192019301929062000f2c565b34620005c2576000366003190112620005c2576020604051670de0b6b3a76400008152f35b34620005c2576000366003190112620005c2576030546040516001600160a01b039091168152602090f35b90600182811c9216801562001003575b602083101462000fed57565b634e487b7160e01b600052602260045260246000fd5b91607f169162000fe1565b9060009291805491620010218362000fd1565b91828252600193848116908160001462001088575060011462001045575b50505050565b90919394506000526020928360002092846000945b838610620010735750505050010190388080806200103f565b8054858701830152940193859082016200105a565b9294505050602093945060ff191683830152151560051b010190388080806200103f565b906020620008da92818152019062000de9565b34620005c257600080600319360112620007355760405181602f54620010e58162000fd1565b8084529060019081811690811562001187575060011462001129575b620006d284620011148188038262000840565b60405191829160208352602083019062000de9565b602f8352602094507fa813484aef6fb598f9f753daf162068ff39ccea4075cb95e1a30f86995b5b7ee5b828410620011735750505081620006d29362001114928201019362001101565b805485850187015292850192810162001153565b620006d29650620011149450602092508593915060ff191682840152151560051b8201019362001101565b6001600160401b038111620007745760051b60200190565b34620005c2576060366003190112620005c257600435620011eb8162000738565b602435620011f98162000738565b604435916001600160401b038311620005c25736602384011215620005c25782600401356200122881620011b2565b9362001238604051958662000840565b81855260209160248387019160051b83010191368311620005c257602401905b8282106200128157620006d26200127188888862004554565b6040519081529081906020820190565b8380918335620012918162000738565b81520191019062001258565b34620005c2576000366003190112620005c2576020602d54604051908152f35b34620005c2576000806003193601126200073557601554604051918281601654620012e88162000fd1565b8084529060019081811690811562001393575060011462001332575b5050620013149250038362000840565b620006d2604051928392835260406020840152604083019062000de9565b601685527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289946020935091905b8183106200137a575050620013149350820101388062001304565b855488840185015294850194879450918301916200135f565b9150506200131494506020925060ff191682840152151560051b820101388062001304565b34620005c2576000806003193601126200073557604051809182601b54808452602080940190601b8452848420935b85828210620014015750505062000d8e9250038362000840565b85546001600160a01b0316845260019586019588955093019201620013e7565b34620005c2576000366003190112620005c25760206040516127108152f35b34620005c2576000806003193601126200073557604051809182601a54808452602080940190601a8452848420935b85828210620014895750505062000d8e9250038362000840565b85546001600160a01b03168452600195860195889550930192016200146f565b34620005c2576000366003190112620005c257602062000bb862005bda565b34620005c2576000366003190112620005c257620006d2620014e9620032e0565b60405191829160208352602083019062000cf3565b34620005c25760008060031936011262000735576200060462003462565b34620005c25760008060031936011262000735576040516200153e816200077a565b601081526f726563697069656e744164647265737360801b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c2576020602554604051908152f35b6020600319820112620005c257600435906001600160401b038211620005c25780602383011215620005c257816024620008da9360040135910162000880565b34620005c25762000a1a620015ed3662001598565b62004097565b34620005c2576000366003190112620005c2576028546040516001600160a01b039091168152602090f35b34620005c257600080600319360112620007355760405162001640816200077a565b60098152681c9958da5c1a595b9d60ba1b6020820152620006556040516020810190620006308162000621848762003571565b6001600160e01b0319169052565b602080820190808352835180925260409283810182858560051b840101960194600080935b868510620016b957505050505050505090565b909192939480969798603f198382030186528951826060818885019360018060a01b038151168652015193888382015284518094520192019085905b808210620017185750505090806001929a019501950193969594929190620016a6565b82516001600160e01b03191684528a94938401939092019160019190910190620016f5565b34620005c2576000366003190112620005c257601e546200175e81620011b2565b6200176d604051918262000840565b818152601e60009081529160207f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3508184015b838610620017b75760405180620006d2878262001681565b82604051620017c6816200077a565b83546001600160a01b03168152604051600185018054808352620017f4602084015b92600052602060002090565b906000915b81600784011062001998579386600297969482946200186b9460019b985491848282106200197c575b82821062001957575b82821062001932575b8282106200190d575b828210620018e8575b828210620018c3575b8282106200189f575b50106200187e575b509050038262000840565b838201528152019201950194906200179f565b620018959082906001600160e01b03191662001673565b0186903862001860565b84620018b98f939663ffffffff60e01b87851b1662001673565b0193018462001858565b84620018de8f939663ffffffff60e01b8760401b1662001673565b019301846200184f565b84620019038f939663ffffffff60e01b8760601b1662001673565b0193018462001846565b84620019288f939663ffffffff60e01b8760801b1662001673565b019301846200183d565b846200194d8f939663ffffffff60e01b8760a01b1662001673565b0193018462001834565b84620019728f939663ffffffff60e01b8760c01b1662001673565b019301846200182b565b846200198e8f93968660e01b62001673565b0193018462001822565b939495509091600161010060089262001a4787548d60e0620019bd8584831b62001673565b6001600160e01b03199162001a3d90838560c0620019e28a850183831b851662001673565b62001a3260a0620019fb60408d018686841b1662001673565b62001a248c868660609260809062001a1a8582018585851b1662001673565b01921b1662001673565b8b01848460401b1662001673565b8901921b1662001673565b8401911662001673565b0194019201908895949392620017f9565b34620005c25760008060031936011262000735576200060462003371565b34620005c2576000366003190112620005c25760215460405160109190911c6001600160a01b03168152602090f35b34620005c2576060366003190112620005c25760043562001ac68162000738565b604435906001600160401b038211620005c25762001aed62000a1a923690600401620008bc565b602154602480549035939160101c6001600160a01b03166200b3f9565b34620005c257600080600319360112620007355762001b28620032e0565b62001b3262003406565b62001b4f6040516020810190620006308162000621848762003571565b0391602082600080516020620182688339815191529481865afa928315620006f4578592839462001c1d575b50803b15620006fa5762001ba7916040519687809481936318caf8e360e31b83528860048401620035a2565b03925af1908115620006f457620006d29362001bd59262001c06575b5062001bcf836200339c565b620033f7565b62001bf962001bed62001be762003434565b620035c6565b5062001bcf83620033c0565b6040519182918262000d32565b80620006e662001c169262000760565b3862001bc3565b62001c3a91945060203d81116200072d576200071c818362000840565b923862001b7b565b34620005c257600080600319360112620007355760405162001c64816200077a565b600c81526b1b9bd7dc9958da5c1a595b9d60a21b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c2576020602454604051908152f35b34620005c257600080600319360112620007355762001cd8620032e0565b62001ce262003346565b62001cff6040516020810190620006308162000621848762003571565b0391602082600080516020620182688339815191529481865afa928315620006f4578592839462001d90575b50803b15620006fa5762001d57916040519687809481936318caf8e360e31b83528860048401620035a2565b03925af1908115620006f457620006d29362001d7e9262001c06575062001bcf836200339c565b62001bf962001bed62001be762003371565b62001dad91945060203d81116200072d576200071c818362000840565b923862001d2b565b34620005c25760008060031936011262000735576200060462003434565b34620005c257600080600319360112620007355760405162001df5816200077a565b600a81526930b63637afb7bbb732b960b11b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c257602b546040516001600160a01b039091168152602090f35b34620005c2576000366003190112620005c2576029546040516001600160a01b039091168152602090f35b906020620008da92818152019062000e10565b34620005c2576000806003193601126200073557601d5462001eb481620011b2565b9060409262001ec68451938462000840565b818352601d815260207f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f8185015b84841062001f0b57865180620006d2888262001e7f565b6001838192895162001f2b8162001f2381896200100e565b038262000840565b81520192019301929062001ef4565b60031115620005c257565b60c435906004821015620005c257565b60c090610103190112620005c2576040519062001f728262000796565b816101043562001f828162000738565b81526101243562001f938162000738565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b34620005c2576101a0366003190112620005c25760043562001fe08162000738565b60243562001fee8162000738565b6044359162001ffd8362000738565b6064356200200b8162000738565b608435620020198162000738565b60a43590620020288262001f3a565b6200203262001f45565b9260c03660e3190112620005c257620006d296620012719660405196620020598862000796565b60e435620020678162000738565b885261010435620020788162000738565b60208901526101243560408901526101443560608901526101643560808901526101843560a089015262004a63565b34620005c2576000366003190112620005c257602c546040516001600160a01b039091168152602090f35b34620005c2576000366003190112620005c2576023546040516001600160a01b039091168152602090f35b34620005c25760008060031936011262000735576200060462003490565b34620005c2576000366003190112620005c257601f546200213c81620011b2565b6200214b604051918262000840565b818152601f60009081529160207fa03837a25210ee280c2113ff4b77ca23440b19d4866cca721c801278fd08d8078184015b838610620021955760405180620006d2878262001681565b82604051620021a4816200077a565b83546001600160a01b03168152604051600185018054808352620021cb60208401620017e8565b906000915b8160078401106200224d579386600297969482946200223a9460019b985491848282106200197c57828210620019575782821062001932578282106200190d57828210620018e857828210620018c3578282106200189f5750106200187e57509050038262000840565b838201528152019201950194906200217d565b93949550909160016101006008926200227287548d60e0620019bd8584831b62001673565b0194019201908895949392620021d0565b34620005c25762000a1a620022983662001598565b62003933565b34620005c2576000366003190112620005c257602a546040516001600160a01b039091168152602090f35b34620005c2576000366003190112620005c257602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b34620005c257600080600319360112620007355762002318620032e0565b6200232262003462565b6200233f6040516020810190620006308162000621848762003571565b0391602082600080516020620182688339815191529481865afa928315620006f45785928394620023d0575b50803b15620006fa5762002397916040519687809481936318caf8e360e31b83528860048401620035a2565b03925af1908115620006f457620006d293620023be9262001c06575062001bcf836200339c565b62001bf962001bed62001be762003490565b620023ed91945060203d81116200072d576200071c818362000840565b92386200236b565b34620005c257600080600319360112620007355760405162002417816200077a565b600a815269726563697069656e743160b01b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000806003193601126200073557601c546200246d81620011b2565b906040926200247f8451938462000840565b818352601c815260207f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2118185015b848410620024c457865180620006d2888262001e7f565b60018381928951620024dc8162001f2381896200100e565b815201920193019290620024ad565b34620005c2576000366003190112620005c25760206200250a620034da565b6040519015158152f35b34620005c2576000366003190112620005c257602062000bb862004bc2565b34620005c2576000806003193601126200073557620025626040516200255981620007b2565b82815262003933565b80f35b34620005c25760a0366003190112620005c257600435620025868162000738565b60443590620025958262000738565b606435916001600160401b038311620005c257620025bc62000a1a933690600401620008bc565b9060843592602435906200b3f9565b634e487b7160e01b600052602160045260246000fd5b60031115620025ec57565b620025cb565b906003821015620025ec5752565b906004821015620025ec5752565b620026e8909291926101c060c06101e083019560608151805186526020810151602087015260408101516040870152015160608501526200265860208201516080860190620025f2565b6200266c604082015160a086019062002600565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b565b34620005c257610140366003190112620005c2576004356200270c8162000738565b6024356200271a8162001f3a565b604435916004831015620005c2576020366063190112620005c2576040516200274381620007b2565b606435815260c0366083190112620005c257620006d293620027b993604051936200276e8562000796565b6084356200277c8162000738565b855260a4356200278c8162000738565b602086015260c435604086015260e43560608601526101043560808601526101243560a08601526200469b565b604051918291826200260e565b34620005c2576000366003190112620005c257602060405173dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc7378152f35b34620005c257600080600319360112620007355760405162002819816200077a565b601081526f3837b7b62fb737ba20a6b0b730b3b2b960811b6020820152620006556040516020810190620006308162000621848762003571565b34620005c257600080600319360112620007355760405162002875816200077a565b600e81526d383937b334b63298afb7bbb732b960911b6020820152620006556040516020810190620006308162000621848762003571565b34620005c2576000366003190112620005c257602060405173bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf8152f35b34620005c257600080600319360112620007355760405162002900816200077a565b600b81526a1c985b991bdb4818da185960aa1b6020820152620006556040516020810190620006308162000621848762003571565b34620005c257600080600319360112620007355760405162002957816200077a565b600d81526c616c6c6f5f747265617375727960981b60208201526200298e6040516020810190620006308162000621848762003571565b0391602082600080516020620182688339815191529481865afa928315620006f4578492839462002a2b575b50803b15620006fa57620029e6916040519586809481936318caf8e360e31b83528860048401620035a2565b03925af1918215620006f457620006d29262002a14575b506040519182916001600160a01b031682620005d3565b80620006e662002a249262000760565b38620029fd565b62002a4891945060203d81116200072d576200071c818362000840565b9238620029ba565b34620005c257600080600319360112620007355760405162002a72816200077a565b600e81526d3932b3b4b9ba393cafb7bbb732b960911b6020820152620006556040516020810190620006308162000621848762003571565b34620005c257600080600319360112620007355760245490604090815163ffa1864960e01b81526020908062002ae96004968783019190602083019252565b03908281600080516020620182688339815191529381855afa8015620006f45762002b3991859162002ee5575b50602380546001600160a01b0319166001600160a01b0392909216919091179055565b62002b46602354620005c7565b91813b1562002e8d5784516318caf8e360e31b8082526001600160a01b03909416878201908152604060208201819052600e908201526d636f756e63696c4d656d6265723160901b6060820152859082908190608001038183875af18015620006f45762002ece575b5060018060a01b038062002bcf62002bc96021546200b28d565b620005c7565b161562002bf5575b620006d28662002be96021546200b28d565b905191829182620005d3565b8062002c0062004bc2565b62002c3462002c1262002bc962005bda565b602680546001600160a01b0319166001600160a01b0392909216919091179055565b16833b1562002eca5786519085825286828062002c86848d830160809160018060a01b0316815260406020820152601060408201526f5361666550726f7879466163746f727960801b60608201520190565b038183895af1908115620006f45762002cd892859262002eb3575b5062002caf602654620005c7565b9062002cba6200b29c565b91898c8c5196879586948593631688f0b960e01b855284016200b2b8565b03925af1908115620006f45762002d1d93879262002e91575b50506021805462010000600160b01b0319169290911660101b62010000600160b01b0316919091179055565b62002d2e62002bc96021546200b28d565b91813b1562002e8d5784519081526001600160a01b03909216858301908152604060208201819052600b908201526a636f756e63696c5361666560a81b60608201528391839182908490829060800103925af18015620006f45762002e76575b5062002d996200330d565b62002db562002daa602354620005c7565b62001bcf836200339c565b62002ddd62002dc482620033c0565b73f39fd6e51aad88f6f4ce6ab8827279cfffb922669052565b62002e0562002dec82620033d1565b7370997970c51812dc3a010c7d01b50e0d17dc79c89052565b62002e1662002bc96021546200b28d565b803b15620006fa5762002e3e9483855180978195829463b63e800d60e01b845283016200af94565b03925af1918215620006f457620006d29262002e5f575b8080808062002bd7565b80620006e662002e6f9262000760565b3862002e55565b80620006e662002e869262000760565b3862002d8e565b8380fd5b62002eab9250803d106200072d576200071c818362000840565b388062002cf1565b80620006e662002ec39262000760565b3862002ca1565b8580fd5b80620006e662002ede9262000760565b3862002baf565b62002f009150843d86116200072d576200071c818362000840565b3862002b16565b34620005c2576101c0366003190112620005c25760043562002f298162000738565b6024359062002f388262000738565b6044359062002f478262000738565b6064359262002f568462000738565b60843562002f648162000738565b60a43562002f728162001f3a565b62002f7c62001f45565b9160203660e3190112620005c257620006d29662001271966040519562002fa387620007b2565b60e435875262002fb33662001f55565b97620048c6565b34620005c257600080600319360112620007355760405180918260185480845260208094019060188452848420935b85828210620030035750505062000d8e9250038362000840565b85546001600160a01b031684526001958601958895509301920162002fe9565b34620005c2576080366003190112620005c257606435600160801b62989680608083901b04818110156200310e57600435805b620030c857620006d262001271620030c2620030bc86620030b589620030ae620030a7620030876024358662004687565b94620030a0620030996044356200466e565b9162004ab9565b9062004687565b9162004acc565b9062004a88565b9062004af0565b62004ade565b60801c90565b600191818316620030ec5780620030df9162004afe565b911c90815b909162003056565b915091620030ff82620031069262004afe565b9262004aa9565b9081620030e4565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b34620005c257600080600319360112620007355760405162003174816200077a565b6013815272383937b334b632992fb737ba20a6b2b6b132b960691b6020820152620006556040516020810190620006308162000621848762003571565b34620005c257600080600319360112620007355760405181602e54620031d78162000fd1565b808452906001908181169081156200118757506001146200320557620006d284620011148188038262000840565b602e835260209450600080516020620182a88339815191525b8284106200323e5750505081620006d29362001114928201019362001101565b80548585018701529285019281016200321e565b34620005c2576020366003190112620005c2576004356001600160401b038111620005c25762000bb86200328d6020923690600401620008bc565b6200af38565b34620005c2576000366003190112620005c257602060ff602154166040519015158152f35b34620005c2576000366003190112620005c257602060ff60215460081c166040519015158152f35b60405190606082016001600160401b03811183821017620007745760405260028252604082602036910137565b604051906200331c82620007ea565b600382526060366020840137565b6040519062003339826200077a565b6001825260203681840137565b6040519062003355826200077a565b600d82526c706f6f6c5f6d616e616765723160981b6020830152565b6040519062003380826200077a565b600d82526c3837b7b62fb6b0b730b3b2b91960991b6020830152565b805115620033aa5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015620033aa5760400190565b805160021015620033aa5760600190565b8051821015620033aa5760209160051b010190565b6001600160a01b039091169052565b6040519062003415826200077a565b601082526f70726f66696c65315f6d656d6265723160801b6020830152565b6040519062003443826200077a565b601082526f383937b334b63298afb6b2b6b132b91960811b6020830152565b6040519062003471826200077a565b601082526f70726f66696c65325f6d656d6265723160801b6020830152565b604051906200349f826200077a565b601082526f383937b334b632992fb6b2b6b132b91960811b6020830152565b90816020910312620005c2575190565b6040513d6000823e3d90fd5b60085460ff168015620034ea5790565b50604051630667f9d760e41b8152602081604481600080516020620182688339815191528060048301526519985a5b195960d21b60248301525afa908115620006f4576000916200353c575b50151590565b62003562915060203d811162003569575b62003559818362000840565b810190620034be565b3862003536565b503d6200354d565b90620035866020928281519485920162000dc4565b0190565b90816020910312620005c25751620008da8162000738565b6001600160a01b039091168152604060208201819052620008da9291019062000de9565b906040516020810190620035e08162000621848762003571565b5190206040516001625e79b760e01b03198152600481018290529091906000805160206201826883398151915290602081602481855afa908115620006f4576000916200367c575b508094823b15620005c2576200365992600092836040518096819582946318caf8e360e31b845260048401620035a2565b03925af18015620006f4576200366c5750565b80620006e6620026e89262000760565b62003698915060203d81116200072d576200071c818362000840565b3862003628565b908154620036ad81620011b2565b92604093620036bf8551918262000840565b828152809460208092019260005281600020906000935b858510620036e657505050505050565b60018481928451620036fe8162001f23818a6200100e565b815201930194019391620036d6565b601f81116200371a575050565b600090602e825260208220906020601f850160051c830194106200375b575b601f0160051c01915b8281106200374f57505050565b81815560010162003742565b909250829062003739565b80519091906001600160401b038111620007745762003792816200378c602e5462000fd1565b6200370d565b602080601f8311600114620037d15750819293600092620037c5575b50508160011b916000199060031b1c191617602e55565b015190503880620037ae565b602e600052601f19831694909190600080516020620182a8833981519152926000905b8782106200382f57505083600195961062003815575b505050811b01602e55565b015160001960f88460031b161c191690553880806200380a565b80600185968294968601518155019501930190620037f4565b6040519062003857826200077a565b60088252670b98da185a5b925960c21b6020830152565b604051906200387d826200077a565b60058252642e6e616d6560d81b6020830152565b60405190620038a0826200077a565b600c82526b1722a72b299729a2a72222a960a11b6020830152565b60405190620038ca826200077a565b60088252676e616d653a20257360c01b6020830152565b60405190620038f0826200077a565b600a82526973656e6465723a20257360b01b6020830152565b6040519062003918826200077a565b600c82526b636861696e4964203a20257360a01b6020830152565b62003940602854620005c7565b906000805160206201826883398151915290813b15620005c257604051637fec2a8d60e01b81526000938490829081906200397f9060048301620005d3565b038183875af18015620006f45762003aae575b50805162003a9c575b5062003a6a620039aa62003eb7565b620015ed620039cd620039c6620039c062003848565b62003d75565b8362003aee565b62003a39620039ea620039e3620039c06200386e565b8562003bbf565b62003a2962003a0762003a00620039c062003891565b8762003c2b565b602880546001600160a01b0319166001600160a01b0392909216919091179055565b62003a33620038bb565b62003cf7565b62003a5a62003a4a602854620005c7565b62003a54620038e1565b62003d22565b62003a6462003909565b62003c94565b803b1562003a98578190600460405180948193633b756e9b60e11b83525af18015620006f4576200366c5750565b5080fd5b62003aa79062003766565b386200399b565b80620006e662003abe9262000760565b3862003992565b909162003adf620008da9360408452604084019062000de9565b91602081840391015262000de9565b6040516356eef15b60e11b8152916020918391829162003b1391906004840162003ac5565b0381600080516020620182688339815191525afa908115620006f45760009162003b3b575090565b620008da915060203d8111620035695762003559818362000840565b602081830312620005c2578051906001600160401b038211620005c2570181601f82011215620005c257805162003b8e8162000864565b9262003b9e604051948562000840565b81845260208284010111620005c257620008da916020808501910162000dc4565b6040516309389f5960e31b8152916000918391829162003be491906004840162003ac5565b0381600080516020620182688339815191525afa908115620006f45760009162003c0c575090565b620008da913d8091833e62003c22818362000840565b81019062003b57565b604051631e19e65760e01b8152916020918391829162003c5091906004840162003ac5565b0381600080516020620182688339815191525afa908115620006f45760009162003c78575090565b620008da915060203d81116200072d576200071c818362000840565b62003cdc62003cc791620026e893604051938492632d839cb360e21b602085015260406024850152606484019062000de9565b90604483015203601f19810183528262000840565b600080916020815191016a636f6e736f6c652e6c6f675afa50565b9062003cdc620026e89262000621604051938492634b5c427760e01b60208501526024840162003ac5565b62003cdc62003d5591620026e89360405193849263319af33360e01b602085015260406024850152606484019062000de9565b6001600160a01b0391909116604483015203601f19810183528262000840565b604051600091602e549162003d8a8362000fd1565b9384825260209485830194600190818116908160001462003e99575060011462003e5b575b5050918162003dcb620008da959362003e389795038262000840565b62003e256039604051809562003e088883019575242e6e6574776f726b735b3f28402e6e616d653d3d2760501b8752518092603685019062000dc4565b81016227295d60e81b603682015203601981018652018462000840565b6040519586935180928686019062000dc4565b820162003e4e8251809386808501910162000dc4565b0103808452018262000840565b9150602e60005285600020916000925b82841062003e8557505050810184018162003dcb62003daf565b805485850189015292870192810162003e6b565b60ff191687525050151560051b8201850190508162003dcb62003daf565b604051636c98507360e11b815260009060008051602062018268833981519152908281600481855afa8015620006f45762003f76928492839262003fa5575b5062003f5a60436040518462003f1782965180926020808601910162000dc4565b81017f2f706b672f636f6e7472616374732f636f6e6669672f6e6574776f726b732e6a60208201526239b7b760e91b604082015203602381018552018362000840565b60405180809581946360f9bb1160e01b835260048301620010ac565b03915afa918215620006f457809262003f8e57505090565b620008da92503d8091833e62003c22818362000840565b62003fbd9192503d8085833e62003c22818362000840565b903862003ef6565b6040519062003fd4826200077a565b60198252782e50524f584945532e52454749535452595f464143544f525960381b6020830152565b604051906200400b826200077a565b601d82527f2e50524f584945532e52454749535452595f434f4d4d554e49544945530000006020830152565b634e487b7160e01b600052601160045260246000fd5b60001981146200405d5760010190565b62004037565b6040519062004072826200077a565b60168252752e50524f584945532e43565f5354524154454749455360501b6020830152565b604080516001600160401b039361576f80830193929086851182861017620007745762010dc3823980600094039084f0908115620006f45782516001600160a01b0392831693906156e980820189811183821017620007745782916200b6da8339039086f08015620006f4578316936200412b62002bc962002bc962002bc962004124620039c062003fc5565b8b62003c2b565b82519098611d36908183019081118382101762000774578291620165328339039087f0928315620006f457883b156200439457825187818b81838162004183631b2ce7f360e11b9c8d835260049c168c8301620005d3565b03925af18015620006f457620043d0575b50883b1562004394578251632ef6570160e11b815287818b818381620041bd898c8301620005d3565b03925af18015620006f457620043b9575b50883b156200439457825187816306dc7c3960e21b9b8c8252818381620041f88d8c8301620005d3565b03925af18015620006f457620043a2575b50620042236200421c620039c062003ffc565b89620043e7565b90875b825181101562004305576200425962002bc962002bc962002bc96200424c8588620033e2565b516001600160a01b031690565b803b15620042ea5785518881528a818062004277898c8301620005d3565b038183865af18015620006f457620042ee575b50803b15620042ea5785518c815291908a908390818381620042af8f828f01620005d3565b03925af1918215620006f457620042cd92620042d3575b506200404d565b62004226565b80620006e6620042e39262000760565b38620042c6565b8980fd5b80620006e6620042fe9262000760565b386200428a565b5097915050620043279193975062004320620039c062004063565b90620043e7565b845b815181101562004398576200434f62002bc962002bc962002bc96200424c8587620033e2565b90813b15620043945786855180938b8252818381620043718c8b8301620005d3565b03925af1918215620006f4576200438e92620042d357506200404d565b62004329565b8680fd5b5050505050509050565b80620006e6620043b29262000760565b3862004209565b80620006e6620043c99262000760565b38620041ce565b80620006e6620043e09262000760565b3862004194565b9060405191632fce788360e01b835282806200440b60009485946004840162003ac5565b0381600080516020620182688339815191525afa918215620006f45781926200443357505090565b9091503d8083833e62004447818362000840565b8101602091828183031262002e8d578051906001600160401b038211620044d9570181601f8201121562002e8d578051906200448382620011b2565b9462004493604051968762000840565b828652848087019360051b8301019384116200073557508301905b828210620044bd575050505090565b8380918351620044cd8162000738565b815201910190620044ae565b8480fd5b620045356020620008da95936002845260a082850152600e60a08501526d506f6f6c2050726f66696c65203160901b60c085015260e06040850152805160e08501520151604061010084015261012083019062000de9565b6001600160a01b03909316606082015280830360809091015262000cf3565b916017541562004568575b50505060175490565b620045cc92602092600060405162004580816200077a565b6001815260405162004592816200077a565b600c81526b506f6f6c50726f66696c653160a01b8782015281870152604051633a92f65f60e01b81529687958694859360048501620044dd565b03926001600160a01b03165af18015620006f457620045f491600091620045fd575b50601755565b3880806200455f565b62004619915060203d8111620035695762003559818362000840565b38620045ee565b604051906200462f8262000796565b8160a06000918281528260208201528260408201528260608201528260808201520152565b6003821015620025ec5752565b6004821015620025ec5752565b9062989680918281029281840414901517156200405d57565b818102929181159184041417156200405d57565b9493929094604095865193620046b185620007ce565b875191620046bf83620007ea565b600092838152836020820152838a820152836060820152865260208601908382528987019380855260608801958b51620046f981620007b2565b828152875260808901986200470d62004620565b8a5260a081019280845260c0820152809c815101629895b790528051621e8480905280516020016127109052516060016702c68af0bb14000090526200475391620033f7565b6200475e9162004654565b620047699162004661565b81511562004775575252565b680ad78ebc5ac620000082525252565b9195949293908252620047b460018060a01b039485602098168885015260e0604085015260e084019062000de9565b9360609116818301526000608083015281840360a0830152601554845260408685015260009360165490620047e98262000fd1565b9182604083015260019081811690816000146200486a575060011462004823575b50505050620008da93945060c081840391015262000cf3565b9293955090601660005287600020926000935b8285106200485657505050620008da95965001019184933880806200480a565b805484860187015293890193810162004836565b60ff1916858401525096975087965090151560051b01019250620008da3880806200480a565b90816020910312620005c25751620008da8162001f3a565b15620048b057565b634e487b7160e01b600052600160045260246000fd5b92949596620049709787620048df949b9a939b6200469b565b90620048ea620032e0565b90620048fb3062001bcf846200339c565b6200490b3362001bcf84620033c0565b6001600160a01b039473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee948a91879182811662004a57575b509062004955856000936200494e602854620005c7565b9062004554565b6200499d604051966200497f8860209e8f9b8c83016200260e565b03601f1981018a528962000840565b6040516370803ea560e11b8152998a98899788956004870162004785565b0393165af18015620006f457849160009162004a35575b5095600460405180948193631a8ecfcb60e11b8352165afa908115620006f457620026e89360009262004a01575b5050620049ef82620025e1565b620049fa81620025e1565b14620048a8565b62004a259250803d1062004a2d575b62004a1c818362000840565b81019062004890565b3880620049e2565b503d62004a10565b62004a509150823d8411620035695762003559818362000840565b38620049b4565b96506200495562004937565b94929091620008da979694926040519662004a7e88620007b2565b60008852620048c6565b811562004a93570490565b634e487b7160e01b600052601260045260246000fd5b6000198101919082116200405d57565b600160801b908103919082116200405d57565b90629896809182039182116200405d57565b6001607f1b8101919082106200405d57565b919082018092116200405d57565b90600160801b80831162004b6c5781101562004b2857620030bc620030c291620008da9362004687565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf803b620008da5750620008da62002bc960405162004bf58162000806565b610ede81527f608060405234801561001057600080fd5b50610ebe806100206000396000f3fe60208201527f608060405234801561001057600080fd5b50600436106100625760003560e01c60408201527f80631688f0b9146100675780632500510e1461017657806353e5d9351461024360608201527f57806361b69abd146102c6578063addacc0f146103cb578063d18af54d14610460808201527f4e575b600080fd5b61014a6004803603606081101561007d57600080fd5b810160a082015266e96f9fdffe6f6e642420200d5d60da1b0360c08201527f9190803590602001906401000000008111156100ba57600080fd5b820183602060e08201527f820111156100cc57600080fd5b803590602001918460018302840111640100006101008201527d831117156100ee57600080fd5b91908080601f01602080910402602001606101208201527f40519081016040528093929190818152602001838380828437600081840152606101408201527f1f19601f8201169050808301925050505050505091929192908035906020019061016082015260017024a46414141418415f5596d8101460209d607a1b036101808201527ae97ead9fdffe6eafaf9fbfae7f6efc6f0ca49efde89ffb7fc9fc9f196101a08201526001731820440558406315d800203f56e0406420200d5d60621b036101c082015277e96f9fdffe6f6d6e6f7fca6f9fdffe6f9bfeffffffff7eee196101e08201527f156101c957600080fd5b8201836020820111156101db57600080fd5b803590606102008201527f2001918460018302840111640100000000831117156101fd57600080fd5b90916102208201527f92939192939080359060200190929190505050610624565b604051808273ffff6102408201526de97ead9fdffe6eafaf9fbfae7f6e196102608201527f0390f35b61024b610751565b60405180806020018281038252838181518152606102808201527f200191508051906020019080838360005b8381101561028b57808201518184016102a08201527f52602081019050610270565b50505050905090810190601f1680156102b857806102c08201527f820380516001836020036101000a031916815260200191505b509250505060406102e08201527f5180910390f35b61039f600480360360408110156102dc57600080fd5b81019061030082015267e96f9fdffe6f6d6f6320200d5d60e21b036103208201527f908035906020019064010000000081111561031957600080fd5b8201836020826103408201527f01111561032b57600080fd5b80359060200191846001830284011164010000006103608201527e8311171561034d57600080fd5b91908080601f0160208091040260200160406103808201527f519081016040528093929190818152602001838380828437600081840152601f6103a08201527f19601f82011690508083019250505050505050919291929050505061077c565b6103c082015265e97ead9fdfff6518101460209d60d21b036103e08201527f91505060405180910390f35b6103d3610861565b6040518080602001828103826104008201527f5283818151815260200191508051906020019080838360005b838110156104136104208201527f5780820151818401526020810190506103f8565b50505050905090810190601f6104408201527f1680156104405780820380516001836020036101000a031916815260200191506104608201527f5b509250505060405180910390f35b610551600480360360808110156104645761048082015260016b1800203f56e0406420200d5d60a21b036104a08201527f169060200190929190803590602001906401000000008111156104a1576000806104c08201527ffd5b8201836020820111156104b357600080fd5b8035906020019184600183026104e08201527f840111640100000000831117156104d557600080fd5b91908080601f016020806105008201527f91040260200160405190810160405280939291908181526020018383808284376105208201527f600081840152601f19601f82011690508083019250505050505050919291929061054082015260016c200d641808006424a464200d5d609a1b03610560820152763a5be7f7ff9bdb5b9bebebebe7bddcea6927efeb9fdf6360421b1961058082015273e97ead9fdffe6eafaf9fbfae7f6efc6f0ca49fff196105a08201527f61058a848484610a3b565b90506000835111156105b2576000806000855160206105c08201527f87016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f0676576105e08201527fe43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffff610600820152673a5fab67f7ff9f6360421b1961062082015273e97ead9fdffe6dafafaf9fbfae7f6efc6f5e6c6d196106408201527f505050565b60006106758585858080601f0160208091040260200160405190816106608201527f016040528093929190818152602001838380828437600081840152601f19601f6106808201527f8201169050808301925050505050505084610a3b565b905080604051602001806106a082015269e99f9fe47ead9febfe6f61209d60f21b036106c08201527802828302028b01040c18181c0a948302029302028bf8461bcd603d1b6106e08201526a81526004018080602001826107008201527f8103825283818151815260200191508051906020019080838360005b838110156107208201527f6107165780820151818401526020810190506106fb565b5050505090509081016107408201527f90601f1680156107435780820380516001836020036101000a031916815260206107608201527f0191505b509250505060405180910390fd5b60606040518060200161076390616107808201527f0bde565b6020820181038252601f19601f82011660405250905090565b6000826107a082015260016e1810145841e2e41842f79596e0209d608a1b036107c08201527ce97ead9fdffe6eafaf9fbfae7f6efc6f9fff0f7fea7fea9ef838a8c29f196107e08201527e803e3d6000fd5b5090506000825111156107f05760008060008451602086016108008201527f6000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e4346108208201527f39f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffff610840820152673a5fab67f7ff9f6360521b1961086082015275e97ead9fdffe6dafafaf9fbfae7f6efc6f5e6d6eafaf196108808201527f565b60606040518060200161087390610beb565b6020820181038252601f19606108a08201527f1f82011660405250905090565b600080838360405160200180838152602001826108c08201526ae99f9fe47ead9febfe6db0601d60fa1b036108e08201527f50506040516020818303038152906040528051906020012060001c90506108e761090082015260016c21a1a0d8415f5596e45418001d609a1b0361092082015267e9eb9ef5cda87d8c623a5f2360e21b01196109408201526be99ce1ad4ae77c7777779fbf19610960820152600172146158ffffffffc5983806e05498010060215d606a1b03610980820152673a5fab67f7ff9ee3608a1b196109a08201527ce97ead9fdffe7f9fdffe7c7ead9fdffe7d7efc7dad7b7e7eae7ead9fdf196109c08201527f0191508051906020019080838360005b838110156109ca5780820151818401526109e08201527f6020810190506109af565b50505050905090810190601f1680156109f7578082610a008201527f0380516001836020036101000a031916815260200191505b5095505050505050610a208201527f600060405180830381600087803b158015610a1957600080fd5b505af1158015610a408201527f610a2d573d6000803e3d6000fd5b505050505b50949350505050565b60008083610a608201527f8051906020012083604051602001808381526020018281526020019250505060610a808201527f4051602081830303815290604052805190602001209050600060405180602001610aa08201527f610a8890610bde565b6020820181038252601f19601f820116604052508673ff610ac08201526ce99fbfae9fdffe7f7c7fae6f9f19610ae08201527f2001908083835b60208310610ae9578051825260208201915060208101905060610b008201527f2083039250610ac6565b6001836020036101000a038019825116818451168082610b208201527f1785525050505050509050018281526020019250505060405160208183030381610b4082015260017514a4181014a4142060546098080058003d649418001d60521b03610b60820152623a5f23609a1b19610b8082015260016e074f5f54f7a15544fdfd7407b9e43360851b0319610ba0820152738152600401808060200182810382526013815260610bc0820152760800601fd0dc99585d194c8818d85b1b0819985a5b1959604a1b610be08201527b81525060200191505060405180910390fd5b50509392505050565b61610c008201527f01e680610bf883390190565b60ab80610dde8339019056fe6080604052348015610c208201527f61001057600080fd5b506040516101e63803806101e683398181016040526020610c408201527f81101561003357600080fd5b8101908080519060200190929190505050600073610c60820152623a5fa3604a1b19610c8082015274e9ebea9eff35a89fbfae80f73c865fffffffffffff19610ca08201526981526004018080602001610cc08201527f828103825260228152602001806101c460229139604001915050604051809103610ce082015260016e243f56e018002018404002a055205d608a1b03610d0082015262e9fde8653f79ba5bdf2360ba1b0119610d2082015260017624155414182ae018404658000e58003cff98201810149d604a1b03610d408201526001684fffd5f4c02cf35bc960611b0319610d608201526f60003514156050578060005260206000610d808201527ff35b3660008037600080366000845af43d6000803e60008114156070573d6000610da08201527ffd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332d610dc08201527fe1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e7661610de08201527f6c69642073696e676c65746f6e20616464726573732070726f76696465646080610e00820152679fffabe98059e6b8631810149d60e21b03610e2082015262600035603760f91b01610e408201527f14156050578060005260206000f35b3660008037600080366000845af43d6000610e608201527f803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d142610e808201527f9297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b95526473610ea08201527f6f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f610ec08201527f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000610ee08201526200af38565b73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc737803b620008da5750620008da62002bc960405162005c0d8162000823565b6159d781527f608060405234801561001057600080fd5b5060016004819055506159ae80620060208201527e296000396000f3fe6080604052600436106101dc5760003560e01c8063affe60408201527fd0e011610102578063e19a9dd911610095578063f08a032311610064578063f060608201527f8a032314611647578063f698da2514611698578063f8dc5dd9146116c357806360808201527fffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b1460a08201527f6113ec578063e75235b81461147d578063e86637db146114a857610231565b8060c08201527f63cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b55760e08201527f8063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed06101008201527fe014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca6101208201527f3a9c1461101757610231565b80635624b25b1161017a5780636a7612021161016101408201527f495780636a761202146109945780637d83297414610b50578063934f3a1114616101608201527f0bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780636101808201527f5ae6bd37146108b9578063610b592514610908578063694e80c31461095957616101a08201527f0231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4706101c08201527f1461053a578063468721a7146105655780635229073f1461067a57610231565b6101e08201527f80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c61020082015260016c15d8408c5596cd98408c55ccdd609a1b036102208201527fff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d16102408201527fad7c3d346040518082815260200191505060405180910390a2005b34801561026102608201527f3d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870f6102808201527fb976a4366c693b939918d560001b905080548061027257600080f35b366000806102a08201527f373360601b365260008060143601600080855af13d6000803e80610299573d606102c08201527efd5b3d6000f35b3480156102aa57600080fd5b506102f760048036036040816102e082015260017104055840b055d800203f56e0406420200d5d60721b0361030082015279e96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6fafafaf9ee831a9196103208201527f5b005b34801561030557600080fd5b5061046a6004803603608081101561031c6103408201527f57600080fd5b81019080803590602001909291908035906020019064010000006103608201527e81111561034357600080fd5b82018360208201111561035557600080fd5b806103808201527f35906020019184600183028401116401000000008311171561037757600080fd6103a08201527f5b91908080601f016020809104026020016040519081016040528093929190816103c08201527f8152602001838380828437600081840152601f19601f820116905080830192506103e08201527f5050505050509192919290803590602001906401000000008111156103da57606104008201527e80fd5b8201836020820111156103ec57600080fd5b803590602001918460016104208201527f83028401116401000000008311171561040e57600080fd5b91908080601f01606104408201527f20809104026020016040519081016040528093929190818152602001838380826104608201527f8437600081840152601f19601f820116905080830192505050505050509192916104808201527f929080359060200190929190505050611bbe565b005b348015610478576000806104a08201527ffd5b506104bb6004803603602081101561048f57600080fd5b810190808035736104c08201526be96f9fdffe6f6d6e6fafafaf196104e082018190527f612440565b60405180821515815260200191505060405180910390f35b3480156105008301527f6104df57600080fd5b50610522600480360360208110156104f657600080fd5b61052083015264e96f9fdfff6620406420200d5d60ca1b036105408301527f90929190505050612512565b60405180821515815260200191505060405180916105608301527f0390f35b34801561054657600080fd5b5061054f6125e4565b604051808281526105808301527f60200191505060405180910390f35b34801561057157600080fd5b50610662606105a083015260017801200d80d82020440558416215d800203f56e0406420200d5d603a1b036105c083015272e96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6f196105e08301527f803590602001906401000000008111156105cf57600080fd5b820183602082016106008301527b11156105e157600080fd5b803590602001918460018302840111640160201b6106208301527f8311171561060357600080fd5b91908080601f01602080910402602001604051610640830152600080516020620182888339815191526106608301527f601f820116905080830192505050505050509192919290803560ff16906020016106808301527f909291905050506125f1565b60405180821515815260200191505060405180916106a08301527f0390f35b34801561068657600080fd5b506107776004803603608081101561066106c083015260016d2755d800203f56e0406420200d5d60921b036106e08301527de96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6f7fca6f9fdffe6f9bfeffff196107008301527d8111156106e457600080fd5b8201836020820111156106f657600080fd5b6107208301527f80359060200191846001830284011164010000000083111715610718576000806107408301527ffd5b91908080601f0160208091040260200160405190810160405280939291906107608301527f818152602001838380828437600081840152601f19601f8201169050808301926107808301527f505050505050509192919290803560ff1690602001909291905050506127d7566107a08301527f5b604051808315158152602001806020018281038252838181518152602001916107c08301527f508051906020019080838360005b838110156107bf57808201518184015260206107e08301527f810190506107a4565b50505050905090810190601f1680156107ec57808203806108008301527f516001836020036101000a031916815260200191505b509350505050604051806108208301527f910390f35b34801561080757600080fd5b5061083e60048036036040811015616108408301527f081e57600080fd5b8101908080359060200190929190803590602001909291906108608301527f50505061280d565b6040518080602001828103825283818151815260200191506108808301527f8051906020019080838360005b8381101561087e5780820151818401526020816108a08301527f019050610863565b50505050905090810190601f1680156108ab5780820380516108c08301527f6001836020036101000a031916815260200191505b50925050506040518091036108e08301527f90f35b3480156108c557600080fd5b506108f2600480360360208110156108dc6109008301527f57600080fd5b8101908080359060200190929190505050612894565b604051806109208301527f82815260200191505060405180910390f35b34801561091457600080fd5b50616109408301527f09576004803603602081101561092b57600080fd5b81019080803573ffffffff6109608301526fe96f9fdffe6f6d6e6fafafaf9ed753a9196109808301527f5b005b34801561096557600080fd5b506109926004803603602081101561097c6109a08301527f57600080fd5b8101908080359060200190929190505050612c3e565b005b610b6109c08301527f3860048036036101408110156109ab57600080fd5b81019080803573ffffffff6109e08301526fe96f9fdffe6f6d6e6f7fca6f9fdffe6f19610a0083018190527f929190803590602001906401000000008111156109f257600080fd5b82018360610a208401527f2082011115610a0457600080fd5b803590602001918460018302840111640100610a408401527c83111715610a2657600080fd5b9091929391929390803560ff16906020610a608401527f0190929190803590602001909291908035906020019092919080359060200190610a8084015265e96f9fdffe706524a464200d5d60d21b03610aa08401819052610ac08401527f92919080359060200190640100000000811115610ab257600080fd5b82018360610ae08401527f2082011115610ac457600080fd5b803590602001918460018302840111640100610b008401527c83111715610ae657600080fd5b91908080601f01602080910402602001610b208401527f6040519081016040528093929190818152602001838380828437600081840152610b408401527f601f19601f820116905080830192505050505050509192919290505050612d78610b608401527f565b60405180821515815260200191505060405180910390f35b348015610b5c610b808401527f57600080fd5b50610ba960048036036040811015610b7357600080fd5b810190610ba084015267e96f9fdffe6f6d6f6320200d5d60e21b03610bc08401527f90803590602001909291905050506132b5565b60405180828152602001915050610be08401527f60405180910390f35b348015610bcb57600080fd5b50610d2660048036036060610c008401527f811015610be257600080fd5b8101908080359060200190929190803590602001610c208401527f90640100000000811115610c0957600080fd5b820183602082011115610c1b57610c408401527f600080fd5b80359060200191846001830284011164010000000083111715610c610c608401527f3d57600080fd5b91908080601f01602080910402602001604051908101604052610c808401527f8093929190818152602001838380828437600081840152601f19601f82011690610ca08401527f5080830192505050505050509192919290803590602001906401000000008111610cc08401527f15610ca057600080fd5b820183602082011115610cb257600080fd5b80359060610ce08401527f200191846001830284011164010000000083111715610cd457600080fd5b9190610d008401527f8080601f01602080910402602001604051908101604052809392919081815260610d208401527f2001838380828437600081840152601f19601f82011690508083019250505050610d408401527f50505091929192905050506132da565b005b348015610d3457600080fd5b5061610d608401527f0d3d613369565b60405180806020018281038252838181518152602001915080610d808401527f51906020019060200280838360005b83811015610d8057808201518184015260610da08401527f2081019050610d65565b505050509050019250505060405180910390f35b3480610dc08401527f15610da057600080fd5b50610da9613512565b60405180828152602001915050610de08401527f60405180910390f35b348015610dcb57600080fd5b50610ea560048036036040610e0084015260017220440558437895d800203f56e0406420200d5d606a1b03610e2084015278e96f9fdffe6f6d6e6f7fca6f9fdffe6f9bfeffffffff7eeeea19610e408401527f610e1f57600080fd5b820183602082011115610e3157600080fd5b8035906020610e608401527f0191846001830284011164010000000083111715610e5357600080fd5b919080610e80840152600080516020620182e8833981519152610ea0840152600080516020620182c8833981519152610ec08401527f50509192919290505050613518565b005b348015610eb357600080fd5b506110610ee08401527f156004803603610100811015610ecb57600080fd5b8101908080359060200190610f008401527f640100000000811115610ee857600080fd5b820183602082011115610efa5760610f208401527e80fd5b80359060200191846020830284011164010000000083111715610f1c610f408401527f57600080fd5b909192939192939080359060200190929190803573ffffffffff610f6084015270e96f9fdffe6f6d6e6f7fca6f9fdffe6f9b19610f808401527f0100000000811115610f6757600080fd5b820183602082011115610f79576000610fa08401527f80fd5b80359060200191846001830284011164010000000083111715610f9b57610fc084015260016f1800203f56e42464a4e464a4e4200d5d60821b03610fe08401526b3a5be7f7ff9bdb5b9bdff2a360821b19611000840152753a5be7f7ff9bdb5b9bdff29be7f7ff9bdb5b9bdff2a360321b1961102084015271e96f9fdffe6f6d6e6fafafaf9ecac5a9a4ff196110408401527f5b34801561102357600080fd5b506110d26004803603608081101561103a576061106084015260ea69203f56e0406420200d5d60aa1b036110808401527f90602001909291908035906020019092919080359060200190640100000000816110a08401527f111561108157600080fd5b82018360208201111561109357600080fd5b8035906110c08401527f602001918460018302840111640100000000831117156110b557600080fd5b906110e08401527f91929391929390803560ff1690602001909291905050506136f8565b604051806111008401527f82815260200191505060405180910390f35b3480156110f457600080fd5b50616111208401527f11416004803603604081101561110b57600080fd5b81019080803573ffffffff61114084015261116083015260017424a464141414184e081596d81014602018080060dd605a1b0361118083015276e97ead9fdffe7d7efc7dad7b7e7eae7ead9fdffe6eaf7f196111a08301527f51906020019060200280838360005b838110156111a0578082015181840152606111c08301527f2081019050611185565b50505050905001935050505060405180910390f35b346111e08301527f80156111c157600080fd5b506111ee600480360360208110156111d8576000806112008301527ffd5b8101908080359060200190929190505050613a12565b005b3480156111fc6112208301527f57600080fd5b50611314600480360361014081101561121457600080fd5b810161124083015266e96f9fdffe6f6e642420200d5d60da1b036112608301527f9190803590602001909291908035906020019064010000000081111561125b576112808301527f600080fd5b82018360208201111561126d57600080fd5b8035906020019184606112a08301527f0183028401116401000000008311171561128f57600080fd5b909192939192936112c08301527f90803560ff1690602001909291908035906020019092919080359060200190926112e083015260016e2464200d641808006424a464200d5d608a1b036113008301526b3a5be7f7ff9bdb5b9bdff2a3608a1b196113208301527ce96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6fafafaf9ec44ea9a49fbf196113408301527f518082815260200191505060405180910390f35b34801561133657600080fd5b6113608301527f506113996004803603604081101561134d57600080fd5b81019080803573ffff6113808301526de96f9fdffe6f6d6e6f7fca8c0000196113a08301526de96f9fdffe6f6d6e6fafafaf9ec4196113c08301527fde565b005b3480156113a757600080fd5b506113ea60048036036020811015616113e083015260016e04ef95d800203f56e0406420200d5d608a1b036114008301527ce96f9fdffe6f6d6e6fafafaf9ec090a9a4ffa4cb7fea9eec07a89fff7f196114208301527ffd5b5061147b6004803603606081101561140f57600080fd5b810190808035736114408301526be96f9fdffe6f6d6e6f7fca8c1961146083018190526114808301526114a08201527f613ff3565b005b34801561148957600080fd5b50611492614665565b604051806114c08201527f82815260200191505060405180910390f35b3480156114b457600080fd5b50616114e08201527f15cc60048036036101408110156114cc57600080fd5b81019080803573ffffff6115008201526ee96f9fdffe6f6d6e6f7fca6f9fdffe196115208201527f909291908035906020019064010000000081111561151357600080fd5b8201836115408201527f60208201111561152557600080fd5b80359060200191846001830284011164016115608201527b8311171561154757600080fd5b9091929391929390803560ff1690606115808201527f20019092919080359060200190929190803590602001909291908035906020016115a082015264e96f9fdfff662424a464200d5d60ca1b036115c082018190526115e08201527f909291908035906020019092919050505061466f565b604051808060200182816116008201527f03825283818151815260200191508051906020019080838360005b83811015616116208201527f160c5780820151818401526020810190506115f1565b505050509050908101906116408201527f601f1680156116395780820380516001836020036101000a03191681526020016116608201527f91505b509250505060405180910390f35b34801561165357600080fd5b5061166116808201527f966004803603602081101561166a57600080fd5b81019080803573ffffffffff6116a082015270e96f9fdffe6f6d6e6fafafaf9eb7e8a9a4196116c08201527e5b3480156116a457600080fd5b506116ad614878565b6040518082815260206116e08201527f0191505060405180910390f35b3480156116cf57600080fd5b5061173c6004806117008201526001760d80d8182044055845b995d800203f56e0406420200d5d604a1b036117208201526b3a5be7f7ff9bdb5b9bdff2a3604a1b1961174082015274e96f9fdffe6f6d6e6f7fca6f9fdffe6f6d6e6fafaf196117608201527f506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040516117808201527f80806020018281038252838181518152602001915080519060200190808383606117a08201527e5b83811015611793578082015181840152602081019050611778565b5050506117c08201527f50905090810190601f1680156117c05780820380516001836020036101000a036117e08201527f1916815260200191505b509250505060405180910390f35b6117d6614d62565b61180082015268e97d8c0000000000016218001d60ea1b036118208201526c3a7afa9ffaa7b9efea2be7ffa3602a1b19611840820152623a5f6360721b196118608201526c3a7afaa91ffaa7b9e1ea2bf3e3606a1b1961188082015261e9eb623a5f6360b21b01196118a08201526caadb08c752bb02028bf8461bcd60951b6118c082015275815260040180806020018281038252600581526020016118e082015266807f475332303360c81b611900820152600174205494180800645414181014602440e43f56d8001d604a1b03611920820152663a67ff67ffdee360721b1961194082015263e97ead9f613a6360c21b01196119608201526001760800642054980800580008180024152418404002a4011d604a1b03611980820152613a63609a1b196119a082015260016d074f5cf730a544fdfd7407b9e433608d1b03196119c0820152748152600401808060200182810382526005815260206119e082015266601fd1d4cc8c0d60c21b611a008201527c81525060200191505060405180910390fd5b60026000600173ffffffff611a20820152613a6360721b19611a40820181905279e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efefff56ffb19611a608301526ae99ffd9fff7b8c00000001601d60fa1b03611a80830152611aa082015279e97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff57eab7e8c0019611ac0820152653f79ba5bdf23603a1b19611ae08201526d3a7f7a1beaabdfa7ff67ffe7ffa3602a1b19611b00820152613a63607a1b19611b208201527ae97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff57eab7e8c000019611b40820152653f79ba5bdf2360421b19611b6082015273e9fde86faaaf9ffc9fff7eab7f6d6e6f9ffefe6e19611b808201527f905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa611ba082015260016b1fd82cba89a098101460209d60a21b03611bc08201527f16815260200191505060405180910390a18060045414611bba57611bb981612c611be08201527f3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c008201526b0308e242bb02028bf8461bcd60a51b611c208201527781526004018080602001828103825260058152602001807f611c4082015264047533032360dc1b611c608201527f81525060200191505060405180910390fd5b6000808060008060005b86811015611c808201527f61243457611c648882614e3f565b80945081955082965050505060008460ff16611ca08201527f141561206d578260001c9450611c96604188614e0590919063ffffffff16565b611cc08201527104130000e080ab08e872bb02028bf8461bcd60751b611ce082015271815260040180806020018281038252600581611d0082018190526a52602001807f475330323160a81b611d208301527981525060200191505060405180910390fd5b8751611d27602084611d408301527f60001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a000611d60830152648152600401611d80830152774040301000c14081c1293002c0a9301000c03fa3a998191960411b611da08301526c81525060200191505060405180611dc08301527f910390fd5b60006020838a01015190508851611dd182611dc360208760001c61611de08301527f4e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45611e008301526802bb02028bf8461bcd60bd1b611e208301527a81526004018080602001828103825260058152602001807f475330611e408301526281525061323360f01b01611e608301527f60200191505060405180910390fd5b60606020848b010190506320c13b0b60e0611e8083015261e6ea6106df60f21b03611ea083015269e99cdf3ec4f4727b9fc06121dd60f21b03611ec08301527f518363ffffffff1660e01b815260040180806020018060200183810383528581611ee08301527f8151815260200191508051906020019080838360005b83811015611ee7578082611f008301527f015181840152602081019050611ecc565b50505050905090810190601f168015611f208301527f611f145780820380516001836020036101000a031916815260200191505b5083611f408301527f8103825284818151815260200191508051906020019080838360005b83811015611f608301527f611f4d578082015181840152602081019050611f32565b505050509050908101611f808301527f90601f168015611f7a5780820380516001836020036101000a03191681526020611fa08301527f0191505b5094505050505060206040518083038186803b158015611f99576000611fc08301527f80fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d60611fe08301527f20811015611fc357600080fd5b81019080805190602001909291905050507bff61200083015264e6e9eb9edf19612020830152690332bb02028bf8461bcd60b51b6120408301527981526004018080602001828103825260058152602001807f4753612060830152618152620c0c8d60ea1b016120808301527f5060200191505060405180910390fd5b50506122b2565b60018460ff161415616120a083015260ea6a086055e09800072514211d60aa1b036120c083015269e9eb7f9edef5a8afa000610cdd60f21b036120e083015265e98c00000001651802180021dd60d21b036121008301526fe97ead9fdffe6f7ead9fdffe9fffdf9f196121208301527e8c81526020019081526020016000205414155b61217c576040517f08c379a0612140830152638152600461216083015278018080602001828103825260058152602001807f475330323560381b6121808301526b8152506020019150506040516121a08301527f80910390fd5b6122b1565b601e8460ff1611156122495760018a6040516020016121c08301527f80807f19457468657265756d205369676e6564204d6573736167653a0a3332006121e08301527c815250601c0182815260200191505060405160208183030381529060406122008301527f52805190602001206004860385856040516000815260200160405260405180856122208301527f81526020018460ff1681526020018381526020018281526020019450505050506122408301527f6020604051602081039080840390855afa158015612238573d6000803e3d60006122608301527ffd5b5050506020604051035194506122b0565b60018a858585604051600081526122808301527f602001604052604051808581526020018460ff168152602001838152602001826122a08301527f81526020019450505050506020604051602081039080840390855afa158015616122c08301527f22a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffff6122e0830152623a5ea3605a1b196123008301526b3a7b9ffaa7b721aa2be7ffe3605a1b19612320830152663a67ff67ffde2360821b1961234083015265e97ead9fdffe613a6360d21b0119612360830152600174242054980800580008180024152418404002a4011d605a1b0361238083015260e9613a6360aa1b01196123a083015260016c050556e0055848ec95d418005d609a1b036123c083015267e9ebeaa49edbdba8623a5ea360e21b01196123e0830152670302028bf8461bcd60c51b6124008301527b81526004018080602001828103825260058152602001807f475330326124208301526381525060601b60f91b016124408301527f200191505060405180910390fd5b8495508080600101915050611c52565b505061246083015260016d14141414141414141596d800205d60921b0361248083015265e9ebea7fea9e633a67ffa360d21b01196124a083015264e99ffea000660942d5d418001d60ca1b036124c08301526001613a6360421b0161211d60f21b036124e083015273e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f1961250083015264e98c0000016618404002a4011d60ca1b036125208301526ee9ebeaa46faf6e6fafa9a49fff9ffe196125408301526001623a5f6360421b01601d60fa1b036125608301526c3a7afa9ffaa7b688aa2be7ffe3603a1b19612580830152663a67ff67ffdee360621b196125a083015261e97e613a6360b21b01196125c083015260017814980800642054980800580008180024152418404002a4011d603a1b036125e0830152613a63608a1b196126008301527ce9ebeaa46faf6e6fafa9a49fff7fb96faf7f6eafaf6fa9a49fff9ffe8c19612620830152623a7323604a1b196126408301526c3a7afa9ffaa7b650ea2be7ffe360421b19612660830152663a67ffa7fff323606a1b1961268083015262e97ead613a6360ba1b01196126a0830152600177180800642054980800580008180024152418404002a4011d60421b036126c0830152613a6360921b196126e083015260016f074f5f5524f6c68d44fdfd7407b9e43360751b03196127008301526127208201526a14980800601fd1d4cc4c0d60aa1b6127408201527981525060200191505060405180910390fd5b61273b858585855a61276082015260016e1853a35596e41420055849e2d5ccdd608a1b036127808201527ce980976a3ec99b55b098d774da285de28555cb6e91caa04649051f5ec6196127a08201526001762a4216fb2e181014581014602440e4289849f3d596ccdd604a1b036127c082015274e980532d378fd7fbed7024f24d44b6092ed822fe7e196127e08201527fc13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050566128008201527f5b600060606127e7868686866125f1565b915060405160203d0181016040523d6128208201527f81523d6000602083013e8091505094509492505050565b606060006020830267612840820152777eee7fea9ed7d4a89fff7f02a4af9fbfae6f7f7dad7f9fe0196128608201527f01601f19166020018201604052801561285e57816020016001820280368337806128808201527f820191505090505b50905060005b8381101561288957808501548060208302606128a08201527f2085010152508080600101915050612864565b508091505092915050565b60076128c08201527f6020528060005260406000206000915090505481565b6128b4614d62565b60006128e08201526001623a5fa360421b01601d60fa1b036129008201526c3a7afa9ffaa7b5b86a2be7ffa3603a1b19612920820152623a5fa360821b1961294082015260016f074f5f5524f6b37d44fdfd7407b9e43360651b03196129608201526f8152600401808060200182810382526061298082018190526c058152602001807f475331303160981b6129a08301527781525060200191505060405180910390fd5b600073ffffff6129c08301819052663a67ffa7ffdf2360421b196129e0840152613a6360921b19612a0084018190527de97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efefff56ffb8c00000019612a20850152613a63606a1b19612a4085015260016d074f5cf6ab7544fdfd7407b9e433605d1b0319612a608501526e815260040180806020018281038252612a808501526d3002c0a9301000c03fa3a998981960911b612aa08501527681525060200191505060405180910390fd5b6001600060612ac08501526001613a6360421b01605d60f21b03612ae085015273e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f19612b0085015264e99ffea0006618404002a4011d60ca1b03612b208501526001613a6360421b016120dd60f21b03612b4085015273e97ead9fdffe6f7ead9fdffe9fffdf9fff9efeff19612b6085015266fde6e96f7c8c016402a055205d60da1b03612b808501526ce9fde86faaaf7f9ffe9fff9ffe19612ba08501526001613a63604a1b01601d60fa1b03612bc0850181905274e97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff519612be086015267fde6e96f7c8c0001632055205d60e21b03612c008601526de9fde86faaaf801320c5c10015a819612c208601527f83a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273612c408601526be97ead9fdffe6eafaf9fbfae19612c608601527f80910390a150565b612c46614d62565b600354811115612cbe576040517f08c3612c808601526181526103cd60f51b01612ca08601527a6004018080602001828103825260058152602001807f475332303160281b612cc08601526981525060200191505060612ce08601527802028c04881c87eadb000c0880ab0969aabb02028bf8461bcd603d1b612d008601526a8152600401808060200182612d208601819052714081c1293002c0a9301000c03fa3a999181960711b612d408701527281525060200191505060405180910390fd5b80612d608701527f6004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c51619612d808701527f05bb5ad4039c936004546040518082815260200191505060405180910390a150612da08701527f565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b90506005612dc08701527f6000815480929190600101919050555080805190602001209150612dbb828286612de0870152600174184cb69596d41800184b719853b65596e41418001d605a1b03612e00870152623a5fa360a21b19612e2087015263e99c8a10670585184beb15e01d60c21b03612e408701527fbb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401612e6087015268e97ead9fdffe737eae6220235d60ea1b03612e808701527f602001806020018a6001811115612e6957fe5b81526020018981526020018881612ea087015260016b1498080061e054980800619d60a21b03612ec087015263e97eada06705a054980800615d60c21b03612ee087015263e97eada067080060180800611d60c21b03612f008701527f200183810383528d8d82818152602001925080828437600081840152601f1960612f208701527f1f82011690508083019250505083810382528581815181526020019150805190612f408701527f6020019080838360005b83811015612f3b578082015181840152602081019050612f608701527f612f20565b50505050905090810190601f168015612f68578082038051600183612f808701527f6020036101000a031916815260200191505b509e505050505050505050505050612fa08701527f505050600060405180830381600087803b158015612f9357600080fd5b505af1612fc08701527f158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b612fe08701527f01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a106130008701526bab09824abb02028bf8461bcd609d1b6130208701527681526004018080602001828103825260058152602001806130408701526507f47533031360d41b6130608701527e81525060200191505060405180910390fd5b60005a90506130b28f8f8f8f80613080870152600080516020620182e88339815191526130a0870152600080516020620182c88339815191526130c08701527f50508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b935061306130e08701527fc75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b613100870152770403098712ba83000440a0aadb098aa2bb02028bf8461bcd60451b6131208701526b81526004018080602001828161314087018190527003825260058152602001807f475330313360781b6131608801527381525060200191505060405180910390fd5b60006131808801527f8089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f446131a08801527f2e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e846131c08801527f82604051808381526020018281526020019250505060405180910390a16131f86131e08801527f565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b6132008801527f687d23848260405180838152602001828152602001925050506040518091039061322088015264e97e8c0001662856d41418001d60ca1b03613240880152673a7ae7b356ea1fe360321b1961326088015271e99c6cd8ec977c7a9fbfae7c9c00000000e9196132808801527f60e01b81526004018083815260200182151581526020019250505060006040516132a08801527f80830381600087803b15801561328b57600080fd5b505af115801561329f573d6132c08801527f6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b606132e08801527f08602052816000526040600020602052806000526040600020600091509150506133008801527a02a40ab2db00030022a482830004088b099ababb02028bf8461bcd602d1b613320880152688152600401808060206133408801527301828103825260058152602001807f475330303160601b6133608801527081525060200191505060405180910390fd6133808801527f5b61336384848484611bbe565b50505050565b6060600060035467ffffffffff6133a08801527c7eee7fea9ecc79a89fff7f02a4af9fbfae6f7f7dad7f9fdffd9fdffe7d196133c08801527f0160405280156133b55781602001602082028036833780820191505090505b506133e088015260016b24141800201800980018005d60a21b0361340088015269e97ead9fdffe6f7eada061059d60f21b036134208801526001700800580008180024152418404002a4011d607a1b03613440880152663a5bebe927ffa360a21b1961346088015268e9eb9ecaf6a87f7c7d6205a05d60ea1b0361348088015260017220546044184d1815ff96d8080098080040641d606a1b036134a088015260e9633a5bdfa360aa1b01196134c088015261e98d692054941418009800209d60b21b036134e08801526be97ead9fdffe6f7ead9fdffe1961350088015260016e180008180024152418404002a4011d608a1b036135208801527ce96faf7e7f9ffefe6dafaf9ecbe0a9a47d6cafafafaf6fa9a49ffaab7e196135408801527f565b600080825160208401855af4806000523d6020523d600060403e60403d016135608801527f6000fd5b6135858a8a80806020026020016040519081016040528093929190816135808801527f8152602001838360200280828437600081840152601f19601f820116905080836135a08801526001706494141414141414225854529596d8001d60721b036135c088015262e9eb9e623a5ee360ba1b01196135e08801527f35c3576135c28461564a565b5b6136118787878080601f0160208091040260206136008801527f01604051908101604052809392919081815260200183838082843760008184016136208801527f52601f19601f82011690508083019250505050505050615679565b6000821115613640880152600176184d8ad5d84d8a609800180061a15853d11596d416ccdd604a1b0361366088015274e980ebe2079759cce50ad71c737c4855fc123e6419196136808801527f6e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020016136a088015269e97ead9fdffe7c8c000161211d60f21b036136c08801526de97ead9fdffe7d7efc7dad78787d196136e08801527f818152602001925060200280828437600081840152601f19601f8201169050806137008801527f830192505050965050505050505060405180910390a2505050505050505050506137208801527f565b6000805a905061374f878787878080601f01602080910402602001604051613740880152600080516020620182888339815191526137608801527f601f82011690508083019250505050505050865a614e8d565b613758576000806137808801527ffd5b60005a8203905080604051602001808281526020019150506040516020816137a0880152700418181c0a948302029302028bf8461bcd607d1b6137c088015272815260040180806020018281038252838181516137e08801527f815260200191508051906020019080838360005b838110156137e557808201516138008801527f818401526020810190506137ca565b50505050905090810190601f16801561386138208801527f125780820380516001836020036101000a031916815260200191505b50925050613840880152677eee7fea9ec7c4a96f0a0c080a301220721fab6c0c0c00104d60831b036138608801527f600080fd5b5060405190808252806020026020018201604052801561386a57816138808801527f602001602082028036833780820191505090505b5091506000806001600087736138a0880152613a6360521b196138c088015275e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efe196138e088015266e96fafa49fff8d6302a4011d60da1b03613900880152623a5fa3604a1b1961392088018190526c3a7afa9ffaa7b1b0aa2be7ffa360421b19613940890152623a5fa3608a1b1961396089018190527ce9ebeaa47fea9ec6b7a8af7b7defa4ea9ec5fca87f7b7c7eae7eef9ec6196139808a015260016c1695ff96d8080098080040641d609a1b036139a08a015266e97eadafaf9ffe633a5bdfa360da1b01196139c08a015267e98c000000000001631800209d60e21b036139e08a015271e97ead9fdffe6f7ead9fdffe9fffdf9fff6f19613a008a015262e96fb068152418404002a4011d60ba1b03613a208a01527f81806001019250506138d3565b80925081845250509250929050565b600073ff613a408a0152663a67ff67fff32360321b19613a608a0152613a6360821b19613a808a018190527be97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efefff56ffb8c0019613aa08b0152613a63605a1b19613ac08b015260016e074f5f54f6275d44fdfd7407b9e43360451b0319613ae08b0152613b008a01939093526f3825260058152602001807f475330333607c1b613b208a01527381525060200191505060405180910390fd5b6001613b408a015265e98c0000000165180218000cdd60d21b03613b608a01526fe97ead9fdffe6f7ead9fdffe9fffdf9f19613b808a015260017420e054980800642054980800580008206415540cdd60521b03613ba08a015275e97e800d5f14ea9b8d2ebbfdaa4f283e1e633f8eea2e19613bc08a01527f051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc6613be08a01527f8c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050613c008a01526001721414141414141596d84ef99853589596d8001d606a1b03613c208a015261e9eb623a5fa360b21b0119613c408a015260ea6a056005584f1415d418005d60aa1b03613c608a015269e9ebeaa49ec33da89fc061205d60f21b03613c808a015265028bf8461bcd60d51b613ca08a018190527d81526004018080602001828103825260058152602001807f475331303100613cc08b015265815250602001613ce08b0181905260016d245414181014602440e43f56e01d60921b03613d008c015262e98c00663a67ffa7ffdee360ba1b0119613d208c01526ce97ead9fdffe6f7ead9fdffe9f19613d408c015260016c08180024152418404002a4011d60921b03613d608c015267e9eb9ec23da89fbf613a6360e21b0119613d808c0152613da08b01919091527d81526004018080602001828103825260058152602001807f475331303300613dc08b0152613de08a0152600171245414181014602440e43f56d8005800209d60721b03613e008a015263e97ead9f613a6360c21b0119613e208a018190526001760800642054980800580008180024152418404002a4011d604a1b03613e408b0152663a67ffa7ffdee360721b19613e608b0152613e808a01526001740800642054980800580008180018404002a055205d605a1b03613ea08a0152653f79ba5bdf23608a1b19613ec08a01526d3a7f7a1beaabe7ffe7ffa7ffdf23607a1b19613ee08a015264e97ead9fdf613a6360ca1b0119613f008a0152600172642054980800580008180018404002a055205d60621b03613f208a0152653f79ba5bdf2360921b19613f408a01527de9fde86faaaf80554b05d4b9c0a7e4d4cd34c481c48fb4631c833df64a0419613f608a015260016f135df964eb3901509da058101460209d60821b03613f808a01527be97ead9fdffe6eafaf9fbfae7f6efc6f5eafafa9a49ec0889eb29da919613fa08a01527f5b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558613fc08a01527fc93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf90254613fe08a01526001731be0c199266f3e2e8cf48d4fe8a098101460209d60621b036140008a015277e97ead9fdffe6eafaf9fbfae7f6efc6f5eafafa9a49ec004196140208a015263e97e8c01671853589596d8001d60c21b036140408a01526ce9ebea7fea9ebf9aa8af9ffe8c196140608a01526140808901919091526c3a7afaa91ffaa7afd8aa2bf3e360421b196140a08901526140c088015260016f074f5f5524f5f78544fdfd7407b9e433606d1b03196140e08801527081526004018080602001828103825260056141008801526b8152602001807f475332303360a01b6141208801527881525060200191505060405180910390fd5b600073ffffffff614140880152663a67ff67ffdf23604a1b19614160880152613a63609a1b196141808801527a3a5fab67f7ff9bdfab67f7ffa7fff7e7ffdbeadbe7bfbffd5bfee360221b196141a0880152613a6360721b196141c0880181905260016d074f5cf5ef7d44fdfd7407b9e43360651b03196141e08901526142008801969096526c016054980800601fd1d4cc8c0d609a1b614220880152614240870194909452623a5f6360621b196142608701526c3a7afa9ffaa7af616a2be7ffa3605a1b19614280870152623a5f6360a21b196142a08701526eb0a0aadb0a1762bb02028bf8461bcd60851b6142c08701527381526004018080602001828103825260058152606142e08701819052682001807f475332303360b81b614300880152600173205494180800645414181014602440e43f56e05d60421b03614320880152663a67ff67ffdea3606a1b1961434088015262e97ead613a6360ba1b0119614360880152600177180800642054980800580008180024152418404002a4011d60421b036143808801526143a087019390935260016d074f5cf5e09d44fdfd7407b9e43360851b03196143c08701526143e0860192909252682001807f475332303560b81b6144008601527b81525060200191505060405180910390fd5b600260008373ffffffff614420860152614440850184905279e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f9efefff56ffb1961446086018190526ae99ffd9fff7c8c00000001601d60fa1b036144808701526144a0860185905279e97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff57eab7e8c00196144c0870152653f79ba5bdf23603a1b196144e08701526c3a7f7a1beaabdfe7ff67ffdea360321b196145008701526145208601939093527be97ead9fdffe6f7ead9fdffe9fffdf9fff9efefff57eab7e8c00000019614540860152653f79ba5bdf23604a1b196145608601526d3a7f7a1beaabe7ffe7ff67ffdee3603a1b19614580860152613a63608a1b196145a0860152783a5fab67f7ff9bdfab67f7ffa7fff7e7ffe7bfbffd5faadfa360221b196145c0860152653f79ba5bdf2360521b196145e086015275e9fde86faaaf80072b603ad67ed16583a3af1963df0f196146008601526001773733036e3ea57262f16332693c704a67abe098101460209d60421b0361462086015273e97ead9fdffe6eafaf9fbfae7f6efc6f5e806b9a196146408601527ffa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26816061466086015266e97ead9fdffe6f64101460209d60da1b036146808601527f505060405180910390a1505050565b6000600454905090565b606060007fbb836146a08601527f10d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860006146c08601527f1b8d8d8d8d6040518083838082843780830192505050925050506040518091036146e08601526001772408232323232323231810145808006023205498080062dd60421b0361470086015273e97ead9fdffe757ead9fdffe767ead9fdffe779f196147208601527f0181111561470057fe5b8152602001878152602001868152602001858152602061474086015268e97ead9fdffe7c8c0161611d60ea1b036147608601526ce97ead9fdffe7d7ead9fdffe64196147808601527f50505050505050505050505060405160208183030381529060405280519060206147a08601527f01209050601960f81b600160f81b61478c614878565b8360405160200180857e6147c086015260e6196147e0860152600167168152600101847f60c01b0361480086015278e6e97ead9ffefe7c7ead9fdffe7d7ead9fdffe6bafafafafaf196148208601527f6040516020818303038152906040529150509b9a5050505050505050505050566148408601527f5b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b536148608601527fdb3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffff61488086015271e97ead9fdffe6eafaf9fbfae7f6efc6f5eaf196148a08601527f565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb96148c08601527f2a7946921860001b6148a66125e4565b306040516020018084815260200183816148e086015265e97ead9fdfff6514980800609d60d21b036149008601527f935050505060405160208183030381529060405280519060200120905090565b6149208601527f6148fe614d62565b806001600354031015614979576040517f08c379a00000006149408601526681526004018080614960860181905275602001828103825260058152602001807f475332303160501b61498087018190526e8152506020019150506040518091036149a0880181905265e97d8c00000165243f56d8001d60d21b036149c08901526ee9ebea7fea9eb61ca8af9ffe8c0000196149e0890152623a5f63605a1b19614a0089015260016f074f5f5524f5ad5544fdfd7407b9e433603d1b0319614a20890152614a408801859052718103825260058152602001807f475332303360701b614a608901527281525060200191505060405180910390fd5b81614a808901526ae99ffd9fff7a8c00000001601d60fa1b03614aa0890152614ac0880196909652614ae0870194909452614b0086019190915260016d074f5cf5a55544fdfd7407b9e433603d1b0319614b20860152614b40850191909152718103825260058152602001807f475332303560701b614b608501527281525060200191505060405180910390fd5b60614b8085015266e98c000000000163980020dd60da1b03614ba085015270e97ead9fdffe6f7ead9fdffe9fffdf9fff19614bc0850181905261e9a06924152418404002a4011d60b21b03614be086015266e98c0000000001639800215d60da1b03614c00860152614c2085015263fde6e9706718404002a055205d60c21b03614c4085015269e9fde86faaaf9fff9ffe6120dd60f21b03614c6085015267e98c000000000001631800211d60e21b03614c8085015271e97ead9fdffe6f7ead9fdffe9fffdf9fff9e19614ca085015264fde6e96f7d654002a055205d60ca1b03614cc08501526ae9fde86faaaf9ffc9fff7f601d60fa1b03614ce08501527f54809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc614d00850152600175036e3ea57262f16332693c704a67abe098101460209d60521b03614d2085015275e97ead9fdffe6eafaf9fbfae7f6efc6f5e7f9ffbabeb19614d408501527f614d2457614d2381612c3e565b5b505050565b60405180604001604052806005614d608501526a081526020017f312e332e360ac1b614d80850152600167205494205596cc1d60921b03614da085015266e9eb9eb1fca89f623a732360da1b0119614dc08501526602028bf8461bcd60cd1b614de08501527c81526004018080602001828103825260058152602001807f4753303331614e00850152648152506020614e208501527f0191505060405180910390fd5b565b600080831415614e185760009050614e39614e408501527f565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b8091614e608501527f50505b92915050565b6000806000836041026020810186015192506040810186614e808501527f0151915060ff60418201870151169350509250925092565b6000808284019050614ea08501527f83811015614e8357600080fd5b8091505092915050565b600060018081111561614ec08501527f4e9b57fe5b836001811115614ea757fe5b1415614ec057600080855160208701614ee08501527f8986f49050614ed0565b600080855160208701888a87f190505b959450505050614f008501527f50565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbd614f208501527fa4f558c93c34c860001b9050805491505090565b600081831015614f1a578161614f408501527f4f1c565b825b905092915050565b600082821115614f3357600080fd5b600082614f608501526001732100e4142024541424a454141596d8002018001d60621b03614f8085015260e9623a5f2360aa1b0119614fa0850152600171051853e055e09853e0d596cc96e41418001d60721b03614fc085015262e9ebea623a5ee360ba1b0119614fe08501527f61509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90916150008501527f9063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffff61502085015270e99ef7037c6f7eeafd6f9fbfae9fff9fbf1961504085015279028c04181c0c2c44478c9a828282830a84b2bb02028bf8461bcd60351b615060850152698152600401808060200161508085015272828103825260058152602001807f475330313160681b6150a08501527181525060200191505060405180910390fd5b6150c08501527f615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e05906150e08501527f919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08615100850152608162061bcd60ed1b016151208501527b29300200c040301000c14081c1293002c0a9301000c03fa3a998189960211b615140850152688152506020019150506151608501527f60405180910390fd5b5b5095945050505050565b6000600454146151c257604061518085015265028bf8461bcd60d51b6151a08501527d81526004018080602001828103825260058152602001807f4753323030006151c0850152658152506020016151e08501527f91505060405180910390fd5b8151811115615239576040517f08c379a0000000615200850152615220840152615240830152615260820152730487eadb000c0880ab0a9582bb02028bf8461bcd60651b6152808201526f815260040180806020018281038252606152a08201526c02c0a9301000c03fa3a999181960991b6152c08201527781525060200191505060405180910390fd5b6000600190506152e08201527f60005b83518110156155b65760008482815181106152d057fe5b60200260200161530082015264e97e8c00016554641418001d60ca1b036153208201526de9ebea7fea9eacbba8af9ffe8c0019615340820152623a5fa360521b196153608201526c3a7afaa91ffaa7ab20ea2bf3e3604a1b19615380820152623a5fa360921b196153a08201526c3a7afaa91ffaa7ab12ea2bdfe3608a1b196153c082015265e9ebeaa49eab623a5f2360d21b01196153e0820152690132bb02028bf8461bcd60b51b6154008201527981526004018080602001828103825260058152602001807f47536154208201526181526232303360e81b0161544082015260017214180800645414181014602440e43f56d8001d606a1b03615460820152663a67ff67ffdf2360921b1961548082015267e97ead9fdffe6f7e613a6360e21b01196154a082015260017214980800580008180024152418404002a4011d606a1b036154c082015262e9eb9e613a6360ba1b01196154e08201526a02a93abb02028bf8461bcd60ad1b6155008201527881526004018080602001828103825260058152602001807f4761552082015260816314cc8c0d60e21b016155408201526001771494180800645414181014602440e43f56e018009800215d60421b03615560820152613a6360921b19615580820152783a5fab67f7ff9bdfab67f7ffa7fff7e7ffe7bfbffd5faadfa3602a1b196155a0820152653f79ba5bdf23605a1b196155c082015276e9fde86faaaf7f6dafaf7f7f9ffefe6eafaf9ead46a9a4196155e082015262e98c01681418005800980020dd60ba1b036156008201526ce97ead9fdffe6f7ead9fdffe9f1961562082015260016a08180018404002a055205d60a21b0361564082015265e9fde86faab0648645a420dd60d21b036156608201527f825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed6156808201527f1cf53d337577d14212a4870fb976a4366c693b939918d560001b9050818155506156a082015265e99ffe9fffa065141596d8001d60d21b036156c08201526001613a6360421b01605d60f21b036156e082015273e97ead9fdffe6f7ead9fdffe9fffdf9fff6fab6f1961570082015264e98c0000016618404002a4011d60ca1b036157208201526ee9eb9ea884a89fbfae80f73c865fff196157408201526481526004016157608201527708080602001828103825260058152602001807f47533130360441b6157808201526c815250602001915050604051806157a082015260016c2440e43f56d80060180018005d609a1b036157c082015268e97ead9fdffe6f7ead613a6360ea1b01196157e082015260016f180800580008180018404002a055205d60821b0361580082015261e9fd653f79ba5bdf2360b21b011961582082015264e97d8c00016605e4155418001d60ca1b036158408201526de9eb9ea74fa89ea7c27d9fff7c9f19615860820152710ad30a746ab2db0ac57abb02028bf8461bcd606d1b6158808201527081526004018080602001828103825260056158a08201526b08152602001807f47533030360a41b6158c08201527881525060200191505060405180910390fd5b5b5050565b60006158e08201526001702018ea41672ee1211810145809006020dd607a1b036159008201527ae97ead9fdffe7d7ead9fdffe6dafafaf9fbfae9fdf7e7cfcfc7ead1961592082015260016e24181014a4183806d808208060145f608a1b03615940820152747c7e7ce9e87cadafafafaf6faf9fdf9fff7dae9fdf196159608201527f84016000896127105a03f13d6000811461595b576020811461596357600093506159808201527f61596e565b81935061596e565b600051158215171593505b50505093925050506159a08201527f56fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485b6159c082015276a0663db3747ccdf1605df53464736f6c6343000706003360481b6159e08201525b6200af456025546200404d565b90816025556020815191016000f590813f156200af5e57565b60405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b6044820152606490fd5b91906200afaa9061010080855284019062000cf3565b6001602084015260e06020600092836040870152858103606087015283815201938260808201528260a08201528260c08201520152565b9060018060a01b0390816200affc62002bc9602254620005c7565b16156200b014575b505050620008da602254620005c7565b8116156200b1bf575b506200b02f62002bc9602254620005c7565b9060008051602062018268833981519152803b15620005c257604080516318caf8e360e31b8082526001600160a01b039590951660048201526024810191909152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b606482015260009390848160848183875af18015620006f4576200b1a8575b50813b1562002e8d57604080519182526001600160a01b03841660048301526024820152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b60648201529083908290608490829084905af18015620006f4576200b191575b506200b1236200b1176200332a565b9162001bcf836200339c565b6200b13462002bc9602254620005c7565b90813b15620006fa5782916200b1619160405194858094819363b63e800d60e01b8352600483016200af94565b03925af18015620006f4576200b17a575b80806200b004565b80620006e66200b18a9262000760565b386200b172565b80620006e66200b1a19262000760565b386200b108565b80620006e66200b1b89262000760565b386200b0a9565b60009060206200b2276200b1d662002bc962005bda565b836200b1e162004bc2565b604051631688f0b960e01b81526001600160a01b039093166004840152606060248401526000606484015260036044840152919586939190921691839182906084820190565b03925af18015620006f4576200b263926000916200b26a575b5060228054919092166001600160a01b03166001600160a01b0319909116179055565b386200b01d565b6200b286915060203d81116200072d576200071c818362000840565b386200b240565b60101c6001600160a01b031690565b604051906200b2ab826200077a565b6001825260006020830152565b92916200b2e060409160039360018060a01b0316865260606020870152606086019062000de9565b930152565b90816020910312620005c257518015158103620005c25790565b620008da939160018060a01b031681526200b32e60009384602084015261014080604085015283019062000de9565b928060608301528060808301528060a08301528060c08301528060e083015261010082015261012081840391015262000de9565b92620008da94926200b38f9260018060a01b03168552602085015261014080604086015284019062000de9565b9160008060608301528060808301528060a08301528060c08301528060e083015261010082015261012081840391015262000de9565b604051906200b3d4826200077a565b6016825275195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b6020830152565b909360606200b438959493946200b4128486886200b626565b6040516338d07aa960e21b81526004810192909252602482015295869081906044820190565b0381600080516020620182688339815191525afa938415620006f45760008080966200b4dd575b6020969750600092916200b4806200b48f926040519a8b938b85016200b5ad565b03601f19810189528862000840565b6200b4b16040519788968795869463353b090160e11b8652600486016200b362565b03926001600160a01b03165af18015620006f457620026e89160009162000a1c575062000a136200b3c5565b5050602094506000906200b48f6200b5096200b4809860603d811162000a945762000a7e818362000840565b9199909198505091925050866200b45f565b6000805160206201826883398151915291823b15620005c2576200b5689260009260405180958194829363a34edc0360e01b84521515600484015260406024840152604483019062000de9565b03915afa8015620006f4576200b57b5750565b620026e89062000760565b90816060910312620005c257805160ff81168103620005c257916040602083015192015190565b91604193918352602083015260ff60f81b9060f81b1660408201520190565b610120919493929460018060a01b031681526200b5fd60009586602084015261014080604085015283019062000de9565b948060608301528060808301528060a08301528060c08301528060e08301526101008201520152565b60405163057ff68760e51b8152602093919290916001600160a01b03168483600481845afa918215620006f4576200b6829486946000946200b6b5575b50604051631b1a23ef60e31b815295869485938493600485016200b5cc565b03915afa918215620006f4576000926200b69b57505090565b620008da9250803d10620035695762003559818362000840565b6200b6d1919450853d8711620035695762003559818362000840565b92386200b66356fe60a0806040523461003257306080526156b190816200003882396080518181816121e3015281816122cd01526126140152f35b600080fdfe60806040526004361015610018575b361561001657005b005b6000803560e01c8063013cf08b14613d3657806301ffc9a714613cdf578063059351cd14613c88578063062f9ece14613bd75780630a6f0ee9146138805780630ba95909146119bb5780630bece79c146138575780630c0512e9146138395780630f529ba21461381b578063125fd1d9146137fd57806315cc481e146137d4578063184b9559146136255780631aa91a9e146136065780631ddf1e23146135ec5780632506b870146135b5578063255ffb381461358b5780632bbe0cae146130bb5780632dbd6fdd1461138e5780632ed04b2b14612e49578063311a6c56146128a9578063339604591461288b578063346db8cb14612866578063351d9f96146128405780633659cfe6146125ef57806338fff2d0146125d1578063406244d8146125b557806341bb76051461255d57806342fda9c71461253f5780634ab4ba42146125215780634d31d0871461104c5780634f1ef2861461228f57806352d1902d146121d057806359a5db8b146121b15780635db64b99146113b95780636003e4141461218857806360d5dedc146120cd578063626c47e8146120b15780636453d9c414612087578063715018a61461203b578063782aadff14611ca0578063814516ad14611ba8578063817b1cd214611b8a578063824ea8ed14611b1d578063868c57b814611ac75780638da5cb5b14611a9a578063950559d714611a4f5780639a1c157c14611a31578063a0cf0aea14611a02578063a28889e1146119d9578063a47ff7e5146119bb578063a574cea414611965578063aba9ffee14611263578063ac1ed7b914611917578063b0d3713a146118d2578063b2b878d01461180f578063b41596ec14611477578063b5f620ce1461141b578063b6c61f31146113f2578063bcc5b93b146113b9578063c32921711461138e578063c4d66de81461135c578063c7f758a814611281578063d1e3623214611263578063dc96ff2d14611236578063df868ed314611213578063e0a8f6f5146110bc578063e0dd2c3814611072578063eb11af931461104c578063edd146cc14610b79578063ef2920fc146104a3578063f2fde38b14610412578063f5b0dfb7146103b9578063f5be3f7c1461039c5763ffa1ad7414610352575061000e565b3461039957806003193601126103995761039560405161037181613f24565b60038152620302e360ec1b602082015260405191829160208352602083019061408d565b0390f35b80fd5b50346103995780600319360112610399576020604051611c208152f35b5034610399576020366003190112610399577f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633960206004356103f96145cf565b610405816069546145ac565b606955604051908152a180f35b50346103995760203660031901126103995761042c614131565b6104346142ef565b6001600160a01b0381161561044f5761044c9061434e565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b506104ad36614239565b906104b66145cf565b6104be6145f5565b6001600160a01b0382811691908215610b675760785416938415610b555760405163288c314960e21b81526004810184905260209360249291858185818b5afa908115610b09578391610b38575b5015610b265761051b866147d6565b15610b145760405163011de97360e61b815285818061053e308b600484016147bc565b03818b5afa908115610b09578391610adc575b5015610aca578351840193858501908681870312610ac25780870151906001600160401b038211610ac657019481603f87011215610ac257868601519061059782614147565b966105a56040519889613f5a565b82885260408989019360061b820101938411610abe57604001915b838310610a8c5750505050819682975b855189101561064d576105e38987614c98565b515115610643576105f48987614c98565b51516105ff81614cac565b1561062c575061062061062691886106178c8a614c98565b51015190614d04565b98614611565b976105d0565b85906040519063c1d17bef60e01b82526004820152fd5b9761062690614611565b9580939761066c61068a93949698878b52607c845260408b2054614d20565b936040518080958194637817ee4f60e01b83523090600484016147bc565b03915afa908115610a81578791610a4f575b50808211610a325750828695949552607c82526040862055606091829186945b8651861015610a2e576106cf8688614c98565b51519380511560001461091b5750604051946106ea86613f24565b6001865282860183368237865115610906578590529490945b8261070e888a614c98565b51015195858a52607b845260408a209260098401918660005282865261073a604060002054998a614d20565b92876000528652826040600020558b809b81938754945b8a8452607d8a526040842080548210156108f357610770828892614294565b90549060031b1c1461078e57610787604091614611565b9050610751565b50999391509a9593919b5060019994995b1561088d575b506108069493929190808411610854576107bf8482614873565b6107cc60709182546145ac565b90556107d88482614873565b6107e7600285019182546145ac565b90555b600783019283541560001461080d575050509050439055614611565b94956106bc565b60a0935061082a60008051602061557c8339815191529582614ff4565b6003600282015491015491604051938a85528985015260408401528a8301526080820152a1614611565b61085e8185614873565b61086b6070918254614873565b90556108778185614873565b61088660028501918254614873565b90556107ea565b878d52607d875260408d20805490600160401b8210156108e057816108c09160016108069a999897969594018155614294565b819291549060031b91821b91600019901b191617905590919293946107a5565b634e487b7160e01b8f5260416004528d8ffd5b5050999391509a9593919b99949961079f565b82634e487b7160e01b60005260326004526000fd5b9491889497989693919698855b875181101561096d578961093c828a614c98565b51146109505761094b90614611565b610928565b896044918a60405192632b7aec5560e21b84526004840152820152fd5b509794989691939692909215610986575b949094610703565b948051906001808301809311610a1b5761099f83614147565b926109ad6040519485613f5a565b8084526109bc601f1991614147565b0136868501378a815b6109df575b50506109d886915183614c98565b529461097e565b829a949a51811015610a1357806109f9610a0a9285614c98565b51610a048287614c98565b52614611565b819a949a6109c5565b9993996109ca565b634e487b7160e01b8b526011600452838bfd5b8780f35b604492508560405192636b20c17f60e11b84526004840152820152fd5b90508281813d8311610a7a575b610a668183613f5a565b81010312610a7557518761069c565b600080fd5b503d610a5c565b6040513d89823e3d90fd5b6040898484030112610abe57886040918251610aa781613f24565b8551815282860151838201528152019201916105c0565b8580fd5b8380fd5b8480fd5b604051635fccb67f60e01b8152600490fd5b610afc9150863d8811610b02575b610af48183613f5a565b8101906147a4565b38610551565b503d610aea565b6040513d85823e3d90fd5b604051630b72d6b160e31b8152600490fd5b604051636a5cfb6d60e01b8152600490fd5b610b4f9150863d8811610b0257610af48183613f5a565b3861050c565b604051635df4b1ef60e01b8152600490fd5b604051631a3e505160e31b8152600490fd5b5034610399576040366003190112610399576024356001600160401b038111610fda57610baa90369060040161421e565b610bb26145cf565b610bba6145cf565b60685461103a576004351561102857600435606855606a546e5af43d82803e903d91602b57fd5bf3606c54610bee81614611565b606c5560405160208101913360601b8352603482015260348152610c1181613f3f565b519020608883901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017855260789290921b6001600160781b031916176020526001600160a01b03906037600985f5168015610fe957607980546001600160a01b031981168317909155839190821617803b15610fda5781809160046040518094819363204a7f0760e21b83525af18015610fde57610fc6575b5050808051810103906101e08212610fac576040519160e083016001600160401b03811184821017610fb0578060405260808212610ac657610ce881613ef6565b60208301518152604083015161010085015260608301516101208501526080830151610140850152835260a08201516003811015610ac657602084015260c08201516004811015610ac6576040840152602060bf19820112610ac257604051906001600160401b036020830190811190831117610fb05781602060c0930160405260e08401518152606085015260df190112610fac57604051610d8a81613edb565b6101008201516001600160a01b0381168103610ac6578152610daf6101208301614620565b60208201526101408201516040820152610160820151606082015261018082015160808201526101a082015160a08201526080830152610e056101e0610df86101c08401614620565b928360a086015201614620565b60c08301526001600160a01b031615610b555760a0810151607880546001600160a01b0319166001600160a01b039290921691909117905560208101516003811015610f985760765460408301516004811015610f8457917fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b939160ff61ff006102009560081b1692169061ffff1916171760765560608101515160775560018060a01b0360c08201511660018060a01b0319607a541617607a55610ed06080820151825190615079565b604051906004358252610ee7602083018251614634565b610ef9602082015160a0840190614287565b610f0b604082015160c084019061427a565b6060818101515160e084015260808083015180516001600160a01b03908116610100870152602082015181166101208701526040820151610140870152928101516101608601529081015161018085015260a0908101516101a085015282015181166101c084015260c090910151166101e0820152a180f35b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b83526021600452602483fd5b8280fd5b634e487b7160e01b600052604160045260246000fd5b610fcf90613f11565b610fda578138610ca7565b5080fd5b6040513d84823e3d90fd5b60405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606490fd5b604051637fcce2a960e01b8152600490fd5b60405163439a74c960e01b8152600490fd5b503461039957602036600319011261039957602090611069614131565b50604051908152f35b50346103995760403660031901126103995760096040611090614105565b926004358152607b60205220019060018060a01b03166000526020526020604060002054604051908152f35b503461039957602080600319360112610fda5760043590818352607b8152600160ff6008604086200154166110f08161404a565b036111fa57818352607b815260408320600501546001600160a01b039081163381036111d757508084916079541690848352607b8452601060408420916005830154169101548352607f84526002604084200154823b15610ac25761116f9284928360405180968195829463099ea56b60e41b84528c60048501614c77565b03925af18015610fde576111c3575b50829052607b81526040808420600801805460ff19166003179055519182527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c91a180f35b6111cc90613f11565b610fac57823861117e565b604051634544dc9160e11b81529081906111f6903390600484016147bc565b0390fd5b6040516344980d8f60e01b815260048101839052602490fd5b5034610399578060031936011261039957602060ff606754166040519015158152f35b503461039957602036600319011261039957600260406020926004358152607b8452200154604051908152f35b50346103995780600319360112610399576020607154604051908152f35b503461039957602036600319011261039957610160906004358152607b60205260408120600181015491821560001461134c57905b60018060a01b03918260058301541693836004840154169360068401541690600284015460ff6008860154169060078601549260038701549433600052600988016020526010604060002054980154986040519a8b5260208b015260408a0152606089015260808801526113298161404a565b60a087015260c086015260e0850152610100840152610120830152610140820152f35b5061135682614e69565b906112b6565b50346103995760203660031901126103995761044c611379614131565b61138960ff845460081c1661454c565b61434e565b5034610399578060031936011261039957602060ff60765460081c166113b7604051809261427a565bf35b5034610399576020366003190112610399576020906040906001600160a01b036113e1614131565b168152607c83522054604051908152f35b5034610399578060031936011261039957607a546040516001600160a01b039091168152602090f35b503461039957602036600319011261039957600435801515809103610fda5760207fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09160ff196067541660ff821617606755604051908152a180f35b506060366003190112610399576001600160401b0390602435828111610fda576114a59036906004016142c2565b604492919235848111610fac576114c09036906004016142c2565b93909460043594858552607b602052604085209460108601548152607f6020526040812092604051926114f284613edb565b60018060a01b0394858154168086528660018301541660208701526002820154604087015260056003830154926060880193845260048101546080890152015460a0870152156117fd57898954036117e4576008890191600160ff8454166115598161404a565b036117cb5781518034106117ad5750600f8a015480151580611785575b61174f5750611586825134614873565b918760795416905190803b1561174b576115ba87918e60405194858094819363240ff7c560e11b8352339060048401614769565b03925af180156117405761172c575b509a6020916116039b9c8888511691604051809e8195829463c13517e160e01b84526003600485015260406024850152604484019161541a565b03925af1988915610b095783996116f8575b50805460ff19166005179055600c870188905542600d8801908155600e90970180546001600160a01b03191633179055878252607e60205260408220899055606d5491818316908183146116e45750927f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d97959260209a97959260016116d39601169060018060401b03191617606d55511693549260405195869586528986015287604086015233606086015260c0608086015260c085019161541a565b9060a08301520390a1604051908152f35b634e487b7160e01b81526011600452602490fd5b9098506020813d602011611724575b8161171460209383613f5a565b81010312610a7557519738611615565b3d9150611707565b6117368691613f11565b610ac657386115c9565b6040513d88823e3d90fd5b8680fd5b8b86611c2083018093116116e4575061176b6044924290614873565b60405191638d2f6c3160e01b835260048301526024820152fd5b50611c208101808211611799574210611576565b634e487b7160e01b87526011600452602487fd5b60449060405190632c1f8ef160e21b82523460048301526024820152fd5b6040516344980d8f60e01b8152600481018c9052602490fd5b60405163c1d17bef60e01b8152600481018b9052602490fd5b604051636c291fd360e01b8152600490fd5b5034610399576040366003190112610399576001600160401b0390600435828111610fda5761184290369060040161415e565b5060248035838111610fac5736602382011215610fac5780600401359161186883614147565b946118766040519687613f5a565b8386528160208097019460051b8401019436861161039957828401945b8686106118ac5760405163d623472560e01b8152600490fd5b8535838111610fac5788916118c783928736918a010161421e565b815201950194611893565b5034610399576020366003190112610399576118ec614131565b6118f46142ef565b606a80546001600160a01b0319166001600160a01b039290921691909117905580f35b503461039957602036600319011261039957611931614131565b6119396153aa565b61194281614782565b607a80546001600160a01b0319166001600160a01b039290921691909117905580f35b5034610399576020366003190112610399576119a7600a60406103959360606020835161199181613f24565b83815201526004358152607b6020522001613f7d565b6040519182916020835260208301906140b2565b50346103995780600319360112610399576020607754604051908152f35b5034610399578060031936011261039957606d546040516001600160401b039091168152602090f35b5034610399578060031936011261039957602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b50346103995780600319360112610399576020607454604051908152f35b5034610399576020366003190112610399576004356298968091828202918083048414901517156116e45760745483039283116116e4576020611a928484614b14565b604051908152f35b50346103995780600319360112610399576020611ab5615463565b6040516001600160a01b039091168152f35b503461039957604036600319011261039957611ae1614131565b6001600160a01b03168152607d6020526040812080546024359290831015610399576020611b0f8484614294565b90546040519160031b1c8152f35b50346103995760203660031901126103995760406020916004358152607b835220611b4c600282015482615026565b81929192159081611b81575b50611b75575b6001611b6b910154614e69565b1115604051908152f35b60038101549150611b5e565b90501538611b58565b50346103995780600319360112610399576020607054604051908152f35b5034610399578060031936011261039957611bc2336147d6565b15610b14576078546001600160a01b039082908216803b15610fda57816040518092630d4a8b4960e01b8252818381611bff3033600484016147bc565b03925af18015610fde57611c8c575b50506078541660206040518092637817ee4f60e01b82528180611c353033600484016147bc565b03915afa8015610fde578290611c59575b611c5391506071546145ac565b60715580f35b506020813d8211611c84575b81611c7260209383613f5a565b81010312610a7557611c539051611c46565b3d9150611c65565b611c9590613f11565b610fda578138611c0e565b503461039957604036600319011261039957611cba614131565b602435611cc561484d565b611cce826147d6565b15610b14578260ff60765460081c166004811015610f845760028103611db857505080915b60785460405163011de97360e61b81529060209082906001600160a01b03168180611d223088600484016147bc565b03915afa908115611dad57907f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a93929160209691611d90575b50611d7c575b611d718460405193849384614a9d565b0390a1604051908152f35b611d88846071546145ac565b607155611d61565b611da79150863d8111610b0257610af48183613f5a565b38611d5b565b6040513d87823e3d90fd5b60018103611e64575050607854604051637817ee4f60e01b8152829160209082906001600160a01b03168180611df2308a600484016147bc565b03915afa908115611dad578591611e33575b50611e0f83826145ac565b607754809111611e22575b505091611cf3565b611e2c9250614873565b3880611e1a565b90506020813d8211611e5c575b81611e4d60209383613f5a565b81010312610a75575138611e04565b3d9150611e40565b90929060021901611cf3576078546040516316308e2560e11b81526001600160a01b038084166004830152929450908216916020918281602481875afa8015610a81578590889061200a575b611eba92506145ac565b6040516336d8759760e21b81529060128483600481895afa908115611fff57611f239486611f1893611f1e968d91611fd2575b5060046040518094819363313ce56760e01b8352165afa8b9181611fa3575b50611f98575b50614af3565b90614b01565b614b34565b816040518094637817ee4f60e01b82528180611f43308b600484016147bc565b03915afa918215611740578692611f66575b50611f609250614873565b91611cf3565b90915082813d8311611f91575b611f7d8183613f5a565b81010312610a7557611f6091519038611f55565b503d611f73565b60ff91501638611f12565b611fc4919250883d8a11611fcb575b611fbc8183613f5a565b810190614ada565b9038611f0c565b503d611fb2565b611ff29150823d8411611ff8575b611fea8183613f5a565b810190614abb565b38611eed565b503d611fe0565b6040513d8b823e3d90fd5b50508281813d8311612034575b6120218183613f5a565b81010312610a755784611eba9151611eb0565b503d612017565b50346103995780600319360112610399576120546142ef565b603380546001600160a01b031981169091556000906001600160a01b031660008051602061559c8339815191528280a380f35b50346103995760203660031901126103995761044c6120a4614131565b6120ac61484d565b614880565b5034610399578060031936011261039957602060405160038152f35b5034610399576060366003190112610399576120e7614131565b6024356001600160401b038111610fac5736602382011215610fac576121179036906024816004013591016141e7565b9061213c61212361411b565b61138960ff865460081c166121378161454c565b61454c565b60018060a01b031660018060a01b0319606554161760655560405161217f81612171602082019460208652604083019061408d565b03601f198101835282613f5a565b51902060665580f35b50346103995780600319360112610399576078546040516001600160a01b039091168152602090f35b5034610399576020366003190112610399576020611a92600435614e69565b50346103995780600319360112610399577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361222957602060405160008051602061555c8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b506040366003190112610399576122a4614131565b6024356001600160401b038111610fac576122c390369060040161421e565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169291906122fd30851415614385565b61231a60008051602061555c8339815191529482865416146143d4565b612322615463565b81339116036124fc576000805160206154fc8339815191525460ff161561234f57505061044c9150614423565b8216604051936352d1902d60e01b85526020948581600481865afa600091816124cd575b506123c25760405162461bcd60e51b815260048101879052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9492939403612488576123d484614423565b6000805160206155bc833981519152600080a2815115801590612480575b6123fd575b50505080f35b61246e926000806040519461241186613f3f565b6027865260008051602061561c83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d15612477573d612451816141cc565b9061245f6040519283613f5a565b8152600081943d92013e6144b3565b503880806123f7565b606092506144b3565b5060016123f2565b60405162461bcd60e51b815260048101839052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d83116124f5575b6124e48183613f5a565b810103126103995750519038612373565b503d6124da565b6111f6612507615463565b60405163163678e960e01b815291829133600484016147bc565b50346103995780600319360112610399576020606954604051908152f35b50346103995780600319360112610399576020606654604051908152f35b5034610399576020366003190112610399576040906004358152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995780600319360112610399576020604051600a8152f35b50346103995780600319360112610399576020606854604051908152f35b503461039957602080600319360112610fda5761260a614131565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661264130821415614385565b61265e60008051602061555c8339815191529183835416146143d4565b612666615463565b82339116036124fc57604051848101929091906001600160401b03841183851017610fb0578360405286835260ff6000805160206154fc83398151915254166000146126ba575050505061044c9150614423565b8492939416906040516352d1902d60e01b81528681600481865afa60009181612811575b5061272d5760405162461bcd60e51b815260048101889052602e602482015260008051602061563c83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95939495036127cc5761273f82614423565b6000805160206155bc833981519152600080a28251158015906127c4575b612769575b5050505080f35b6000806127ba956040519561277d87613f3f565b6027875260008051602061561c83398151915286880152660819985a5b195960ca1b60408801525190845af4903d15612477573d612451816141cc565b5038808080612762565b50600061275d565b60405162461bcd60e51b815260048101849052602960248201526000805160206155fc8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612839575b6128288183613f5a565b8101031261039957505190386126de565b503d61281e565b5034610399578060031936011261039957602060ff607654166113b76040518092614287565b5034610399576060366003190112610399576020611a92604435602435600435614d5b565b50346103995780600319360112610399576020606c54604051908152f35b50346103995760403660031901126103995760043590818152602091607e8352604082205492838352607b8152604083209360108501548452607f82526040842090604051906128f882613edb565b60018060a01b0392838154168352600184818301541686850152600282015490604085019182526003830154926060860193845260056004820154916080880192835201549160a087019283528515612e305760088c0192835490600560ff83166129628161404a565b03612e1757600d8e01549051612977916145ac565b42118015908180612e0a575b612df85790612dee575b15612b2e5750815115612b1c576002915190808214612b0d575b5014612a92575b505083607954169084600e8a015416905192823b15612a8e57916129ed93918980946040519687958694859363099ea56b60e41b855260048501614c77565b03925af1801561174057908691612a7a575b50505b606d546001600160401b038082169791908815612a66577f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769596979860001901169060018060401b03191617606d55600f429101555116916040516024358152a380f35b634e487b7160e01b88526011600452602488fd5b612a8390613f11565b610ac65784386129ff565b8880fd5b600660ff1982541617905584607954168560058b015416915191813b15612b0957918991612ad8938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015612afe57908891156129ae57612af390613f11565b61174b5786386129ae565b6040513d8a823e3d90fd5b8980fd5b835460ff1916178355386129a7565b604051630dd466dd60e41b8152600490fd5b9150919250602435828114600014612c0a57505060ff198254161790558360795416600485600e8b0154169287876078541660405193848092633629edcd60e11b82525afa918215612bff578a92612be0575b5051823b15612b0957604051638969ab5360e01b8152948a94869493859387938593612bb3938d16916004860161543b565b03925af1801561174057908691612bcc575b5050612a02565b612bd590613f11565b610ac6578438612bc5565b612bf8919250883d8a11611ff857611fea8183613f5a565b9038612b81565b6040513d8c823e3d90fd5b91949291600214612c20575b5050505050612a02565b60069060ff1916179055846079541691600e8a019286845416915191813b15612d8557918a91612c68938360405180968195829463099ea56b60e41b84528a60048501614c77565b03925af18015611fff57908991612dd6575b5050846079541690600460058b0192878454169089896078541660405194858092633629edcd60e11b82525afa928315612dcb578c93612dac575b50606f548c52607f8a52600260408d200154871c91813b15612da857918c91612cfc93838c60405196879586948593638969ab5360e01b9b8c865216908c6004860161543b565b03925af18015612d9d57908b91612d89575b50508680806079541694541694541694606f548b52607f8952600260408c200154901c833b15612d85578a94939291612d5786926040519889978896879586526004860161543b565b03925af1801561174057908691612d71575b808080612c16565b612d7a90613f11565b610ac6578438612d69565b8a80fd5b612d9290613f11565b612b09578938612d0e565b6040513d8d823e3d90fd5b8c80fd5b612dc49193508a3d8c11611ff857611fea8183613f5a565b9138612cb5565b6040513d8e823e3d90fd5b612ddf90613f11565b612dea578738612c7a565b8780fd5b506024351561298d565b604051631777988560e11b8152600490fd5b508a8a5116331415612983565b604051634b011ca960e11b815260048101899052602490fd5b60405163c1d17bef60e01b815260048101879052602490fd5b503461039957604036600319011261039957612e63614131565b60243591612e6f61484d565b60ff60765460081c1660048110156130a7576002811490811561309c575b5015612ec8575060008051602061551c83398151915282602093925b612eb584607154614873565b607155611d718460405193849384614a9d565b6078546040516336d8759760e21b8152602092916001600160a01b0390811691601291908581600481875afa908115611dad5782918791879161307f575b5060046040518094819363313ce56760e01b8352165afa859181613060575b50613055575b506040516316308e2560e11b815290861660048201528481602481865afa90811561304a579087918591613017575b5091611f18612f6f611f1e93612f7595614873565b91614af3565b92806040518093637817ee4f60e01b82528180612f96308b600484016147bc565b03915afa92831561300b5792612fcb575b505092612fc560008051602061551c83398151915292602095614873565b92612ea9565b9080959250813d8311613004575b612fe38183613f5a565b81010312610a75579251612fc560008051602061551c833981519152612fa7565b503d612fd9565b604051903d90823e3d90fd5b809250868092503d8311613043575b6130308183613f5a565b81010312610a7557518690611f18612f5a565b503d613026565b6040513d86823e3d90fd5b60ff16915038612f2b565b613078919250873d8911611fcb57611fbc8183613f5a565b9038612f25565b6130969150823d8411611ff857611fea8183613f5a565b38612f06565b600191501438612e8d565b634e487b7160e01b82526021600452602482fd5b506130c536614239565b90916130cf6145cf565b6130d76145f5565b6130e0826147d6565b15610b145782518301906020938481840312610fda57808501516001600160401b0391828211610ac257019260a084820312610fac576040519160a0830183811082821117610fb05760405286850151835261313e60408601614620565b928781019384526060860151956040820196875261315e60808201614620565b936060830194855260a082015190848211612dea5761318392908b0191018a01614657565b608082019081528151156135795760ff60765416916003831015613565576001809314613432575b50606f548652607f89526040862080546001600160a01b039891908916151580613425575b61340357506131e0606e54614611565b9889606e55898852607b8b528860408920968b88558160058901998160018060a01b03199516858c5416178b555116600489019084825416179055511660068701918254161790555182850155600884018260ff1982541617905543600785015585600385015551918251600a85015588600b850193015180519182116133ef5761326b8454613ea1565b601f81116133a8575b508990601f831160011461334857928293918392899461333d575b50501b916000199060031b1c19161790555b6010606f5491015582806079541691541690803b15610fac576132dc918391604051808095819463240ff7c560e11b83528a60048401614769565b039134905af18015610fde57613329575b50507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b604060685481519081528486820152a160405191168152f35b6133338291613f11565b61039957806132ed565b01519250388061328f565b8488528a8820919083601f1981168a8e5b888383106133905750505010613377575b505050811b0190556132a1565b015160001960f88460031b161c1916905538808061336a565b8686015188559096019594850194879350018e613359565b8488528a8820601f840160051c8101918c85106133e5575b601f0160051c019084905b8281106133d9575050613274565b600081550184906133cb565b90915081906133c0565b634e487b7160e01b87526041600452602487fd5b6002604491015460405190632c1f8ef160e21b82523460048301526024820152fd5b50600281015434106131d0565b85516001600160a01b039190613449908316614782565b818651161561355357604051630ae6240f60e11b8152908b82600481305afa918215611fff5791899184938392613514575b5060249051604051958693849263068bcd8d60e01b84526004840152165afa918215612afe5788926134f0575b5060408187511692015116036134de576134c28751614cdb565b6134cc57386131ab565b604051630efd728560e21b8152600490fd5b60405163514e24c360e11b8152600490fd5b61350d9192503d808a833e6135058183613f5a565b8101906146d2565b90386134a8565b92509250508b81813d831161354c575b61352e8183613f5a565b81010312612a8e57518281168103612a8e578291899190602461347b565b503d613524565b60405163165a825360e21b8152600490fd5b634e487b7160e01b87526021600452602487fd5b60405163273c8bc360e11b8152600490fd5b50346103995760203660031901126103995760406020916004358152607e83522054604051908152f35b5034610399578060031936011261039957608060725460735460745460755491604051938452602084015260408301526060820152f35b503461039957806003193601126103995761044c33614880565b5034610399576020366003190112610399576020611a92600435615364565b50346103995760603660031901126103995761363f614131565b613647614105565b9061365061411b565b83549260ff8460081c1615938480956137c7575b80156137b0575b156137545760ff198116600117865584613743575b506136bc6040519261369184613f24565b600a8452694356537472617465677960b01b602085015261138960ff885460081c166121378161454c565b60018060a01b03918260018060a01b031994168460655416176065556040516136f581612171602082019460208652604083019061408d565b5190206066551690606a541617606a5561370c5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff191661010117855538613680565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561366b5750600160ff82161461366b565b50600160ff821610613664565b50346103995780600319360112610399576065546040516001600160a01b039091168152602090f35b50346103995780600319360112610399576020606f54604051908152f35b50346103995780600319360112610399576020604051629896808152f35b50346103995780600319360112610399576020606e54604051908152f35b50346103995780600319360112610399576079546040516001600160a01b039091168152602090f35b5034610399576060366003190112610399576001600160401b0390600435828111610fda576138b390369060040161415e565b506024918235908111610fda576138ce90369060040161421e565b6138d661411b565b506138df6145cf565b6138e76145f5565b805115613bc557602081805181010312610fda5760200151918215613bb357828252607b602052604082209260ff607654166003811015613ba05760011461392d578280f35b80845403613b8b576001840191825460695490818111613b6a5750506008850194600160ff87541661395e8161404a565b03613b535761396c83615364565b9184549261397984614e69565b1180613b4a575b613b385760018060a01b039286846065541692606854906040518095819363068bcd8d60e01b835260048301525afa918215610a81579160409185938992613b18575b506139d090606954614873565b606955015116956004820196868489541687549273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114600014613ad8575081809381925af115613acb575b600460ff1982541617905581600581607954169201541690606f548652607f602052600260408720015491813b1561174b57918691613a67938360405180968195829463099ea56b60e41b84528b60048501614c77565b03925af18015611dad57613aa6575b50613a9c9060008051602061565c83398151915294955416925460405193849384614c77565b0390a18038808280f35b9060008051602061565c83398151915294613ac3613a9c93613f11565b945090613a76565b63b12d13eb86526004601cfd5b8260109160209560449460145260345263a9059cbb60601b82525af13d156001885114171615613b0b5785603452613a10565b6390b8ec1886526004601cfd5b6139d0919250613b31903d808c833e6135058183613f5a565b91906139c3565b60405163199cf26160e31b8152600490fd5b50821515613980565b5090604051906344980d8f60e01b82526004820152fd5b6064939260405193632c31d85b60e11b855260048501528301526044820152fd5b6040519063c1d17bef60e01b82526004820152fd5b634e487b7160e01b845260216004528284fd5b60405163f881a10d60e01b8152600490fd5b604051630317df1360e61b8152600490fd5b50346103995736600319016101408112610fda5760c01361039957604051613bfe81613edb565b6004356001600160a01b0381168103610fac578152613c1b614105565b602082015260443560408201526064356060820152608435608082015260a43560a0820152608060c319360112610fda5760405161044c91613c5c82613ef6565b60c435825260e4356020830152610104356040830152610124356060830152613c836153aa565b615079565b5034610399578060031936011261039957604090606f548152607f6020522060018060a01b0361039581835416916001840154169260028101549060038101546005600483015492015492604051968796876140d2565b50346103995760203660031901126103995760043563ffffffff60e01b8116809103610fda5760209063f1801e6160e01b8114908115613d25575b506040519015158152f35b6301ffc9a760e01b14905082613d1a565b5034610399576020366003190112610399576004358152607b60205260408120908154906001830154600284015493600381015460018060a01b0360048301541660018060a01b0360058401541660018060a01b036006850154169060078501549260ff60088701541694613dad600a8801613f7d565b604051909b909960608b01906001600160401b0382118c831017613e8d57506040908152600c8901548b52600d89015460208c810191909152600e8a01546001600160a01b03168c830152600f8a01546010909a015482519d8e52908d019a909a528b015260608a0152608089015260a088015260c087015260e086015293948594613e559190613e3d8161404a565b6101008701526101e0806101208801528601906140b2565b835161014086015260208401516101608601526040909301516001600160a01b03166101808501526101a08401526101c08301520390f35b634e487b7160e01b81526041600452602490fd5b90600182811c92168015613ed1575b6020831014613ebb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613eb0565b60c081019081106001600160401b03821117610fb057604052565b608081019081106001600160401b03821117610fb057604052565b6001600160401b038111610fb057604052565b604081019081106001600160401b03821117610fb057604052565b606081019081106001600160401b03821117610fb057604052565b601f909101601f19168101906001600160401b03821190821017610fb057604052565b9060405191613f8b83613f24565b8281548152600180920191604051928391600091805490613fab82613ea1565b808652918381169081156140215750600114613fd8575b50505060209291613fd4910384613f5a565b0152565b909493925060005260209081600020946000915b81831061400957509394509192509082010181613fd46020613fc2565b86548884018501529586019587945091830191613fec565b60ff191660208781019190915292151560051b860183019450859350613fd4929150613fc29050565b6007111561405457565b634e487b7160e01b600052602160045260246000fd5b60005b83811061407d5750506000910152565b818101518382015260200161406d565b906020916140a68151809281855285808601910161406a565b601f01601f1916010190565b90604060206140cf9380518452015191816020820152019061408d565b90565b9260a09491979695929760c0850198600180881b0380921686521660208501526040840152606083015260808201520152565b602435906001600160a01b0382168203610a7557565b604435906001600160a01b0382168203610a7557565b600435906001600160a01b0382168203610a7557565b6001600160401b038111610fb05760051b60200190565b81601f82011215610a755780359161417583614147565b926141836040519485613f5a565b808452602092838086019260051b820101928311610a75578301905b8282106141ad575050505090565b81356001600160a01b0381168103610a7557815290830190830161419f565b6001600160401b038111610fb057601f01601f191660200190565b9291926141f3826141cc565b916142016040519384613f5a565b829481845281830111610a75578281602093846000960137010152565b9080601f83011215610a75578160206140cf933591016141e7565b6040600319820112610a7557600435906001600160401b038211610a75576142639160040161421e565b906024356001600160a01b0381168103610a755790565b9060048210156140545752565b9060038210156140545752565b80548210156142ac5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610a75578235916001600160401b038311610a755760208381860195010111610a7557565b6142f7615463565b336001600160a01b039091160361430a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602061559c833981519152600080a3565b1561438c57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156143db57565b60405162461bcd60e51b815260206004820152602c602482015260008051602061553c83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156144585760008051602061555c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901561451557508151156144c7575090565b3b156144d05790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156145285750805190602001fd5b60405162461bcd60e51b8152602060048201529081906111f690602483019061408d565b1561455357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116145b957565b634e487b7160e01b600052601160045260246000fd5b6065546001600160a01b031633036145e357565b60405163075fd2b160e01b8152600490fd5b606854156145ff57565b604051630f68fe6360e21b8152600490fd5b60001981146145b95760010190565b51906001600160a01b0382168203610a7557565b606080918051845260208101516020850152604081015160408501520151910152565b9190604083820312610a755760405161466f81613f24565b83518152602084015190938491906001600160401b038211610a7557019082601f83011215610a75578151916146a4836141cc565b936146b26040519586613f5a565b83855260208483010111610a7557602092613fd49184808701910161406a565b90602082820312610a755781516001600160401b0392838211610a75570160c081830312610a75576040519261470784613edb565b8151845260208201516001600160a01b0381168103610a7557602085015261473160408301614620565b60408501526060820151908111610a755760a092614750918301614657565b606084015260808101516080840152015160a082015290565b9081526001600160a01b03909116602082015260400190565b6001600160a01b03161561479257565b6040516303988b8160e61b8152600490fd5b90816020910312610a7557518015158103610a755790565b6001600160a01b0391821681529116602082015260400190565b607a546001600160a01b031680156148465761480c9160209160405180809581946302154c3d60e51b83523090600484016147bc565b03915afa90811561483a57600091614822575090565b6140cf915060203d8111610b0257610af48183613f5a565b6040513d6000823e3d90fd5b5050600190565b6078546001600160a01b0316330361486157565b6040516357848b5160e11b8152600490fd5b919082039182116145b957565b60785460408051637817ee4f60e01b81526020949391926000926001600160a01b039290918316908781806148b93087600484016147bc565b0381855afa8015614a93578590614a64575b6148d89150607154614873565b607155803b15610ac25783855180926322bcf99960e01b82528183816149023089600484016147bc565b03925af18015614a5a57614a47575b5016808252607d8552828220948351808783829954938481520190865283862092865b85828210614a315750505061494b92500387613f5a565b825b8651811015614a0157806149646149849289614c98565b51808652607b845286862061497882614cac565b614989575b5050614611565b61494d565b60008051602061557c8339815191529160a0918760005260098101875260038a6000208a815491556149db60028401916149c4818454614873565b835560706149d3828254614873565b905584614ff4565b54910154908a519289845288840152898b84015260608301526080820152a1388061497d565b50929091507f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b93945051908152a1565b855484526001958601958c955093019201614934565b614a5390939193613f11565b9138614911565b85513d86823e3d90fd5b508781813d8311614a8c575b614a7a8183613f5a565b81010312610ac6576148d890516148cb565b503d614a70565b86513d87823e3d90fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610a7557516001600160a01b0381168103610a755790565b90816020910312610a75575160ff81168103610a755790565b604d81116145b957600a0a90565b818102929181159184041417156145b957565b8115614b1e570490565b634e487b7160e01b600052601260045260246000fd5b8015614c7157614bff816000908360801c80614c65575b508060401c80614c58575b508060201c80614c4b575b508060101c80614c3e575b508060081c80614c31575b508060041c80614c24575b508060021c80614c17575b50600191828092811c614c10575b1c1b614ba78185614b14565b01811c614bb48185614b14565b01811c614bc18185614b14565b01811c614bce8185614b14565b01811c614bdb8185614b14565b01811c614be88185614b14565b01811c614bf58185614b14565b01901c8092614b14565b80821015614c0b575090565b905090565b0181614b9b565b6002915091019038614b8d565b6004915091019038614b82565b6008915091019038614b77565b6010915091019038614b6c565b6020915091019038614b61565b6040915091019038614b56565b91505060809038614b4b565b50600090565b9081526001600160a01b039091166020820152604081019190915260600190565b80518210156142ac5760209160051b010190565b600052607b6020526040600020805415159081614cc7575090565b600501546001600160a01b03161515919050565b614cea60725460695490614b01565b62989680918281029281840414901517156145b957111590565b919091600083820193841291129080158216911516176145b957565b614d2a8282614d04565b9160008312614d3857505090565b9160649260405192631dde38a160e11b8452600484015260248301526044820152fd5b9091607454906298968093848360801b0490600160801b9182811015614e25578583965b614de4575050614d8f9085614b01565b93858302928084048714901517156145b95781039081116145b957614db391614b01565b9083039283116145b957614dd092614dca91614b14565b906145ac565b6001607f1b81019081106145b95760801c90565b600191818316614e045780614df891614f3d565b911c90815b9091614d7f565b809250614e119197614f3d565b9560001981019081116145b9579081614dfd565b60405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b6069548015614f2b57614e7b82614cdb565b6134cc57607254604081901b92600160401b92918015908504841417156145b9578060401b9281840414901517156145b957614ebd614ec991614ee493614b14565b62989680809404614873565b614edb8360735460801b049180614b01565b60401c90614b14565b818102908082048314901517156145b95760745482039182116145b957614f1791614f0e91614b14565b60715490614b01565b60401c607554808211600014614c0b575090565b60405163ed4421ad60e01b8152600490fd5b90600160801b808311614f9e57811015614f5a57614dd091614b01565b60405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606490fd5b60405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608490fd5b90614fff9082615026565b909182158061501e575b6150195760039160078201550155565b505050565b508115615009565b43916007820154918383116150635783831461505757600361504b6150549486614873565b91015490614d5b565b91565b50505050600090600090565b634e487b7160e01b600052600160045260246000fd5b60208181018051919290916001600160a01b039060009082168015159081615357575b816152b5575b506150ea575b50505050816080916000805160206154dc8339815191529351607255810151607355604081015160745560608101516075556150e76040518092614634565ba1565b606f548152607f855260409081812083600182015416908480885116809314918215926152a3575b50506151da575b50936005608096946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b99615151606f54614611565b80606f558152607f8a522091808451169560018060a01b0319918783865416178555600185019151168092825416179055818401519182600285015560608501519384600382015560a08d8701519687600484015501519687910155606f549681519788528a88015286015260608501528884015260a083015260c0820152a1918193386150a8565b8385511690813b15610fac578291602483928651948593849263446adb9960e11b845260048401525af1801561529957946000805160206155dc833981519152948460e0956000805160206154dc8339815191529b999560059560809c9a61528a575b507fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f60608b86885116878b51169086519230845283015285820152a195999b505094509450949650615119565b61529390613f11565b3861523d565b83513d84823e3d90fd5b90915054168486511614158438615112565b606f548352607f8752604083206001810154851690911480159250615345575b8115615332575b811561531f575b811561530c575b81156152f8575b50386150a2565b9050600560a08501519101541415386152f1565b60808501516004820154141591506152ea565b60608501516003820154141591506152e3565b60408501516002820154141591506152dc565b905082845116838254161415906152d5565b845184161515915061509c565b80600052607b6020526040600020908082540361539257508061538d6002600393015482614ff4565b015490565b6024906040519063c1d17bef60e01b82526004820152fd5b607854604051633629edcd60e11b81526001600160a01b03916020908290600490829086165afa90811561483a576000916153fc575b501633036153ea57565b604051637430763f60e11b8152600490fd5b615414915060203d8111611ff857611fea8183613f5a565b386153e0565b908060209392818452848401376000828201840152601f01601f1916010190565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b6033546001600160a01b0316803b6154785790565b604051638da5cb5b60e01b8152602081600481855afa600091816154a0575b50614c0b575090565b90916020823d82116154d3575b816154ba60209383613f5a565b8101031261039957506154cc90614620565b9038615497565b3d91506154ad56feec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914370b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3be677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d5345524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847a264697066735822122064003a7acadd7523ee195d8b40c31ed7f0f63a1e350f23e958323da84a903bf964736f6c6343000813003360a0806040523461003157306080526157389081610037823960805181818161155f015281816117730152611b4b0152f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c806301ffc9a714620004af5780630331383c14620003d157806308386eba14620004a95780630d12bbdb14620004a35780630d4a8b49146200049d578063175188e814620004975780631b71f0e414620004915780631f787d28146200048b578063223e5479146200048557806322bcf999146200047f578063248a9ca3146200047957806328c309e914620004735780632b38c69c146200046d5780632c611c4a14620004675780632f2ff15d146200046157806331f61bca146200045b57806333960459146200045557806334196355146200044f5780633517aa7d146200044957806336568abe14620004435780633659cfe6146200043d578063397e254314620004375780633a871fe11462000431578063477a5cc0146200042b5780634f1ef2861462000425578063524e59e8146200041f57806352d1902d1462000419578063559de05d14620004135780635c94e4d2146200040d5780635ecf71c5146200040757806365e3864c14620003d75780636871eb4d146200040157806368decabb14620003fb5780636c53db9a14620003f5578063715018a614620003ef57806373265c3714620003e9578063733a2d1f14620003e357806377122d5614620003dd5780637817ee4f14620003d757806378a0b8a914620003d15780637b10399914620003cb57806382d6a1e714620003c557806388cfe68414620003bf5780638961be6b14620003b95780638da5cb5b14620003b357806391d1485414620003ad578063a0cf0aea14620003a7578063a217fddf14620003a1578063a230c524146200039b578063b0d3713a1462000395578063b3f00674146200038f578063b5058c501462000389578063b64e39af1462000383578063b99b4370146200037d578063bc063e1a1462000377578063c4d66de81462000371578063c6d572ae146200036b578063d547741f1462000365578063d6d8428d146200035f578063d7050f071462000359578063db61d65c1462000353578063e16d0e32146200034d578063ebd7dc521462000347578063f2fde38b1462000341578063f86c5f89146200033b5763ffa1ad74146200033557600080fd5b62002d29565b62002cfd565b62002c63565b62002c18565b62002b09565b62002add565b62002abe565b62002a92565b62002a48565b620029b2565b62002974565b62002954565b62002828565b62002756565b62002633565b62002604565b620025b7565b6200254a565b6200252c565b620024fb565b620024bd565b6200248c565b6200246c565b6200240a565b62002354565b62002328565b6200051b565b6200203f565b620022fc565b620022d0565b62002234565b620021e3565b620021b7565b6200218b565b6200207e565b62001dc7565b62001d9b565b62001bfa565b62001b36565b620019f1565b62001716565b620016d2565b6200168b565b620015fe565b62001530565b62001493565b6200123c565b620010cf565b62000ed2565b62000e82565b62000dd5565b62000d90565b62000d2b565b62000b72565b62000b41565b62000a50565b62000a1b565b620009f7565b620009aa565b62000973565b62000680565b6200055b565b6200053b565b346200050a5760203660031901126200050a5760043563ffffffff60e01b81168091036200050a57602090637965db0b60e01b8114908115620004f8575b506040519015158152f35b6301ffc9a760e01b14905038620004ed565b600080fd5b60009103126200050a57565b346200050a5760003660031901126200050a57602060fb54604051908152f35b346200050a5760003660031901126200050a57602060fe54604051908152f35b346200050a5760203660031901126200050a576004356200057b62004fea565b620186a08111620005b7576020817f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d69260fc55604051908152a1005b60405163fe925f7d60e01b8152600490fd5b6001600160a01b031690565b6001600160a01b038116036200050a57565b60243590620005f682620005d5565b565b60443590620005f682620005d5565b60643590620005f682620005d5565b6101c43590620005f682620005d5565b6101e43590620005f682620005d5565b6102043590620005f682620005d5565b3590620005f682620005d5565b60409060031901126200050a576004356200066e81620005d5565b906024356200067d81620005d5565b90565b346200050a57620006913662000653565b6200069c82620049f5565b620006a78162004a42565b620006b28162004539565b620006d3620006cc82620006c68562000c60565b62000ccc565b5460ff1690565b620009615760209081620006f1620006eb8562000c7b565b6200490f565b015160fb5460405163c329217160e01b8082526000966001600160a01b03861696909490939284816004818c8c5af1801562000830576003918a916200093f575b506200073e8162004664565b036200083657505060405163782aadff60e01b81526001600160a01b038416600482015260006024820152948291508590604490829089905af1801562000830576000805160206200564383398151915294620007f6928792620007fc575b50505b80620007b185620006c68662000c96565b55620007d3620007c685620006c68662000c60565b805460ff19166001179055565b620007e984620007e38562000cb1565b62004999565b60405193849384620049d3565b0390a180f35b620008209250803d1062000828575b62000817818362000fae565b81019062003292565b38806200079d565b503d6200080b565b620032a2565b604096919392965193845282846004818b865af180156200083057889485916200090b575b50620008678162004664565b6200088c575b50505050620007f66000805160206200564383398151915293620007a0565b8293965090620008b49160405197888094819363782aadff60e01b835289600484016200495f565b03925af1801562000830576000805160206200564383398151915294620007f6928792620008e9575b5050938591386200086d565b620009039250803d10620008285762000817818362000fae565b3880620008dd565b620009309150843d861162000937575b62000927818362000fae565b81019062004947565b386200085b565b503d6200091b565b6200095a9150863d8811620009375762000927818362000fae565b3862000732565b604051636adcde4b60e11b8152600490fd5b346200050a5760203660031901126200050a57620009a86004356200099881620005d5565b620009a262004fea565b620050bb565b005b346200050a5760203660031901126200050a57600435620009cb81620005d5565b620009d562002fda565b61010280546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a57602060ff8054166040519015158152f35b346200050a5760203660031901126200050a57620009a860043562000a4081620005d5565b62000a4a62004fea565b62005041565b346200050a5762000a613662000653565b62000a6c82620049f5565b62000a778162004539565b6001600160a01b038116330362000b2f5762000aa462000aa0620006cc83620006c68662000c60565b1590565b62000b1d578162000ae862000ade83620006c67ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b9662000c60565b805460ff19169055565b600062000afa83620006c68462000c96565b5562000b07828262004abe565b62000b186040519283928362003847565b0390a1005b604051633048da7760e21b8152600490fd5b60405163bbe7961160e01b8152600490fd5b346200050a5760203660031901126200050a5760043560005260c96020526020600160406000200154604051908152f35b346200050a5760003660031901126200050a5762000b9d62000b9761010054620005c9565b620005c9565b60fb549062000bbc62000bb360fc54846200293a565b620f4240900490565b91602060405180936302a64b8360e21b8252818062000bdf306004830162000d18565b03916001600160a01b03165afa918215620008305762000c399362000c1c62000bb362000c299562000c239460009162000c3d575b50856200293a565b9262003083565b62003083565b6040519081529081906020820190565b0390f35b62000c59915060203d8111620008285762000817818362000fae565b3862000c14565b6001600160a01b0316600090815261010e6020526040902090565b6001600160a01b0316600090815261010c6020526040902090565b6001600160a01b0316600090815261010b6020526040902090565b6001600160a01b0316600090815261010d6020526040902090565b9060018060a01b0316600052602052604060002090565b634e487b7160e01b600052603260045260246000fd5b805482101562000d125760005260206000200190600090565b62000ce3565b6001600160a01b03909116815260200190565b346200050a5760403660031901126200050a5760043562000d4c81620005d5565b6024359060018060a01b0380911660005261010d602052604060002080548310156200050a5760209262000d809162000cf9565b9190546040519260031b1c168152f35b346200050a5760203660031901126200050a5760043562000db181620005d5565b60018060a01b031660005261010c6020526020600160406000200154604051908152f35b346200050a5760403660031901126200050a5760043560243562000df981620005d5565b60009180835260c960205262000e16600160408520015462002d73565b80835260c960205260ff62000e2f836040862062000ccc565b54161562000e3b578280f35b80835260c960205262000e52826040852062000ccc565b805460ff1916600117905533916001600160a01b031690600080516020620055e38339815191528480a438808280f35b346200050a5760203660031901126200050a577f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f602060043562000ec562004fea565b8060fb55604051908152a1005b346200050a5760003660031901126200050a57602060fd54604051908152f35b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111762000f2457604052565b62000ef2565b60c081019081106001600160401b0382111762000f2457604052565b60e081019081106001600160401b0382111762000f2457604052565b608081019081106001600160401b0382111762000f2457604052565b606081019081106001600160401b0382111762000f2457604052565b6001600160401b03811162000f2457604052565b601f909101601f19168101906001600160401b0382119082101762000f2457604052565b6040519061018082016001600160401b0381118382101762000f2457604052565b6001600160401b03811162000f2457601f01601f191660200190565b9291926200101d8262000ff3565b916200102d604051938462000fae565b8294818452818301116200050a578281602093846000960137010152565b9080601f830112156200050a578160206200067d933591016200100f565b91906040838203126200050a5760405190620010858262000f08565b8335825290928391602082013591906001600160401b0383116200050a57602092620010b292016200104b565b910152565b801515036200050a57565b3590620005f682620010b7565b346200050a576003196080368201126200050a57600435906001600160401b03908183116200050a576101809083360301126200050a576200111062000fd2565b906200111f8360040162000646565b82526200112f6024840162000646565b60208301526044830135604083015260648301356060830152608483013560808301526200116060a4840162000646565b60a08301526200117360c4840162000646565b60c083015260e48301358181116200050a5762001197906004369186010162001069565b60e0830152620011ab610104840162000646565b6101008301526101248301358181116200050a57620011d190600436918601016200104b565b610120830152620011e66101448401620010c2565b6101408301526101648301359081116200050a57620009a89260046200121092369201016200104b565b61016082015262001220620005e7565b6200122a620005f8565b906200123562000607565b9262003861565b346200050a5760008060031936011262001490576200125a62004b76565b620012653362000c7b565b6200127762000b9761010054620005c9565b60fb54916200128d62000bb360fc54856200293a565b6040516302a64b8360e21b815260209491936001600160a01b03169190858180620012bc306004830162000d18565b0381865afa80156200083057620012e19262000bb39289926200146c575b506200293a565b926200130262000aa06040620012fb620006eb3362000c7b565b0151151590565b62001317575b85620013146001606555565b80f35b826200132f600260019501600160ff19825416179055565b60fb54938491015562001367610105936200135c8662000c2385620013558954620005c9565b9462003083565b903090339062004bcd565b806200143e575b5082620013be575b505050507f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689620013b060fb5460405191829133836200495f565b0390a1388080808062001308565b83620013cd60049354620005c9565b9160405193848092634c3a1adf60e11b82525afa9182156200083057620013fe94869362001408575b505062004d4a565b3880808062001376565b6200142d929350803d1062001436575b62001424818362000fae565b810190620037c5565b903880620013f6565b503d62001418565b62001465906200144f8454620005c9565b60ff5460081c6001600160a01b03169062004d4a565b386200136e565b62001488919250883d8a11620008285762000817818362000fae565b9038620012da565b80fd5b346200050a5760403660031901126200050a57602435620014b481620005d5565b336001600160a01b03821603620014d357620009a89060043562002f61565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346200050a5760203660031901126200050a576004356200155181620005d5565b6001600160a01b03620015a87f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b826000805160206200568383398151915254161462003241565b620015b2620037dd565b33911603620015d157620009a890620015ca62003091565b906200335c565b620015fa620015df620037dd565b60405163163678e960e01b8152918291336004840162003847565b0390fd5b346200050a5760203660031901126200050a577f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf860406004356200164281620005d5565b6200164c62004fea565b6001600160a01b0390811690620016638262004539565b61010380546001600160a01b03191683179055610106548351911681526020810191909152a1005b346200050a5760203660031901126200050a57600435620016ac81620005d5565b60018060a01b031660005261010a602052602060ff604060002054166040519015158152f35b346200050a57602060ff6200170a620016eb3662000653565b6001600160a01b03909116600090815261010e85526040902062000ccc565b54166040519015158152f35b60403660031901126200050a576004356200173181620005d5565b6024356001600160401b0381116200050a57366023820112156200050a57620017659036906024816004013591016200100f565b6001600160a01b03620017a27f000000000000000000000000000000000000000000000000000000000000000082166200158e30821415620031f0565b620017ac620037dd565b33911603620015d157620009a89162003420565b60a4359060038210156200050a57565b60c4359060038210156200050a57565b600411156200050a57565b60c43590620005f682620017e0565b60e43590620005f682620017e0565b60209060e31901126200050a5760405190602082016001600160401b0381118382101762000f245760405260e4358252565b6020906101031901126200050a5760405190602082016001600160401b0381118382101762000f2457604052610104358252565b60c0906101031901126200050a57604051906200188c8262000f2a565b81610104356200189c81620005d5565b815261012435620018ad81620005d5565b602082015261014435604082015261016435606082015261018435608082015260a06101a435910152565b60c0906101231901126200050a5760405190620018f58262000f2a565b81610124356200190581620005d5565b8152610144356200191681620005d5565b60208201526101643560408201526101843560608201526101a435608082015260a06101c435910152565b602319810191906101e083126200050a5760405190620019618262000f46565b60808294126200050a57620019d1906040516200197e8162000f62565b60243581526044356020820152606435604082015260843560608201528352620019a7620017c0565b6020840152620019b6620017eb565b6040840152620019c68162001809565b60608401526200186f565b6080820152620019e062000616565b60a082015260c0620010b262000626565b346200050a576102203660031901126200050a5760043562001a1381620005d5565b62001a1e3662001941565b6001600160401b0390610204358281116200050a5762001a4390369060040162001069565b9162001a5261010254620005c9565b9062001a6562000b9761010754620005c9565b9162001acf62001a7861010154620005c9565b9362001ac062001a87620037dd565b60405163184b955960e01b60208201526001600160a01b0393841660248201529683166044880152909116606486015284906084820190565b03601f19810185528462000fae565b6040519261041091828501938585109085111762000f2457849362001afa93620051d386396200455c565b03906000f0928315620008305762001b1b936001600160a01b0316620047f2565b604080519283526001600160a01b0391909116602083015290f35b346200050a5760003660031901126200050a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001b9457604051600080516020620056838339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b346200050a576020806003193601126200050a5760049081359162001c1e62004b76565b62001c2862004cfb565b62001c3d62001c373362000cb1565b620045de565b60005b815181101562001d1f5762001c6f62000b9762000b9762001c62848662003d18565b516001600160a01b031690565b9084604051809363782aadff60e01b82528160008162001c938c338c84016200495f565b03925af18015620008305762001cbb9260009162001cfd575b508062001cc1575b5062003d08565b62001c40565b62001cf462001ceb62001cd43362000c96565b62001ce462001c62868962003d18565b9062000ccc565b91825462003083565b90553862001cb4565b62001d189150863d8811620008285762000817818362000fae565b3862001cac565b7f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f62001d8d8662001d628162001d5861010554620005c9565b3090339062004bcd565b600162001d6f3362000c7b565b0162001d7d82825462003083565b905560405191829133836200495f565b0390a1620009a86001606555565b346200050a5760003660031901126200050a57610102546040516001600160a01b039091168152602090f35b346200050a576020806003193601126200050a5760049081359062001deb62004b76565b62001df562004cfb565b62001e003362000cb1565b9060019362001e1d848662001e153362000c7b565b015462003d4d565b60fb5411620020305790849262001e43853362001e3d61010554620005c9565b62004d4a565b6000935b62001e8d575b7f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff862001d8d868862001e7f3362000c7b565b0162001d7d82825462003d4d565b9091929481549485871015620020275762001ec262001ead888562000cf9565b905460039190911b1c6001600160a01b031690565b9562001ece8762004d75565b1562001fd657506040928484518098632ed04b2b60e01b82528160008162001efb888d339084016200495f565b03926001600160a01b03165af1968715620008305760009762001fb2575b5062001f3962001f293362000c96565b62001ce462001ead8b8562000cf9565b54948588111562001f665784516311423e6360e31b81528088018981526020810188905281906040010390fd5b945094925094819662001fa79162001f9f62001f9662001f863362000c96565b62001ce462001ead868c62000cf9565b91825462003d4d565b905562003d08565b939092919262001e47565b62001fce919750853d8711620008285762000817818362000fae565b953862001f19565b966200202162001fa79297620020166200200362001ead62001ffc889d9b999b62003d2d565b8b62000cf9565b6200200f858b62000cf9565b906200497a565b620009a28862004a78565b62003d08565b94509462001e4d565b604051634e23e81760e11b8152fd5b346200050a57602062002075620020563662000653565b6001600160a01b03909116600090815261010b84526040902062000ccc565b54604051908152f35b346200050a576200208f3662000653565b6200209962004b76565b620020a362004fea565b620020b462000aa060ff5460ff1690565b6200217957620020d262000aa06040620012fb620006eb8662000c7b565b62002167578162001d8d6200210c620006eb7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39562000c7b565b620021178362005112565b62002138620021268462000c7b565b60026000918281558260018201550155565b6200215960206200214c61010554620005c9565b9201918583519162004d4a565b5160405193849384620049d3565b604051636a5cfb6d60e01b8152600490fd5b6040516365b1ee3960e11b8152600490fd5b346200050a5760003660031901126200050a57610103546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610106546040516001600160a01b039091168152602090f35b346200050a5760008060031936011262001490576200220162002fda565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020620056a38339815191528280a380f35b346200050a5760203660031901126200050a576200225162004fea565b6101075460405163068bcd8d60e01b81526004803590820152906001600160a01b03906000908390602490829085165afa9182156200083057620009a892602091600091620022aa575b50015116620009a28162004539565b620022c9913d8091833e620022c0818362000fae565b81019062004f4e565b386200229b565b346200050a5760003660031901126200050a576020604051600080516020620056038339815191528152f35b346200050a5760003660031901126200050a57610101546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a57610104546040516001600160a01b039091168152602090f35b346200050a5760203660031901126200050a576200237162004fea565b6101075460405163068bcd8d60e01b8152600480359082015290600090829060249082906001600160a01b03165afa80156200083057602062000b9791620023c593600091620023ed575b500151620005c9565b620023d08162004539565b620023db8162004d75565b620023e257005b620009a89062005041565b62002403913d8091833e620022c0818362000fae565b38620023bc565b346200050a5760203660031901126200050a5760606004356200242d81620005d5565b60018060a01b0380911660005261010c6020526040600020908154169060ff600260018301549201541690604051928352602083015215156040820152f35b346200050a5760003660031901126200050a57602060fc54604051908152f35b346200050a5760003660031901126200050a576020620024ab620037dd565b6040516001600160a01b039091168152f35b346200050a5760403660031901126200050a57602060ff6200170a602435620024e681620005d5565b60043560005260c98452604060002062000ccc565b346200050a5760003660031901126200050a57602060405173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8152f35b346200050a5760003660031901126200050a57602060405160008152f35b346200050a5760203660031901126200050a57602060406004356200256f81620005d5565b60018060a01b0380911660005261010c835260ff600283600020845193620025978562000f7e565b815416845260018101548685015201541615159182910152604051908152f35b346200050a5760203660031901126200050a57600435620025d881620005d5565b620025e262002fda565b61010180546001600160a01b0319166001600160a01b03909216919091179055005b346200050a5760003660031901126200050a5760ff5460405160089190911c6001600160a01b03168152602090f35b346200050a57600080600319360112620014905761010380546001600160a01b0381169033829003620026a85761010680546001600160a01b031990811690931790551690556040518181527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290602090a180f35b6040516375e686b760e11b8152600490fd5b90600182811c92168015620026ec575b6020831014620026d657565b634e487b7160e01b600052602260045260246000fd5b91607f1691620026ca565b60005b8381106200270b5750506000910152565b8181015183820152602001620026fa565b906020916200273781518092818552858086019101620026f7565b601f01601f1916010190565b9060206200067d9281815201906200271c565b346200050a5760008060031936011262001490576040518161010980546200277e81620026ba565b80855291600191808316908115620027fa5750600114620027ba575b62000c3985620027ad8189038262000fae565b6040519182918262002743565b835260208084209095505b828410620027e6575050508162000c3993620027ad9282010193386200279a565b8054858501870152928501928101620027c5565b905062000c399650620027ad9450602092508593915060ff191682840152151560051b82010193386200279a565b346200050a5760008060031936011262001490576200284662004b76565b6200285133620049f5565b6200285c3362005112565b33815261010c6020527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f462002916604083206040516200289c8162000f7e565b81546001600160a01b0316815260018201546020820190815260029092015460ff161515604090910152620028d5620021263362000c7b565b620028ea620028e43362000cb1565b62003eaa565b62002907620028fc61010554620005c9565b825190339062004d4a565b5160405191829133836200495f565b0390a1620013146001606555565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156200294e57565b62002924565b346200050a5760003660031901126200050a576020604051620186a08152f35b346200050a5760203660031901126200050a57620009a86004356200299981620005d5565b620029ac60ff60005460081c166200373f565b6200303c565b346200050a576000806003193601126200149057604051816101088054620029da81620026ba565b80855291600191808316908115620027fa575060011462002a085762000c3985620027ad8189038262000fae565b835260208084209095505b82841062002a34575050508162000c3993620027ad9282010193386200279a565b805485850187015292850192810162002a13565b346200050a5760403660031901126200050a57620009a860243560043562002a7082620005d5565b8060005260c960205262002a8c60016040600020015462002d73565b62002f61565b346200050a5760003660031901126200050a57610107546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5760206040516127108152f35b346200050a5760003660031901126200050a57610105546040516001600160a01b039091168152602090f35b346200050a576102403660031901126200050a5760043562002b2b81620005d5565b6024359062002b3a82620005d5565b36604319016101e081126200050a5760806040519162002b5a8362000f46565b126200050a5760405162002b6e8162000f62565b60443581526064356020820152608435604082015260a4356060820152815262002b97620017d0565b602082015262002ba6620017fa565b604082015262002bb6366200183b565b606082015262002bc636620018d8565b608082015262002bd562000626565b60a082015262002be462000636565b60c082015261022435926001600160401b0384116200050a5762002c1162001b1b94369060040162001069565b92620047f2565b346200050a5760203660031901126200050a57602060ff6200170a60043562002c4181620005d5565b6000805160206200560383398151915260005260c98452604060002062000ccc565b346200050a5760203660031901126200050a5760043562002c8481620005d5565b62002c8e62002fda565b6001600160a01b0381161562002ca957620009a8906200303c565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346200050a5760003660031901126200050a57610100546040516001600160a01b039091168152602090f35b346200050a5760003660031901126200050a5762000c3960405162002d4e8162000f08565b60038152620302e360ec1b60208201526040519182916020835260208301906200271c565b8060005260c960205260ff62002d8e33604060002062000ccc565b54161562002d995750565b339062002da5620030ba565b91603062002db384620030d7565b53607862002dc184620030e5565b5360295b6001811162002e7857620015fa62002e3362002e5f8662002e5062002df68862002df0891562003116565b62003162565b62002e2c60405195869462002e2c6020870160179076020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81520190565b9062002ec0565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f19810183528262000fae565b60405162461bcd60e51b81529182916004830162002743565b90600f811690601082101562000d125762002eba916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8487620030f6565b5360041c9162003108565b62002dc5565b9062002ed560209282815194859201620026f7565b0190565b60008051602062005603833981519152600081815260c96020529060ff62002f1184600080516020620056e383398151915262000ccc565b54161562002f1e57505050565b80825260c960205262002f35836040842062000ccc565b805460ff1916600117905533926001600160a01b031691600080516020620055e38339815191529080a4565b60009080825260c960205260ff62002f7d846040852062000ccc565b541662002f8957505050565b80825260c960205262002fa0836040842062000ccc565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4565b62002fe4620037dd565b336001600160a01b039091160362002ff857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020620056a3833981519152600080a3565b90600282018092116200294e57565b919082018092116200294e57565b604051602081016001600160401b0381118282101762000f245760405260008152906000368137565b60405190620030c98262000f7e565b602a82526040366020840137565b80511562000d125760200190565b80516001101562000d125760210190565b90815181101562000d12570160200190565b80156200294e576000190190565b156200311e57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190620031718262000f62565b60428252606036602084013760306200318a83620030d7565b5360786200319883620030e5565b536041905b60018211620031b3576200067d91501562003116565b600f811690601082101562000d1257620031e9916f181899199a1a9b1b9c1cb0b131b232b360811b901a62002eaf8486620030f6565b906200319d565b15620031f857565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200324957565b60405162461bcd60e51b815260206004820152602c60248201526000805160206200566383398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b908160209103126200050a575190565b6040513d6000823e3d90fd5b15620032b657565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b9062003378600080516020620056238339815191525460ff1690565b156200338a5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620033fb575b50620033d55760405162461bcd60e51b815280620015fa600482016200330d565b620033f560008051602062005683833981519152620005f69414620032ae565b62003576565b6200341891945060203d8111620008285762000817818362000fae565b9238620033b4565b906200343c600080516020620056238339815191525460ff1690565b156200344e5750620005f690620034e4565b6040516352d1902d60e01b8152916020836004816001600160a01b0385165afa60009381620034bf575b50620034995760405162461bcd60e51b815280620015fa600482016200330d565b620034b960008051602062005683833981519152620005f69414620032ae565b6200362c565b620034dc91945060203d8111620008285762000817818362000fae565b923862003478565b803b156200351b576000805160206200568383398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b906200358282620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a280511580159062003623575b620035b5575050565b620036209160008060405193620035cc8562000f7e565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46200361962003673565b91620036a8565b50565b506000620035ac565b906200363882620034e4565b6001600160a01b038216600080516020620056c3833981519152600080a28051158015906200366a57620035b5575050565b506001620035ac565b3d15620036a3573d90620036878262000ff3565b9162003697604051938462000fae565b82523d6000602084013e565b606090565b919290156200370d5750815115620036be575090565b3b15620036c85790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620037215750805190602001fd5b60405162461bcd60e51b8152908190620015fa906004830162002743565b156200374757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b620005f690620029ac60ff60005460081c166200373f565b5190620005f682620005d5565b908160209103126200050a57516200067d81620005d5565b6033546001600160a01b0316803b620037f35790565b604051638da5cb5b60e01b8152602081600481855afa6000918162003822575b506200381d575090565b905090565b6200383f91925060203d8111620014365762001424818362000fae565b903862003813565b6001600160a01b0391821681529116602082015260400190565b919290926000549360ff8560081c16158095819662003994575b811562003971575b50156200391557620038ae9385620038a3600160ff196000541617600055565b620038fa5762003fa5565b620038b557565b620038c661ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1565b6200390f61010061ff00196000541617600055565b62003fa5565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b303b1591508162003985575b503862003883565b6001915060ff1614386200397d565b600160ff82161091506200387b565b818110620039af575050565b60008155600101620039a3565b90601f8211620039ca575050565b620005f6916101086000526020600020906020601f840160051c83019310620039fc575b601f0160051c0190620039a3565b9091508190620039ee565b90601f821162003a15575050565b620005f6916101096000526020600020906020601f840160051c83019310620039fc57601f0160051c0190620039a3565b80519091906001600160401b03811162000f24576101089062003a758162003a6f8454620026ba565b620039bc565b602080601f831160011462003ab457508192939460009262003aa8575b50508160011b916000199060031b1c1916179055565b01519050388062003a92565b610108600052601f198316959091907f8543e9adbfbe1f62b7411fdf032fcfea758a7d6b332f64d971a1334c2ff364dd926000905b88821062003b245750508360019596971062003b0a575b505050811b019055565b015160001960f88460031b161c1916905538808062003b00565b8060018596829496860151815501950193019062003ae9565b80519091906001600160401b03811162000f24576101099062003b6c8162003b668454620026ba565b62003a07565b602080601f831160011462003b9e57508192939460009262003aa85750508160011b916000199060031b1c1916179055565b610109600052601f198316959091907fd7f48d1c2d4fdcceabee32a4fd1437f382c65f0f9af09a878c95c20147dc06a8926000905b88821062003bf35750508360019596971062003b0a57505050811b019055565b8060018596829496860151815501950193019062003bd3565b6001600160401b03811162000f245760051b60200190565b60209081818403126200050a578051906001600160401b0382116200050a57019180601f840112156200050a57825162003c5e8162003c0c565b9362003c6e604051958662000fae565b818552838086019260051b8201019283116200050a578301905b82821062003c97575050505090565b838091835162003ca781620005d5565b81520191019062003c88565b6040519062003cc28262000f62565b600382526060366020840137565b9062003cdc8262003c0c565b62003ceb604051918262000fae565b828152809262003cfe601f199162003c0c565b0190602036910137565b60001981146200294e5760010190565b805182101562000d125760209160051b010190565b6000198101919082116200294e57565b6001198101919082116200294e57565b919082039182116200294e57565b9060009161010880549162003d7083620026ba565b91828252600193848116908160001462003dd7575060011462003d94575b50505050565b90919394506000526020928360002092846000945b83861062003dc257505050500101903880808062003d8e565b80548587018301529401938590820162003da9565b9294505050602093945060ff191683830152151560051b0101903880808062003d8e565b90604060206200067d938051845201519181602082015201906200271c565b90815180825260208080930193019160005b82811062003e3b575050505090565b83516001600160a01b03168552938101939281019260010162003e2c565b906200067d949262003e8b91835260a0602084015262003e7c60a0840162003d5b565b90838203604085015262003dfb565b6001600160a01b03909316606082015280830360809091015262003e1a565b8054600082558062003eba575050565b620005f691600052602060002090810190620039a3565b9060031b9160018060a01b03809116831b921b19161790565b8051906001600160401b03821162000f2457600160401b821162000f245761010f90815483835580841062003f57575b50602080910191600052806000209060005b84811062003f3b575050505050565b83516001600160a01b0316838201559281019260010162003f2c565b62003f7190836000528460206000209182019101620039a3565b3862003f1a565b90916200067d9282526060602083015262003f966060830162003d5b565b91604081840391015262003dfb565b909262003fb290620037a0565b62003fbc62004514565b62003fc662004498565b62003fd0620044ab565b60208082019262003ff062003fea62000b978651620005c9565b62004539565b61010083016200400962003fea62000b978351620005c9565b6200401962003fea8551620005c9565b60a084016200402d62003fea8251620005c9565b620040a16200407f606087019788516200447f575b620040786200405662000b978a51620005c9565b61010780546001600160a01b0319166001600160a01b03909216919091179055565b51620005c9565b61010580546001600160a01b0319166001600160a01b03909216919091179055565b6040958686018051156200446e5792620041416200411f6200417b94620040db62000b9795620040d56200419d995160fb55565b5160fc55565b620040ff620040ee6101408c0151151590565b60ff8019815416911515161760ff55565b6200410f6101208b015162003a46565b620040786101608b015162003b3d565b61010080546001600160a01b0319166001600160a01b03909216919091179055565b620040786200415460c0890151620005c9565b60ff8054610100600160a81b03191660089290921b610100600160a81b0316919091179055565b61010680546001600160a01b0319166001600160a01b03831617905562002ed9565b600482620041b262000b9761010754620005c9565b8651635ab1bd5360e01b815292839182905afa80156200083057620041fe916000916200444c575b5061010480546001600160a01b0319166001600160a01b0392909216919091179055565b6000946200421362000b9761010654620005c9565b95863b6200438e5750620042bc90620042666200422f62003cb3565b976200424f33620042408b620030d7565b6001600160a01b039091169052565b620042406200425f8a5162003d2d565b8a62003d18565b6200427b30620042406200425f8a5162003d3d565b83876200428f62000b9761010454620005c9565b60e06080890151980197600089518b5197889586948593633a92f65f60e01b855230916004860162003e59565b03925af191821562000830577f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205976200430d6200433594620043139362004357986000926200436c575b505060fe55565b62003eea565b61010280546001600160a01b0319166001600160a01b03909216919091179055565b61010180546001600160a01b0319166001600160a01b03909216919091179055565b620038f560fe54915192519283928362003f78565b620043869250803d10620008285762000817818362000fae565b388062004306565b94929095969391835163a0e67e2b60e01b815286816004818c5afa9687156200083057809762004422575b5050620043d1620043cb875162003074565b62003cd0565b9660005b87518110156200440a578062002021620043f862001c6262004404948c62003d18565b62004240838d62003d18565b620043d5565b5090929497620042bc9294965062004266906200424f565b620044439297503d8091833e6200443a818362000fae565b81019062003c24565b943880620043b9565b620044679150843d8611620014365762001424818362000fae565b38620041da565b87516363868c5560e11b8152600490fd5b6200449262003fea60c08a0151620005c9565b62004042565b620005f660ff60005460081c166200373f565b60008051602062005603833981519152600081815260c96020527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da5881980549082905590917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4565b6200453260ff60005460081c166200452c816200373f565b6200373f565b6001606555565b6001600160a01b0316156200454a57565b6040516303988b8160e61b8152600490fd5b6001600160a01b0390911681526040602082018190526200067d929101906200271c565b6040519061010f828154918282526020928383019160005283600020936000905b828210620045ba57505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045a1565b9060405191828154918282526020928383019160005283600020936000905b8282106200461657505050620005f69250038362000fae565b85546001600160a01b031684526001958601958895509381019390910190620045fd565b634e487b7160e01b600052602160045260246000fd5b9060038210156200465e5752565b6200463a565b600411156200465e57565b9060048210156200465e5752565b620005f6909291926101c060c06101e08301956060815180518652602081015160208701526040810151604087015201516060850152620046c76020820151608086019062004650565b620046db604082015160a08601906200466f565b6060810151518483015260808181015180516001600160a01b0390811660e0880152602082015116610100870152604081015161012087015260608101516101408701529081015161016086015260a0015161018085015260a08101516001600160a01b03166101a085015201516001600160a01b0316910152565b9490916200478d620047a9946200067d989694885260018060a01b03809316602089015260e0604089015260e08801906200271c565b921660608601526000608086015284820360a086015262003dfb565b9160c081840391015262003e1a565b9081526001600160a01b0391821660208201529181166040830152909116606082015260a0608082018190526200067d9291019062003dfb565b9093919273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b03861662004906575b60206200486082968360006200483162004580565b926200488e6200484862000b9761010754620005c9565b946200486f60fe54936040519889918b83016200467d565b03601f19810189528862000fae565b896040519b8c98899788966370803ea560e11b88526004880162004757565b03925af191821562000830577f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d28393600093620048dc575b50620038f5908397604051948594309186620047b8565b620038f5919350620048fe9060203d8111620008285762000817818362000fae565b9290620048c5565b8592506200481c565b906040516200491e8162000f7e565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b908160209103126200050a57516200067d81620017e0565b6001600160a01b039091168152602081019190915260400190565b8054909262004995926001600160a01b039091169162003ed1565b9055565b805490600160401b82101562000f245781620049bf916001620049959401815562000cf9565b815491936001600160a01b03169162003ed1565b6001600160a01b03918216815291166020820152604081019190915260600190565b60018060a01b0380911660005261010c60205260ff600260406000206040519362004a208562000f7e565b8154168452600181015460208501520154161590604082159101526200216757565b6001600160a01b0316600090815261010a602052604090205460ff161562004a6657565b6040516346c26e4b60e01b8152600490fd5b8054801562004aa857600019019062004a92828262000cf9565b81549060018060a01b039060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b909160018060a01b0380921660005261010d602052604060002060005b8154908181101562004b6e5762004af3818462000cf9565b905460039391841b1c86168787161462004b1b575b5062004b15915062003d08565b62004adb565b60001981019081116200294e5762004b159262004b3a87928662000cf9565b9054911b1c1662004b5a62004b50838662000cf9565b8193915462003ed1565b905562004b678362004a78565b3862004b08565b505050915050565b60026065541462004b88576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9062004c089062004bf9620005f6956040519586936323b872dd60e01b602086015260248501620049d3565b03601f19810184528362000fae565b60405162004c65916001600160a01b031662004c248262000f08565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16200361962003673565b805182811591821562004cd7575b505090501562004c805750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b83809293500103126200050a5781015162004cf281620010b7565b80823862004c73565b3360005261010c602052604060002060ff60026040519262004d1d8462000f7e565b80546001600160a01b03168452600181015460208501520154161580156040909201919091526200216757565b62004c08620005f6939262004bf960405194859263a9059cbb60e01b6020850152602484016200495f565b6040519060208083018160006301ffc9a760e01b958684528660248201526024815262004da28162000f7e565b51617530938685fa933d600051908662004e55575b508562004e4a575b508462004de0575b5050508162004dd4575090565b6200067d915062004e61565b83945090600091839460405185810192835263ffffffff60e01b60248201526024815262004e0e8162000f7e565b5192fa60005190913d8362004e3e575b50508162004e33575b50159038808062004dc7565b905015153862004e27565b10159150388062004e1e565b151594503862004dbf565b84111595503862004db7565b6000602091604051838101906301ffc9a760e01b825263f1801e6160e01b60248201526024815262004e938162000f7e565b5191617530fa6000513d8262004eb6575b508162004eaf575090565b9050151590565b6020111591503862004ea4565b91906040838203126200050a5760405162004ede8162000f08565b83518152602084015190938491906001600160401b0382116200050a57019082601f830112156200050a5781519162004f178362000ff3565b9362004f27604051958662000fae565b838552602084830101116200050a5760209262004f4a91848087019101620026f7565b0152565b906020828203126200050a5781516001600160401b03928382116200050a570160c0818303126200050a576040519262004f888462000f2a565b81518452602082015162004f9c81620005d5565b602085015262004faf60408301620037b8565b604085015260608201519081116200050a5760a09262004fd191830162004ec3565b606084015260808101516080840152015160a082015290565b6000805160206200560383398151915260005260c960205260ff6200501f33600080516020620056e383398151915262000ccc565b5416156200502957565b60405163fc4be72f60e01b8152336004820152602490fd5b6001600160a01b0316600081815261010a602081905260409091205460ff16620050a957816020917f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19360005282526040600020600160ff19825416179055604051908152a1565b6040516325a2934b60e21b8152600490fd5b60207f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491620050ea8162004539565b6001600160a01b0316600081815261010a8352604090819020805460ff1916905551908152a1565b9060009160018060a01b038116835261010d60205260409062005137828520620045de565b845b8151811015620051ca576200515b62000b9762000b9762001c62848662003d18565b90813b15620051c6578685518093631914f67160e21b8252818381620051858a6004830162000d18565b03925af19182156200083057620051a292620051a8575062003d08565b62005139565b80620051b8620051bf9262000f9a565b806200050f565b3862001cb4565b8680fd5b50505050905056fe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3ba867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818a2646970667358221220f188929cd53be135d5092dbf639902589375592e211f9b10901618b7626cc1ce64736f6c6343000813003360a080604052346100315730608052611cff90816100378239608051818181610a8f01528181610b920152610e2b0152f35b600080fdfe60808060405260043610156200001457600080fd5b60003560e01c90816302c1d0b1146200131f575080630a992e0c14620012ae5780631459457a14620010c25780631b71f0e414620010795780633659cfe61462000e025780634f1ef2861462000b3d57806352d1902d1462000a7a5780635a2c8ace14620009ec5780635c94e4d214620009c15780635decae021462000978578063715018a6146200092857806377122d5614620008fd5780638279c7db14620008915780638da5cb5b1462000860578063987435be1462000759578063affed0e01462000840578063b0d3713a14620007f7578063b5b3ca2c1462000784578063b8bed9011462000759578063beb331a31462000328578063c4d66de81462000298578063f2fde38b1462000200578063f5016b5e14620001ba5763ffa1ad74146200014057600080fd5b34620001b5576000366003190112620001b55760408051908101906001600160401b038211818310176200019f576200019b9160405260038152620302e360ec1b60208201526040519182916020835260208301906200142a565b0390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b34620001b5576020366003190112620001b5576001600160a01b03620001df62001345565b166000526066602052602060ff600160406000200154166040519015158152f35b34620001b5576020366003190112620001b5576200021d62001345565b620002276200146c565b6001600160a01b0381161562000244576200024290620014ce565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34620001b5576020366003190112620001b557620002b562001345565b60ff60005460081c1615620002cf576200024290620014ce565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b34620001b557600319602036820112620001b5576001600160401b0360043511620001b5576101808160043536030112620001b5576040519061018082016001600160401b038111838210176200019f576040526200038c6004356004016200135c565b8252600435602401356001600160a01b0381168103620001b5576020830152600435604481013560408401526064810135606084015260848101356080840152620003da9060a4016200135c565b60a0830152620003ef60c4600435016200135c565b60c083015260043560e401356001600160401b038111620001b55760409060043501918236030112620001b55760408051919082016001600160401b038111838210176200019f57604052600481013582526024810135906001600160401b038211620001b557600462000467923692010162001409565b602082015260e082015260043561010401356001600160a01b0381168103620001b55761010082015260043561012401356001600160401b038111620001b557620004ba90600436918135010162001409565b61012082015260043561014401358015159003620001b5576004356101448101356101408301526001600160401b036101649091013511620001b5576200050d3660048035610164810135010162001409565b610160820152606554600019811462000743576001810160655560808201523060a0820152606854606954606a546001600160a01b03928316936200066b9362000695939192918116911662000562620016dd565b60408051633419635560e01b60208083019190915260806024830181905287516001600160a01b0390811660a485015282890151811660c48501528885015160e485015260608901516101048501529088015161012484015260a0880151811661014484015260c08801511661016483015260e08701516101806101848401528051610224840152015161024482019290925296879592939290916200060e906102648801906200142a565b6101008201516001600160a01b03166101a488015261012082015187820360a3199081016101c48a015291610160916200064991906200142a565b9261014081015115156101e48a0152015190878303016102048801526200142a565b604485019390935260648401526001600160a01b0316608483015203601f1981018352826200138d565b6040519161041080840192906001600160401b038411858510176200019f578493620006d4936040926200179a8739815281602082015201906200142a565b03906000f08015620007375760209060018060a01b031680600052606682526001604060002001600160ff198254161790557fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc2982604051838152a1604051908152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b34620001b5576000366003190112620001b5576067546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b5577fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c6040620007c462001345565b60243590620007d26200146c565b60018060a01b03169081600052606660205280836000205582519182526020820152a1005b34620001b5576020366003190112620001b5576200081462001345565b6200081e6200146c565b606a80546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576020606554604051908152f35b34620001b5576000366003190112620001b55760206200087f620016dd565b6040516001600160a01b039091168152f35b34620001b5576020366003190112620001b55760008051602062001c4a8339815191526020620008c062001345565b620008ca6200146c565b620008d58162001776565b606780546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b34620001b5576000366003190112620001b557606a546040516001600160a01b039091168152602090f35b34620001b5576000366003190112620001b557620009456200146c565b603380546001600160a01b031981169091556000906001600160a01b031660008051602062001c0a8339815191528280a3005b34620001b5576020366003190112620001b5576200099562001345565b6200099f6200146c565b606880546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b5576000366003190112620001b5576069546040516001600160a01b039091168152602090f35b34620001b5576040366003190112620001b55762000a0962001345565b60243590811515809203620001b5577fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f629160409162000a476200146c565b60018060a01b0316908160005260666020526001836000200160ff1981541660ff831617905582519182526020820152a1005b34620001b5576000366003190112620001b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000ad757602060405160008051602062001bea8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b6040366003190112620001b55762000b5462001345565b6024356001600160401b038111620001b55736602382011215620001b55762000b88903690602481600401359101620013cd565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919062000bc33084141562001506565b62000be360008051602062001bea83398151915293828554161462001557565b62000bed620016dd565b813391160362000dd95760008051602062001baa8339815191525460ff161562000c1f575050506200024290620015a8565b8316604051926352d1902d60e01b84526020938481600481865afa6000918162000da4575b5062000c955760405162461bcd60e51b815260048101869052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9392930362000d5e5762000ca984620015a8565b60008051602062001c2a833981519152600080a281511580159062000d55575b62000cd057005b62000242926000806040519462000ce78662001371565b6027865260008051602062001c8a83398151915285870152660819985a5b195960ca1b60408701528481519101845af4903d1562000d4b573d62000d2b81620013b1565b9062000d3b60405192836200138d565b8152600081943d92013e6200163a565b606092506200163a565b50600162000cc9565b60405162461bcd60e51b8152600481018390526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d831162000dd1575b62000dbf81836200138d565b81010312620001b55751908762000c44565b503d62000db3565b60449062000de6620016dd565b60405163163678e960e01b815233600482015291166024820152fd5b34620001b557602080600319360112620001b55762000e2062001345565b6001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000831662000e5a3082141562001506565b62000e7a60008051602062001bea83398151915291858354161462001557565b62000e84620016dd565b84339116036200106c57604051828101949091906001600160401b038611838710176200019f57856040526000835260ff60008051602062001baa833981519152541660001462000edf5750505050620002429150620015a8565b8492939416906040516352d1902d60e01b81528581600481865afa6000918162001037575b5062000f555760405162461bcd60e51b815260048101879052602e602482015260008051602062001caa83398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940362000ff15762000f6982620015a8565b60008051602062001c2a833981519152600080a282511580159062000fe8575b62000f9057005b60008062000242956040519562000fa78762001371565b6027875260008051602062001c8a83398151915286880152660819985a5b195960ca1b60408801525190845af4903d1562000d4b573d62000d2b81620013b1565b50600062000f89565b60405162461bcd60e51b8152600481018490526029602482015260008051602062001c6a8339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d831162001064575b6200105281836200138d565b81010312620001b55751908862000f04565b503d62001046565b60448462000de6620016dd565b34620001b5576020366003190112620001b5576200109662001345565b620010a06200146c565b606980546001600160a01b0319166001600160a01b0392909216919091179055005b34620001b55760a0366003190112620001b557620010df62001345565b6001600160a01b039060243590828216808303620001b55760443591848316808403620001b557606435868116809103620001b55760843596871692838803620001b5576000549760ff8960081c16159889809a620012a0575b801562001287575b156200122b5760ff1981166001176000558962001218575b5060ff60005460081c1615620002cf576200119f6020976200119f60008051602062001c4a8339815191529a62001194620011a596620014ce565b600060655562001776565b62001776565b60018060a01b03199184836067541617606755826068541617606855816069541617606955606a541617606a55604051908152a1620011e057005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558962001159565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620011415750600160ff82161462001141565b50600160ff82161062001139565b34620001b5576020366003190112620001b5576001600160a01b03620012d362001345565b1680600052606660205260ff6001604060002001541615620013075760005260666020526020604060002054604051908152f35b6024906040519063f5a6943d60e01b82526004820152fd5b34620001b5576000366003190112620001b5576068546001600160a01b03168152602090f35b600435906001600160a01b0382168203620001b557565b35906001600160a01b0382168203620001b557565b606081019081106001600160401b038211176200019f57604052565b601f909101601f19168101906001600160401b038211908210176200019f57604052565b6001600160401b0381116200019f57601f01601f191660200190565b929192620013db82620013b1565b91620013eb60405193846200138d565b829481845281830111620001b5578281602093846000960137010152565b9080601f83011215620001b5578160206200142793359101620013cd565b90565b919082519283825260005b84811062001457575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162001435565b62001476620016dd565b336001600160a01b03909116036200148a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b03198216811790925590911660008051602062001c0a833981519152600080a3565b156200150e57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156200155f57565b60405162461bcd60e51b815260206004820152602c602482015260008051602062001bca83398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15620015df5760008051602062001bea83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156200169f575081511562001650575090565b3b156200165a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620016b35750805190602001fd5b60405162461bcd60e51b815260206004820152908190620016d99060248301906200142a565b0390fd5b6033546001600160a01b0390811690813b620016f7575090565b604051638da5cb5b60e01b8152602081600481865afa91829160009362001729575b505062001724575090565b905090565b602093919293813d82116200176d575b8162001748602093836200138d565b81010312620017695751918216820362001766575090388062001719565b80fd5b5080fd5b3d915062001739565b6001600160a01b0316156200178757565b6040516303988b8160e61b8152600490fdfe604060808152610410908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160cb90816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615604157600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f35b3d90fd5b600080516020607683398151915254600090819081906001600160a01b0316368280378136915af43d82803e15603d573d90f3fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122061847e96a7ec765809df85dd5b5b49051bdf3e8e4e4c0efdb74ab6f0065c6dcf64736f6c634300081300334910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3bbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d45524331393637557067726164653a20756e737570706f727465642070726f78416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a26469706673582212202603895606627d30f087fd8adf07ada9eea272be6ef90f42f36294ada33872d464736f6c634300081300330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d9081016040528093929190818152602001838380828437600081840152601f1937fa166cbdbfbb1561ccd9ea985ec0218b5e68502e230525f544285b2bdf3d7e01838380828437600081840152601f19601f820116905080830192505050505080601f0160208091040260200160405190810160405280939291908181526020a2646970667358221220b050d705d1c43bcd25e7a913b472f5ef5cfb324e242fea4bdfd948498dda76ac64736f6c63430008130033","sourceMap":"342:2390:95:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;:::o;:::-;;;;;-1:-1:-1;;;;;342:2390:95;;:::o;:::-;-1:-1:-1;;;;;342:2390:95;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;20344:19:20;342:2390:95;;20303:22:20;;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;20303:22:20;;;;;;;;;:::i;:::-;342:2390:95;20293:33:20;;342:2390:95;;-1:-1:-1;;;;;;20344:19:20;;342:2390:95;20344:19:20;;342:2390:95;;;;;;;;;;;;20344:19:20;;342:2390:95;20303:22:20;342:2390:95;-1:-1:-1;;;;;;;;;;;20344:19:20;;;;;;;;;;;;;;;;342:2390:95;20373:20:20;;;;;;;342:2390:95;;;192:59:18;;;;;;;;;20373:20:20;;;342:2390:95;20373:20:20;;;:::i;:::-;;;;;;;;;;342:2390:95;20373:20:20;;;342:2390:95;;;;;;;;;:::i;:::-;;;;20373:20:20;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;342:2390:95;;;20344:19:20;;;;;20303:22;20344:19;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;:::o;:::-;20303:22:20;342:2390:95;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;342:2390:95;;;;20303:22:20;342:2390:95;-1:-1:-1;;342:2390:95;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;342:2390:95;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;342:2390:95;;;;;59408:60:113;342:2390:95;;;;;;:::i;:::-;59434:33:113;59408:60;59434:33;;;;;:::i;:::-;342:2390:95;;-1:-1:-1;;;59408:60:113;;342:2390:95;;;;59408:60:113;;342:2390:95;;;;;;;;;;;;;;;;;59408:60:113;;;-1:-1:-1;;;;;;;;;;;59408:60:113;;;;;;;60164:147;59408:60;59491:25;59408:60;59858:1;;;;59408:60;;;342:2390:95;;59858:1:113;342:2390:95;;59491:25:113;;342:2390:95;;;59491:25:113;;;;;;;:::i;:::-;;20303:22:20;;59491:25:113;;;;;;:::i;:::-;342:2390:95;;-1:-1:-1;;;60164:147:113;;342:2390:95;;;;;;;;60164:147:113;;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;60164:147:113;;;;;;60140:219;60164:147;59858:1;60164:147;;;342:2390:95;;;;:::i;:::-;60140:219:113;;:::i;:::-;342:2390:95;60164:147:113;;;;59491:25;60164:147;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;59408:60;59491:25;59408:60;;59858:1;59408:60;;;59491:25;59408:60;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;-1:-1:-1;59408:60:113;;;;-1:-1:-1;59408:60:113;;;;;;;342:2390:95;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;718:28:113;342:2390:95;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;1829:38:93;342:2390:95;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;306:4:15;342:2390:95;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;975:74:113;342:2390:95;;;;;:::i;:::-;1022:25:113;;:::i;:::-;975:74;;:::i;342:2390:95:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2563:16:22;342:2390:95;;;;;;;;;2563:16:22;342:2390:95;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20303:22:20;342:2390:95;-1:-1:-1;;342:2390:95;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:19:22;342:2390:95;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;841:8:112;342:2390:95;;;;;;;;;-1:-1:-1;;342:2390:95;;;;2384:71:93;342:2390:95;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;342:2390:95;;;;-1:-1:-1;342:2390:95;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2340:37:93;342:2390:95;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;2340:37:93;342:2390:95;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;2251:32:93;342:2390:95;;;;;;;;;;;;;;;;;;;;668:109:112;342:2390:95;;;;;;668:109:112;342:2390:95;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;668:109:112;342:2390:95;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3331:16:22;342:2390:95;;;;;;;;;3331:16:22;342:2390:95;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;898:7:112;342:2390:95;;;;;;;;;;;;;;;;;;;;;3038:18:22;342:2390:95;;;;;;;;;3038:18:22;342:2390:95;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;1426:16:15;;:::i;:::-;342:2390:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;828:25:113;342:2390:95;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;1874:66:93;342:2390:95;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;-1:-1:-1;;;;;;342:2390:95;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;2883:26:22;342:2390:95;;;;:::i;:::-;;;;;;;:::i;:::-;;;;2883:26:22;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;192:59:18;342:2390:95;:::i;:::-;;;;;;;;;;;;;;;;192:59:18;;;;342:2390:95;:::i;:::-;;;;;;;;;;;;;;;;192:59:18;342:2390:95;192:59:18;;342:2390:95;:::i;:::-;;;;;;;;;;;;;;;;192:59:18;342:2390:95;192:59:18;;342:2390:95;:::i;:::-;;;;;;;;;;;;;;;;192:59:18;;;;342:2390:95;:::i;:::-;;;;;;;;;;;;;;;;192:59:18;342:2390:95;192:59:18;;342:2390:95;:::i;:::-;;;;;;;;;;;;;;;;192:59:18;;;;342:2390:95;:::i;:::-;;;;;;;;192:59:18;342:2390:95;192:59:18;;;;;;342:2390:95;:::i;:::-;;;;;;;;;;;;;;;;;;;;;192:59:18;;342:2390:95;192:59:18;;;;342:2390:95;:::i;:::-;-1:-1:-1;;;;;;342:2390:95;;;;192:59:18;;342:2390:95;;;;192:59:18;;;;;342:2390:95;:::i;:::-;;;;;;;192:59:18;;;;;342:2390:95;:::i;:::-;;;;;;192:59:18;;342:2390:95;;;;;192:59:18;;;;;342:2390:95;:::i;:::-;;192:59:18;;;342:2390:95;:::i;:::-;;;192:59:18;;342:2390:95;192:59:18;;342:2390:95;:::i;:::-;;;192:59:18;;;342:2390:95;:::i;:::-;;;192:59:18;;342:2390:95;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;689:23:113;342:2390:95;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;342:2390:95;;;;;59668:6:113;342:2390:95;;;;;;:::i;:::-;59626:11:113;342:2390:95;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;59668:6:113;:::i;342:2390:95:-;;;;;;;;;;;;;2900:16:15;;:::i;:::-;342:2390:95;;:::i;:::-;20344:19:20;342:2390:95;;20303:22:20;;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;20344:19:20:-;;342:2390:95;20303:22:20;342:2390:95;-1:-1:-1;;;;;;;;;;;20344:19:20;;;;;;;;;;;;;;;;342:2390:95;20373:20:20;;;;;;;342:2390:95;;;192:59:18;;;;;;;;;20373:20:20;;;342:2390:95;20373:20:20;;;:::i;:::-;;;;;;;;;;342:2390:95;20373:20:20;2926:32:15;20373:20:20;;;342:2390:95;2926:32:15;;;;:::i;:::-;;:::i;:::-;2968;20537:20:20;342:2390:95;;:::i;:::-;20537:20:20;:::i;:::-;2968:32:15;;;;:::i;:::-;342:2390:95;;;;;;;:::i;20373:20:20:-;;;;;;:::i;:::-;;;;20344:19;;;;;20303:22;20344:19;;;;;;;;;:::i;:::-;;;;;342:2390:95;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;788:34:113;342:2390:95;;;;;;;;;;;;;;;;;;;;2094:16:15;;:::i;:::-;342:2390:95;;:::i;:::-;20344:19:20;342:2390:95;;20303:22:20;;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;20344:19:20:-;;342:2390:95;20303:22:20;342:2390:95;-1:-1:-1;;;;;;;;;;;20344:19:20;;;;;;;;;;;;;;;;342:2390:95;20373:20:20;;;;;;;342:2390:95;;;192:59:18;;;;;;;;;20373:20:20;;;342:2390:95;20373:20:20;;;:::i;:::-;;;;;;;;;;342:2390:95;20373:20:20;2120:29:15;20373:20:20;;;2120:29:15;;;;:::i;:::-;2159;20537:20:20;342:2390:95;;:::i;20344:19:20:-;;;;;20303:22;20344:19;;;;;;;;;:::i;:::-;;;;;342:2390:95;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;2061:33:93;342:2390:95;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;1946:20:93;342:2390:95;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2707:18:22;342:2390:95;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;2707:18:22;342:2390:95;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;342:2390:95;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;2213:31:93;342:2390:95;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;753:29:113;342:2390:95;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;3190:18:22;342:2390:95;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3190:18:22;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;192:59:18;;342:2390:95;192:59:18;;;;342:2390:95;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;2000:27:93;342:2390:95;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;4445:42:9;342:2390:95;;;;;;;;;;;;;;;;3712:16:15;;:::i;:::-;342:2390:95;;:::i;:::-;20344:19:20;342:2390:95;;20303:22:20;;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;20344:19:20:-;;342:2390:95;20303:22:20;342:2390:95;-1:-1:-1;;;;;;;;;;;20344:19:20;;;;;;;;;;;;;;;;342:2390:95;20373:20:20;;;;;;;342:2390:95;;;192:59:18;;;;;;;;;20373:20:20;;;342:2390:95;20373:20:20;;;:::i;:::-;;;;;;;;;;342:2390:95;20373:20:20;3738:32:15;20373:20:20;;;3738:32:15;;;;:::i;:::-;3780;20537:20:20;342:2390:95;;:::i;20344:19:20:-;;;;;20303:22;20344:19;;;;;;;;;:::i;:::-;;;;;342:2390:95;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;;;;;;;;2273:18:22;342:2390:95;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;2273:18:22;342:2390:95;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;:::i;:::-;;;;;;;;;;;;;3821:3:93;342:2390:95;;;;;:::i;:::-;;;;3821:3:93;:::i;:::-;342:2390:95;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;342:2390:95;;;:::o;:::-;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;:::o;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;;;596:42:113;342:2390:95;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;;;507:42:113;342:2390:95;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;20344:19:20:-;;342:2390:95;;;-1:-1:-1;;;;;;;;;;;20344:19:20;;;;;;;;;;;;;;;;342:2390:95;20373:20:20;;;;;;;342:2390:95;;;192:59:18;;;;;;;;;20373:20:20;;;342:2390:95;20373:20:20;;;:::i;:::-;;;;;;;;;;342:2390:95;20373:20:20;;;342:2390:95;-1:-1:-1;342:2390:95;;;;;-1:-1:-1;;;;;342:2390:95;;;:::i;20373:20:20:-;;;;;;:::i;:::-;;;;20344:19;;;;;342:2390:95;20344:19:20;;;;;;;;;:::i;:::-;;;;;342:2390:95;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;;;;;;;;57360:15:113;342:2390:95;;;;;;192:59:18;;;57352:24:113;;;342:2390:95;;57352:24:113;342:2390:95;57352:24:113;;;;342:2390:95;;;;;;;;57352:24:113;;342:2390:95;;;-1:-1:-1;;;;;;;;;;;57352:24:113;;;;;;;;;57335:41;57352:24;;;;;342:2390:95;-1:-1:-1;57335:41:113;1590:14:16;;-1:-1:-1;;;;;;1590:14:16;-1:-1:-1;;;;;342:2390:95;;;;1590:14:16;;;;;;;57335:41:113;342:2390:95;57335:41:113;342:2390:95;;:::i;:::-;57386:42:113;;;;;;342:2390:95;;-1:-1:-1;;;57386:42:113;;;-1:-1:-1;;;;;342:2390:95;;;57386:42:113;;;342:2390:95;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;192:59:18;;342:2390:95;;;;;;57386:42:113;;;;;;;;;;;;342:2390:95;;;;;;;;57443:20:113;342:2390:95;57451:11:113;342:2390:95;;:::i;:::-;57443:20:113;:::i;:::-;342:2390:95;57443:34:113;57439:1248;;342:2390:95;;;;57451:11:113;342:2390:95;;:::i;:::-;;;;;;;;:::i;57439:1248:113:-;57516:25;;;:::i;:::-;57556:39;57573:22;57581:13;;:::i;57573:22::-;57556:39;1590:14:16;;-1:-1:-1;;;;;;1590:14:16;-1:-1:-1;;;;;342:2390:95;;;;1590:14:16;;;;;;;57556:39:113;342:2390:95;57609:42:113;;;;;342:2390:95;;57609:42:113;;;;;;;;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;57609:42:113;;;;;;;;;;;;57827:77;57609:42;;;;;57439:1248;342:2390:95;;57556:39:113;342:2390:95;;:::i;:::-;;;;:::i;:::-;;;;;;192:59:18;;;;;;;;;;57827:77:113;;;;;:::i;:::-;;;;;;;;;;57919:40;57827:77;;;;;57439:1248;-1:-1:-1;;57451:11:113;342:2390:95;;-1:-1:-1;;;;;;342:2390:95;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;57919:40:113;58131:20;342:2390:95;57451:11:113;342:2390:95;;:::i;58131:20:113:-;58122:45;;;;;;342:2390:95;;58122:45:113;;;-1:-1:-1;;;;;342:2390:95;;;58122:45:113;;;342:2390:95;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;58122:45:113;;;;;;;;;;57439:1248;58243:16;;;:::i;:::-;58309:35;342:2390:95;57335:41:113;342:2390:95;;:::i;:::-;58309:35:113;;;:::i;:::-;58358:63;;;;:::i;:::-;58378:42;342:2390:95;;;58358:63:113;58435;;;;:::i;:::-;58455:42;342:2390:95;;;58435:63:113;58548:17;342:2390:95;57451:11:113;342:2390:95;;:::i;58548:17:113:-;:92;;;;;;342:2390:95;;;;192:59:18;;;;;;;;;58548:92:113;;;;;:::i;:::-;;;;;;;;;;342:2390:95;58548:92:113;;;57439:1248;;;;;;;58548:92;;;;;;:::i;:::-;;;;58122:45;;;;;;:::i;:::-;;;;;342:2390:95;;;57827:77:113;;;;;;-1:-1:-1;57827:77:113;;;;;;:::i;:::-;;;;;57609:42;;;;;;:::i;:::-;;;;;342:2390:95;;;57386:42:113;;;;;;:::i;:::-;;;;57352:24;;;;;;;;;;;;;;:::i;:::-;;;;342:2390:95;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;2421:18:22;342:2390:95;;;;;;;;;2421:18:22;342:2390:95;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;-1:-1:-1;;;1082:7:112;342:2390:95;1590:14:16;;;342:2390:95;5480:12:112;;;342:2390:95;;;;;5583:17:112;5617:5;;;342:2390:95;6107:103:112;6108:94;6109:82;342:2390:95;6136:54:112;342:2390:95;6180:9:112;6137:38;6110:21;342:2390:95;;6110:21:112;;:::i;:::-;342:2390:95;6155:19:112;6137:14;342:2390:95;;6137:14:112;:::i;:::-;6155:19;;:::i;:::-;6137:38;;:::i;:::-;6180:9;;:::i;:::-;6136:54;;:::i;:::-;6109:82;;:::i;:::-;6108:94;:::i;:::-;342:2390:95;;988:8:112;;5610:215;342:2390:95;;5642:5:112;;;5646:1;;5676:10;;;;:::i;:::-;342:2390:95;;5638:177:112;;;5610:215;;;;5638:177;5760:16;;;;;5794:6;5760:16;;:::i;:::-;5794:6;;:::i;:::-;5638:177;;;;342:2390:95;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;20344:19:20;342:2390:95;;;20303:22:20;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;:::-;;;;;;;;;;;;;;;;2290:44:93;342:2390:95;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2290:44:93;342:2390:95;;;;-1:-1:-1;;;;;;;;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;342:2390:95;;;;;;800:28:17;342:2390:95;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;1016:26:29;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;1440:1:15;342:2390:95;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;681:1:113;342:2390:95;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;56964:1:113;342:2390:95;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2977:1:15;342:2390:95;;;;;;;:::o;:::-;;;58442:1:113;342:2390:95;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;342:2390:95;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;:::o;192:59:18:-;;;;;;;;;;;:::o;:::-;342:2390:95;;192:59:18;;;;;;;1243:204;1302:7;342:2390:95;;;;;;;1325:14:18;:::o;1298:143::-;342:2390:95;;;192:59:18;;;1377:39;;;342:2390:95;192:59:18;342:2390:95;-1:-1:-1;;;;;;;;;;;1377:39:18;;;;342:2390:95;192:59:18;;;;;;342:2390:95;1377:39:18;;;;;;;-1:-1:-1;1377:39:18;;;1298:143;1377:53;;;1370:60;:::o;1377:39::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;342:2390:95;;;;;;;;;;;;;:::i;:::-;;;:::o;291:59:20:-;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;342:2390:95;;;;;291:59:20;;;;;;;;;;;;;:::i;20158:242::-;;342:2390:95;;20303:22:20;;;342:2390:95;20303:22:20;342:2390:95;;;;;:::i;20303:22:20:-;342:2390:95;20293:33:20;;342:2390:95;;-1:-1:-1;;;;;;20344:19:20;;;;;342:2390:95;;;20293:33:20;;;-1:-1:-1;;;;;;;;;;;342:2390:95;20303:22:20;342:2390:95;;;;20344:19:20;;;;;;;-1:-1:-1;20344:19:20;;;20158:242;20337:26;;20373:20;;;;;;;342:2390:95;-1:-1:-1;342:2390:95;;;;192:59:18;;;;;;;;;20373:20:20;;20344:19;20373:20;;;:::i;:::-;;;;;;;;;;;20158:242;:::o;20373:20::-;;;;;;:::i;20344:19::-;;;;20303:22;20344:19;;;;;;;;;:::i;:::-;;;;342:2390:95;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;342:2390:95;;-1:-1:-1;342:2390:95;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1590:14:16;;;;;;;;:::o;:::-;-1:-1:-1;342:2390:95;4062:25:93;342:2390:95;;;;;1590:14:16;342:2390:95;1590:14:16;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;1590:14:16;;;;;342:2390:95;;1590:14:16;;;-1:-1:-1;;;;;1590:14:16;;;;;;;4062:25:93;1590:14:16;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;342:2390:95;1590:14:16;;;4062:25:93;1590:14:16;:::o;:::-;;;;-1:-1:-1;1590:14:16;;;;;4062:25:93;342:2390:95;;-1:-1:-1;;1590:14:16;;;20303:22:20;;;-1:-1:-1;;;;;;;;;;;1590:14:16;;;;;;;;;;;;342:2390:95;1590:14:16;;;;;;;;;;;;4062:25:93;1590:14:16;:::o;:::-;;;;;;;;;;342:2390:95;1590:14:16;;;;;;;;;;;342:2390:95;1590:14:16;;;;;;;;;;;;;;;;;;;342:2390:95;;;;;;:::i;:::-;1590:14:16;342:2390:95;;-1:-1:-1;;;1590:14:16;;;;:::o;:::-;342:2390:95;;;;;;:::i;:::-;1590:14:16;342:2390:95;;-1:-1:-1;;;1590:14:16;;;;:::o;:::-;342:2390:95;;;;;;:::i;:::-;1590:14:16;342:2390:95;;-1:-1:-1;;;1590:14:16;;;;:::o;:::-;342:2390:95;;;;;;:::i;:::-;1590:14:16;342:2390:95;;-1:-1:-1;;;1590:14:16;;;;:::o;:::-;342:2390:95;;;;;;:::i;:::-;1590:14:16;342:2390:95;;-1:-1:-1;;;1590:14:16;;;;:::o;:::-;342:2390:95;;;;;;:::i;:::-;1590:14:16;342:2390:95;;-1:-1:-1;;;1590:14:16;;;;:::o;3913:12489:93:-;342:2390:95;2742:6:93;342:2390:95;;:::i;:::-;;-1:-1:-1;;;;;;;;;;;3974:31:93;;;;;;342:2390:95;;-1:-1:-1;;;3974:31:93;;;;;;342:2390:95;;;;3974:31:93;;;;;;:::i;:::-;;;;;;;;;;;;;3913:12489;342:2390:95;;;4016:82:93;;3913:12489;4129:16;4511:4;4129:16;;:::i;:::-;4445:37;4174:40;4188:25;1590:14:16;;:::i;:::-;4188:25:93;:::i;:::-;4174:40;;:::i;:::-;4361:30;4245:39;4261:22;1590:14:16;;:::i;4261:22:93:-;4245:39;;:::i;:::-;4294:56;4303:47;4320:29;1590:14:16;;:::i;4320:29:93:-;4303:47;;:::i;:::-;2742:6;1590:14:16;;-1:-1:-1;;;;;;1590:14:16;-1:-1:-1;;;;;342:2390:95;;;;1590:14:16;;;;;;;4294:56:93;1590:14:16;;:::i;:::-;4361:30:93;:::i;:::-;4401:34;342:2390:95;2742:6:93;342:2390:95;;:::i;:::-;1590:14:16;;:::i;:::-;4401:34:93;:::i;:::-;1590:14:16;;:::i;:::-;4445:37:93;:::i;4511:4::-;16377:18;;;;;342:2390:95;;3974:31:93;342:2390:95;;192:59:18;;;;;;;16377:18:93;;;;;;;;;;3913:12489;:::o;16377:18::-;342:2390:95;;;4016:82:93;1590:14:16;;;:::i;:::-;4016:82:93;;;3974:31;;;;;;:::i;:::-;;;;661:63:23;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;878:140::-;342:2390:95;;-1:-1:-1;;;984:27:23;;342:2390:95;984:27:23;;342:2390:95;;;;984:27:23;;878:140;984:27;;;;:::i;:::-;;;-1:-1:-1;;;;;;;;;;;984:27:23;;;;;;;-1:-1:-1;984:27:23;;;977:34;878:140;:::o;984:27::-;;;;;;;;;;;;;;:::i;342:2390:95:-;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;1817:150:23:-;342:2390:95;;-1:-1:-1;;;1931:29:23;;342:2390:95;1931:29:23;;342:2390:95;;;;1931:29:23;;1817:150;1931:29;;;;:::i;:::-;;;-1:-1:-1;;;;;;;;;;;1931:29:23;;;;;;;;;;;1924:36;1817:150;:::o;1931:29::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;2141:146::-;342:2390:95;;-1:-1:-1;;;2250:30:23;;342:2390:95;2250:30:23;;342:2390:95;;;;2250:30:23;;2141:146;2250:30;;;;:::i;:::-;;;-1:-1:-1;;;;;;;;;;;2250:30:23;;;;;;;-1:-1:-1;2250:30:23;;;2243:37;2141:146;:::o;2250:30::-;;;;;;;;;;;;;;:::i;7546:145:32:-;7629:54;342:2390:95;7546:145:32;7629:54;7546:145;342:2390:95;;7629:54:32;;;;;;;;;;342:2390:95;7629:54:32;;;342:2390:95;;;;;;:::i;:::-;;;;;;7629:54:32;20303:22:20;;7629:54:32;;;;;;:::i;:::-;1222:159;868:133;;1222:159;342:2390:95;;1222:159:32;;591:42;1222:159;;;868:133::o;7846:150::-;;7935:53;;7846:150;7935:53;342:2390:95;;7935:53:32;;;;;;;;;;;;;;:::i;8147:145::-;8230:54;342:2390:95;8147:145:32;8230:54;8147:145;342:2390:95;;8230:54:32;;;;;;;;;;342:2390:95;8230:54:32;;;342:2390:95;;;;;;:::i;:::-;-1:-1:-1;;;;;342:2390:95;;;;;;;;8230:54:32;-1:-1:-1;;8230:54:32;;;;;;:::i;3088:305:93:-;342:2390:95;;-1:-1:-1;342:2390:95;3210:15:93;342:2390:95;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;3210:15:93;-1:-1:-1;342:2390:95;;-1:-1:-1;342:2390:95;;-1:-1:-1;342:2390:95;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;342:2390:95;;;;3399:276:93;342:2390:95;;-1:-1:-1;;;3494:16:93;;;;-1:-1:-1;;;;;;;;;;;342:2390:95;3494:16:93;342:2390:95;3494:16:93;342:2390:95;;3494:16:93;;;;;;3630:17;3494:16;;;;;;;3399:276;342:2390:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;:::i;:::-;;;192:59:18;;;;;;;;3630:17:93;;3494:16;3630:17;;;:::i;:::-;;;;;;;;;;;;;;3657:11;;3399:276;:::o;3630:17::-;;;;;;;;;;;;;:::i;3494:16::-;;;;;;;;;;;;;;:::i;:::-;;;;;342:2390:95;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;:::o;426:2304::-;342:2390;;;-1:-1:-1;;;;;342:2390:95;547:27;;;;;342:2390;;547:27;;;;;;;;;;;;;;;;;;;;;;;;342:2390;;-1:-1:-1;;;;;342:2390:95;;;;;626:20;;;;;;;;;;;;;;;;;;;;;;;;;;342:2390;;;1103:25;841:59;861:38;726:67;750:42;342:2390;;:::i;750:42::-;726:67;;:::i;1103:25::-;342:2390;;;;1137:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;1103:61;;;;;342:2390;;192:59:18;;;;;;1103:61:95;192:59:18;;;1103:61:95;;;;;342:2390;;1103:61;;;;:::i;:::-;;;;;;;;;;;426:2304;1208:68;;;;;;342:2390;;-1:-1:-1;;;1208:68:95;;;342:2390;1208:68;342:2390;1208:68;342:2390;1208:68;;;;;;:::i;:::-;;;;;;;;;;;426:2304;1286:59;;;;;;342:2390;;192:59:18;;;;;1286::95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;426:2304;342:2390;1453:76;1482:46;342:2390;;:::i;1482:46::-;1453:76;;:::i;:::-;1544:13;;1596:3;342:2390;;1559:35;;;;;2005:27;1673:68;1695:45;1711:27;;;;;:::i;:::-;342:2390;-1:-1:-1;;;;;342:2390:95;;;2005:27;:51;;;;;342:2390;;2005:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1596:3;2104:61;;;;;;342:2390;;2104:61;;;342:2390;;;;;;;;;2104:61;342:2390;2104:61;;;;:::i;:::-;;;;;;;;;;1596:3;2104:61;;;1596:3;;;:::i;:::-;1544:13;;2104:61;;;;;;:::i;:::-;;;;;342:2390;;;2005:51;;;;;;:::i;:::-;;;;1559:35;;;;;;2257:69;1559:35;;;;2286:39;342:2390;;:::i;2286:39::-;2257:69;;:::i;:::-;2341:13;2386:3;342:2390;;2356:28;;;;;2591:64;:54;2606:38;2622:20;;;;;:::i;2591:64::-;:88;;;;;;342:2390;;;2591:88;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2386:3;2591:88;;;2386:3;;:::i;:::-;2341:13;;2591:88;342:2390;;;2356:28;;;;;;;;;426:2304::o;1286:59::-;;;;;;:::i;:::-;;;;1208:68;;;;;;:::i;:::-;;;;1103:61;;;;;;:::i;:::-;;;;2293:165:23;;342:2390:95;;192:59:18;;;;2416:35:23;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;;;;;;;2416:35:23;;;;;;;;;;;2409:42;;2293:165;:::o;2416:35::-;;;;;;;;;;;;;:::i;:::-;;;342:2390:95;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:35:23;;;;2293:165;:::o;342:2390:95:-;291:59:20;;;;;;;;:::i;:::-;342:2390:95;;;;;;;;;;;;;;;;;;1481:1:112;342:2390:95;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;:::i;1204:437:112:-;;1376:16;342:2390:95;1376:30:112;1372:230;;1204:437;342:2390:95;;;1376:16:112;342:2390:95;1204:437:112;:::o;1372:230::-;1441:150;342:2390:95;;;-1:-1:-1;342:2390:95;;;;;:::i;:::-;1522:1:112;342:2390:95;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;1502:48:112;;;342:2390:95;;;-1:-1:-1;;;1441:150:112;;342:2390:95;;;;;;;1441:150:112;;;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;1441:150:112;;;;;;1422:169;1441:150;-1:-1:-1;1441:150:112;;;1372:230;1422:169;1376:16;342:2390:95;;1422:169:112;1372:230;;;;;1441:150;;;;342:2390:95;1441:150:112;;;;;;;;;:::i;:::-;;;;342:2390:95;;;;;;;:::i;:::-;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;1082:7:112;342:2390:95;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;1647:1157:112:-;;;;;;342:2390:95;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1952:45:112;2060:15;;;:21;342:2390:95;;;2141:15:112;;342:2390:95;;;2221:15:112;;342:2390:95;2221:22:112;342:2390:95;;;2303:15:112;342:2390:95;2303:34:112;2182:9;342:2390:95;;2366:44:112;;;:::i;:::-;2420:34;;;:::i;:::-;2464:32;;;:::i;:::-;342:2390:95;;2511:26:112;2507:197;;2713:32;2755:42;1647:1157::o;2507:197::-;342:2390:95;;;2713:32:112;2755:42;1647:1157::o;342:2390:95:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;3516:1:112;342:2390:95;;;;;;;;;;;4203:8:112;342:2390:95;;;;;;;;3516:1:112;342:2390:95;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;3516:1:112;342:2390:95;;3516:1:112;342:2390:95;;3516:1:112;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;-1:-1:-1;342:2390:95;;-1:-1:-1;342:2390:95;;-1:-1:-1;342:2390:95;;;;;;;;-1:-1:-1;342:2390:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;2810:1529:112;;;;;4136:18;2810:1529;;3344:86;2810:1529;;;;;3344:86;:::i;:::-;3475:16;;;:::i;:::-;3529:4;3501:33;3529:4;3501:33;;;:::i;:::-;3544:39;3572:10;3544:39;;;:::i;:::-;-1:-1:-1;;;;;342:2390:95;4445:42:9;;3833:23:112;;342:2390:95;;;;;3866:64:112;;2810:1529;342:2390:95;;4036:55:112;342:2390:95;3516:1:112;342:2390:95;;2742:6:93;342:2390:95;;:::i;:::-;4036:55:112;;:::i;:::-;3948:301;342:2390:95;;4136:18:112;;;;;;;;;;;:::i;:::-;;20303:22:20;;4136:18:112;;;;;;:::i;:::-;342:2390:95;;-1:-1:-1;;;3948:301:112;;342:2390:95;;;;;;;3948:301:112;;;;:::i;:::-;;342:2390:95;;3948:301:112;;;;;;;;3516:1;3948:301;;;2810:1529;3939:310;342:2390:95;3948:301:112;342:2390:95;;192:59:18;;;;;;;4267:48:112;;342:2390:95;4267:48:112;;;;;;;4260:72;4267:48;3516:1;4267:48;;;2810:1529;342:2390:95;;;;;:::i;:::-;;;;:::i;:::-;4267:64:112;4260:72;:::i;4267:48::-;;;;;;-1:-1:-1;4267:48:112;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3948:301;;;;;;;;;;;;;;:::i;:::-;;;;3866:64;3905:14;-1:-1:-1;4036:55:112;3866:64;;4345:638;;;;;4714:262;4345:638;;;;342:2390:95;;;;;;:::i;:::-;-1:-1:-1;342:2390:95;;4714:262:112;:::i;342:2390:95:-;;;;;;;:::o;:::-;;;;;;;;;;;;1038:8:112;-1:-1:-1;;1038:8:112;;;;;;;;:::o;:::-;-1:-1:-1;;;1038:8:112;;;;;;;;;:::o;:::-;;1082:7;1038:8;;;;;;;;:::o;:::-;-1:-1:-1;;;1038:8:112;;;;;-1:-1:-1;1038:8:112;;:::o;:::-;;;;;;;;;;:::o;5109:269::-;;-1:-1:-1;;;5205:13:112;;;342:2390:95;;5281:12:112;;342:2390:95;;;5345:7:112;5344:19;5345:7;5343:28;5345:7;;:::i;342:2390:95:-;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;1170:7994:113;507:42;1702:19:73;;1249:100:113;;342:2390:95;1452:7705:113;1482:7665;342:2390:95;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1482:7665:113;:::i;9170:46249::-;596:42;1702:19:73;;9225:92:113;;342:2390:95;9333:46079:113;9351:46051;342:2390:95;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;;;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;342:2390:95;;;;-1:-1:-1;;;;;;;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;;;;;342:2390:95;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;;;;;;;342:2390:95;;;;-1:-1:-1;;;;;;;;;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;;;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;;;;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;;;;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;55425:396:113;55541:8;;342:2390:95;55541:8:113;:::i;:::-;342:2390:95;;55541:8:113;342:2390:95;55559:158:113;;;;;-1:-1:-1;55559:158:113;;;;55734:8;342:2390:95;;55425:396:113:o;342:2390:95:-;;;-1:-1:-1;;;342:2390:95;;55559:158:113;342:2390:95;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;;;;;;:::i;:::-;58365:1:113;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;56023:1145:113:-;;342:2390:95;;;;;;;56247:25:113;342:2390:95;56255:16:113;342:2390:95;;:::i;56247:25:113:-;342:2390:95;56247:39:113;56243:886;;56023:1145;342:2390:95;;;;56255:16:113;342:2390:95;;:::i;56243:886:113:-;342:2390:95;;56306:49:113;56302:481;;56243:886;342:2390:95;56806:25:113;342:2390:95;56255:16:113;342:2390:95;;:::i;56806:25:113:-;342:2390:95;-1:-1:-1;;;;;;;;;;;56797:54:113;;;;;342:2390:95;;;-1:-1:-1;;;56797:54:113;;;-1:-1:-1;;;;;342:2390:95;;;;56797:54:113;;;342:2390:95;;;;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;-1:-1:-1;;192:59:18;-1:-1:-1;342:2390:95;;;-1:-1:-1;56797:54:113;;;;;;;;;56243:886;56865:45;;;;;;342:2390:95;;;56865:45:113;;;-1:-1:-1;;;;;342:2390:95;;56797:54:113;56865:45;;342:2390:95;;;;;;;;;;-1:-1:-1;;;342:2390:95;;;;;;;;;;;;;;;56865:45:113;;;;;;;;56243:886;56950:16;56980:27;56950:16;;:::i;:::-;56980:27;;;;:::i;:::-;57021:22;342:2390:95;56255:16:113;342:2390:95;;:::i;57021:22:113:-;:97;;;;;;342:2390:95;;57021:97:113;342:2390:95;;;192:59:18;;;;;;;;;57021:97:113;;56797:54;57021:97;;;:::i;:::-;;;;;;;;;;;56243:886;;;;;57021:97;;;;;;:::i;:::-;;;;56865:45;;;;;;:::i;:::-;;;;56797:54;;;;;;:::i;:::-;;;;56302:481;56284:1;56417:13;56616:88;;56409:22;56417:13;;:::i;56409:22::-;56532:25;;;:::i;:::-;342:2390:95;;-1:-1:-1;;;56616:88:113;;-1:-1:-1;;;;;342:2390:95;;;56616:88:113;;;342:2390:95;;;;;;-1:-1:-1;342:2390:95;;;;681:1:113;342:2390:95;;;;;;;;;;;;;;;;;;;;;;56616:88:113;;;;;;;;;56723:45;56616:88;56284:1;56616:88;;;56302:481;-1:-1:-1;56255:16:113;1590:14:16;;342:2390:95;;;;-1:-1:-1;;;;;342:2390:95;-1:-1:-1;;;;;;1590:14:16;;;;;;;56723:45:113;56302:481;;;56616:88;;;;;;;;;;;;;;:::i;:::-;;;;342:2390:95;;;-1:-1:-1;;;;;342:2390:95;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;342:2390:95;;;;:::o;:::-;;;;;;681:1:113;342:2390:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;59858:1:113;342:2390:95;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;342:2390:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;342:2390:95;;;;:::o;59873:493:113:-;;;59408:60;;59873:493;;;;59434:33;;;;;:::i;:::-;342:2390:95;;-1:-1:-1;;;59408:60:113;;;;;342:2390:95;;;;;;;;;;;;;;;;;;59408:60:113;;;-1:-1:-1;;;;;;;;;;;59408:60:113;;;;;;;-1:-1:-1;;;59408:60:113;;;59873:493;59491:25;342:2390:95;;;-1:-1:-1;342:2390:95;;59491:25:113;;342:2390:95;;;59491:25:113;;;;;;;:::i;:::-;;20303:22:20;;59491:25:113;;;;;;:::i;:::-;60164:147;342:2390:95;;192:59:18;;;;;;;;;;60164:147:113;;59408:60;60164:147;;;:::i;:::-;;;-1:-1:-1;;;;;342:2390:95;60164:147:113;;;;;;60140:219;60164:147;-1:-1:-1;60164:147:113;;;342:2390:95;;;:::i;59408:60:113:-;;;59491:25;59408:60;;-1:-1:-1;59408:60:113;59491:25;59408:60;59491:25;59408:60;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;1689:113:18;-1:-1:-1;;;;;;;;;;;1771:24:18;;;;;;342:2390:95;;1771:24:18;342:2390:95;;;192:59:18;;;;;;;;;1771:24;;342:2390:95;;1771:24:18;;;342:2390:95;;;;;;;;;;;:::i;:::-;1771:24:18;;;;;;;;;;1689:113;:::o;1771:24::-;;;;:::i;342:2390:95:-;;;;;;;;;;;;;;;;;;;;;;;192:59:18;342:2390:95;;192:59:18;342:2390:95;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;58912:1:113;342:2390:95;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;58727:295:113:-;342:2390:95;;-1:-1:-1;;;58985:20:113;;;;58727:295;;342:2390:95;;-1:-1:-1;;;;;342:2390:95;58985:20:113;342:2390:95;58985:20:113;342:2390:95;;58985:20:113;;;;;;;58853:162;58985:20;;;58912:1;58985:20;;;58727:295;-1:-1:-1;342:2390:95;;-1:-1:-1;;;58853:162:113;;342:2390:95;;;;;;;58985:20:113;58853:162;;;:::i;:::-;;;;;;;;;;58912:1;58853:162;;;58844:171;;58727:295;:::o;58853:162::-;;;;;;-1:-1:-1;58853:162:113;;;;;;:::i;58985:20::-;;;;;;;;;;;;;;;:::i;:::-;;;;","linkReferences":{}},"methodIdentifiers":{"BENEFICIARY()":"2f99c6cc","COUNCIL_SAFE()":"93892107","CURRENT_NETWORK()":"f4d914e6","DECIMALS()":"2e0f2625","ETH_SEPOLIA()":"352c94a7","IS_SCRIPT()":"f8ccbf47","IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","REGISTRY_FACTORY()":"861ceb69","SAFE_FACTORY()":"d23727ed","SAFE_NONCE()":"1d8fcc10","SAFE_PROXY_FACTORY()":"7f6a80df","SAFE_SINGLETON()":"caa12add","SENDER()":"6050f2f8","TOKEN()":"82bfefc8","WAIT_TIME()":"388aef5c","__createContract(bytes)":"f69d511f","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafe()":"dac770b3","_councilSafeWithOwner(address)":"1ae726d9","_councilSafeWithOwner(address,address)":"08c24f9f","_createSafe()":"49ef42c1","_createSafeProxyFactory()":"bb0504cd","_nonce()":"5d1222aa","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16","run()":"c0406226","run(string)":"9352fad2","runCurrentNetwork(string)":"5e2dd442","safeHelper(address,uint256,address,bytes)":"023a6f43","safeHelper(address,uint256,address,bytes,uint256)":"c1f2a641","safeHelper(address,uint256,bytes)":"6db52510","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BENEFICIARY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNCIL_SAFE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CURRENT_NETWORK\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ETH_SEPOLIA\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REGISTRY_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_NONCE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_PROXY_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_SINGLETON\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SENDER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WAIT_TIME\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"name\":\"__createContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"_safeProxyFactory\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafeProxyFactory\",\"outputs\":[{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"network\",\"type\":\"string\"}],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"networkJson\",\"type\":\"string\"}],\"name\":\"runCurrentNetwork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/UpgradeCVMultichain.s.sol\":\"UpgradeCVMultichain\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/script/BaseMultiChain.s.sol\":{\"keccak256\":\"0xb8249015db913f70227378a058abf4f51615ad5962e20eae8f2c618bcb820f1a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://1f321c5388b29084af62995f2e11247ae0910376efb2bac4a01fab22c0b1d2ca\",\"dweb:/ipfs/QmXK18g96GKY38vkxHZ998HcoiFz95McKBM7zY8KpfSRFf\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]},\"pkg/contracts/script/UpgradeCVMultichain.s.sol\":{\"keccak256\":\"0xba08944a398efd513d315220e8d0ddcd80e484bfaada74f5c925ad0af8065509\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ae73d33183749c0b31e1062c28a2096915c73088694a2848809b174678568383\",\"dweb:/ipfs/QmcafAinQnT9tppmgDtYSzDZ77hzQu6SfZvSf11M5V93Wf\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/CollateralVault.sol\":{\"keccak256\":\"0x2f1d86b6ccfcb72ccbc9b85c9b3a5723e23a0c06c31e581fe2f4d70c4cfdae99\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0534a8e50623170fbead6eedf933d0d0f5deb059b5de54c66dda3583e1c9826a\",\"dweb:/ipfs/QmeJXfZeuiwfbu1BtG2sCUFTJkUnSvChmT8ALYh2UCpANk\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf\",\"dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d\",\"dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":{\"keccak256\":\"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3\",\"dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b\",\"dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BENEFICIARY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_SAFE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"CURRENT_NETWORK","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ETH_SEPOLIA","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REGISTRY_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_NONCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_PROXY_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_SINGLETON","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SENDER","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"WAIT_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"bytecode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"__createContract","outputs":[{"internalType":"address","name":"_contract","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract SafeProxyFactory","name":"_safeProxyFactory","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafeProxyFactory","outputs":[{"internalType":"contract SafeProxyFactory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"network","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[{"internalType":"string","name":"networkJson","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"runCurrentNetwork"},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"},{"internalType":"uint256","name":"value_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/UpgradeCVMultichain.s.sol":"UpgradeCVMultichain"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/script/BaseMultiChain.s.sol":{"keccak256":"0xb8249015db913f70227378a058abf4f51615ad5962e20eae8f2c618bcb820f1a","urls":["bzz-raw://1f321c5388b29084af62995f2e11247ae0910376efb2bac4a01fab22c0b1d2ca","dweb:/ipfs/QmXK18g96GKY38vkxHZ998HcoiFz95McKBM7zY8KpfSRFf"],"license":"UNLICENSED"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"},"pkg/contracts/script/UpgradeCVMultichain.s.sol":{"keccak256":"0xba08944a398efd513d315220e8d0ddcd80e484bfaada74f5c925ad0af8065509","urls":["bzz-raw://ae73d33183749c0b31e1062c28a2096915c73088694a2848809b174678568383","dweb:/ipfs/QmcafAinQnT9tppmgDtYSzDZ77hzQu6SfZvSf11M5V93Wf"],"license":"UNLICENSED"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CollateralVault.sol":{"keccak256":"0x2f1d86b6ccfcb72ccbc9b85c9b3a5723e23a0c06c31e581fe2f4d70c4cfdae99","urls":["bzz-raw://0534a8e50623170fbead6eedf933d0d0f5deb059b5de54c66dda3583e1c9826a","dweb:/ipfs/QmeJXfZeuiwfbu1BtG2sCUFTJkUnSvChmT8ALYh2UCpANk"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b","urls":["bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf","dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j"],"license":"AGPL-3.0-or-later"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07","urls":["bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d","dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d"],"license":"MIT"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpersV0_0.sol":{"keccak256":"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e","urls":["bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3","dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8","urls":["bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b","dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":5088,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)12493_storage"},{"astId":5284,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":7785,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":7806,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)7801_storage)"},{"astId":7810,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":7814,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":7817,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":8575,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":10612,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)12493_storage"},{"astId":73099,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"metadata","offset":0,"slot":"21","type":"t_struct(Metadata)3098_storage"},{"astId":73111,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_poolProfileId1_","offset":0,"slot":"23","type":"t_bytes32"},{"astId":11480,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_excludedContracts","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":11483,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_excludedSenders","offset":0,"slot":"25","type":"t_array(t_address)dyn_storage"},{"astId":11486,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedContracts","offset":0,"slot":"26","type":"t_array(t_address)dyn_storage"},{"astId":11489,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedSenders","offset":0,"slot":"27","type":"t_array(t_address)dyn_storage"},{"astId":11492,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_excludedArtifacts","offset":0,"slot":"28","type":"t_array(t_string_storage)dyn_storage"},{"astId":11495,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedArtifacts","offset":0,"slot":"29","type":"t_array(t_string_storage)dyn_storage"},{"astId":11499,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedArtifactSelectors","offset":0,"slot":"30","type":"t_array(t_struct(FuzzSelector)11471_storage)dyn_storage"},{"astId":11503,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedSelectors","offset":0,"slot":"31","type":"t_array(t_struct(FuzzSelector)11471_storage)dyn_storage"},{"astId":11507,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedInterfaces","offset":0,"slot":"32","type":"t_array(t_struct(FuzzInterface)11477_storage)dyn_storage"},{"astId":5139,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"IS_SCRIPT","offset":0,"slot":"33","type":"t_bool"},{"astId":17092,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"IS_TEST","offset":1,"slot":"33","type":"t_bool"},{"astId":73629,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilSafe","offset":2,"slot":"33","type":"t_contract(ISafe)73057"},{"astId":73632,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilSafeOwner","offset":0,"slot":"34","type":"t_contract(ISafe)73057"},{"astId":73634,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilMember1","offset":0,"slot":"35","type":"t_address"},{"astId":73637,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilMemberPK","offset":0,"slot":"36","type":"t_uint256"},{"astId":73640,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_nonce","offset":0,"slot":"37","type":"t_uint256"},{"astId":73642,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_safeSingleton","offset":0,"slot":"38","type":"t_address"},{"astId":63984,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"MINIMUM_STAKE","offset":0,"slot":"39","type":"t_uint256"},{"astId":63987,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"SENDER","offset":0,"slot":"40","type":"t_address"},{"astId":63989,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"TOKEN","offset":0,"slot":"41","type":"t_address"},{"astId":63991,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"COUNCIL_SAFE","offset":0,"slot":"42","type":"t_address"},{"astId":63993,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"SAFE_PROXY_FACTORY","offset":0,"slot":"43","type":"t_address"},{"astId":63995,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"REGISTRY_FACTORY","offset":0,"slot":"44","type":"t_address"},{"astId":63998,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"WAIT_TIME","offset":0,"slot":"45","type":"t_uint256"},{"astId":64001,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"CURRENT_NETWORK","offset":0,"slot":"46","type":"t_string_storage"},{"astId":64004,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"ETH_SEPOLIA","offset":0,"slot":"47","type":"t_string_storage"},{"astId":64007,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"BENEFICIARY","offset":0,"slot":"48","type":"t_address"},{"astId":64009,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilMemberPKEnv","offset":0,"slot":"49","type":"t_uint256"},{"astId":64011,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"allo_proxy","offset":0,"slot":"50","type":"t_address"},{"astId":64014,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"allo","offset":0,"slot":"51","type":"t_contract(Allo)1390"},{"astId":64017,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"token","offset":0,"slot":"52","type":"t_contract(GV2ERC20)64523"},{"astId":64020,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"registryFactory","offset":0,"slot":"53","type":"t_contract(RegistryFactoryV0_0)72343"},{"astId":64023,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"arbitrator","offset":0,"slot":"54","type":"t_contract(IArbitrator)72931"},{"astId":64026,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"sybilScorer","offset":0,"slot":"55","type":"t_contract(ISybilScorer)69416"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)11477_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)11477_storage"},"t_array(t_struct(FuzzSelector)11471_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)11471_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Allo)1390":{"encoding":"inplace","label":"contract Allo","numberOfBytes":"20"},"t_contract(GV2ERC20)64523":{"encoding":"inplace","label":"contract GV2ERC20","numberOfBytes":"20"},"t_contract(IArbitrator)72931":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ISafe)73057":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_contract(ISybilScorer)69416":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_contract(RegistryFactoryV0_0)72343":{"encoding":"inplace","label":"contract RegistryFactoryV0_0","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage))"},"t_mapping(t_bytes32,t_struct(FindData)12468_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)12468_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)12468_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)7801_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)7801_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)7801_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":7794,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":7796,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":7798,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":7800,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)12468_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":12461,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":12463,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":12465,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":12467,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)11477_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":11473,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":11476,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)11471_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":11467,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":11470,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)12493_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":12477,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)12468_storage)))"},{"astId":12480,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":12482,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":12484,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":12486,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":12488,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":12490,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":12492,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/script/UpgradeCVMultichain.s.sol","id":64704,"exportedSymbols":{"Accounts":[5026],"Allo":[1390],"BaseMultiChain":[64300],"BaseStrategy":[3923],"BaseStrategyUpgradeable":[65327],"CVStrategyHelpersV0_0":[73605],"CVStrategyV0_0":[69064],"Clone":[3002],"CollateralVault":[69312],"ERC165":[57022],"ERC1967Proxy":[54318],"ERC20":[55747],"Enum":[73073],"GV2ERC20":[64523],"IAllo":[2610],"IArbitrable":[72827],"IArbitrator":[72931],"ICollateralVault":[72964],"IERC165":[57228],"IERC20":[55825],"IPointStrategy":[65390],"IRegistry":[2802],"ISybilScorer":[69416],"Math":[58094],"Metadata":[3098],"Native":[3106],"OwnableUpgradeable":[52200],"PassportData":[69334],"PassportScorer":[69912],"Registry":[2295],"RegistryCommunityV0_0":[71974],"RegistryFactoryV0_0":[72343],"Safe":[73057],"SafeArbitrator":[72749],"SafeProxyFactory":[73069],"SafeSetup":[74243],"Script":[5140],"ScriptBase":[5101],"SignedMath":[58199],"StdChains":[8543],"StdCheatsSafe":[10603],"StdStorage":[12493],"StdStyle":[15663],"StdUtils":[17041],"StrategyStruct":[65512],"Strings":[56998],"UUPSUpgradeable":[54969],"UpgradeCVMultichain":[64703],"Upgrades":[60473],"VmSafe":[20168],"console":[28807],"console2":[36932],"safeconsole":[51657],"stdJson":[12313],"stdMath":[12455],"stdStorageSafe":[13847]},"nodeType":"SourceUnit","src":"39:2694:95","nodes":[{"id":64525,"nodeType":"PragmaDirective","src":"39:24:95","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":64526,"nodeType":"ImportDirective","src":"65:32:95","nodes":[],"absolutePath":"pkg/contracts/script/BaseMultiChain.s.sol","file":"./BaseMultiChain.s.sol","nameLocation":"-1:-1:-1","scope":64704,"sourceUnit":64301,"symbolAliases":[],"unitAlias":""},{"id":64528,"nodeType":"ImportDirective","src":"98:68:95","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../src/CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":64704,"sourceUnit":69065,"symbolAliases":[{"foreign":{"id":64527,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69064,"src":"106:14:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64530,"nodeType":"ImportDirective","src":"167:89:95","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../src/RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":64704,"sourceUnit":71975,"symbolAliases":[{"foreign":{"id":64529,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"175:21:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64532,"nodeType":"ImportDirective","src":"257:83:95","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","file":"../src/RegistryFactory/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":64704,"sourceUnit":72344,"symbolAliases":[{"foreign":{"id":64531,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72343,"src":"265:19:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64703,"nodeType":"ContractDefinition","src":"342:2390:95","nodes":[{"id":64537,"nodeType":"UsingForDirective","src":"395:25:95","nodes":[],"global":false,"libraryName":{"id":64535,"name":"stdJson","nameLocations":["401:7:95"],"nodeType":"IdentifierPath","referencedDeclaration":12313,"src":"401:7:95"},"typeName":{"id":64536,"name":"string","nodeType":"ElementaryTypeName","src":"413:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},{"id":64702,"nodeType":"FunctionDefinition","src":"426:2304:95","nodes":[],"body":{"id":64701,"nodeType":"Block","src":"496:2234:95","nodes":[],"statements":[{"assignments":[64544],"declarations":[{"constant":false,"id":64544,"mutability":"mutable","name":"registryImplementation","nameLocation":"514:22:95","nodeType":"VariableDeclaration","scope":64701,"src":"506:30:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64543,"name":"address","nodeType":"ElementaryTypeName","src":"506:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":64552,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"547:25:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryCommunityV0_0_$71974_$","typeString":"function () returns (contract RegistryCommunityV0_0)"},"typeName":{"id":64548,"nodeType":"UserDefinedTypeName","pathNode":{"id":64547,"name":"RegistryCommunityV0_0","nameLocations":["551:21:95"],"nodeType":"IdentifierPath","referencedDeclaration":71974,"src":"551:21:95"},"referencedDeclaration":71974,"src":"551:21:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}},"id":64550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"547:27:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}],"id":64546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"539:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64545,"name":"address","nodeType":"ElementaryTypeName","src":"539:7:95","typeDescriptions":{}}},"id":64551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"539:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"506:69:95"},{"assignments":[64554],"declarations":[{"constant":false,"id":64554,"mutability":"mutable","name":"strategyImplementation","nameLocation":"593:22:95","nodeType":"VariableDeclaration","scope":64701,"src":"585:30:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64553,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":64562,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"626:18:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CVStrategyV0_0_$69064_$","typeString":"function () returns (contract CVStrategyV0_0)"},"typeName":{"id":64558,"nodeType":"UserDefinedTypeName","pathNode":{"id":64557,"name":"CVStrategyV0_0","nameLocations":["630:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":69064,"src":"630:14:95"},"referencedDeclaration":69064,"src":"630:14:95","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}},"id":64560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"626:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}],"id":64556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"618:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64555,"name":"address","nodeType":"ElementaryTypeName","src":"618:7:95","typeDescriptions":{}}},"id":64561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"618:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"585:62:95"},{"assignments":[64564],"declarations":[{"constant":false,"id":64564,"mutability":"mutable","name":"registryFactoryProxy","nameLocation":"703:20:95","nodeType":"VariableDeclaration","scope":64701,"src":"695:28:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64563,"name":"address","nodeType":"ElementaryTypeName","src":"695:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":64571,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e50524f584945532e52454749535452595f464143544f5259","id":64568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"764:27:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_63b323eb12c2a735941aea14fc49b66db7aa6a88e81051a15cf7adbde3e9534f","typeString":"literal_string \".PROXIES.REGISTRY_FACTORY\""},"value":".PROXIES.REGISTRY_FACTORY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63b323eb12c2a735941aea14fc49b66db7aa6a88e81051a15cf7adbde3e9534f","typeString":"literal_string \".PROXIES.REGISTRY_FACTORY\""}],"id":64567,"name":"getKeyNetwork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64119,"src":"750:13:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view returns (string memory)"}},"id":64569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"750:42:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":64565,"name":"networkJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64539,"src":"726:11:95","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":64566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"738:11:95","memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":11907,"src":"726:23:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":64570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"726:67:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"695:98:95"},{"assignments":[64574],"declarations":[{"constant":false,"id":64574,"mutability":"mutable","name":"registryFactory","nameLocation":"823:15:95","nodeType":"VariableDeclaration","scope":64701,"src":"803:35:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"},"typeName":{"id":64573,"nodeType":"UserDefinedTypeName","pathNode":{"id":64572,"name":"RegistryFactoryV0_0","nameLocations":["803:19:95"],"nodeType":"IdentifierPath","referencedDeclaration":72343,"src":"803:19:95"},"referencedDeclaration":72343,"src":"803:19:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}},"visibility":"internal"}],"id":64584,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":64580,"name":"registryFactoryProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64564,"src":"877:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"869:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64578,"name":"address","nodeType":"ElementaryTypeName","src":"869:7:95","typeDescriptions":{}}},"id":64581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"869:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"861:8:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64576,"name":"address","nodeType":"ElementaryTypeName","src":"861:8:95","stateMutability":"payable","typeDescriptions":{}}},"id":64582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"861:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64575,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72343,"src":"841:19:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactoryV0_0_$72343_$","typeString":"type(contract RegistryFactoryV0_0)"}},"id":64583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"841:59:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}},"nodeType":"VariableDeclarationStatement","src":"803:97:95"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1137:23:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactoryV0_0_$72343_$","typeString":"function () returns (contract RegistryFactoryV0_0)"},"typeName":{"id":64591,"nodeType":"UserDefinedTypeName","pathNode":{"id":64590,"name":"RegistryFactoryV0_0","nameLocations":["1141:19:95"],"nodeType":"IdentifierPath","referencedDeclaration":72343,"src":"1141:19:95"},"referencedDeclaration":72343,"src":"1141:19:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}}},"id":64593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1137:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}],"id":64589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1129:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64588,"name":"address","nodeType":"ElementaryTypeName","src":"1129:7:95","typeDescriptions":{}}},"id":64594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1129:34:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64585,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64574,"src":"1103:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}},"id":64587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1119:9:95","memberName":"upgradeTo","nodeType":"MemberAccess","referencedDeclaration":54941,"src":"1103:25:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1103:61:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64596,"nodeType":"ExpressionStatement","src":"1103:61:95"},{"expression":{"arguments":[{"id":64600,"name":"registryImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64544,"src":"1253:22:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64597,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64574,"src":"1208:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}},"id":64599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1224:28:95","memberName":"setRegistryCommunityTemplate","nodeType":"MemberAccess","referencedDeclaration":72064,"src":"1208:44:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1208:68:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64602,"nodeType":"ExpressionStatement","src":"1208:68:95"},{"expression":{"arguments":[{"id":64606,"name":"strategyImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64554,"src":"1322:22:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64603,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64574,"src":"1286:15:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$72343","typeString":"contract RegistryFactoryV0_0"}},"id":64605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1302:19:95","memberName":"setStrategyTemplate","nodeType":"MemberAccess","referencedDeclaration":72076,"src":"1286:35:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1286:59:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64608,"nodeType":"ExpressionStatement","src":"1286:59:95"},{"assignments":[64613],"declarations":[{"constant":false,"id":64613,"mutability":"mutable","name":"registryCommunityProxies","nameLocation":"1414:24:95","nodeType":"VariableDeclaration","scope":64701,"src":"1397:41:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64611,"name":"address","nodeType":"ElementaryTypeName","src":"1397:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64612,"nodeType":"ArrayTypeName","src":"1397:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":64620,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e50524f584945532e52454749535452595f434f4d4d554e4954494553","id":64617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1496:31:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c15edf8f23ff0780013ecbb49ba5823ffec965c18ca2d4139f6d0abb46d3fcf1","typeString":"literal_string \".PROXIES.REGISTRY_COMMUNITIES\""},"value":".PROXIES.REGISTRY_COMMUNITIES"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c15edf8f23ff0780013ecbb49ba5823ffec965c18ca2d4139f6d0abb46d3fcf1","typeString":"literal_string \".PROXIES.REGISTRY_COMMUNITIES\""}],"id":64616,"name":"getKeyNetwork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64119,"src":"1482:13:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view returns (string memory)"}},"id":64618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:46:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":64614,"name":"networkJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64539,"src":"1453:11:95","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":64615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1465:16:95","memberName":"readAddressArray","nodeType":"MemberAccess","referencedDeclaration":11924,"src":"1453:28:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":64619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1453:76:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1397:132:95"},{"body":{"id":64659,"nodeType":"Block","src":"1601:575:95","statements":[{"assignments":[64634],"declarations":[{"constant":false,"id":64634,"mutability":"mutable","name":"registryCommunity","nameLocation":"1637:17:95","nodeType":"VariableDeclaration","scope":64659,"src":"1615:39:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":64633,"nodeType":"UserDefinedTypeName","pathNode":{"id":64632,"name":"RegistryCommunityV0_0","nameLocations":["1615:21:95"],"nodeType":"IdentifierPath","referencedDeclaration":71974,"src":"1615:21:95"},"referencedDeclaration":71974,"src":"1615:21:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":64646,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"baseExpression":{"id":64640,"name":"registryCommunityProxies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64613,"src":"1711:24:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64642,"indexExpression":{"id":64641,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64622,"src":"1736:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1711:27:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1703:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64638,"name":"address","nodeType":"ElementaryTypeName","src":"1703:7:95","typeDescriptions":{}}},"id":64643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1703:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1695:8:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64636,"name":"address","nodeType":"ElementaryTypeName","src":"1695:8:95","stateMutability":"payable","typeDescriptions":{}}},"id":64644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1695:45:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64635,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71974,"src":"1673:21:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$71974_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":64645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1673:68:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"1615:126:95"},{"expression":{"arguments":[{"id":64650,"name":"registryImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64544,"src":"2033:22:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64647,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64634,"src":"2005:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":64649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2023:9:95","memberName":"upgradeTo","nodeType":"MemberAccess","referencedDeclaration":54941,"src":"2005:27:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2005:51:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64652,"nodeType":"ExpressionStatement","src":"2005:51:95"},{"expression":{"arguments":[{"id":64656,"name":"strategyImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64554,"src":"2142:22:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64653,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64634,"src":"2104:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$71974","typeString":"contract RegistryCommunityV0_0"}},"id":64655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2122:19:95","memberName":"setStrategyTemplate","nodeType":"MemberAccess","referencedDeclaration":70472,"src":"2104:37:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:61:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64658,"nodeType":"ExpressionStatement","src":"2104:61:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64625,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64622,"src":"1559:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":64626,"name":"registryCommunityProxies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64613,"src":"1563:24:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1588:6:95","memberName":"length","nodeType":"MemberAccess","src":"1563:31:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1559:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64660,"initializationExpression":{"assignments":[64622],"declarations":[{"constant":false,"id":64622,"mutability":"mutable","name":"i","nameLocation":"1552:1:95","nodeType":"VariableDeclaration","scope":64660,"src":"1544:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64621,"name":"uint256","nodeType":"ElementaryTypeName","src":"1544:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64624,"initialValue":{"hexValue":"30","id":64623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1556:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1544:13:95"},"loopExpression":{"expression":{"id":64630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1596:3:95","subExpression":{"id":64629,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64622,"src":"1596:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64631,"nodeType":"ExpressionStatement","src":"1596:3:95"},"nodeType":"ForStatement","src":"1539:637:95"},{"assignments":[64665],"declarations":[{"constant":false,"id":64665,"mutability":"mutable","name":"cvStrategyProxies","nameLocation":"2237:17:95","nodeType":"VariableDeclaration","scope":64701,"src":"2220:34:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64663,"name":"address","nodeType":"ElementaryTypeName","src":"2220:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64664,"nodeType":"ArrayTypeName","src":"2220:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":64672,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e50524f584945532e43565f53545241544547494553","id":64669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2300:24:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f49e650d05092449f2ff43cab2d3725ca547dbaadc6944b838fa71eced282db","typeString":"literal_string \".PROXIES.CV_STRATEGIES\""},"value":".PROXIES.CV_STRATEGIES"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f49e650d05092449f2ff43cab2d3725ca547dbaadc6944b838fa71eced282db","typeString":"literal_string \".PROXIES.CV_STRATEGIES\""}],"id":64668,"name":"getKeyNetwork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64119,"src":"2286:13:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view returns (string memory)"}},"id":64670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2286:39:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":64666,"name":"networkJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64539,"src":"2257:11:95","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":64667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2269:16:95","memberName":"readAddressArray","nodeType":"MemberAccess","referencedDeclaration":11924,"src":"2257:28:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":64671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2257:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2220:106:95"},{"body":{"id":64699,"nodeType":"Block","src":"2391:333:95","statements":[{"expression":{"arguments":[{"id":64696,"name":"strategyImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64554,"src":"2656:22:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"arguments":[{"arguments":[{"baseExpression":{"id":64689,"name":"cvStrategyProxies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64665,"src":"2622:17:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64691,"indexExpression":{"id":64690,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64674,"src":"2640:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2622:20:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2614:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64687,"name":"address","nodeType":"ElementaryTypeName","src":"2614:7:95","typeDescriptions":{}}},"id":64692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2614:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2606:8:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64685,"name":"address","nodeType":"ElementaryTypeName","src":"2606:8:95","stateMutability":"payable","typeDescriptions":{}}},"id":64693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2606:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64684,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69064,"src":"2591:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$69064_$","typeString":"type(contract CVStrategyV0_0)"}},"id":64694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2591:54:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69064","typeString":"contract CVStrategyV0_0"}},"id":64695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2646:9:95","memberName":"upgradeTo","nodeType":"MemberAccess","referencedDeclaration":54941,"src":"2591:64:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2591:88:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64698,"nodeType":"ExpressionStatement","src":"2591:88:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64677,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64674,"src":"2356:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":64678,"name":"cvStrategyProxies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64665,"src":"2360:17:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2378:6:95","memberName":"length","nodeType":"MemberAccess","src":"2360:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2356:28:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64700,"initializationExpression":{"assignments":[64674],"declarations":[{"constant":false,"id":64674,"mutability":"mutable","name":"i","nameLocation":"2349:1:95","nodeType":"VariableDeclaration","scope":64700,"src":"2341:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64673,"name":"uint256","nodeType":"ElementaryTypeName","src":"2341:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64676,"initialValue":{"hexValue":"30","id":64675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2341:13:95"},"loopExpression":{"expression":{"id":64682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2386:3:95","subExpression":{"id":64681,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64674,"src":"2386:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64683,"nodeType":"ExpressionStatement","src":"2386:3:95"},"nodeType":"ForStatement","src":"2336:388:95"}]},"baseFunctions":[64166],"functionSelector":"5e2dd442","implemented":true,"kind":"function","modifiers":[],"name":"runCurrentNetwork","nameLocation":"435:17:95","overrides":{"id":64541,"nodeType":"OverrideSpecifier","overrides":[],"src":"487:8:95"},"parameters":{"id":64540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64539,"mutability":"mutable","name":"networkJson","nameLocation":"467:11:95","nodeType":"VariableDeclaration","scope":64702,"src":"453:25:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64538,"name":"string","nodeType":"ElementaryTypeName","src":"453:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"452:27:95"},"returnParameters":{"id":64542,"nodeType":"ParameterList","parameters":[],"src":"496:0:95"},"scope":64703,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":64533,"name":"BaseMultiChain","nameLocations":["374:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":64300,"src":"374:14:95"},"id":64534,"nodeType":"InheritanceSpecifier","src":"374:14:95"}],"canonicalName":"UpgradeCVMultichain","contractDependencies":[69064,71974,72343],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[64703,64300,74243,17093,5140,17041,11721,73605,5026,11396,10603,8543,7761,5092,5101,5089,3106],"name":"UpgradeCVMultichain","nameLocation":"351:19:95","scope":64704,"usedErrors":[]}],"license":"UNLICENSED"},"id":95} \ No newline at end of file +{"abi":[{"type":"function","name":"BENEFICIARY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"COUNCIL_SAFE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"CURRENT_NETWORK","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ETH_SEPOLIA","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REGISTRY_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SAFE_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SAFE_NONCE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SAFE_PROXY_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SAFE_SINGLETON","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SENDER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TOKEN","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"WAIT_TIME","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"__createContract","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"_contract","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_safeProxyFactory","type":"address","internalType":"contract SafeProxyFactory"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafeProxyFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract SafeProxyFactory"}],"stateMutability":"nonpayable"},{"type":"function","name":"_nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[{"name":"network","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"runCurrentNetwork","inputs":[{"name":"networkJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"},{"name":"value_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x600c805460ff191660019081179091556080908152610120604052602e60c081815260a0916201946b60e0399052805160159081556020820151601690620000489082620001dc565b50506021805461010161ffff199091161790555060016024556000602555670de0b6b3a7640000602755602880546001600160a01b03191673b05a948b5c1b057b88d381bde3a375efea87ebad179055614e20602d5560408051808201909152600a8152696172627365706f6c696160b01b6020820152602e90620000ce9082620001dc565b506040805180820190915260078152667365706f6c696160c81b6020820152602f90620000fc9082620001dc565b50603080546001600160a01b03191673c583789751910e39fd2ddb988ad05567bcd813341790553480156200013057600080fd5b50620002a8565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200016257607f821691505b6020821081036200018357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001d757600081815260208120601f850160051c81016020861015620001b25750805b601f850160051c820191505b81811015620001d357828155600101620001be565b5050505b505050565b81516001600160401b03811115620001f857620001f862000137565b62000210816200020984546200014d565b8462000189565b602080601f8311600181146200024857600084156200022f5750858301515b600019600386901b1c1916600185901b178555620001d3565b600085815260208120601f198616915b82811015620002795788860151825594840194600190910190840162000258565b5085821015620002985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b620191b280620002b96000396000f3fe608060405234801561001057600080fd5b506004361061039a5760003560e01c8062b1fad71461039f578063023a6f43146103bd578063030e4006146103d25780630522b7db146103da5780630688b135146103ed57806308c24f9f146103f557806308dbbb03146104085780630f166ad41461041f578063174eedde146104255780631ae726d91461042c5780631b96dce61461043f5780631d8fcc10146104475780631e7bcb2e1461044f5780631ed7831c146104575780632ade38801461046c5780632e0f2625146104815780632f99c6cc14610490578063352c94a7146104a357806337d1c404146104b8578063388aef5c146104cb578063392f37e9146104d45780633e5e3c23146104ea5780633f26479e146104f25780633f7286f4146104fb57806349ef42c1146105035780634bf4ba211461050b578063587c1243146105135780635aff59991461051b5780635d1222aa146105235780635e2dd4421461052c5780636050f2f81461053f57806366d003ac1461055257806366d9a9a01461055a5780636a38dd0a1461056f5780636c53db9a146105775780636db525101461059057806370a32944146105a357806374d9284e14610425578063759c9a86146105ab5780637658524d146105b357806379e62d0d146105bc5780637b2edf32146105c45780637cbe79ed146105cc5780637f6a80df146105d4578063829e423f1461042557806382bfefc8146105e757806385226c81146105fa57806385294f181461060f578063861ceb6914610622578063896546a1146106355780638c7408c4146104255780638e0d1a50146106485780638e3c249314610650578063916a17c6146106585780639352fad2146106605780639389210714610673578063a0cf0aea14610686578063a407c67a146106a1578063aa3744bd146106a9578063b5508aa9146106b1578063ba414fa6146106b9578063bb0504cd146106d1578063c0406226146106d9578063c1f2a641146106e1578063c36e336b146106f4578063caa12add14610714578063d1e82b581461072f578063d1f2cd8814610737578063d23727ed1461073f578063d5bee9f51461075a578063da4bf08714610762578063dac4eb161461076a578063dac770b314610772578063e070e0ab1461077a578063e20c9f711461078d578063e99ce91114610795578063ef0d790f146107a8578063f4d914e6146107b0578063f69d511f146107b8578063f8ccbf47146107cb578063fa7626d4146107d8575b600080fd5b6103a76107ea565b6040516103b491906134ff565b60405180910390f35b6103d06103cb3660046135f3565b61081f565b005b6103a7610833565b6022546103a7906001600160a01b031681565b6103a7610869565b6103a761040336600461365e565b610896565b61041160275481565b6040519081526020016103b4565b306103a7565b60006103a7565b6103a761043a366004613697565b610b75565b6103a7610b83565b610411600381565b6103a7610bb4565b61045f610be7565b6040516103b491906136f8565b610474610c49565b6040516103b491906137b0565b610411670de0b6b3a764000081565b6030546103a7906001600160a01b031681565b6104ab610d8b565b6040516103b4919061382d565b6104116104c6366004613863565b610e19565b610411602d5481565b6104dc610ed9565b6040516103b4929190613923565b61045f610f70565b61041161271081565b61045f610fd0565b6103a7611030565b61045f611092565b6103a76110b5565b6103a76110e8565b61041160255481565b6103d061053a36600461393c565b61111b565b6028546103a7906001600160a01b031681565b6103a7611530565b61056261155c565b6040516103b49190613984565b6103a7611642565b6021546103a7906201000090046001600160a01b031681565b6103d061059e366004613a37565b611672565b61045f611699565b6103a7611731565b61041160245481565b61045f611760565b6103a76117c8565b6103a76117fb565b602b546103a7906001600160a01b031681565b6029546103a7906001600160a01b031681565b610602611828565b6040516103b49190613a8f565b61041161061d366004613b4e565b6118f8565b602c546103a7906001600160a01b031681565b6023546103a7906001600160a01b031681565b6103a7611927565b6103a7611936565b610562611969565b6103d061066e36600461393c565b611a4f565b602a546103a7906001600160a01b031681565b6103a773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61045f611c97565b6103a7611cff565b610602611d2c565b6106c1611dfc565b60405190151581526020016103b4565b6103a7611e9b565b6103d0611efd565b6103d06106ef366004613bf2565b611f18565b610707610702366004613ca6565b611feb565b6040516103b49190613d4c565b6103a773dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73781565b6103a76120e2565b6103a7612115565b6103a773bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf81565b6103a7612146565b6103a7612174565b6103a76121a4565b6103a76121d5565b610411610788366004613e1f565b612692565b61045f612897565b6104116107a3366004613ed5565b6128f7565b6103a7612985565b6104ab6129bb565b6103a76107c6366004613f07565b6129c8565b6021546106c19060ff1681565b6021546106c190610100900460ff1681565b600061081a6040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250612a3b565b905090565b61082d848484846000611f18565b50505050565b600061081a60405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250612a3b565b600061081a6040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250612a3b565b6022546000906001600160a01b0316610b61576001600160a01b0382166109745760006108c1611030565b90506108cb611e9b565b604051631688f0b960e01b81526001600160a01b0383811660048301526060602483015260006064830181905260036044840152929550851690631688f0b9906084016020604051808303816000875af115801561092d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109519190613f3b565b602280546001600160a01b0319166001600160a01b039290921691909117905550505b602254604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b6064820152600080516020620137668339815191529063c657c71890608401600060405180830381600087803b1580156109ed57600080fd5b505af1158015610a01573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03871660048201526024810191909152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b606482015260008051602062013766833981519152925063c657c7189150608401600060405180830381600087803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b506000925060019150610aa29050565b604051908082528060200260200182016040528015610acb578160200160208202803683370190505b5090508381600081518110610ae257610ae2613f58565b6001600160a01b03928316602091820292909201015260225460405163b63e800d60e01b815291169063b63e800d90610b2d9084906001906000908190819081908190600401613f6e565b600060405180830381600087803b158015610b4757600080fd5b505af1158015610b5b573d6000803e3d6000fd5b50505050505b506022546001600160a01b03165b92915050565b6000610b6f82610403611e9b565b600061081a6040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250612a3b565b600061081a6040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250612a3b565b60606019805480602002602001604051908101604052809291908181526020018280548015610c3f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c21575b5050505050905090565b60606020805480602002602001604051908101604052809291908181526020016000905b82821015610d8257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b82821015610d6b578382906000526020600020018054610cde90613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0a90613fd3565b8015610d575780601f10610d2c57610100808354040283529160200191610d57565b820191906000526020600020905b815481529060010190602001808311610d3a57829003601f168201915b505050505081526020019060010190610cbf565b505050508152505081526020019060010190610c6d565b50505050905090565b602f8054610d9890613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054610dc490613fd3565b8015610e115780601f10610de657610100808354040283529160200191610e11565b820191906000526020600020905b815481529060010190602001808311610df457829003601f168201915b505050505081565b601754600090610ece576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f91610e879160029188908890600401614007565b6020604051808303816000875af1158015610ea6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eca9190614088565b6017555b506017549392505050565b6015805460168054919291610eed90613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1990613fd3565b8015610f665780601f10610f3b57610100808354040283529160200191610f66565b820191906000526020600020905b815481529060010190602001808311610f4957829003601f168201915b5050505050905082565b6060601b805480602002602001604051908101604052809291908181526020018280548015610c3f576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c21575050505050905090565b6060601a805480602002602001604051908101604052809291908181526020018280548015610c3f576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c21575050505050905090565b600061104f73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc737612a4d565b1561106d575073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73790565b61081a60405180615a0001604052806159d78152602001620137866159d791396129c8565b604080516002808252606080830184529260208301908036833701905050905090565b600061081a6040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250612a3b565b600061081a6040518060400160405280601081526020016f726563697069656e744164647265737360801b815250612a3b565b600060405161112990613405565b604051809103906000f080158015611145573d6000803e3d6000fd5b509050600060405161115690613413565b604051809103906000f080158015611172573d6000803e3d6000fd5b50905060006111bb6111b4604051806040016040528060198152602001782e50524f584945532e52454749535452595f464143544f525960381b815250612a5c565b8590612b3c565b90506000819050806001600160a01b0316633659cfe66040516111dd90613421565b604051809103906000f0801580156111f9573d6000803e3d6000fd5b506040518263ffffffff1660e01b815260040161121691906134ff565b600060405180830381600087803b15801561123057600080fd5b505af1158015611244573d6000803e3d6000fd5b5050604051632ef6570160e11b81526001600160a01b0384169250635decae0291506112749087906004016134ff565b600060405180830381600087803b15801561128e57600080fd5b505af11580156112a2573d6000803e3d6000fd5b50506040516306dc7c3960e21b81526001600160a01b0384169250631b71f0e491506112d29086906004016134ff565b600060405180830381600087803b1580156112ec57600080fd5b505af1158015611300573d6000803e3d6000fd5b50505050600061134e6113476040518060400160405280601d81526020017f2e50524f584945532e52454749535452595f434f4d4d554e4954494553000000815250612a5c565b8790612bbb565b905060005b815181101561144a57600082828151811061137057611370613f58565b60200260200101519050806001600160a01b0316633659cfe6886040518263ffffffff1660e01b81526004016113a691906134ff565b600060405180830381600087803b1580156113c057600080fd5b505af11580156113d4573d6000803e3d6000fd5b50506040516306dc7c3960e21b81526001600160a01b0384169250631b71f0e491506114049089906004016134ff565b600060405180830381600087803b15801561141e57600080fd5b505af1158015611432573d6000803e3d6000fd5b50505050508080611442906140b7565b915050611353565b50600061148e611487604051806040016040528060168152602001752e50524f584945532e43565f5354524154454749455360501b815250612a5c565b8890612bbb565b905060005b8151811015611526578181815181106114ae576114ae613f58565b60200260200101516001600160a01b0316633659cfe6876040518263ffffffff1660e01b81526004016114e191906134ff565b600060405180830381600087803b1580156114fb57600080fd5b505af115801561150f573d6000803e3d6000fd5b50505050808061151e906140b7565b915050611493565b5050505050505050565b600061081a604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250612a3b565b6060601e805480602002602001604051908101604052809291908181526020016000905b82821015610d825760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561162a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116115ec5790505b50505050508152505081526020019060010190611580565b600061081a6040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250612a3b565b602154602454611694916201000090046001600160a01b031690858486611f18565b505050565b604080516002808252606080830184529260009291906020830190803683370190505090506116c6610bb4565b816000815181106116d9576116d9613f58565b60200260200101906001600160a01b031690816001600160a01b0316815250506117016117c8565b8160018151811061171457611714613f58565b6001600160a01b0390921660209283029190910190910152919050565b600061081a6040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250612a3b565b6040805160028082526060808301845292600092919060208301908036833701905050905061178d6107ea565b816000815181106117a0576117a0613f58565b60200260200101906001600160a01b031690816001600160a01b031681525050611701611642565b600061081a6040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250612a3b565b600061081a6040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250612a3b565b6060601d805480602002602001604051908101604052809291908181526020016000905b82821015610d8257838290600052602060002001805461186b90613fd3565b80601f016020809104026020016040519081016040528092919081815260200182805461189790613fd3565b80156118e45780601f106118b9576101008083540402835291602001916118e4565b820191906000526020600020905b8154815290600101906020018083116118c757829003601f168201915b50505050508152602001906001019061184c565b600061191a89898989898989604051806020016040528060008152508a612692565b9998505050505050505050565b6028546001600160a01b031690565b600061081a6040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250612a3b565b6060601f805480602002602001604051908101604052809291908181526020016000905b82821015610d825760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015611a3757602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116119f95790505b5050505050815250508152602001906001019061198d565b60008051602062013766833981519152637fec2a8d611a6c611927565b6040518263ffffffff1660e01b8152600401611a8891906134ff565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b505050508051600014611ad157602e611acf8282614116565b505b6000611adb612c37565b90506000611b12611b0b604051806040016040528060088152602001670b98da185a5b925960c21b815250612a5c565b8390612d5a565b90506000611b46611b3f604051806040016040528060058152602001642e6e616d6560d81b815250612a5c565b8490612dd2565b9050611b7f611b786040518060400160405280600c81526020016b1722a72b299729a2a72222a960a11b815250612a5c565b8490612b3c565b602880546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260088152676e616d653a20257360c01b6020820152611bc89082612e4e565b60408051808201909152600a81526973656e6465723a20257360b01b6020820152602854611bff91906001600160a01b0316612e97565b611c2d6040518060400160405280600c81526020016b636861696e4964203a20257360a01b81525083612edc565b611c368361111b565b6000805160206201915d83398151915260001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c8357600080fd5b505af1158015611526573d6000803e3d6000fd5b60408051600280825260608083018452926000929190602083019080368337019050509050611cc46110b5565b81600081518110611cd757611cd7613f58565b60200260200101906001600160a01b031690816001600160a01b031681525050611701611936565b600061081a6040518060400160405280600a815260200169726563697069656e743160b01b815250612a3b565b6060601c805480602002602001604051908101604052809291908181526020016000905b82821015610d82578382906000526020600020018054611d6f90613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054611d9b90613fd3565b8015611de85780601f10611dbd57610100808354040283529160200191611de8565b820191906000526020600020905b815481529060010190602001808311611dcb57829003601f168201915b505050505081526020019060010190611d50565b60085460009060ff1615611e14575060085460ff1690565b604051630667f9d760e41b815260008051602062013766833981519152600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015611e70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e949190614088565b1415905090565b6000611eba73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf612a4d565b15611ed8575073bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf90565b61081a60405180610f000160405280610ede815260200162012888610ede91396129c8565b604080516020810190915260008152611f1581611a4f565b50565b6060611f2684848888612f21565b9050611fe3866001600160a01b0316636a7612028685876000806000806000808c6040518b63ffffffff1660e01b8152600401611f6c9a999897969594939291906141e5565b6020604051808303816000875af1158015611f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611faf9190614269565b60405180604001604052806016815260200175195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b815250612ff3565b505050505050565b611ff361342f565b612004670de0a46bc207d800613053565b81516040015261201b6702c68af0bb140000613053565b81515261202e66038d7ea4c68000613053565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a0830152810185600281111561206d5761206d613d12565b9081600281111561208057612080613d12565b9052506040810184600381111561209957612099613d12565b908160038111156120ac576120ac613d12565b90525082516000036120ce576120cb670de0b6b3a764000060c861428b565b83525b606081019290925260808201529392505050565b600061081a6040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250612a3b565b600061081a6040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250612a3b565b600061081a6040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250612a3b565b600061081a6040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250612a3b565b600061081a6040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250612a3b565b6024546040516001625e79b760e01b03198152600091600080516020620137668339815191529163ffa18649916122129160040190815260200190565b602060405180830381865afa15801561222f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122539190613f3b565b602380546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201526d636f756e63696c4d656d6265723160901b6064820152600080516020620137668339815191529063c657c71890608401600060405180830381600087803b1580156122df57600080fd5b505af11580156122f3573d6000803e3d6000fd5b50506021546201000090046001600160a01b0316915061267c9050576000612319611e9b565b9050612323611030565b602680546001600160a01b0319166001600160a01b03928316179055604080516318caf8e360e31b815291831660048301526024820152601060448201526f5361666550726f7879466163746f727960801b6064820152600080516020620137668339815191529063c657c71890608401600060405180830381600087803b1580156123ae57600080fd5b505af11580156123c2573d6000803e3d6000fd5b5050602654604080518082018252600181526000602082018190529151631688f0b960e01b81529194506001600160a01b038087169450631688f0b99361241293911691906003906004016142a2565b6020604051808303816000875af1158015612431573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124559190613f3b565b6021805462010000600160b01b031916620100006001600160a01b0384811682029290921792839055604080516318caf8e360e31b81529190930490911660048201526024810191909152600b60448201526a636f756e63696c5361666560a81b6064820152909150600080516020620137668339815191529063c657c71890608401600060405180830381600087803b1580156124f257600080fd5b505af1158015612506573d6000803e3d6000fd5b5060009250600391506125169050565b60405190808252806020026020018201604052801561253f578160200160208202803683370190505b5060235481519192506001600160a01b031690829060009061256357612563613f58565b60200260200101906001600160a01b031690816001600160a01b03168152505073f39fd6e51aad88f6f4ce6ab8827279cfffb92266816001815181106125ab576125ab613f58565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816002815181106125f3576125f3613f58565b6001600160a01b03928316602091820292909201015260215460405163b63e800d60e01b8152620100009091049091169063b63e800d906126469084906001906000908190819081908190600401613f6e565b600060405180830381600087803b15801561266057600080fd5b505af1158015612674573d6000803e3d6000fd5b505050505050505b506021546201000090046001600160a01b031690565b6000806126a28987878787611feb565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106126dc576126dc613f58565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811061271057612710613f58565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee908916156127465750875b8c6001600160a01b031663e1007d4a6127678c612761611927565b86610e19565b8e866040516020016127799190613d4c565b6040516020818303038152906040528560006015896040518863ffffffff1660e01b81526004016127b097969594939291906142d6565b6020604051808303816000875af11580156127cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f39190614088565b935087600281111561280757612807613d12565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015612845573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286991906143c2565b600281111561287a5761287a613d12565b14612887576128876143df565b5050509998505050505050505050565b60606018805480602002602001604051908101604052809291908181526020018280548015610c3f576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c21575050505050905090565b6000848161291561290f62989680608087901b6143f5565b83613064565b905060806001607f1b61292b8662989680614417565b61293984600160801b614417565b612946629896808a61428b565b612950919061428b565b61295a91906143f5565b612964898561428b565b61296e919061442a565b612978919061442a565b901c979650505050505050565b600061081a60405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b815250612a3b565b602e8054610d9890613fd3565b60258054600091829190826129dc836140b7565b91905055506025548351602085016000f5915050803f80612a355760405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b60448201526064015b60405180910390fd5b50919050565b6000612a468261310c565b5092915050565b6001600160a01b03163b151590565b60606000602e8054612a6d90613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054612a9990613fd3565b8015612ae65780601f10612abb57610100808354040283529160200191612ae6565b820191906000526020600020905b815481529060010190602001808311612ac957829003601f168201915b50505050509050600081604051602001612b00919061443d565b60405160208183030381529060405290508084604051602001612b24929190614488565b60405160208183030381529060405292505050919050565b604051631e19e65760e01b81526000906000805160206201376683398151915290631e19e65790612b7390869086906004016144b7565b602060405180830381865afa158015612b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb49190613f3b565b9392505050565b604051632fce788360e01b81526060906000805160206201376683398151915290632fce788390612bf290869086906004016144b7565b600060405180830381865afa158015612c0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bb491908101906144e5565b606060006000805160206201915d83398151915260001c6001600160a01b031663d930a0e66040518163ffffffff1660e01b8152600401600060405180830381865afa158015612c8b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612cb39190810190614573565b9050600081604051602001612cc891906145e0565b60408051601f19818403018152908290526360f9bb1160e01b8252915060009060008051602062013766833981519152906360f9bb1190612d0d90859060040161382d565b600060405180830381865afa158015612d2a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d529190810190614573565b949350505050565b6040516356eef15b60e11b8152600090600080516020620137668339815191529063addde2b690612d9190869086906004016144b7565b602060405180830381865afa158015612dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb49190614088565b6040516309389f5960e31b815260609060008051602062013766833981519152906349c4fac890612e0990869086906004016144b7565b600060405180830381865afa158015612e26573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bb49190810190614573565b612e938282604051602401612e649291906144b7565b60408051601f198184030181529190526020810180516001600160e01b0316634b5c427760e01b179052613218565b5050565b612e938282604051602401612ead92919061462d565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052613218565b612e938282604051602401612ef2929190614657565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b179052613218565b6060600080806000805160206201376683398151915263e341eaa486612f488b8b8b613221565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401606060405180830381865afa158015612f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fad9190614679565b6040805160208101939093528281019190915260f89290921b6001600160f81b031916606082015281516041818303018152606190910190915298975050505050505050565b60405163a34edc0360e01b8152600080516020620137668339815191529063a34edc039061302790859085906004016146b6565b60006040518083038186803b15801561303f57600080fd5b505afa158015611fe3573d6000803e3d6000fd5b6000610b6f64174876e800836143f5565b6000600160801b83106130b85760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401612a2c565b50600160801b82825b801561310457806001166000036130e6576130dc8283613307565b915060011c6130c1565b6130f08383613307565b92506130fd600182614417565b90506130c1565b505092915050565b6000808260405160200161312091906146d1565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150600080516020620137668339815191529063ffa1864990602401602060405180830381865afa158015613186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131aa9190613f3b565b6040516318caf8e360e31b8152909250600080516020620137668339815191529063c657c718906131e190859087906004016146ed565b600060405180830381600087803b1580156131fb57600080fd5b505af115801561320f573d6000803e3d6000fd5b50505050915091565b611f15816133e4565b6000816001600160a01b031663d8d11f78856000866000806000806000808c6001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561327d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132a19190614088565b6040518b63ffffffff1660e01b81526004016132c69a99989796959493929190614711565b602060405180830381865afa1580156132e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d529190614088565b6000600160801b83111561336e5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401612a2c565b600160801b82106133c05760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401612a2c565b60806001607f1b6133d1848661428b565b6133db919061442a565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6159b6806200478883390190565b6166c7806200a13e83390190565b612083806201080583390190565b6040518060e001604052806134656040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001600081526020016000815260200161348e6040518060200160405280600081525090565b81526020016134de6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b815260006020820181905260409091015290565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114611f1557600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561356657613566613528565b604052919050565b60006001600160401b0382111561358757613587613528565b50601f01601f191660200190565b60006135a86135a38461356e565b61353e565b90508281528383830111156135bc57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126135e457600080fd5b612bb483833560208501613595565b6000806000806080858703121561360957600080fd5b843561361481613513565b935060208501359250604085013561362b81613513565b915060608501356001600160401b0381111561364657600080fd5b613652878288016135d3565b91505092959194509250565b6000806040838503121561367157600080fd5b823561367c81613513565b9150602083013561368c81613513565b809150509250929050565b6000602082840312156136a957600080fd5b8135612bb481613513565b600081518084526020808501945080840160005b838110156136ed5781516001600160a01b0316875295820195908201906001016136c8565b509495945050505050565b602081526000612bb460208301846136b4565b60005b8381101561372657818101518382015260200161370e565b50506000910152565b6000815180845261374781602086016020860161370b565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156137a357828403895261379184835161372f565b98850198935090840190600101613779565b5091979650505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561381f57888303603f19018552815180516001600160a01b0316845287015187840187905261380c8785018261375b565b95880195935050908601906001016137d7565b509098975050505050505050565b602081526000612bb4602083018461372f565b60006001600160401b0382111561385957613859613528565b5060051b60200190565b60008060006060848603121561387857600080fd5b833561388381613513565b925060208481013561389481613513565b925060408501356001600160401b038111156138af57600080fd5b8501601f810187136138c057600080fd5b80356138ce6135a382613840565b81815260059190911b820183019083810190898311156138ed57600080fd5b928401925b8284101561391457833561390581613513565b825292840192908401906138f2565b80955050505050509250925092565b828152604060208201526000612d52604083018461372f565b60006020828403121561394e57600080fd5b81356001600160401b0381111561396457600080fd5b8201601f8101841361397557600080fd5b612d5284823560208401613595565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015613a2857898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015613a135783516001600160e01b0319168252928b019260019290920191908b01906139e9565b50978a019795505050918701916001016139ac565b50919998505050505050505050565b600080600060608486031215613a4c57600080fd5b8335613a5781613513565b92506020840135915060408401356001600160401b03811115613a7957600080fd5b613a85868287016135d3565b9150509250925092565b602081526000612bb4602083018461375b565b60038110611f1557600080fd5b803560048110613abe57600080fd5b919050565b600060c08284031215613ad557600080fd5b60405160c081016001600160401b0381118282101715613af757613af7613528565b6040529050808235613b0881613513565b81526020830135613b1881613513565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b6000806000806000806000806101a0898b031215613b6b57600080fd5b8835613b7681613513565b97506020890135613b8681613513565b96506040890135613b9681613513565b95506060890135613ba681613513565b94506080890135613bb681613513565b935060a0890135613bc681613aa2565b9250613bd460c08a01613aaf565b9150613be38a60e08b01613ac3565b90509295985092959890939650565b600080600080600060a08688031215613c0a57600080fd5b8535613c1581613513565b9450602086013593506040860135613c2c81613513565b925060608601356001600160401b03811115613c4757600080fd5b613c53888289016135d3565b95989497509295608001359392505050565b600060208284031215613c7757600080fd5b604051602081016001600160401b0381118282101715613c9957613c99613528565b6040529135825250919050565b60008060008060006101408688031215613cbf57600080fd5b8535613cca81613513565b94506020860135613cda81613aa2565b9350613ce860408701613aaf565b9250613cf78760608801613c65565b9150613d068760808801613ac3565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b60038110613d3857613d38613d12565b9052565b60048110613d3857613d38613d12565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151613d8c6080840182613d28565b506040830151613d9f60a0840182613d3c565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a090810151610180840152830151613e0b6101a08401826134f2565b5060c0830151612a466101c08401826134f2565b60008060008060008060008060006101c08a8c031215613e3e57600080fd5b8935613e4981613513565b985060208a0135613e5981613513565b975060408a0135613e6981613513565b965060608a0135613e7981613513565b955060808a0135613e8981613513565b945060a08a0135613e9981613aa2565b9350613ea760c08b01613aaf565b9250613eb68b60e08c01613c65565b9150613ec68b6101008c01613ac3565b90509295985092959850929598565b60008060008060808587031215613eeb57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215613f1957600080fd5b81356001600160401b03811115613f2f57600080fd5b612d52848285016135d3565b600060208284031215613f4d57600080fd5b8151612bb481613513565b634e487b7160e01b600052603260045260246000fd5b6000610100808352613f828184018b6136b4565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c90821680613fe757607f821691505b602082108103612a3557634e487b7160e01b600052602260045260246000fd5b84815260a06020820152600e60a08201526d506f6f6c2050726f66696c65203160901b60c082015260e06040820152835160e082015260006020850151604061010084015261405a61012084018261372f565b6001600160a01b03861660608501528381036080850152905061407d81856136b4565b979650505050505050565b60006020828403121561409a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000600182016140c9576140c96140a1565b5060010190565b601f82111561169457600081815260208120601f850160051c810160208610156140f75750805b601f850160051c820191505b81811015611fe357828155600101614103565b81516001600160401b0381111561412f5761412f613528565b6141438161413d8454613fd3565b846140d0565b602080601f83116001811461417857600084156141605750858301515b600019600386901b1c1916600185901b178555611fe3565b600085815260208120601f198616915b828110156141a757888601518255948401946001909101908401614188565b50858210156141c55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60028110613d3857613d38613d12565b6001600160a01b038b81168252602082018b9052610140604083018190526000916142128483018d61372f565b9150614221606085018c6141d5565b8960808501528860a08501528760c085015280871660e085015280861661010085015250828103610120840152614258818561372f565b9d9c50505050505050505050505050565b60006020828403121561427b57600080fd5b81518015158114612bb457600080fd5b8082028115828204841417610b6f57610b6f6140a1565b6001600160a01b03841681526060602082018190526000906142c69083018561372f565b9050826040830152949350505050565b8781526000602060018060a01b03808a168285015260e060408501526142ff60e085018a61372f565b6060828a168187015288608087015285820360a087015287548252600192508288016040858401526000815461433481613fd3565b80604087015286821660008114614352576001811461436c5761439a565b60ff1983168787015281151560051b87018601935061439a565b846000528860002060005b83811015614392578154898201890152908901908a01614377565b880187019450505b50505087810360c08901526143af818a6136b4565b9f9e505050505050505050505050505050565b6000602082840312156143d457600080fd5b8151612bb481613aa2565b634e487b7160e01b600052600160045260246000fd5b60008261441257634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610b6f57610b6f6140a1565b80820180821115610b6f57610b6f6140a1565b75242e6e6574776f726b735b3f28402e6e616d653d3d2760501b81526000825161446e81601685016020870161370b565b6227295d60e81b6016939091019283015250601901919050565b6000835161449a81846020880161370b565b8351908301906144ae81836020880161370b565b01949350505050565b6040815260006144ca604083018561372f565b82810360208401526144dc818561372f565b95945050505050565b600060208083850312156144f857600080fd5b82516001600160401b0381111561450e57600080fd5b8301601f8101851361451f57600080fd5b805161452d6135a382613840565b81815260059190911b8201830190838101908783111561454c57600080fd5b928401925b8284101561407d57835161456481613513565b82529284019290840190614551565b60006020828403121561458557600080fd5b81516001600160401b0381111561459b57600080fd5b8201601f810184136145ac57600080fd5b80516145ba6135a38261356e565b8181528560208385010111156145cf57600080fd5b6144dc82602083016020860161370b565b600082516145f281846020870161370b565b7f2f706b672f636f6e7472616374732f636f6e6669672f6e6574776f726b732e6a9201918252506239b7b760e91b6020820152602301919050565b604081526000614640604083018561372f565b905060018060a01b03831660208301529392505050565b60408152600061466a604083018561372f565b90508260208301529392505050565b60008060006060848603121561468e57600080fd5b835160ff8116811461469f57600080fd5b602085015160409095015190969495509392505050565b8215158152604060208201526000612d52604083018461372f565b600082516146e381846020870161370b565b9190910192915050565b6001600160a01b0383168152604060208201819052600090612d529083018461372f565b6001600160a01b038b81168252602082018b90526101406040830181905260009161473e8483018d61372f565b925061474d606085018c6141d5565b60808401999099525060a082019690965260c081019490945291851660e0840152909316610100820152610120019190915294935050505056fe60a06040523060805234801561001457600080fd5b506080516159696200004d60003960008181611dcd01528181611e1001528181611f0b01528181611f4e01526120b201526159696000f3fe6080604052600436106200032c5760003560e01c806301ffc9a714620003315780630331383c146200036b57806308386eba146200038c5780630d12bbdb14620003a45780630d4a8b4914620003cb578063175188e814620003f05780631b71f0e414620004155780631f787d28146200043a578063223e5479146200045557806322bcf999146200047a578063248a9ca3146200049f57806328c309e914620004c45780632b38c69c14620004dc5780632c611c4a14620005105780632f2ff15d146200054e57806331f61bca14620005735780633396045914620005985780633419635514620005b05780633517aa7d14620005d557806336568abe14620005ed5780633659cfe61462000612578063397e254314620006375780633a871fe1146200065c578063477a5cc014620006915780634f1ef28614620006d1578063524e59e814620006e857806352d1902d146200072b578063559de05d14620007435780635c94e4d214620007685780635ecf71c5146200078b57806365e3864c14620007b05780636871eb4d14620007ed57806368decabb14620008125780636c53db9a1462000835578063715018a6146200085857806373265c371462000870578063733a2d1f146200089557806377122d5614620008ba5780637817ee4f14620008dd57806378a0b8a914620009285780637b103999146200094057806382d6a1e7146200096357806388cfe68414620009885780638961be6b14620009fe5780638da5cb5b1462000a1657806391d148541462000a2e578063a0cf0aea1462000a53578063a217fddf1462000a7d578063a230c5241462000a94578063b0d3713a1462000ab9578063b3f006741462000ade578063b5058c501462000b05578063b64e39af1462000b1d578063b99b43701462000b44578063bc063e1a1462000b5c578063c4d66de81462000b74578063c6d572ae1462000b99578063d547741f1462000bb1578063d6d8428d1462000bd6578063d7050f071462000bf9578063db61d65c1462000c11578063e16d0e321462000c34578063ebd7dc521462000c59578063f2fde38b1462000c7e578063f86c5f891462000ca3578063ffa1ad741462000cc6575b600080fd5b3480156200033e57600080fd5b506200035662000350366004620041ab565b62000cf7565b60405190151581526020015b60405180910390f35b3480156200037857600080fd5b5060fb545b60405190815260200162000362565b3480156200039957600080fd5b506200037d60fe5481565b348015620003b157600080fd5b50620003c9620003c3366004620041d7565b62000d2f565b005b348015620003d857600080fd5b50620003c9620003ea36600462004219565b62000da5565b348015620003fd57600080fd5b50620003c96200040f36600462004257565b62001113565b3480156200042257600080fd5b50620003c96200043436600462004257565b6200112b565b3480156200044757600080fd5b5060ff805462000356911681565b3480156200046257600080fd5b50620003c96200047436600462004257565b62001158565b3480156200048757600080fd5b50620003c96200049936600462004219565b6200116d565b348015620004ac57600080fd5b506200037d620004be366004620041d7565b62001267565b348015620004d157600080fd5b506200037d6200127c565b348015620004e957600080fd5b5062000501620004fb36600462004277565b62001381565b604051620003629190620042b3565b3480156200051d57600080fd5b506200037d6200052f36600462004257565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200055b57600080fd5b50620003c96200056d366004620042c7565b620013bb565b3480156200058057600080fd5b50620003c962000592366004620041d7565b620013e2565b348015620005a557600080fd5b506200037d60fd5481565b348015620005bd57600080fd5b50620003c9620005cf366004620044fb565b62001422565b348015620005e257600080fd5b50620003c962001adf565b348015620005fa57600080fd5b50620003c96200060c366004620042c7565b62001d41565b3480156200061f57600080fd5b50620003c96200063136600462004257565b62001dc3565b3480156200064457600080fd5b50620003c96200065636600462004257565b62001e94565b3480156200066957600080fd5b50620003566200067b36600462004257565b61010a6020526000908152604090205460ff1681565b3480156200069e57600080fd5b5062000356620006b036600462004219565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003c9620006e23660046200468e565b62001f01565b348015620006f557600080fd5b506200070d62000707366004620048b8565b62001fc2565b604080519283526001600160a01b0390911660208301520162000362565b3480156200073857600080fd5b506200037d620020a5565b3480156200075057600080fd5b50620003c962000762366004620041d7565b62002156565b3480156200077557600080fd5b506101025462000501906001600160a01b031681565b3480156200079857600080fd5b50620003c9620007aa366004620041d7565b620023a2565b348015620007bd57600080fd5b506200037d620007cf36600462004219565b61010b60209081526000928352604080842090915290825290205481565b348015620007fa57600080fd5b50620003c96200080c36600462004219565b6200273c565b3480156200081f57600080fd5b506101035462000501906001600160a01b031681565b3480156200084257600080fd5b506101065462000501906001600160a01b031681565b3480156200086557600080fd5b50620003c96200288f565b3480156200087d57600080fd5b50620003c96200088f366004620041d7565b620028a5565b348015620008a257600080fd5b506200037d600080516020620058ad83398151915281565b348015620008c757600080fd5b506101015462000501906001600160a01b031681565b348015620008ea57600080fd5b506200037d620008fc36600462004219565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200093557600080fd5b506200037d60fb5481565b3480156200094d57600080fd5b506101045462000501906001600160a01b031681565b3480156200097057600080fd5b50620003c962000982366004620041d7565b62002941565b3480156200099557600080fd5b50620009d6620009a736600462004257565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000362565b34801562000a0b57600080fd5b506200037d60fc5481565b34801562000a2357600080fd5b5062000501620029ff565b34801562000a3b57600080fd5b506200035662000a4d366004620042c7565b62002a9a565b34801562000a6057600080fd5b506200050173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000a8a57600080fd5b506200037d600081565b34801562000aa157600080fd5b506200035662000ab336600462004257565b62002ac5565b34801562000ac657600080fd5b50620003c962000ad836600462004257565b62002b0f565b34801562000aeb57600080fd5b5060ff54620005019061010090046001600160a01b031681565b34801562000b1257600080fd5b50620003c962002b3c565b34801562000b2a57600080fd5b5062000b3562002b73565b60405162000362919062004976565b34801562000b5157600080fd5b50620003c962002c0a565b34801562000b6957600080fd5b506200037d62002d14565b34801562000b8157600080fd5b50620003c962000b9336600462004257565b62002d26565b34801562000ba657600080fd5b5062000b3562002d5b565b34801562000bbe57600080fd5b50620003c962000bd0366004620042c7565b62002d6b565b34801562000be357600080fd5b506101075462000501906001600160a01b031681565b34801562000c0657600080fd5b506200037d61271081565b34801562000c1e57600080fd5b506101055462000501906001600160a01b031681565b34801562000c4157600080fd5b506200070d62000c533660046200498b565b62002d8d565b34801562000c6657600080fd5b506200035662000c7836600462004257565b62002f1a565b34801562000c8b57600080fd5b50620003c962000c9d36600462004257565b62002f37565b34801562000cb057600080fd5b506101005462000501906001600160a01b031681565b34801562000cd357600080fd5b5062000b35604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d2957506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d3962002fa8565b62000d48612710600a62004a20565b81111562000d695760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000db08262002fe5565b62000dbb816200300e565b62000dc68162003049565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e0f57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000e9d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ec3919062004a50565b600381111562000ed75762000ed762004a3a565b0362000f5c5760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f0e90889060009060040162004a70565b6020604051808303816000875af115801562000f2e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f54919062004a89565b905062001058565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f9f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc5919062004a50565b600381111562000fd95762000fd962004a3a565b14620010585760405163782aadff60e01b81526001600160a01b0385169063782aadff906200100f908890869060040162004a70565b6020604051808303816000875af11580156200102f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001055919062004a89565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec90620011049087908790859062004aa3565b60405180910390a15050505050565b6200111d62002fa8565b620011288162003071565b50565b62001135620030cf565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200116262002fa8565b620011288162003132565b620011788262002fe5565b620011838162003049565b6200118f3382620031c4565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620011d757604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012298282620031f7565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b82826040516200125b92919062004ac7565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b0316816200129c612710606462004a20565b60fc5460fb54620012ae919062004a20565b620012ba919062004ae1565b90506000620012cd612710606462004a20565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c90620012fb903090600401620042b3565b602060405180830381865afa15801562001319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200133f919062004a89565b60fb546200134e919062004a20565b6200135a919062004ae1565b9050808260fb546200136d919062004b04565b62001379919062004b04565b935050505090565b61010d60205281600052604060002081815481106200139f57600080fd5b6000918252602090912001546001600160a01b03169150829050565b620013c68262001267565b620013d1816200332d565b620013dd838362003339565b505050565b620013ec62002fa8565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000d9a565b600054610100900460ff1615808015620014435750600054600160ff909116105b806200146857506200145530620033c3565b15801562001468575060005460ff166001145b620014d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620014f5576000805461ff0019166101001790555b620015008262002d26565b6200150a620033d2565b6200151462003406565b62001530600080516020620058ad833981519152600062003430565b6200153f856020015162003049565b6200154f85610100015162003049565b84516200155c9062003049565b6200156b8560a0015162003049565b6060850151156200158557620015858560c0015162003049565b845161010780546001600160a01b039283166001600160a01b031991821617909155602087015161010580549190931691161790556040850151600003620015e0576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff1916911515919091179055610120850151610108906200161d908262004ba8565b506101608501516101099062001634908262004ba8565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620016a990600080516020620058ad8339815191529062003339565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015620016fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001724919062004c74565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b600003620017b05760408051600380825260808201909252906020820160608036833701905050905033816000815181106200178a576200178a62004c94565b60200260200101906001600160a01b031690816001600160a01b031681525050620018ed565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa158015620017fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001825919081019062004caa565b90508051600262001837919062004b04565b6001600160401b03811115620018515762001851620042ef565b6040519080825280602002602001820160405280156200187b578160200160208202803683370190505b50915060005b8151811015620018ea57818181518110620018a057620018a062004c94565b6020026020010151838281518110620018bd57620018bd62004c94565b6001600160a01b039092166020928302919091019091015280620018e18162004d68565b91505062001881565b50505b6101065481516001600160a01b039091169082906200190f9060019062004d84565b8151811062001922576200192262004c94565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162001954919062004d84565b8151811062001967576200196762004c94565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f92620019ba9291610108913090889060040162004e86565b6020604051808303816000875af1158015620019da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a00919062004a89565b60fe55805162001a199061010f90602084019062004105565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001a8b929091610108919062004eda565b60405180910390a150801562001ad8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001104565b5050505050565b62001ae962003485565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b1a612710606462004a20565b60fc5460fb5462001b2c919062004a20565b62001b38919062004ae1565b9050600062001b4b612710606462004a20565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001b79903090600401620042b3565b602060405180830381865afa15801562001b97573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bbd919062004a89565b60fb5462001bcc919062004a20565b62001bd8919062004ae1565b905062001be58562002ac5565b62001d2f5760028401805460ff1916600190811790915560fb5490850181905562001c3f9086903090849062001c1d90879062004b04565b62001c29919062004b04565b610105546001600160a01b0316929190620034e0565b811562001c6c5760ff546101055462001c6c916001600160a01b039182169161010090910416846200353c565b801562001cf15762001cf1836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001cb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cdc919062004c74565b610105546001600160a01b031690836200353c565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001d2692919062004a70565b60405180910390a15b505050505062001d3f6001606555565b565b6001600160a01b038116331462001db35760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401620014c8565b62001dbf828262003565565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e0e5760405162461bcd60e51b8152600401620014c89062004f09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001e42620035cf565b6001600160a01b03161462001e6b5760405162461bcd60e51b8152600401620014c89062004f44565b62001e7681620035ec565b6040805160008082526020820190925262001128918391906200362e565b62001e9e62002fa8565b62001ea98162003049565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000d9a939216919062004ac7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001f4c5760405162461bcd60e51b8152600401620014c89062004f09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001f80620035cf565b6001600160a01b03161462001fa95760405162461bcd60e51b8152600401620014c89062004f44565b62001fb482620035ec565b62001dbf828260016200362e565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b928116911662001ff8620029ff565b6040516001600160a01b0393841660248201529183166044830152909116606482015260840160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200205d906200416b565b6200206a92919062004f7f565b604051809103906000f08015801562002087573d6000803e3d6000fd5b509050620020988187878762002d8d565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021425760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401620014c8565b50600080516020620058ed83398151915290565b6200216062003485565b6200216a620037a6565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620021ce57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620021af575b50505050509050600080600090505b82518110156200230957828181518110620021fc57620021fc62004c94565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b81526004016200223392919062004a70565b6020604051808303816000875af115801562002253573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002279919062004a89565b91508115620022f4576001600160a01b038416600090815261010b602052604081208451849290869085908110620022b557620022b562004c94565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000828254620022ee919062004b04565b90915550505b80620023008162004d68565b915050620021dd565b506101055462002325906001600160a01b0316843087620034e0565b6001600160a01b038316600090815261010c6020526040812060010180548692906200235390849062004b04565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f906200238c908590879062004a70565b60405180910390a1505050620011286001606555565b620023ac62003485565b620023b6620037a6565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620023ea90869062004d84565b10156200240a57604051634e23e81760e11b815260040160405180910390fd5b6101055462002424906001600160a01b031684866200353c565b60005b8254811015620026d457600083828154811062002448576200244862004c94565b6000918252602090912001546001600160a01b03169050620024728163f1801e6160e01b620037cf565b15620025f857604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620024a89088908a9060040162004a70565b6020604051808303816000875af1158015620024c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024ee919062004a89565b9250600061010b6000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815481106200252f576200252f62004c94565b60009182526020808320909101546001600160a01b0316835282019290925260400190205490508084111562002583576040516311423e6360e31b81526004810185905260248101829052604401620014c8565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620025b657620025b662004c94565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190620025ec90849062004d84565b909155505050620026be565b835484906200260a9060019062004d84565b815481106200261d576200261d62004c94565b9060005260206000200160009054906101000a90046001600160a01b031684838154811062002650576200265062004c94565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508380548062002691576200269162004fa5565b600082815260209020810160001990810180546001600160a01b0319169055019055620026be8162003071565b5080620026cb8162004d68565b91505062002427565b506001600160a01b038316600090815261010c6020526040812060010180548692906200270390849062004d84565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8906200238c908590879062004a70565b6200274662003485565b6200275062002fa8565b60ff80541662002773576040516365b1ee3960e11b815260040160405180910390fd5b6200277e8262002ac5565b6200279c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620027ed83620037f7565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff19169055820151610105546200284292169084906200353c565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3838383602001516040516200287b9392919062004aa3565b60405180910390a15062001dbf6001606555565b62002899620030cf565b62001d3f60006200390c565b620028af62002fa8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620028fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002925919081019062004fbb565b602001519050620029368162003049565b62001dbf8162003071565b6200294b62002fa8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002997573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620029c1919081019062004fbb565b602001519050620029d28162003049565b620029ee6001600160a01b03821663f1801e6160e01b620037cf565b1562001dbf5762001dbf8162003132565b60008062002a156033546001600160a01b031690565b9050806001600160a01b03163b60000362002a2f57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002a8c575060408051601f3d908101601f1916820190925262002a899181019062004c74565b60015b62000d2957919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002b19620030cf565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002b69576040516375e686b760e11b815260040160405180910390fd5b62001d3f6200395e565b610109805462002b839062004b1a565b80601f016020809104026020016040519081016040528092919081815260200182805462002bb19062004b1a565b801562002c025780601f1062002bd65761010080835404028352916020019162002c02565b820191906000526020600020905b81548152906001019060200180831162002be457829003601f168201915b505050505081565b62002c1462003485565b3362002c208162002fe5565b62002c2b81620037f7565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d9052918220909162002ca6919062004179565b60208101516101055462002cc8916001600160a01b039091169084906200353c565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162002cff92919062004a70565b60405180910390a1505062001d3f6001606555565b62002d23612710600a62004a20565b81565b600054610100900460ff1662002d505760405162461bcd60e51b8152600401620014c890620050f1565b62001128816200390c565b610108805462002b839062004b1a565b62002d768262001267565b62002d81816200332d565b620013dd838362003565565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002db85750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002e1657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002df7575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e4e908b9060200162005166565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e86979695949392919062005248565b6020604051808303816000875af115801562002ea6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ecc919062004a89565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002f07959493929190620052b9565b60405180910390a1505094509492505050565b600062000d29600080516020620058ad8339815191528362002a9a565b62002f41620030cf565b6001600160a01b03811662002d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620014c8565b62002fc3600080516020620058ad8339815191523362002a9a565b62001d3f573360405163fc4be72f60e01b8152600401620014c89190620042b3565b62002ff08162002ac5565b6200112857604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff1662001128576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b03811662001128576040516303988b8160e61b815260040160405180910390fd5b6200307c8162003049565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000d9a908390620042b3565b33620030da620029ff565b6001600160a01b03161462001d3f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620014c8565b6001600160a01b038116600090815261010a602052604090205460ff16156200316e576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000d9a908390620042b3565b806001600160a01b0316826001600160a01b03161462001dbf5760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200332757826001600160a01b03168282815481106200323b576200323b62004c94565b6000918252602090912001546001600160a01b031603620033125781548290620032689060019062004d84565b815481106200327b576200327b62004c94565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110620032ae57620032ae62004c94565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480620032ef57620032ef62004fa5565b600082815260209020810160001990810180546001600160a01b03191690550190555b806200331e8162004d68565b91505062003212565b50505050565b620011288133620039c2565b62003345828262002a9a565b62001dbf57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200337f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620033fc5760405162461bcd60e51b8152600401620014c890620050f1565b62001d3f62003a26565b600054610100900460ff1662001d3f5760405162461bcd60e51b8152600401620014c890620050f1565b60006200343d8362001267565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600260655403620034d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620014c8565b6002606555565b62003327846323b872dd60e01b858585604051602401620035049392919062004aa3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003a50565b620013dd8363a9059cbb60e01b84846040516024016200350492919062004a70565b6001606555565b62003571828262002a9a565b1562001dbf57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020620058ed833981519152546001600160a01b031690565b33620035f7620029ff565b6001600160a01b03161462001128573362003611620029ff565b60405163163678e960e01b8152600401620014c892919062004ac7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200366457620013dd8362003b2c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620036c1575060408051601f3d908101601f19168201909252620036be9181019062004a89565b60015b620037265760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620014c8565b600080516020620058ed8339815191528114620037985760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620014c8565b50620013dd83838362003bcb565b620037b13362002ac5565b62001d3f57604051636a5cfb6d60e01b815260040160405180910390fd5b6000620037dc8362003bf6565b8015620037f05750620037f0838362003c2e565b9392505050565b6001600160a01b038116600090815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200386457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003845575b5050505050905060005b8151811015620013dd578181815181106200388d576200388d62004c94565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b8152600401620038c29190620042b3565b600060405180830381600087803b158015620038dd57600080fd5b505af1158015620038f2573d6000803e3d6000fd5b505050508080620039039062004d68565b9150506200386e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290620039b890600090620042b3565b60405180910390a1565b620039ce828262002a9a565b62001dbf57620039de8162003cb9565b620039eb83602062003ccc565b604051602001620039fe929190620052f5565b60408051601f198184030181529082905262461bcd60e51b8252620014c89160040162004976565b600054610100900460ff166200355e5760405162461bcd60e51b8152600401620014c890620050f1565b600062003aa7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662003e859092919063ffffffff16565b905080516000148062003acb57508080602001905181019062003acb919062005368565b620013dd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620014c8565b62003b3781620033c3565b62003b9b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620014c8565b600080516020620058ed83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003bd68362003e9e565b60008251118062003be45750805b15620013dd5762003327838362003ee0565b600062003c0b826301ffc9a760e01b62003c2e565b801562000d29575062003c27826001600160e01b031962003c2e565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562003ca1575060208210155b801562003cae5750600081115b979650505050505050565b606062000d296001600160a01b03831660145b6060600062003cdd83600262004a20565b62003cea90600262004b04565b6001600160401b0381111562003d045762003d04620042ef565b6040519080825280601f01601f19166020018201604052801562003d2f576020820181803683370190505b509050600360fc1b8160008151811062003d4d5762003d4d62004c94565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062003d7f5762003d7f62004c94565b60200101906001600160f81b031916908160001a905350600062003da584600262004a20565b62003db290600162004b04565b90505b600181111562003e34576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062003dea5762003dea62004c94565b1a60f81b82828151811062003e035762003e0362004c94565b60200101906001600160f81b031916908160001a90535060049490941c9362003e2c8162005388565b905062003db5565b508315620037f05760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620014c8565b606062003e96848460008562003f08565b949350505050565b62003ea98162003b2c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620037f083836040518060600160405280602781526020016200590d6027913962003fe0565b60608247101562003f6b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620014c8565b600080866001600160a01b0316858760405162003f899190620053a2565b60006040518083038185875af1925050503d806000811462003fc8576040519150601f19603f3d011682016040523d82523d6000602084013e62003fcd565b606091505b509150915062003cae878383876200405e565b6060600080856001600160a01b03168560405162003fff9190620053a2565b600060405180830381855af49150503d80600081146200403c576040519150601f19603f3d011682016040523d82523d6000602084013e62004041565b606091505b509150915062004054868383876200405e565b9695505050505050565b60608315620040d2578251600003620040ca576200407c85620033c3565b620040ca5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620014c8565b508162003e96565b62003e968383815115620040e95781518083602001fd5b8060405162461bcd60e51b8152600401620014c8919062004976565b8280548282559060005260206000209081019282156200415d579160200282015b828111156200415d57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004126565b5062002a9692915062004194565b6104ec80620053c183390190565b50805460008255906000526020600020908101906200112891905b5b8082111562002a96576000815560010162004195565b600060208284031215620041be57600080fd5b81356001600160e01b031981168114620037f057600080fd5b600060208284031215620041ea57600080fd5b5035919050565b6001600160a01b03811681146200112857600080fd5b80356200421481620041f1565b919050565b600080604083850312156200422d57600080fd5b82356200423a81620041f1565b915060208301356200424c81620041f1565b809150509250929050565b6000602082840312156200426a57600080fd5b8135620037f081620041f1565b600080604083850312156200428b57600080fd5b82356200429881620041f1565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60008060408385031215620042db57600080fd5b8235915060208301356200424c81620041f1565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156200432a576200432a620042ef565b60405290565b60405161018081016001600160401b03811182821017156200432a576200432a620042ef565b60405160c081016001600160401b03811182821017156200432a576200432a620042ef565b60405160e081016001600160401b03811182821017156200432a576200432a620042ef565b604051608081016001600160401b03811182821017156200432a576200432a620042ef565b604051601f8201601f191681016001600160401b0381118282101715620043f057620043f0620042ef565b604052919050565b60006001600160401b03821115620044145762004414620042ef565b50601f01601f191660200190565b6000620044396200443384620043f8565b620043c5565b90508281528383830111156200444e57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126200447757600080fd5b620037f08383356020850162004422565b6000604082840312156200449b57600080fd5b620044a562004305565b82358152905060208201356001600160401b03811115620044c557600080fd5b620044d38482850162004465565b60208301525092915050565b80151581146200112857600080fd5b80356200421481620044df565b600080600080608085870312156200451257600080fd5b84356001600160401b03808211156200452a57600080fd5b9086019061018082890312156200454057600080fd5b6200454a62004330565b620045558362004207565b8152620045656020840162004207565b60208201526040830135604082015260608301356060820152608083013560808201526200459660a0840162004207565b60a0820152620045a960c0840162004207565b60c082015260e083013582811115620045c157600080fd5b620045cf8a82860162004488565b60e083015250610100620045e581850162004207565b908201526101208381013583811115620045fe57600080fd5b6200460c8b82870162004465565b82840152505061014062004622818501620044ee565b9082015261016083810135838111156200463b57600080fd5b620046498b82870162004465565b828401525050809650505050620046636020860162004207565b9250620046736040860162004207565b9150620046836060860162004207565b905092959194509250565b60008060408385031215620046a257600080fd5b8235620046af81620041f1565b915060208301356001600160401b03811115620046cb57600080fd5b8301601f81018513620046dd57600080fd5b620046ee8582356020840162004422565b9150509250929050565b8035600381106200421457600080fd5b600481106200112857600080fd5b8035620042148162004708565b6000602082840312156200473657600080fd5b604051602081016001600160401b03811182821017156200475b576200475b620042ef565b6040529135825250919050565b600060c082840312156200477b57600080fd5b6200478562004356565b905081356200479481620041f1565b81526020820135620047a681620041f1565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60008183036101e0811215620047f057600080fd5b620047fa6200437b565b915060808112156200480b57600080fd5b5062004816620043a0565b82358152602083013560208201526040830135604082015260608301356060820152808252506200484a60808301620046f8565b60208201526200485d60a0830162004716565b6040820152620048718360c0840162004723565b6060820152620048858360e0840162004768565b6080820152620048996101a0830162004207565b60a0820152620048ad6101c0830162004207565b60c082015292915050565b60008060006102208486031215620048cf57600080fd5b8335620048dc81620041f1565b9250620048ed8560208601620047db565b91506102008401356001600160401b038111156200490a57600080fd5b620049188682870162004488565b9150509250925092565b60005b838110156200493f57818101518382015260200162004925565b50506000910152565b600081518084526200496281602086016020860162004922565b601f01601f19169290920160200192915050565b602081526000620037f0602083018462004948565b6000806000806102408587031215620049a357600080fd5b8435620049b081620041f1565b93506020850135620049c281620041f1565b9250620049d38660408701620047db565b91506102208501356001600160401b03811115620049f057600080fd5b620049fe8782880162004488565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d295762000d2962004a0a565b634e487b7160e01b600052602160045260246000fd5b60006020828403121562004a6357600080fd5b8151620037f08162004708565b6001600160a01b03929092168252602082015260400190565b60006020828403121562004a9c57600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b60008262004aff57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d295762000d2962004a0a565b600181811c9082168062004b2f57607f821691505b60208210810362004b5057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620013dd57600081815260208120601f850160051c8101602086101562004b7f5750805b601f850160051c820191505b8181101562004ba05782815560010162004b8b565b505050505050565b81516001600160401b0381111562004bc45762004bc4620042ef565b62004bdc8162004bd5845462004b1a565b8462004b56565b602080601f83116001811462004c14576000841562004bfb5750858301515b600019600386901b1c1916600185901b17855562004ba0565b600085815260208120601f198616915b8281101562004c455788860151825594840194600190910190840162004c24565b508582101562004c645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562004c8757600080fd5b8151620037f081620041f1565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121562004cbe57600080fd5b82516001600160401b038082111562004cd657600080fd5b818501915085601f83011262004ceb57600080fd5b81518181111562004d005762004d00620042ef565b8060051b915062004d13848301620043c5565b818152918301840191848101908884111562004d2e57600080fd5b938501935b8385101562004d5c578451925062004d4b83620041f1565b828252938501939085019062004d33565b98975050505050505050565b60006001820162004d7d5762004d7d62004a0a565b5060010190565b8181038181111562000d295762000d2962004a0a565b6000815462004da98162004b1a565b80855260206001838116801562004dc9576001811462004de45762004e14565b60ff1985168884015283151560051b88018301955062004e14565b866000528260002060005b8581101562004e0c5781548a820186015290830190840162004def565b890184019650505b505050505092915050565b80518252600060208201516040602085015262003e96604085018262004948565b600081518084526020808501945080840160005b8381101562004e7b5781516001600160a01b03168752958201959082019060010162004e54565b509495945050505050565b85815260a06020820152600062004ea160a083018762004d9a565b828103604084015262004eb5818762004e1f565b6001600160a01b03861660608501528381036080850152905062004d5c818562004e40565b83815260606020820152600062004ef5606083018562004d9a565b828103604084015262004054818562004e1f565b6020808252602c90820152600080516020620058cd83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020620058cd83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b038316815260406020820181905260009062003e969083018462004948565b634e487b7160e01b600052603160045260246000fd5b6000602080838503121562004fcf57600080fd5b82516001600160401b038082111562004fe757600080fd5b9084019060c0828703121562004ffc57600080fd5b6200500662004356565b82518152838301516200501981620041f1565b8185015260408301516200502d81620041f1565b60408201526060830151828111156200504557600080fd5b8301604081890312156200505857600080fd5b6200506262004305565b8151815285820151848111156200507857600080fd5b82019350601f840189136200508c57600080fd5b835191506200509f6200443383620043f8565b8281528987848701011115620050b457600080fd5b620050c58388830189880162004922565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600381106200514f576200514f62004a3a565b9052565b600481106200514f576200514f62004a3a565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151620051a860808401826200513c565b506040830151620051bd60a084018262005153565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a0908101516101808401528301516200522b6101a0840182620042a6565b5060c0830151620052416101c0840182620042a6565b5092915050565b878152600060018060a01b03808916602084015260e060408401526200527260e084018962004948565b818816606085015286608085015283810360a085015262005294818762004e1f565b91505082810360c0840152620052ab818562004e40565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a06080820181905260009062003cae9083018462004e1f565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200532981601785016020880162004922565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200535c81602884016020880162004922565b01602801949350505050565b6000602082840312156200537b57600080fd5b8151620037f081620044df565b6000816200539a576200539a62004a0a565b506000190190565b60008251620053b681846020870162004922565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c65c829f8fdde34a02905ed1e083dd9758067fd2de18763efdf9654cd7213cd964736f6c6343000813003360a06040523060805234801561001457600080fd5b5060805161667a6200004d6000396000818161181f0152818161185f015281816118ef0152818161192f01526119a7015261667a6000f3fe6080604052600436106103425760003560e01c8063013cf08b1461034b57806301ffc9a71461038d578063059351cd146103bd578063062f9ece1461044a5780630a6f0ee91461046a5780630ba959091461048a5780630bece79c146104a95780630c0512e9146104d65780630f529ba2146104ec578063125fd1d91461050357806315cc481e14610519578063184b9559146105375780631aa91a9e146105575780631ddf1e23146105775780632506b8701461058c578063255ffb38146105cf5780632bbe0cae146105fc5780632dbd6fdd1461060f5780632ed04b2b1461063b578063311a6c561461065b578063339604591461067b578063346db8cb14610691578063351d9f96146106b15780633659cfe6146106d857806338fff2d0146106f8578063406244d81461070d57806341bb76051461072257806342fda9c71461077f5780634ab4ba42146107945780634d31d087146107a95780634f1ef286146107c957806352d1902d146107dc57806359a5db8b146107f15780635db64b99146108115780636003e4141461083e57806360d5dedc1461085e578063626c47e81461087e5780636453d9c414610893578063715018a6146108b3578063782aadff146108c8578063814516ad146108e8578063817b1cd2146108fd578063824ea8ed14610913578063868c57b8146109335780638da5cb5b14610953578063950559d7146109685780639a1c157c14610988578063a0cf0aea1461099d578063a28889e1146109c5578063a47ff7e5146109fd578063a574cea414610a14578063aba9ffee14610a41578063ac1ed7b914610a57578063b0d3713a14610a77578063b2b878d014610a97578063b41596ec14610ac4578063b5f620ce14610ad7578063b6c61f3114610af7578063bcc5b93b14610b17578063c329217114610b37578063c4d66de814610b54578063c7f758a814610b74578063d1e3623214610bab578063dc96ff2d14610bc0578063df868ed314610bf0578063e0a8f6f514610c05578063e0dd2c3814610c25578063eb11af9314610c45578063edd146cc14610c6d578063ef2920fc14610c8d578063f2fde38b14610ca0578063f5b0dfb714610cc0578063f5be3f7c14610ce0578063ffa1ad7414610cf657005b3661034957005b005b34801561035757600080fd5b5061036b61036636600461503b565b610d32565b6040516103849d9c9b9a999897969594939291906150f6565b60405180910390f35b34801561039957600080fd5b506103ad6103a8366004615198565b610e80565b6040519015158152602001610384565b3480156103c957600080fd5b50610412606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c001610384565b34801561045657600080fd5b506103496104653660046152cd565b610eb7565b34801561047657600080fd5b506103496104853660046154a2565b610ecd565b34801561049657600080fd5b506077545b604051908152602001610384565b3480156104b557600080fd5b506079546104c9906001600160a01b031681565b6040516103849190615519565b3480156104e257600080fd5b5061049b606e5481565b3480156104f857600080fd5b5061049b6298968081565b34801561050f57600080fd5b5061049b606f5481565b34801561052557600080fd5b506065546001600160a01b03166104c9565b34801561054357600080fd5b5061034961055236600461552d565b610eed565b34801561056357600080fd5b5061049b61057236600461503b565b61104d565b34801561058357600080fd5b50610349611097565b34801561059857600080fd5b506072546073546074546075546105af9392919084565b604080519485526020850193909352918301526060820152608001610384565b3480156105db57600080fd5b5061049b6105ea36600461503b565b607e6020526000908152604090205481565b6104c961060a36600461556d565b6110a2565b34801561061b57600080fd5b5060765461062e90610100900460ff1681565b60405161038491906155d2565b34801561064757600080fd5b5061049b6106563660046155e0565b6110c5565b34801561066757600080fd5b5061034961067636600461560c565b611189565b34801561068757600080fd5b5061049b606c5481565b34801561069d57600080fd5b5061049b6106ac36600461562e565b61177a565b3480156106bd57600080fd5b506076546106cb9060ff1681565b604051610384919061566a565b3480156106e457600080fd5b506103496106f3366004615678565b611815565b34801561070457600080fd5b5060685461049b565b34801561071957600080fd5b5061049b600a81565b34801561072e57600080fd5b5061041261073d36600461503b565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b34801561078b57600080fd5b5060665461049b565b3480156107a057600080fd5b5060695461049b565b3480156107b557600080fd5b506103ad6107c4366004615678565b6118dd565b6103496107d7366004615695565b6118e5565b3480156107e857600080fd5b5061049b61199a565b3480156107fd57600080fd5b5061049b61080c36600461503b565b611a48565b34801561081d57600080fd5b5061049b61082c366004615678565b607c6020526000908152604090205481565b34801561084a57600080fd5b506078546104c9906001600160a01b031681565b34801561086a57600080fd5b506103496108793660046156e4565b611b62565b34801561088a57600080fd5b5061049b600381565b34801561089f57600080fd5b506103496108ae366004615678565b611bde565b3480156108bf57600080fd5b50610349611bef565b3480156108d457600080fd5b5061049b6108e33660046155e0565b611c01565b3480156108f457600080fd5b50610349611d93565b34801561090957600080fd5b5061049b60705481565b34801561091f57600080fd5b506103ad61092e36600461503b565b611eaa565b34801561093f57600080fd5b5061049b61094e3660046155e0565b611f07565b34801561095f57600080fd5b506104c9611f38565b34801561097457600080fd5b5061049b61098336600461503b565b611fc9565b34801561099457600080fd5b5060745461049b565b3480156109a957600080fd5b506104c973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156109d157600080fd5b50606d546109e5906001600160401b031681565b6040516001600160401b039091168152602001610384565b348015610a0957600080fd5b5060775461049b9081565b348015610a2057600080fd5b50610a34610a2f36600461503b565b611ff3565b604051610384919061573f565b348015610a4d57600080fd5b5061049b60715481565b348015610a6357600080fd5b50610349610a72366004615678565b6120d2565b348015610a8357600080fd5b50610349610a92366004615678565b612105565b348015610aa357600080fd5b50610ab7610ab2366004615752565b61212f565b6040516103849190615826565b61049b610ad23660046158bf565b61214a565b348015610ae357600080fd5b50610349610af2366004615946565b61249c565b348015610b0357600080fd5b50607a546104c9906001600160a01b031681565b348015610b2357600080fd5b5061049b610b32366004615678565b6124a5565b348015610b4357600080fd5b50607654610100900460ff1661062e565b348015610b6057600080fd5b50610349610b6f366004615678565b6124c0565b348015610b8057600080fd5b50610b94610b8f36600461503b565b6124f0565b6040516103849b9a99989796959493929190615963565b348015610bb757600080fd5b5060715461049b565b348015610bcc57600080fd5b5061049b610bdb36600461503b565b6000908152607b602052604090206002015490565b348015610bfc57600080fd5b506103ad6125fc565b348015610c1157600080fd5b50610349610c2036600461503b565b61260f565b348015610c3157600080fd5b5061049b610c403660046159d2565b612794565b348015610c5157600080fd5b50610c606107c4366004615678565b60405161038491906159f7565b348015610c7957600080fd5b50610349610c88366004615a0a565b6127bf565b610349610c9b36600461556d565b612999565b348015610cac57600080fd5b50610349610cbb366004615678565b6129b3565b348015610ccc57600080fd5b50610349610cdb36600461503b565b612a20565b348015610cec57600080fd5b5061049b611c2081565b348015610d0257600080fd5b50610d25604051806040016040528060038152602001620302e360ec1b81525081565b6040516103849190615a3a565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610db990615a4d565b80601f0160208091040260200160405190810160405280929190818152602001828054610de590615a4d565b8015610e325780601f10610e0757610100808354040283529160200191610e32565b820191906000526020600020905b815481529060010190602001808311610e1557829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610eb157506301ffc9a760e01b6001600160e01b03198316145b92915050565b610ebf612a49565b610ec98282612af1565b5050565b610ed5612e66565b610edd612e91565b610ee8838383612eb4565b505050565b600054610100900460ff1615808015610f0d5750600054600160ff909116105b80610f2e5750610f1c306131be565b158015610f2e575060005460ff166001145b610f965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610fb9576000805461ff0019166101001790555b610fe6846040518060400160405280600a8152602001694356537472617465677960b01b81525084611b62565b606a80546001600160a01b0319166001600160a01b0385161790558015611047576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461107f5760405163c1d17bef60e01b815260048101849052602401610f8d565b61108d8182600201546131cd565b6003015492915050565b6110a033613208565b565b60006110ac612e66565b6110b4612e91565b6110be838361332d565b9392505050565b60006110cf61371b565b60006002607654610100900460ff1660038111156110ef576110ef615061565b148061111657506001607654610100900460ff16600381111561111457611114615061565b145b1561112257508161112f565b61112c8484613746565b90505b80607160008282546111419190615a97565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061117a90869086908590615aaa565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112295760405163c1d17bef60e01b815260048101849052602401610f8d565b6005600883015460ff16600681111561124457611244615061565b1461126557604051634b011ca960e11b815260048101849052602401610f8d565b60a0810151600d83015460009161127b91615acb565b42119050801581611296575081516001600160a01b03163314155b156112b457604051631777988560e11b815260040160405180910390fd5b80806112be575084155b156114075781608001516000036112e857604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113045760088301805460ff191660011790555b81608001516002036113915760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361135e938a939290911691600401615ade565b600060405180830381600087803b15801561137857600080fd5b505af115801561138c573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113d0938a939290911691600401615ade565b600060405180830381600087803b1580156113ea57600080fd5b505af11580156113fe573d6000803e3d6000fd5b505050506116e3565b846001036114c75760088301805460ff19166001179055607954600e84015460785460408051633629edcd60e11b815290516001600160a01b0394851694638969ab53948a9490821693911691636c53db9a916004808201926020929091908290030181865afa15801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a39190615afd565b86606001516040518563ffffffff1660e01b81526004016113d09493929190615b1a565b846002036116e35760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361151d938a939290911691600401615ade565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050607954600586015460785460408051633629edcd60e11b815290516001600160a01b039485169650638969ab5395508a949384169390921691636c53db9a916004808201926020929091908290030181865afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d59190615afd565b606f546000908152607f602052604090206002908101546115f69190615b55565b6040518563ffffffff1660e01b81526004016116159493929190615b1a565b600060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a9493841693909216916116919190615b55565b6040518563ffffffff1660e01b81526004016116b09493929190615b1a565b600060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006116fc83615b77565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161176a91815260200190565b60405180910390a3505050505050565b6074546000908490829061179f9061179990629896809060801b615b55565b8361394d565b905060806001607f1b607260020154629896806117bc9190615a97565b6117ca84600160801b615a97565b6117d76298968089615b9a565b6117e19190615b9a565b6117eb9190615b55565b6117f58885615b9a565b6117ff9190615acb565b6118099190615acb565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361185d5760405162461bcd60e51b8152600401610f8d90615bb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661188f6139f5565b6001600160a01b0316146118b55760405162461bcd60e51b8152600401610f8d90615beb565b6118be81613a11565b604080516000808252602082019092526118da91839190613a4c565b50565b600080610eb1565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361192d5760405162461bcd60e51b8152600401610f8d90615bb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661195f6139f5565b6001600160a01b0316146119855760405162461bcd60e51b8152600401610f8d90615beb565b61198e82613a11565b610ec982826001613a4c565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a355760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610f8d565b506000805160206165de83398151915290565b60008060695411611a6c5760405163ed4421ad60e01b815260040160405180910390fd5b611a7582613bb7565b15611a9357604051630efd728560e21b815260040160405180910390fd5b606954600090611aa784600160401b615b9a565b611ab19190615b55565b6072546298968090611ac790600160401b615b9a565b611ad19190615b55565b611adb9190615a97565b90506040611ae860715490565b607454611af89062989680615a97565b629896806040611b088680615b9a565b607354911c90611b1f90629896809060801b615b55565b611b299190615b55565b611b339190615b9a565b611b3d9190615b55565b611b479190615b9a565b607554911c92508211611b5c576075546110be565b50919050565b600054610100900460ff16611b895760405162461bcd60e51b8152600401610f8d90615c25565b611b92816124c0565b606580546001600160a01b0319166001600160a01b038516179055604051611bbe908390602001615a3a565b60408051601f198184030181529190528051602090910120606655505050565b611be661371b565b6118da81613208565b611bf7613bde565b6110a06000613c3d565b6000611c0b61371b565b611c1483613c8f565b611c3157604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611c5157611c51615061565b03611c5f57825b9050611cbc565b6001607654610100900460ff166003811115611c7d57611c7d615061565b03611c8c57611c588484613d1d565b6003607654610100900460ff166003811115611caa57611caa615061565b03611cbc57611cb98484613dc4565b90505b60785460405163011de97360e61b81526000916001600160a01b03169063477a5cc090611cef9088903090600401615c70565b602060405180830381865afa158015611d0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d309190615c8a565b90508015611d50578160716000828254611d4a9190615acb565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611d8393929190615aaa565b60405180910390a1509392505050565b33611d9d81613c8f565b611dba57604051630b72d6b160e31b815260040160405180910390fd5b607854604051630d4a8b4960e01b81526001600160a01b0390911690630d4a8b4990611dec9084903090600401615c70565b600060405180830381600087803b158015611e0657600080fd5b505af1158015611e1a573d6000803e3d6000fd5b5050607854604051637817ee4f60e01b81526001600160a01b039091169250637817ee4f9150611e509084903090600401615c70565b602060405180830381865afa158015611e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e919190615ca7565b60716000828254611ea29190615acb565b909155505050565b6000818152607b60205260408120600281015482908190611ecc908490613fc9565b91509150816000148015611ede575080155b15611eeb57826003015491505b6000611efa8460010154611a48565b9092101595945050505050565b607d6020528160005260406000208181548110611f2357600080fd5b90600052602060002001600091509150505481565b600080611f4d6033546001600160a01b031690565b9050806001600160a01b03163b600003611f6657919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611fc0575060408051601f3d908101601f19168201909252611fbd91810190615afd565b60015b610eb157919050565b607454600090611fdc9062989680615a97565b611fe96298968084615b9a565b610eb19190615b55565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461204890615a4d565b80601f016020809104026020016040519081016040528092919081815260200182805461207490615a4d565b80156120c15780601f10612096576101008083540402835291602001916120c1565b820191906000526020600020905b8154815290600101906020018083116120a457829003601f168201915b505050505081525050915050919050565b6120da612a49565b6120e381614021565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b61210d613bde565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916121d757604051636c291fd360e01b815260040160405180910390fd5b815488146121fb5760405163c1d17bef60e01b815260048101899052602401610f8d565b6001600883015460ff16600681111561221657612216615061565b14612237576040516344980d8f60e01b815260048101899052602401610f8d565b8060600151341015612263576060810151604051632c1f8ef160e21b8152610f8d913491600401615cd0565b600f82015415801590612286575042611c2083600f01546122849190615acb565b115b156122c4578742611c2084600f015461229f9190615acb565b6122a99190615a97565b604051638d2f6c3160e01b8152600401610f8d929190615cd0565b60008160600151346122d69190615a97565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a9190612311908d903390600401615cde565b6000604051808303818588803b15801561232a57600080fd5b505af115801561233e573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612379906003908b908b90600401615d1e565b60206040518083038185885af1158015612397573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123bc9190615ca7565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b03169161241d83615d41565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516124889796959493929190615d6f565b60405180910390a150505095945050505050565b6118da81614048565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166124e75760405162461bcd60e51b8152600401610f8d90615c25565b6118da81613c3d565b600080600080600080600080600080600080607b60008e815260200190815260200160002090508060010154600014612535576125308160010154611a48565b612538565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061260a60675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561263757612637615061565b14612658576040516344980d8f60e01b815260048101829052602401610f8d565b6000818152607b60205260409020600501546001600160a01b031633146126b1576000818152607b602052604090819020600501549051634544dc9160e11b8152610f8d916001600160a01b0316903390600401615c70565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361270e938793921691600401615ade565b600060405180830381600087803b15801561272857600080fd5b505af115801561273c573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b03851684526009019091528120546110be565b6127c7612e66565b6127d082614089565b606a54606c80546127f9926001600160a01b03169160006127f083615dbe565b919050556140d8565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561284f57600080fd5b505af1158015612863573d6000803e3d6000fd5b5050505060008180602001905181019061287d9190615ea2565b60a08101519091506001600160a01b03166128ab57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156128f0576128f0615061565b021790555060408101516076805461ff00191661010083600381111561291857612918615061565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815161295b9190612af1565b7fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b838260405161298c929190615f93565b60405180910390a1505050565b6129a1612e66565b6129a9612e91565b610ec98282614127565b6129bb613bde565b6001600160a01b0381166124e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f8d565b612a28612e66565b8060696000828254612a3a9190615acb565b909155506118da905081614216565b607860009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac09190615afd565b6001600160a01b0316336001600160a01b0316146110a057604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612b16575081516001600160a01b031615155b8015612bff5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612b725750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612b965750606f546000908152607f602052604090819020600201549083015114155b80612bb95750606f546000908152607f6020526040902060030154606083015114155b80612bdc5750606f546000908152607f6020526040902060040154608083015114155b80612bff5750606f546000908152607f602052604090206005015460a083015114155b15612e0e57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612c5957508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612d22578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612c9091600401615519565b600060405180830381600087803b158015612caa57600080fd5b505af1158015612cbe573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612d199350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612d3283615dbe565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612e5a908390616053565b60405180910390a15050565b6065546001600160a01b031633146110a05760405163075fd2b160e01b815260040160405180910390fd5b6068546000036110a057604051630f68fe6360e21b815260040160405180910390fd5b6000825111612ed657604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612eec9190615ca7565b905080600003612f0f5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff166002811115612f3657612f36615061565b036131b75780548214612f5f5760405163c1d17bef60e01b815260048101839052602401610f8d565b60695481600101541115612f9257818160010154606954604051632c31d85b60e11b8152600401610f8d93929190616061565b6001600882015460ff166006811115612fad57612fad615061565b14612fce576040516344980d8f60e01b815260048101839052602401610f8d565b6000612fd98361104d565b90506000612fea8360010154611a48565b90508082108015612fff575060008360010154115b1561301d5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561306b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130939190810190616104565b90508360010154606960008282546130ab9190615a97565b90915550506040810151600485015460018601546130d392916001600160a01b031690614246565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613133948c94911692909101615ade565b600060405180830381600087803b15801561314d57600080fd5b505af1158015613161573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506131ab9289926001600160a01b0390911691615ade565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806131da8484613fc9565b915091508160001480156131ec575080155b156131f75750505050565b600784015560039092019190915550565b607854604051637817ee4f60e01b81526001600160a01b0390911690637817ee4f9061323a9084903090600401615c70565b602060405180830381865afa158015613257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061327b9190615ca7565b6071600082825461328c9190615a97565b90915550506078546040516322bcf99960e01b81526001600160a01b03909116906322bcf999906132c39084903090600401615c70565b600060405180830381600087803b1580156132dd57600080fd5b505af11580156132f1573d6000803e3d6000fd5b505050506132fe81614280565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516127899190615519565b600061333882613c8f565b61335557604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061336b91906161b7565b80519091506000036133905760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156133a9576133a9615061565b0361352a576133bb8160200151614021565b60608101516001600160a01b03166133e65760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061344a9190615afd565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa158015613498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134c09190810190616104565b905080604001516001600160a01b031683606001516001600160a01b0316146134fc5760405163514e24c360e11b815260040160405180910390fd5b6135098360400151613bb7565b1561352757604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906135665750606f546000908152607f602052604090206002015434105b1561359c57606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152610f8d913491600401615cd0565b6000606e600081546135ad90615dbe565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061366190826162ab565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926136a59288921690600401615cde565b6000604051808303818588803b1580156136be57600080fd5b505af11580156136d2573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b6068548360405161370a929190615cd0565b60405180910390a150949350505050565b6078546001600160a01b031633146110a0576040516357848b5160e11b815260040160405180910390fd5b607854604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015613796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ba9190615afd565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613813575060408051601f3d908101601f191682019092526138109181019061636a565b60015b1561381e5760ff1690505b6078546040516316308e2560e11b815260009185916001600160a01b0390911690632c611c4a90613853908990600401615519565b602060405180830381865afa158015613870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138949190615ca7565b61389e9190615a97565b905060006138bf6138b084600a616471565b6138ba9084615b9a565b6143e1565b607854604051637817ee4f60e01b815291925060009183916001600160a01b031690637817ee4f906138f7908b903090600401615c70565b602060405180830381865afa158015613914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139389190615ca7565b6139429190615a97565b979650505050505050565b6000600160801b83106139a15760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f8d565b50600160801b82825b80156139ed57806001166000036139cf576139c582836144c9565b915060011c6139aa565b6139d983836144c9565b92506139e6600182615a97565b90506139aa565b505092915050565b6000805160206165de833981519152546001600160a01b031690565b33613a1a611f38565b6001600160a01b0316146118da5733613a31611f38565b60405163163678e960e01b8152600401610f8d929190615c70565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613a7f57610ee8836145a6565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613ad9575060408051601f3d908101601f19168201909252613ad691810190615ca7565b60015b613b3c5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610f8d565b6000805160206165de8339815191528114613bab5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610f8d565b50610ee8838383614640565b6000613bc66298968083615b9a565b606954607254613bd69190615b9a565b111592915050565b33613be7611f38565b6001600160a01b0316146110a05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f8d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b607a546000906001600160a01b0316613caa57506001919050565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a090613cdc9085903090600401615c70565b602060405180830381865afa158015613cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190615c8a565b607854604051637817ee4f60e01b8152600091839183916001600160a01b031690637817ee4f90613d549088903090600401615c70565b602060405180830381865afa158015613d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d959190615ca7565b607754909150613da58383615acb565b1115613dbc57607754613db9908290615a97565b91505b509392505050565b6078546040516316308e2560e11b8152600091829184916001600160a01b031690632c611c4a90613df9908890600401615519565b602060405180830381865afa158015613e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3a9190615ca7565b613e449190615acb565b607854604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb89190615afd565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613f11575060408051601f3d908101601f19168201909252613f0e9181019061636a565b60015b15613f1c5760ff1690505b6000613f36613f2c83600a616471565b6138ba9085615b9a565b607854604051637817ee4f60e01b81529192506000916001600160a01b0390911690637817ee4f90613f6e908a903090600401615c70565b602060405180830381865afa158015613f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613faf9190615ca7565b90506000613fbd8284615a97565b98975050505050505050565b6000804390508084600701541115613fe357613fe361647d565b80846007015403613ff95750600090508061401a565b61401784600701548261400c9190615a97565b85600301548561177a565b91505b9250929050565b6001600160a01b0381166118da576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612789565b614091612e66565b606854156140b25760405163439a74c960e01b815260040160405180910390fd5b806000036140d357604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b16602082015260348101829052600090819060540160405160208183030381529060405280519060200120905061411f8482614665565b949350505050565b614130816146fc565b61413981613c8f565b61415657604051630b72d6b160e31b815260040160405180910390fd5b60785460405163011de97360e61b81526000916001600160a01b03169063477a5cc0906141899085903090600401615c70565b602060405180830381865afa1580156141a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ca9190615c8a565b9050806141ea57604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906142009190616493565b905061420c83826147da565b611047838261496e565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612789565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161427557610ee88282614d46565b610ee8838383614d62565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156142e057602002820191906000526020600020905b8154815260200190600101908083116142cc575b5050505050905060005b8151811015610ee85760008282815181106143075761430761653d565b602002602001015190506000607b6000838152602001908152602001600020905061433182614da8565b156143cc576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261436b908490615a97565b9250508190555080607060008282546143849190615a97565b90915550614394905082826131cd565b6000805160206165fe83398151915286846000856002015486600301546040516143c2959493929190616553565b60405180910390a1505b505080806143d990615dbe565b9150506142ea565b6000816000036143f357506000919050565b6000600161440084614de1565b901c6001901b9050600181848161441957614419615b3f565b048201901c9050600181848161443157614431615b3f565b048201901c9050600181848161444957614449615b3f565b048201901c9050600181848161446157614461615b3f565b048201901c9050600181848161447957614479615b3f565b048201901c9050600181848161449157614491615b3f565b048201901c905060018184816144a9576144a9615b3f565b048201901c90506110be818285816144c3576144c3615b3f565b04614e75565b6000600160801b8311156145305760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f8d565b600160801b82106145825760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f8d565b60806001607f1b6145938486615b9a565b61459d9190615acb565b901c9392505050565b6145af816131be565b6146115760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610f8d565b6000805160206165de83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61464983614e8b565b6000825111806146565750805b15610ee8576110478383614ecb565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610eb15760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610f8d565b6001600160a01b03811661472357604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b031661474c57604051635df4b1ef60e01b815260040160405180910390fd5b60785460405163288c314960e21b81526001600160a01b039091169063a230c5249061477c908490600401615519565b602060405180830381865afa158015614799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bd9190615c8a565b6118da57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b8251811015614897578281815181106147f9576147f961653d565b602002602001015160000151600003156148855760008382815181106148215761482161653d565b602002602001015160000151905061483881614da8565b6148585760405163c1d17bef60e01b815260048101829052602401610f8d565b83828151811061486a5761486a61653d565b602002602001015160200151836148819190616581565b9250505b8061488f81615dbe565b9150506147de565b5060006148ac6148a6856124a5565b83614ef0565b607854604051637817ee4f60e01b81529192506000916001600160a01b0390911690637817ee4f906148e49088903090600401615c70565b602060405180830381865afa158015614901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149259190615ca7565b90508082111561494c578181604051636b20c17f60e11b8152600401610f8d929190615cd0565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110475760008382815181106149905761499061653d565b602002602001015160000151905082516000036149ec57604080516001808252818301909252906020808301908036833701905050925080836000815181106149db576149db61653d565b602002602001018181525050614b1f565b6000805b8451811015614a4c5782858281518110614a0c57614a0c61653d565b602002602001015103614a3a57600191508281604051632b7aec5560e21b8152600401610f8d929190615cd0565b80614a4481615dbe565b9150506149f0565b5080614b1d57600084516001614a629190615acb565b6001600160401b03811115614a7957614a796151c2565b604051908082528060200260200182016040528015614aa2578160200160208202803683370190505b50905060005b8551811015614afa57858181518110614ac357614ac361653d565b6020026020010151828281518110614add57614add61653d565b602090810291909101015280614af281615dbe565b915050614aa8565b508281865181518110614b0f57614b0f61653d565b602090810291909101015293505b505b6000848381518110614b3357614b3361653d565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b16835260098101909452812054919350614b738285614ef0565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d6020526040902054811015614c0c5784546001600160a01b038c166000908152607d60205260409020805483908110614be157614be161653d565b906000526020600020015403614bfa5760019150614c0c565b80614c0481615dbe565b915050614b95565b5080614c42576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311614c9257614c538383615a97565b60706000828254614c649190615acb565b90915550614c7490508383615a97565b846002016000828254614c879190615acb565b90915550614cd69050565b614c9c8284615a97565b60706000828254614cad9190615a97565b90915550614cbd90508284615a97565b846002016000828254614cd09190615a97565b90915550505b8360070154600003614ced57436007850155614d2d565b614cf784846131cd565b6000805160206165fe8339815191528a878487600201548860030154604051614d24959493929190616553565b60405180910390a15b5050505050508080614d3e90615dbe565b915050614973565b60008060008084865af1610ec95763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716614d9e576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610eb15750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c15614df657608092831c92015b604083901c15614e0857604092831c92015b602083901c15614e1a57602092831c92015b601083901c15614e2c57601092831c92015b600883901c15614e3e57600892831c92015b600483901c15614e5057600492831c92015b600283901c15614e6257600292831c92015b600183901c15610eb15760010192915050565b6000818310614e8457816110be565b5090919050565b614e94816145a6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110be838360405180606001604052806027815260200161661e60279139614f27565b600080614efd8385616581565b905060008112156110be57838382604051631dde38a160e11b8152600401610f8d93929190616061565b6060600080856001600160a01b031685604051614f4491906165a1565b600060405180830381855af49150503d8060008114614f7f576040519150601f19603f3d011682016040523d82523d6000602084013e614f84565b606091505b5091509150614f9586838387614f9f565b9695505050505050565b6060831561500c57825160000361500557614fb9856131be565b6150055760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f8d565b508161411f565b61411f83838151156150215781518083602001fd5b8060405162461bcd60e51b8152600401610f8d9190615a3a565b60006020828403121561504d57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b600781106118da576118da615061565b60005b838110156150a257818101518382015260200161508a565b50506000910152565b600081518084526150c3816020860160208601615087565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015261411f60408501826150ab565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e085015261513e89615077565b8861010085015281610120850152615158828501896150d7565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b6000602082840312156151aa57600080fd5b81356001600160e01b0319811681146110be57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156151fa576151fa6151c2565b60405290565b60405160c081016001600160401b03811182821017156151fa576151fa6151c2565b60405160e081016001600160401b03811182821017156151fa576151fa6151c2565b604080519081016001600160401b03811182821017156151fa576151fa6151c2565b60405160a081016001600160401b03811182821017156151fa576151fa6151c2565b604051601f8201601f191681016001600160401b03811182821017156152b0576152b06151c2565b604052919050565b6001600160a01b03811681146118da57600080fd5b6000808284036101408112156152e257600080fd5b60c08112156152f057600080fd5b6152f8615200565b8435615303816152b8565b81526020850135615313816152b8565b602082015260408581013590820152606080860135908201526080808601358183015260a0808701359083015290935060bf198201121561535357600080fd5b5061535c6151d8565b60c0840135815260e0840135602082015261010084013560408201526101209093013560608401525092909150565b60006001600160401b038211156153a4576153a46151c2565b5060051b60200190565b600082601f8301126153bf57600080fd5b813560206153d46153cf8361538b565b615288565b82815260059290921b840181019181810190868411156153f357600080fd5b8286015b8481101561541757803561540a816152b8565b83529183019183016153f7565b509695505050505050565b60006001600160401b0382111561543b5761543b6151c2565b50601f01601f191660200190565b60006154576153cf84615422565b905082815283838301111561546b57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261549357600080fd5b6110be83833560208501615449565b6000806000606084860312156154b757600080fd5b83356001600160401b03808211156154ce57600080fd5b6154da878388016153ae565b945060208601359150808211156154f057600080fd5b506154fd86828701615482565b925050604084013561550e816152b8565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060006060848603121561554257600080fd5b833561554d816152b8565b9250602084013561555d816152b8565b9150604084013561550e816152b8565b6000806040838503121561558057600080fd5b82356001600160401b0381111561559657600080fd5b6155a285828601615482565b92505060208301356155b3816152b8565b809150509250929050565b600481106155ce576155ce615061565b9052565b60208101610eb182846155be565b600080604083850312156155f357600080fd5b82356155fe816152b8565b946020939093013593505050565b6000806040838503121561561f57600080fd5b50508035926020909101359150565b60008060006060848603121561564357600080fd5b505081359360208301359350604090920135919050565b600381106155ce576155ce615061565b60208101610eb1828461565a565b60006020828403121561568a57600080fd5b81356110be816152b8565b600080604083850312156156a857600080fd5b82356156b3816152b8565b915060208301356001600160401b038111156156ce57600080fd5b6156da85828601615482565b9150509250929050565b6000806000606084860312156156f957600080fd5b8335615704816152b8565b925060208401356001600160401b0381111561571f57600080fd5b8401601f8101861361573057600080fd5b6154fd86823560208401615449565b6020815260006110be60208301846150d7565b6000806040838503121561576557600080fd5b82356001600160401b038082111561577c57600080fd5b615788868387016153ae565b935060209150818501358181111561579f57600080fd5b8501601f810187136157b057600080fd5b80356157be6153cf8261538b565b81815260059190911b820184019084810190898311156157dd57600080fd5b8584015b83811015615815578035868111156157f95760008081fd5b6158078c8983890101615482565b8452509186019186016157e1565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561587157815180516001600160a01b03168552860151868501529284019290850190600101615843565b5091979650505050505050565b60008083601f84011261589057600080fd5b5081356001600160401b038111156158a757600080fd5b60208301915083602082850101111561401a57600080fd5b6000806000806000606086880312156158d757600080fd5b8535945060208601356001600160401b03808211156158f557600080fd5b61590189838a0161587e565b9096509450604088013591508082111561591a57600080fd5b506159278882890161587e565b969995985093965092949392505050565b80151581146118da57600080fd5b60006020828403121561595857600080fd5b81356110be81615938565b6001600160a01b038c811682528b811660208301528a1660408201526060810189905260808101889052610160810161599b88615077565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b600080604083850312156159e557600080fd5b8235915060208301356155b3816152b8565b60208101615a0483615077565b91905290565b60008060408385031215615a1d57600080fd5b8235915060208301356001600160401b038111156156ce57600080fd5b6020815260006110be60208301846150ab565b600181811c90821680615a6157607f821691505b602082108103611b5c57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610eb157610eb1615a81565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610eb157610eb1615a81565b9283526001600160a01b03919091166020830152604082015260600190565b600060208284031215615b0f57600080fd5b81516110be816152b8565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082615b7257634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b03821680615b9057615b90615a81565b6000190192915050565b8082028115828204841417610eb157610eb1615a81565b6020808252602c908201526000805160206165be83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206165be83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b600060208284031215615c9c57600080fd5b81516110be81615938565b600060208284031215615cb957600080fd5b5051919050565b8051615ccb816152b8565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b838152604060208201526000615d38604083018486615cf5565b95945050505050565b60006001600160401b038281166002600160401b03198101615d6557615d65615a81565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090615daa9083018587615cf5565b90508260a083015298975050505050505050565b600060018201615dd057615dd0615a81565b5060010190565b805160038110615ccb57600080fd5b805160048110615ccb57600080fd5b600060208284031215615e0757600080fd5b604051602081016001600160401b0381118282101715615e2957615e296151c2565b6040529151825250919050565b600060c08284031215615e4857600080fd5b615e50615200565b90508151615e5d816152b8565b81526020820151615e6d816152b8565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036101e0811215615eb657600080fd5b615ebe615222565b6080821215615ecc57600080fd5b615ed46151d8565b915083518252602084015160208301526040840151604083015260608401516060830152818152615f0760808501615dd7565b6020820152615f1860a08501615de6565b6040820152615f2a8560c08601615df5565b6060820152615f3c8560e08601615e36565b6080820152615f4e6101a08501615cc0565b60a0820152615f606101c08501615cc0565b60c0820152949350505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600061020082019050838252615fad602083018451615f6d565b6020830151615fbf60a084018261565a565b506040830151615fd260c08401826155be565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a084015283015161603f6101c0840182615054565b5060c0830151613dbc6101e0840182615054565b60808101610eb18284615f6d565b9283526020830191909152604082015260600190565b60006040828403121561608957600080fd5b616091615244565b8251815260208301519091506001600160401b038111156160b157600080fd5b8201601f810184136160c257600080fd5b80516160d06153cf82615422565b8181528560208385010111156160e557600080fd5b6160f6826020830160208601615087565b602084015250909392505050565b60006020828403121561611657600080fd5b81516001600160401b038082111561612d57600080fd5b9083019060c0828603121561614157600080fd5b616149615200565b82518152602083015161615b816152b8565b6020820152604083015161616e816152b8565b604082015260608301518281111561618557600080fd5b61619187828601616077565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156161c957600080fd5b81516001600160401b03808211156161e057600080fd5b9083019060a082860312156161f457600080fd5b6161fc615266565b82518152602083015161620e816152b8565b602082015260408381015190820152606083015161622b816152b8565b606082015260808301518281111561624257600080fd5b61624e87828601616077565b60808301525095945050505050565b601f821115610ee857600081815260208120601f850160051c810160208610156162845750805b601f850160051c820191505b818110156162a357828155600101616290565b505050505050565b81516001600160401b038111156162c4576162c46151c2565b6162d8816162d28454615a4d565b8461625d565b602080601f83116001811461630d57600084156162f55750858301515b600019600386901b1c1916600185901b1785556162a3565b600085815260208120601f198616915b8281101561633c5788860151825594840194600190910190840161631d565b508582101561635a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561637c57600080fd5b815160ff811681146110be57600080fd5b600181815b808511156163c85781600019048211156163ae576163ae615a81565b808516156163bb57918102915b93841c9390800290616392565b509250929050565b6000826163df57506001610eb1565b816163ec57506000610eb1565b8160018114616402576002811461640c57616428565b6001915050610eb1565b60ff84111561641d5761641d615a81565b50506001821b610eb1565b5060208310610133831016604e8410600b841016171561644b575081810a610eb1565b616455838361638d565b806000190482111561646957616469615a81565b029392505050565b60006110be83836163d0565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156164a657600080fd5b82516001600160401b038111156164bc57600080fd5b8301601f810185136164cd57600080fd5b80516164db6153cf8261538b565b81815260069190911b820183019083810190878311156164fa57600080fd5b928401925b8284101561394257604084890312156165185760008081fd5b616520615244565b8451815285850151868201528252604090930192908401906164ff565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b80820182811260008312801582168215821617156139ed576139ed615a81565b600082516165b3818460208701615087565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122091895ede64bc5239687d796624eea2caff3ec47d6cc1571b7ce1d7e767facf5464736f6c6343000813003360a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da2646970667358221220af746d4d8dbcbf99fa35749aa30ac6f329bc568b49316f31e46fc01c2c4642da64736f6c63430008130033608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631688f0b9146100675780632500510e1461017657806353e5d9351461024357806361b69abd146102c6578063addacc0f146103cb578063d18af54d1461044e575b600080fd5b61014a6004803603606081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100ba57600080fd5b8201836020820111156100cc57600080fd5b803590602001918460018302840111640100000000831117156100ee57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061057d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102176004803603606081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460018302840111640100000000831117156101fd57600080fd5b909192939192939080359060200190929190505050610624565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024b610751565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039f600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184600183028401116401000000008311171561034d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061077c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d3610861565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104135780820151818401526020810190506103f8565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105516004803603608081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061058a848484610a3b565b90506000835111156105b25760008060008551602087016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a19392505050565b60006106758585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610a3b565b905080604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60606040518060200161076390610bde565b6020820181038252601f19601f82011660405250905090565b60008260405161078b90610bde565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156107c7573d6000803e3d6000fd5b5090506000825111156107f05760008060008451602086016000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a192915050565b60606040518060200161087390610beb565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060001c90506108e786868361057d565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a32578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156109ca5780820151818401526020810190506109af565b50505050905090810190601f1680156109f75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600060405180602001610a8890610bde565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b60208310610ae95780518252602082019150602081019050602083039250610ac6565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f437265617465322063616c6c206661696c65640000000000000000000000000081525060200191505060405180910390fd5b50509392505050565b6101e680610bf883390190565b60ab80610dde8339019056fe608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d608060405234801561001057600080fd5b5060016004819055506159ae80620000296000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212203d5b27a720bf0f8c10385e3e16b76aa984a698ef4df45d59ec8fe2dad565129864736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"3126:44:24:-:0;;;-1:-1:-1;;3126:44:24;3166:4;3126:44;;;;;;342:2390:108;695:82:130;;;;342:2390:108;695:82:130;;;;;;;;;;;;;668:109;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;800:28:22;;;1016:26:34;-1:-1:-1;;1016:26:34;;;;;;-1:-1:-1;824:4:22;788:34:137;;800:28:22;828:25:137;;1860:7:100;1829:38;;1874:66;;;-1:-1:-1;;;;;;1874:66:100;1898:42;1874:66;;;2278:5;2251:32;;2290:44;;;;;;;;;;;;-1:-1:-1;;;2290:44:100;;;;;;;;;;:::i;:::-;-1:-1:-1;2340:37:100;;;;;;;;;;;;-1:-1:-1;;;2340:37:100;;;;;;;;;;:::i;:::-;-1:-1:-1;2384:71:100;;;-1:-1:-1;;;;;;2384:71:100;2413:42;2384:71;;;342:2390:108;;;;;;;;;;;;14:127:139;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:139;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:139;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:139;;;2580:26;2531:89;-1:-1:-1;;1335:1:139;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:139;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:139;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:139;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:139:o;:::-;342:2390:108;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061039a5760003560e01c8062b1fad71461039f578063023a6f43146103bd578063030e4006146103d25780630522b7db146103da5780630688b135146103ed57806308c24f9f146103f557806308dbbb03146104085780630f166ad41461041f578063174eedde146104255780631ae726d91461042c5780631b96dce61461043f5780631d8fcc10146104475780631e7bcb2e1461044f5780631ed7831c146104575780632ade38801461046c5780632e0f2625146104815780632f99c6cc14610490578063352c94a7146104a357806337d1c404146104b8578063388aef5c146104cb578063392f37e9146104d45780633e5e3c23146104ea5780633f26479e146104f25780633f7286f4146104fb57806349ef42c1146105035780634bf4ba211461050b578063587c1243146105135780635aff59991461051b5780635d1222aa146105235780635e2dd4421461052c5780636050f2f81461053f57806366d003ac1461055257806366d9a9a01461055a5780636a38dd0a1461056f5780636c53db9a146105775780636db525101461059057806370a32944146105a357806374d9284e14610425578063759c9a86146105ab5780637658524d146105b357806379e62d0d146105bc5780637b2edf32146105c45780637cbe79ed146105cc5780637f6a80df146105d4578063829e423f1461042557806382bfefc8146105e757806385226c81146105fa57806385294f181461060f578063861ceb6914610622578063896546a1146106355780638c7408c4146104255780638e0d1a50146106485780638e3c249314610650578063916a17c6146106585780639352fad2146106605780639389210714610673578063a0cf0aea14610686578063a407c67a146106a1578063aa3744bd146106a9578063b5508aa9146106b1578063ba414fa6146106b9578063bb0504cd146106d1578063c0406226146106d9578063c1f2a641146106e1578063c36e336b146106f4578063caa12add14610714578063d1e82b581461072f578063d1f2cd8814610737578063d23727ed1461073f578063d5bee9f51461075a578063da4bf08714610762578063dac4eb161461076a578063dac770b314610772578063e070e0ab1461077a578063e20c9f711461078d578063e99ce91114610795578063ef0d790f146107a8578063f4d914e6146107b0578063f69d511f146107b8578063f8ccbf47146107cb578063fa7626d4146107d8575b600080fd5b6103a76107ea565b6040516103b491906134ff565b60405180910390f35b6103d06103cb3660046135f3565b61081f565b005b6103a7610833565b6022546103a7906001600160a01b031681565b6103a7610869565b6103a761040336600461365e565b610896565b61041160275481565b6040519081526020016103b4565b306103a7565b60006103a7565b6103a761043a366004613697565b610b75565b6103a7610b83565b610411600381565b6103a7610bb4565b61045f610be7565b6040516103b491906136f8565b610474610c49565b6040516103b491906137b0565b610411670de0b6b3a764000081565b6030546103a7906001600160a01b031681565b6104ab610d8b565b6040516103b4919061382d565b6104116104c6366004613863565b610e19565b610411602d5481565b6104dc610ed9565b6040516103b4929190613923565b61045f610f70565b61041161271081565b61045f610fd0565b6103a7611030565b61045f611092565b6103a76110b5565b6103a76110e8565b61041160255481565b6103d061053a36600461393c565b61111b565b6028546103a7906001600160a01b031681565b6103a7611530565b61056261155c565b6040516103b49190613984565b6103a7611642565b6021546103a7906201000090046001600160a01b031681565b6103d061059e366004613a37565b611672565b61045f611699565b6103a7611731565b61041160245481565b61045f611760565b6103a76117c8565b6103a76117fb565b602b546103a7906001600160a01b031681565b6029546103a7906001600160a01b031681565b610602611828565b6040516103b49190613a8f565b61041161061d366004613b4e565b6118f8565b602c546103a7906001600160a01b031681565b6023546103a7906001600160a01b031681565b6103a7611927565b6103a7611936565b610562611969565b6103d061066e36600461393c565b611a4f565b602a546103a7906001600160a01b031681565b6103a773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61045f611c97565b6103a7611cff565b610602611d2c565b6106c1611dfc565b60405190151581526020016103b4565b6103a7611e9b565b6103d0611efd565b6103d06106ef366004613bf2565b611f18565b610707610702366004613ca6565b611feb565b6040516103b49190613d4c565b6103a773dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73781565b6103a76120e2565b6103a7612115565b6103a773bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf81565b6103a7612146565b6103a7612174565b6103a76121a4565b6103a76121d5565b610411610788366004613e1f565b612692565b61045f612897565b6104116107a3366004613ed5565b6128f7565b6103a7612985565b6104ab6129bb565b6103a76107c6366004613f07565b6129c8565b6021546106c19060ff1681565b6021546106c190610100900460ff1681565b600061081a6040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250612a3b565b905090565b61082d848484846000611f18565b50505050565b600061081a60405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250612a3b565b600061081a6040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250612a3b565b6022546000906001600160a01b0316610b61576001600160a01b0382166109745760006108c1611030565b90506108cb611e9b565b604051631688f0b960e01b81526001600160a01b0383811660048301526060602483015260006064830181905260036044840152929550851690631688f0b9906084016020604051808303816000875af115801561092d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109519190613f3b565b602280546001600160a01b0319166001600160a01b039290921691909117905550505b602254604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b6064820152600080516020620137668339815191529063c657c71890608401600060405180830381600087803b1580156109ed57600080fd5b505af1158015610a01573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03871660048201526024810191909152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b606482015260008051602062013766833981519152925063c657c7189150608401600060405180830381600087803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b506000925060019150610aa29050565b604051908082528060200260200182016040528015610acb578160200160208202803683370190505b5090508381600081518110610ae257610ae2613f58565b6001600160a01b03928316602091820292909201015260225460405163b63e800d60e01b815291169063b63e800d90610b2d9084906001906000908190819081908190600401613f6e565b600060405180830381600087803b158015610b4757600080fd5b505af1158015610b5b573d6000803e3d6000fd5b50505050505b506022546001600160a01b03165b92915050565b6000610b6f82610403611e9b565b600061081a6040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250612a3b565b600061081a6040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250612a3b565b60606019805480602002602001604051908101604052809291908181526020018280548015610c3f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c21575b5050505050905090565b60606020805480602002602001604051908101604052809291908181526020016000905b82821015610d8257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b82821015610d6b578382906000526020600020018054610cde90613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0a90613fd3565b8015610d575780601f10610d2c57610100808354040283529160200191610d57565b820191906000526020600020905b815481529060010190602001808311610d3a57829003601f168201915b505050505081526020019060010190610cbf565b505050508152505081526020019060010190610c6d565b50505050905090565b602f8054610d9890613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054610dc490613fd3565b8015610e115780601f10610de657610100808354040283529160200191610e11565b820191906000526020600020905b815481529060010190602001808311610df457829003601f168201915b505050505081565b601754600090610ece576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f91610e879160029188908890600401614007565b6020604051808303816000875af1158015610ea6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eca9190614088565b6017555b506017549392505050565b6015805460168054919291610eed90613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1990613fd3565b8015610f665780601f10610f3b57610100808354040283529160200191610f66565b820191906000526020600020905b815481529060010190602001808311610f4957829003601f168201915b5050505050905082565b6060601b805480602002602001604051908101604052809291908181526020018280548015610c3f576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c21575050505050905090565b6060601a805480602002602001604051908101604052809291908181526020018280548015610c3f576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c21575050505050905090565b600061104f73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc737612a4d565b1561106d575073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73790565b61081a60405180615a0001604052806159d78152602001620137866159d791396129c8565b604080516002808252606080830184529260208301908036833701905050905090565b600061081a6040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250612a3b565b600061081a6040518060400160405280601081526020016f726563697069656e744164647265737360801b815250612a3b565b600060405161112990613405565b604051809103906000f080158015611145573d6000803e3d6000fd5b509050600060405161115690613413565b604051809103906000f080158015611172573d6000803e3d6000fd5b50905060006111bb6111b4604051806040016040528060198152602001782e50524f584945532e52454749535452595f464143544f525960381b815250612a5c565b8590612b3c565b90506000819050806001600160a01b0316633659cfe66040516111dd90613421565b604051809103906000f0801580156111f9573d6000803e3d6000fd5b506040518263ffffffff1660e01b815260040161121691906134ff565b600060405180830381600087803b15801561123057600080fd5b505af1158015611244573d6000803e3d6000fd5b5050604051632ef6570160e11b81526001600160a01b0384169250635decae0291506112749087906004016134ff565b600060405180830381600087803b15801561128e57600080fd5b505af11580156112a2573d6000803e3d6000fd5b50506040516306dc7c3960e21b81526001600160a01b0384169250631b71f0e491506112d29086906004016134ff565b600060405180830381600087803b1580156112ec57600080fd5b505af1158015611300573d6000803e3d6000fd5b50505050600061134e6113476040518060400160405280601d81526020017f2e50524f584945532e52454749535452595f434f4d4d554e4954494553000000815250612a5c565b8790612bbb565b905060005b815181101561144a57600082828151811061137057611370613f58565b60200260200101519050806001600160a01b0316633659cfe6886040518263ffffffff1660e01b81526004016113a691906134ff565b600060405180830381600087803b1580156113c057600080fd5b505af11580156113d4573d6000803e3d6000fd5b50506040516306dc7c3960e21b81526001600160a01b0384169250631b71f0e491506114049089906004016134ff565b600060405180830381600087803b15801561141e57600080fd5b505af1158015611432573d6000803e3d6000fd5b50505050508080611442906140b7565b915050611353565b50600061148e611487604051806040016040528060168152602001752e50524f584945532e43565f5354524154454749455360501b815250612a5c565b8890612bbb565b905060005b8151811015611526578181815181106114ae576114ae613f58565b60200260200101516001600160a01b0316633659cfe6876040518263ffffffff1660e01b81526004016114e191906134ff565b600060405180830381600087803b1580156114fb57600080fd5b505af115801561150f573d6000803e3d6000fd5b50505050808061151e906140b7565b915050611493565b5050505050505050565b600061081a604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250612a3b565b6060601e805480602002602001604051908101604052809291908181526020016000905b82821015610d825760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561162a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116115ec5790505b50505050508152505081526020019060010190611580565b600061081a6040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250612a3b565b602154602454611694916201000090046001600160a01b031690858486611f18565b505050565b604080516002808252606080830184529260009291906020830190803683370190505090506116c6610bb4565b816000815181106116d9576116d9613f58565b60200260200101906001600160a01b031690816001600160a01b0316815250506117016117c8565b8160018151811061171457611714613f58565b6001600160a01b0390921660209283029190910190910152919050565b600061081a6040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250612a3b565b6040805160028082526060808301845292600092919060208301908036833701905050905061178d6107ea565b816000815181106117a0576117a0613f58565b60200260200101906001600160a01b031690816001600160a01b031681525050611701611642565b600061081a6040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250612a3b565b600061081a6040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250612a3b565b6060601d805480602002602001604051908101604052809291908181526020016000905b82821015610d8257838290600052602060002001805461186b90613fd3565b80601f016020809104026020016040519081016040528092919081815260200182805461189790613fd3565b80156118e45780601f106118b9576101008083540402835291602001916118e4565b820191906000526020600020905b8154815290600101906020018083116118c757829003601f168201915b50505050508152602001906001019061184c565b600061191a89898989898989604051806020016040528060008152508a612692565b9998505050505050505050565b6028546001600160a01b031690565b600061081a6040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250612a3b565b6060601f805480602002602001604051908101604052809291908181526020016000905b82821015610d825760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015611a3757602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116119f95790505b5050505050815250508152602001906001019061198d565b60008051602062013766833981519152637fec2a8d611a6c611927565b6040518263ffffffff1660e01b8152600401611a8891906134ff565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b505050508051600014611ad157602e611acf8282614116565b505b6000611adb612c37565b90506000611b12611b0b604051806040016040528060088152602001670b98da185a5b925960c21b815250612a5c565b8390612d5a565b90506000611b46611b3f604051806040016040528060058152602001642e6e616d6560d81b815250612a5c565b8490612dd2565b9050611b7f611b786040518060400160405280600c81526020016b1722a72b299729a2a72222a960a11b815250612a5c565b8490612b3c565b602880546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260088152676e616d653a20257360c01b6020820152611bc89082612e4e565b60408051808201909152600a81526973656e6465723a20257360b01b6020820152602854611bff91906001600160a01b0316612e97565b611c2d6040518060400160405280600c81526020016b636861696e4964203a20257360a01b81525083612edc565b611c368361111b565b6000805160206201915d83398151915260001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c8357600080fd5b505af1158015611526573d6000803e3d6000fd5b60408051600280825260608083018452926000929190602083019080368337019050509050611cc46110b5565b81600081518110611cd757611cd7613f58565b60200260200101906001600160a01b031690816001600160a01b031681525050611701611936565b600061081a6040518060400160405280600a815260200169726563697069656e743160b01b815250612a3b565b6060601c805480602002602001604051908101604052809291908181526020016000905b82821015610d82578382906000526020600020018054611d6f90613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054611d9b90613fd3565b8015611de85780601f10611dbd57610100808354040283529160200191611de8565b820191906000526020600020905b815481529060010190602001808311611dcb57829003601f168201915b505050505081526020019060010190611d50565b60085460009060ff1615611e14575060085460ff1690565b604051630667f9d760e41b815260008051602062013766833981519152600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015611e70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e949190614088565b1415905090565b6000611eba73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf612a4d565b15611ed8575073bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf90565b61081a60405180610f000160405280610ede815260200162012888610ede91396129c8565b604080516020810190915260008152611f1581611a4f565b50565b6060611f2684848888612f21565b9050611fe3866001600160a01b0316636a7612028685876000806000806000808c6040518b63ffffffff1660e01b8152600401611f6c9a999897969594939291906141e5565b6020604051808303816000875af1158015611f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611faf9190614269565b60405180604001604052806016815260200175195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b815250612ff3565b505050505050565b611ff361342f565b612004670de0a46bc207d800613053565b81516040015261201b6702c68af0bb140000613053565b81515261202e66038d7ea4c68000613053565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a0830152810185600281111561206d5761206d613d12565b9081600281111561208057612080613d12565b9052506040810184600381111561209957612099613d12565b908160038111156120ac576120ac613d12565b90525082516000036120ce576120cb670de0b6b3a764000060c861428b565b83525b606081019290925260808201529392505050565b600061081a6040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250612a3b565b600061081a6040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250612a3b565b600061081a6040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250612a3b565b600061081a6040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250612a3b565b600061081a6040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250612a3b565b6024546040516001625e79b760e01b03198152600091600080516020620137668339815191529163ffa18649916122129160040190815260200190565b602060405180830381865afa15801561222f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122539190613f3b565b602380546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201526d636f756e63696c4d656d6265723160901b6064820152600080516020620137668339815191529063c657c71890608401600060405180830381600087803b1580156122df57600080fd5b505af11580156122f3573d6000803e3d6000fd5b50506021546201000090046001600160a01b0316915061267c9050576000612319611e9b565b9050612323611030565b602680546001600160a01b0319166001600160a01b03928316179055604080516318caf8e360e31b815291831660048301526024820152601060448201526f5361666550726f7879466163746f727960801b6064820152600080516020620137668339815191529063c657c71890608401600060405180830381600087803b1580156123ae57600080fd5b505af11580156123c2573d6000803e3d6000fd5b5050602654604080518082018252600181526000602082018190529151631688f0b960e01b81529194506001600160a01b038087169450631688f0b99361241293911691906003906004016142a2565b6020604051808303816000875af1158015612431573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124559190613f3b565b6021805462010000600160b01b031916620100006001600160a01b0384811682029290921792839055604080516318caf8e360e31b81529190930490911660048201526024810191909152600b60448201526a636f756e63696c5361666560a81b6064820152909150600080516020620137668339815191529063c657c71890608401600060405180830381600087803b1580156124f257600080fd5b505af1158015612506573d6000803e3d6000fd5b5060009250600391506125169050565b60405190808252806020026020018201604052801561253f578160200160208202803683370190505b5060235481519192506001600160a01b031690829060009061256357612563613f58565b60200260200101906001600160a01b031690816001600160a01b03168152505073f39fd6e51aad88f6f4ce6ab8827279cfffb92266816001815181106125ab576125ab613f58565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816002815181106125f3576125f3613f58565b6001600160a01b03928316602091820292909201015260215460405163b63e800d60e01b8152620100009091049091169063b63e800d906126469084906001906000908190819081908190600401613f6e565b600060405180830381600087803b15801561266057600080fd5b505af1158015612674573d6000803e3d6000fd5b505050505050505b506021546201000090046001600160a01b031690565b6000806126a28987878787611feb565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106126dc576126dc613f58565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811061271057612710613f58565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee908916156127465750875b8c6001600160a01b031663e1007d4a6127678c612761611927565b86610e19565b8e866040516020016127799190613d4c565b6040516020818303038152906040528560006015896040518863ffffffff1660e01b81526004016127b097969594939291906142d6565b6020604051808303816000875af11580156127cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f39190614088565b935087600281111561280757612807613d12565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015612845573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286991906143c2565b600281111561287a5761287a613d12565b14612887576128876143df565b5050509998505050505050505050565b60606018805480602002602001604051908101604052809291908181526020018280548015610c3f576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c21575050505050905090565b6000848161291561290f62989680608087901b6143f5565b83613064565b905060806001607f1b61292b8662989680614417565b61293984600160801b614417565b612946629896808a61428b565b612950919061428b565b61295a91906143f5565b612964898561428b565b61296e919061442a565b612978919061442a565b901c979650505050505050565b600061081a60405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b815250612a3b565b602e8054610d9890613fd3565b60258054600091829190826129dc836140b7565b91905055506025548351602085016000f5915050803f80612a355760405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b60448201526064015b60405180910390fd5b50919050565b6000612a468261310c565b5092915050565b6001600160a01b03163b151590565b60606000602e8054612a6d90613fd3565b80601f0160208091040260200160405190810160405280929190818152602001828054612a9990613fd3565b8015612ae65780601f10612abb57610100808354040283529160200191612ae6565b820191906000526020600020905b815481529060010190602001808311612ac957829003601f168201915b50505050509050600081604051602001612b00919061443d565b60405160208183030381529060405290508084604051602001612b24929190614488565b60405160208183030381529060405292505050919050565b604051631e19e65760e01b81526000906000805160206201376683398151915290631e19e65790612b7390869086906004016144b7565b602060405180830381865afa158015612b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb49190613f3b565b9392505050565b604051632fce788360e01b81526060906000805160206201376683398151915290632fce788390612bf290869086906004016144b7565b600060405180830381865afa158015612c0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bb491908101906144e5565b606060006000805160206201915d83398151915260001c6001600160a01b031663d930a0e66040518163ffffffff1660e01b8152600401600060405180830381865afa158015612c8b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612cb39190810190614573565b9050600081604051602001612cc891906145e0565b60408051601f19818403018152908290526360f9bb1160e01b8252915060009060008051602062013766833981519152906360f9bb1190612d0d90859060040161382d565b600060405180830381865afa158015612d2a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d529190810190614573565b949350505050565b6040516356eef15b60e11b8152600090600080516020620137668339815191529063addde2b690612d9190869086906004016144b7565b602060405180830381865afa158015612dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb49190614088565b6040516309389f5960e31b815260609060008051602062013766833981519152906349c4fac890612e0990869086906004016144b7565b600060405180830381865afa158015612e26573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bb49190810190614573565b612e938282604051602401612e649291906144b7565b60408051601f198184030181529190526020810180516001600160e01b0316634b5c427760e01b179052613218565b5050565b612e938282604051602401612ead92919061462d565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052613218565b612e938282604051602401612ef2929190614657565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b179052613218565b6060600080806000805160206201376683398151915263e341eaa486612f488b8b8b613221565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401606060405180830381865afa158015612f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fad9190614679565b6040805160208101939093528281019190915260f89290921b6001600160f81b031916606082015281516041818303018152606190910190915298975050505050505050565b60405163a34edc0360e01b8152600080516020620137668339815191529063a34edc039061302790859085906004016146b6565b60006040518083038186803b15801561303f57600080fd5b505afa158015611fe3573d6000803e3d6000fd5b6000610b6f64174876e800836143f5565b6000600160801b83106130b85760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401612a2c565b50600160801b82825b801561310457806001166000036130e6576130dc8283613307565b915060011c6130c1565b6130f08383613307565b92506130fd600182614417565b90506130c1565b505092915050565b6000808260405160200161312091906146d1565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150600080516020620137668339815191529063ffa1864990602401602060405180830381865afa158015613186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131aa9190613f3b565b6040516318caf8e360e31b8152909250600080516020620137668339815191529063c657c718906131e190859087906004016146ed565b600060405180830381600087803b1580156131fb57600080fd5b505af115801561320f573d6000803e3d6000fd5b50505050915091565b611f15816133e4565b6000816001600160a01b031663d8d11f78856000866000806000806000808c6001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561327d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132a19190614088565b6040518b63ffffffff1660e01b81526004016132c69a99989796959493929190614711565b602060405180830381865afa1580156132e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d529190614088565b6000600160801b83111561336e5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401612a2c565b600160801b82106133c05760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401612a2c565b60806001607f1b6133d1848661428b565b6133db919061442a565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6159b6806200478883390190565b6166c7806200a13e83390190565b612083806201080583390190565b6040518060e001604052806134656040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001600081526020016000815260200161348e6040518060200160405280600081525090565b81526020016134de6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b815260006020820181905260409091015290565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114611f1557600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561356657613566613528565b604052919050565b60006001600160401b0382111561358757613587613528565b50601f01601f191660200190565b60006135a86135a38461356e565b61353e565b90508281528383830111156135bc57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126135e457600080fd5b612bb483833560208501613595565b6000806000806080858703121561360957600080fd5b843561361481613513565b935060208501359250604085013561362b81613513565b915060608501356001600160401b0381111561364657600080fd5b613652878288016135d3565b91505092959194509250565b6000806040838503121561367157600080fd5b823561367c81613513565b9150602083013561368c81613513565b809150509250929050565b6000602082840312156136a957600080fd5b8135612bb481613513565b600081518084526020808501945080840160005b838110156136ed5781516001600160a01b0316875295820195908201906001016136c8565b509495945050505050565b602081526000612bb460208301846136b4565b60005b8381101561372657818101518382015260200161370e565b50506000910152565b6000815180845261374781602086016020860161370b565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156137a357828403895261379184835161372f565b98850198935090840190600101613779565b5091979650505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561381f57888303603f19018552815180516001600160a01b0316845287015187840187905261380c8785018261375b565b95880195935050908601906001016137d7565b509098975050505050505050565b602081526000612bb4602083018461372f565b60006001600160401b0382111561385957613859613528565b5060051b60200190565b60008060006060848603121561387857600080fd5b833561388381613513565b925060208481013561389481613513565b925060408501356001600160401b038111156138af57600080fd5b8501601f810187136138c057600080fd5b80356138ce6135a382613840565b81815260059190911b820183019083810190898311156138ed57600080fd5b928401925b8284101561391457833561390581613513565b825292840192908401906138f2565b80955050505050509250925092565b828152604060208201526000612d52604083018461372f565b60006020828403121561394e57600080fd5b81356001600160401b0381111561396457600080fd5b8201601f8101841361397557600080fd5b612d5284823560208401613595565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015613a2857898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015613a135783516001600160e01b0319168252928b019260019290920191908b01906139e9565b50978a019795505050918701916001016139ac565b50919998505050505050505050565b600080600060608486031215613a4c57600080fd5b8335613a5781613513565b92506020840135915060408401356001600160401b03811115613a7957600080fd5b613a85868287016135d3565b9150509250925092565b602081526000612bb4602083018461375b565b60038110611f1557600080fd5b803560048110613abe57600080fd5b919050565b600060c08284031215613ad557600080fd5b60405160c081016001600160401b0381118282101715613af757613af7613528565b6040529050808235613b0881613513565b81526020830135613b1881613513565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b6000806000806000806000806101a0898b031215613b6b57600080fd5b8835613b7681613513565b97506020890135613b8681613513565b96506040890135613b9681613513565b95506060890135613ba681613513565b94506080890135613bb681613513565b935060a0890135613bc681613aa2565b9250613bd460c08a01613aaf565b9150613be38a60e08b01613ac3565b90509295985092959890939650565b600080600080600060a08688031215613c0a57600080fd5b8535613c1581613513565b9450602086013593506040860135613c2c81613513565b925060608601356001600160401b03811115613c4757600080fd5b613c53888289016135d3565b95989497509295608001359392505050565b600060208284031215613c7757600080fd5b604051602081016001600160401b0381118282101715613c9957613c99613528565b6040529135825250919050565b60008060008060006101408688031215613cbf57600080fd5b8535613cca81613513565b94506020860135613cda81613aa2565b9350613ce860408701613aaf565b9250613cf78760608801613c65565b9150613d068760808801613ac3565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b60038110613d3857613d38613d12565b9052565b60048110613d3857613d38613d12565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151613d8c6080840182613d28565b506040830151613d9f60a0840182613d3c565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a090810151610180840152830151613e0b6101a08401826134f2565b5060c0830151612a466101c08401826134f2565b60008060008060008060008060006101c08a8c031215613e3e57600080fd5b8935613e4981613513565b985060208a0135613e5981613513565b975060408a0135613e6981613513565b965060608a0135613e7981613513565b955060808a0135613e8981613513565b945060a08a0135613e9981613aa2565b9350613ea760c08b01613aaf565b9250613eb68b60e08c01613c65565b9150613ec68b6101008c01613ac3565b90509295985092959850929598565b60008060008060808587031215613eeb57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215613f1957600080fd5b81356001600160401b03811115613f2f57600080fd5b612d52848285016135d3565b600060208284031215613f4d57600080fd5b8151612bb481613513565b634e487b7160e01b600052603260045260246000fd5b6000610100808352613f828184018b6136b4565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c90821680613fe757607f821691505b602082108103612a3557634e487b7160e01b600052602260045260246000fd5b84815260a06020820152600e60a08201526d506f6f6c2050726f66696c65203160901b60c082015260e06040820152835160e082015260006020850151604061010084015261405a61012084018261372f565b6001600160a01b03861660608501528381036080850152905061407d81856136b4565b979650505050505050565b60006020828403121561409a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000600182016140c9576140c96140a1565b5060010190565b601f82111561169457600081815260208120601f850160051c810160208610156140f75750805b601f850160051c820191505b81811015611fe357828155600101614103565b81516001600160401b0381111561412f5761412f613528565b6141438161413d8454613fd3565b846140d0565b602080601f83116001811461417857600084156141605750858301515b600019600386901b1c1916600185901b178555611fe3565b600085815260208120601f198616915b828110156141a757888601518255948401946001909101908401614188565b50858210156141c55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60028110613d3857613d38613d12565b6001600160a01b038b81168252602082018b9052610140604083018190526000916142128483018d61372f565b9150614221606085018c6141d5565b8960808501528860a08501528760c085015280871660e085015280861661010085015250828103610120840152614258818561372f565b9d9c50505050505050505050505050565b60006020828403121561427b57600080fd5b81518015158114612bb457600080fd5b8082028115828204841417610b6f57610b6f6140a1565b6001600160a01b03841681526060602082018190526000906142c69083018561372f565b9050826040830152949350505050565b8781526000602060018060a01b03808a168285015260e060408501526142ff60e085018a61372f565b6060828a168187015288608087015285820360a087015287548252600192508288016040858401526000815461433481613fd3565b80604087015286821660008114614352576001811461436c5761439a565b60ff1983168787015281151560051b87018601935061439a565b846000528860002060005b83811015614392578154898201890152908901908a01614377565b880187019450505b50505087810360c08901526143af818a6136b4565b9f9e505050505050505050505050505050565b6000602082840312156143d457600080fd5b8151612bb481613aa2565b634e487b7160e01b600052600160045260246000fd5b60008261441257634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610b6f57610b6f6140a1565b80820180821115610b6f57610b6f6140a1565b75242e6e6574776f726b735b3f28402e6e616d653d3d2760501b81526000825161446e81601685016020870161370b565b6227295d60e81b6016939091019283015250601901919050565b6000835161449a81846020880161370b565b8351908301906144ae81836020880161370b565b01949350505050565b6040815260006144ca604083018561372f565b82810360208401526144dc818561372f565b95945050505050565b600060208083850312156144f857600080fd5b82516001600160401b0381111561450e57600080fd5b8301601f8101851361451f57600080fd5b805161452d6135a382613840565b81815260059190911b8201830190838101908783111561454c57600080fd5b928401925b8284101561407d57835161456481613513565b82529284019290840190614551565b60006020828403121561458557600080fd5b81516001600160401b0381111561459b57600080fd5b8201601f810184136145ac57600080fd5b80516145ba6135a38261356e565b8181528560208385010111156145cf57600080fd5b6144dc82602083016020860161370b565b600082516145f281846020870161370b565b7f2f706b672f636f6e7472616374732f636f6e6669672f6e6574776f726b732e6a9201918252506239b7b760e91b6020820152602301919050565b604081526000614640604083018561372f565b905060018060a01b03831660208301529392505050565b60408152600061466a604083018561372f565b90508260208301529392505050565b60008060006060848603121561468e57600080fd5b835160ff8116811461469f57600080fd5b602085015160409095015190969495509392505050565b8215158152604060208201526000612d52604083018461372f565b600082516146e381846020870161370b565b9190910192915050565b6001600160a01b0383168152604060208201819052600090612d529083018461372f565b6001600160a01b038b81168252602082018b90526101406040830181905260009161473e8483018d61372f565b925061474d606085018c6141d5565b60808401999099525060a082019690965260c081019490945291851660e0840152909316610100820152610120019190915294935050505056fe60a06040523060805234801561001457600080fd5b506080516159696200004d60003960008181611dcd01528181611e1001528181611f0b01528181611f4e01526120b201526159696000f3fe6080604052600436106200032c5760003560e01c806301ffc9a714620003315780630331383c146200036b57806308386eba146200038c5780630d12bbdb14620003a45780630d4a8b4914620003cb578063175188e814620003f05780631b71f0e414620004155780631f787d28146200043a578063223e5479146200045557806322bcf999146200047a578063248a9ca3146200049f57806328c309e914620004c45780632b38c69c14620004dc5780632c611c4a14620005105780632f2ff15d146200054e57806331f61bca14620005735780633396045914620005985780633419635514620005b05780633517aa7d14620005d557806336568abe14620005ed5780633659cfe61462000612578063397e254314620006375780633a871fe1146200065c578063477a5cc014620006915780634f1ef28614620006d1578063524e59e814620006e857806352d1902d146200072b578063559de05d14620007435780635c94e4d214620007685780635ecf71c5146200078b57806365e3864c14620007b05780636871eb4d14620007ed57806368decabb14620008125780636c53db9a1462000835578063715018a6146200085857806373265c371462000870578063733a2d1f146200089557806377122d5614620008ba5780637817ee4f14620008dd57806378a0b8a914620009285780637b103999146200094057806382d6a1e7146200096357806388cfe68414620009885780638961be6b14620009fe5780638da5cb5b1462000a1657806391d148541462000a2e578063a0cf0aea1462000a53578063a217fddf1462000a7d578063a230c5241462000a94578063b0d3713a1462000ab9578063b3f006741462000ade578063b5058c501462000b05578063b64e39af1462000b1d578063b99b43701462000b44578063bc063e1a1462000b5c578063c4d66de81462000b74578063c6d572ae1462000b99578063d547741f1462000bb1578063d6d8428d1462000bd6578063d7050f071462000bf9578063db61d65c1462000c11578063e16d0e321462000c34578063ebd7dc521462000c59578063f2fde38b1462000c7e578063f86c5f891462000ca3578063ffa1ad741462000cc6575b600080fd5b3480156200033e57600080fd5b506200035662000350366004620041ab565b62000cf7565b60405190151581526020015b60405180910390f35b3480156200037857600080fd5b5060fb545b60405190815260200162000362565b3480156200039957600080fd5b506200037d60fe5481565b348015620003b157600080fd5b50620003c9620003c3366004620041d7565b62000d2f565b005b348015620003d857600080fd5b50620003c9620003ea36600462004219565b62000da5565b348015620003fd57600080fd5b50620003c96200040f36600462004257565b62001113565b3480156200042257600080fd5b50620003c96200043436600462004257565b6200112b565b3480156200044757600080fd5b5060ff805462000356911681565b3480156200046257600080fd5b50620003c96200047436600462004257565b62001158565b3480156200048757600080fd5b50620003c96200049936600462004219565b6200116d565b348015620004ac57600080fd5b506200037d620004be366004620041d7565b62001267565b348015620004d157600080fd5b506200037d6200127c565b348015620004e957600080fd5b5062000501620004fb36600462004277565b62001381565b604051620003629190620042b3565b3480156200051d57600080fd5b506200037d6200052f36600462004257565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200055b57600080fd5b50620003c96200056d366004620042c7565b620013bb565b3480156200058057600080fd5b50620003c962000592366004620041d7565b620013e2565b348015620005a557600080fd5b506200037d60fd5481565b348015620005bd57600080fd5b50620003c9620005cf366004620044fb565b62001422565b348015620005e257600080fd5b50620003c962001adf565b348015620005fa57600080fd5b50620003c96200060c366004620042c7565b62001d41565b3480156200061f57600080fd5b50620003c96200063136600462004257565b62001dc3565b3480156200064457600080fd5b50620003c96200065636600462004257565b62001e94565b3480156200066957600080fd5b50620003566200067b36600462004257565b61010a6020526000908152604090205460ff1681565b3480156200069e57600080fd5b5062000356620006b036600462004219565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003c9620006e23660046200468e565b62001f01565b348015620006f557600080fd5b506200070d62000707366004620048b8565b62001fc2565b604080519283526001600160a01b0390911660208301520162000362565b3480156200073857600080fd5b506200037d620020a5565b3480156200075057600080fd5b50620003c962000762366004620041d7565b62002156565b3480156200077557600080fd5b506101025462000501906001600160a01b031681565b3480156200079857600080fd5b50620003c9620007aa366004620041d7565b620023a2565b348015620007bd57600080fd5b506200037d620007cf36600462004219565b61010b60209081526000928352604080842090915290825290205481565b348015620007fa57600080fd5b50620003c96200080c36600462004219565b6200273c565b3480156200081f57600080fd5b506101035462000501906001600160a01b031681565b3480156200084257600080fd5b506101065462000501906001600160a01b031681565b3480156200086557600080fd5b50620003c96200288f565b3480156200087d57600080fd5b50620003c96200088f366004620041d7565b620028a5565b348015620008a257600080fd5b506200037d600080516020620058ad83398151915281565b348015620008c757600080fd5b506101015462000501906001600160a01b031681565b348015620008ea57600080fd5b506200037d620008fc36600462004219565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200093557600080fd5b506200037d60fb5481565b3480156200094d57600080fd5b506101045462000501906001600160a01b031681565b3480156200097057600080fd5b50620003c962000982366004620041d7565b62002941565b3480156200099557600080fd5b50620009d6620009a736600462004257565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000362565b34801562000a0b57600080fd5b506200037d60fc5481565b34801562000a2357600080fd5b5062000501620029ff565b34801562000a3b57600080fd5b506200035662000a4d366004620042c7565b62002a9a565b34801562000a6057600080fd5b506200050173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000a8a57600080fd5b506200037d600081565b34801562000aa157600080fd5b506200035662000ab336600462004257565b62002ac5565b34801562000ac657600080fd5b50620003c962000ad836600462004257565b62002b0f565b34801562000aeb57600080fd5b5060ff54620005019061010090046001600160a01b031681565b34801562000b1257600080fd5b50620003c962002b3c565b34801562000b2a57600080fd5b5062000b3562002b73565b60405162000362919062004976565b34801562000b5157600080fd5b50620003c962002c0a565b34801562000b6957600080fd5b506200037d62002d14565b34801562000b8157600080fd5b50620003c962000b9336600462004257565b62002d26565b34801562000ba657600080fd5b5062000b3562002d5b565b34801562000bbe57600080fd5b50620003c962000bd0366004620042c7565b62002d6b565b34801562000be357600080fd5b506101075462000501906001600160a01b031681565b34801562000c0657600080fd5b506200037d61271081565b34801562000c1e57600080fd5b506101055462000501906001600160a01b031681565b34801562000c4157600080fd5b506200070d62000c533660046200498b565b62002d8d565b34801562000c6657600080fd5b506200035662000c7836600462004257565b62002f1a565b34801562000c8b57600080fd5b50620003c962000c9d36600462004257565b62002f37565b34801562000cb057600080fd5b506101005462000501906001600160a01b031681565b34801562000cd357600080fd5b5062000b35604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d2957506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d3962002fa8565b62000d48612710600a62004a20565b81111562000d695760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000db08262002fe5565b62000dbb816200300e565b62000dc68162003049565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e0f57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000e9d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ec3919062004a50565b600381111562000ed75762000ed762004a3a565b0362000f5c5760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f0e90889060009060040162004a70565b6020604051808303816000875af115801562000f2e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f54919062004a89565b905062001058565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f9f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc5919062004a50565b600381111562000fd95762000fd962004a3a565b14620010585760405163782aadff60e01b81526001600160a01b0385169063782aadff906200100f908890869060040162004a70565b6020604051808303816000875af11580156200102f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001055919062004a89565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec90620011049087908790859062004aa3565b60405180910390a15050505050565b6200111d62002fa8565b620011288162003071565b50565b62001135620030cf565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200116262002fa8565b620011288162003132565b620011788262002fe5565b620011838162003049565b6200118f3382620031c4565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620011d757604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012298282620031f7565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b82826040516200125b92919062004ac7565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b0316816200129c612710606462004a20565b60fc5460fb54620012ae919062004a20565b620012ba919062004ae1565b90506000620012cd612710606462004a20565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c90620012fb903090600401620042b3565b602060405180830381865afa15801562001319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200133f919062004a89565b60fb546200134e919062004a20565b6200135a919062004ae1565b9050808260fb546200136d919062004b04565b62001379919062004b04565b935050505090565b61010d60205281600052604060002081815481106200139f57600080fd5b6000918252602090912001546001600160a01b03169150829050565b620013c68262001267565b620013d1816200332d565b620013dd838362003339565b505050565b620013ec62002fa8565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000d9a565b600054610100900460ff1615808015620014435750600054600160ff909116105b806200146857506200145530620033c3565b15801562001468575060005460ff166001145b620014d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620014f5576000805461ff0019166101001790555b620015008262002d26565b6200150a620033d2565b6200151462003406565b62001530600080516020620058ad833981519152600062003430565b6200153f856020015162003049565b6200154f85610100015162003049565b84516200155c9062003049565b6200156b8560a0015162003049565b6060850151156200158557620015858560c0015162003049565b845161010780546001600160a01b039283166001600160a01b031991821617909155602087015161010580549190931691161790556040850151600003620015e0576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff1916911515919091179055610120850151610108906200161d908262004ba8565b506101608501516101099062001634908262004ba8565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620016a990600080516020620058ad8339815191529062003339565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015620016fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001724919062004c74565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b600003620017b05760408051600380825260808201909252906020820160608036833701905050905033816000815181106200178a576200178a62004c94565b60200260200101906001600160a01b031690816001600160a01b031681525050620018ed565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa158015620017fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001825919081019062004caa565b90508051600262001837919062004b04565b6001600160401b03811115620018515762001851620042ef565b6040519080825280602002602001820160405280156200187b578160200160208202803683370190505b50915060005b8151811015620018ea57818181518110620018a057620018a062004c94565b6020026020010151838281518110620018bd57620018bd62004c94565b6001600160a01b039092166020928302919091019091015280620018e18162004d68565b91505062001881565b50505b6101065481516001600160a01b039091169082906200190f9060019062004d84565b8151811062001922576200192262004c94565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162001954919062004d84565b8151811062001967576200196762004c94565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f92620019ba9291610108913090889060040162004e86565b6020604051808303816000875af1158015620019da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a00919062004a89565b60fe55805162001a199061010f90602084019062004105565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001a8b929091610108919062004eda565b60405180910390a150801562001ad8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001104565b5050505050565b62001ae962003485565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b1a612710606462004a20565b60fc5460fb5462001b2c919062004a20565b62001b38919062004ae1565b9050600062001b4b612710606462004a20565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001b79903090600401620042b3565b602060405180830381865afa15801562001b97573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bbd919062004a89565b60fb5462001bcc919062004a20565b62001bd8919062004ae1565b905062001be58562002ac5565b62001d2f5760028401805460ff1916600190811790915560fb5490850181905562001c3f9086903090849062001c1d90879062004b04565b62001c29919062004b04565b610105546001600160a01b0316929190620034e0565b811562001c6c5760ff546101055462001c6c916001600160a01b039182169161010090910416846200353c565b801562001cf15762001cf1836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001cb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cdc919062004c74565b610105546001600160a01b031690836200353c565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001d2692919062004a70565b60405180910390a15b505050505062001d3f6001606555565b565b6001600160a01b038116331462001db35760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401620014c8565b62001dbf828262003565565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e0e5760405162461bcd60e51b8152600401620014c89062004f09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001e42620035cf565b6001600160a01b03161462001e6b5760405162461bcd60e51b8152600401620014c89062004f44565b62001e7681620035ec565b6040805160008082526020820190925262001128918391906200362e565b62001e9e62002fa8565b62001ea98162003049565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000d9a939216919062004ac7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001f4c5760405162461bcd60e51b8152600401620014c89062004f09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001f80620035cf565b6001600160a01b03161462001fa95760405162461bcd60e51b8152600401620014c89062004f44565b62001fb482620035ec565b62001dbf828260016200362e565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b928116911662001ff8620029ff565b6040516001600160a01b0393841660248201529183166044830152909116606482015260840160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200205d906200416b565b6200206a92919062004f7f565b604051809103906000f08015801562002087573d6000803e3d6000fd5b509050620020988187878762002d8d565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021425760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401620014c8565b50600080516020620058ed83398151915290565b6200216062003485565b6200216a620037a6565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620021ce57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620021af575b50505050509050600080600090505b82518110156200230957828181518110620021fc57620021fc62004c94565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b81526004016200223392919062004a70565b6020604051808303816000875af115801562002253573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002279919062004a89565b91508115620022f4576001600160a01b038416600090815261010b602052604081208451849290869085908110620022b557620022b562004c94565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000828254620022ee919062004b04565b90915550505b80620023008162004d68565b915050620021dd565b506101055462002325906001600160a01b0316843087620034e0565b6001600160a01b038316600090815261010c6020526040812060010180548692906200235390849062004b04565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f906200238c908590879062004a70565b60405180910390a1505050620011286001606555565b620023ac62003485565b620023b6620037a6565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620023ea90869062004d84565b10156200240a57604051634e23e81760e11b815260040160405180910390fd5b6101055462002424906001600160a01b031684866200353c565b60005b8254811015620026d457600083828154811062002448576200244862004c94565b6000918252602090912001546001600160a01b03169050620024728163f1801e6160e01b620037cf565b15620025f857604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620024a89088908a9060040162004a70565b6020604051808303816000875af1158015620024c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024ee919062004a89565b9250600061010b6000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815481106200252f576200252f62004c94565b60009182526020808320909101546001600160a01b0316835282019290925260400190205490508084111562002583576040516311423e6360e31b81526004810185905260248101829052604401620014c8565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620025b657620025b662004c94565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190620025ec90849062004d84565b909155505050620026be565b835484906200260a9060019062004d84565b815481106200261d576200261d62004c94565b9060005260206000200160009054906101000a90046001600160a01b031684838154811062002650576200265062004c94565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508380548062002691576200269162004fa5565b600082815260209020810160001990810180546001600160a01b0319169055019055620026be8162003071565b5080620026cb8162004d68565b91505062002427565b506001600160a01b038316600090815261010c6020526040812060010180548692906200270390849062004d84565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8906200238c908590879062004a70565b6200274662003485565b6200275062002fa8565b60ff80541662002773576040516365b1ee3960e11b815260040160405180910390fd5b6200277e8262002ac5565b6200279c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620027ed83620037f7565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff19169055820151610105546200284292169084906200353c565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3838383602001516040516200287b9392919062004aa3565b60405180910390a15062001dbf6001606555565b62002899620030cf565b62001d3f60006200390c565b620028af62002fa8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620028fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002925919081019062004fbb565b602001519050620029368162003049565b62001dbf8162003071565b6200294b62002fa8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002997573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620029c1919081019062004fbb565b602001519050620029d28162003049565b620029ee6001600160a01b03821663f1801e6160e01b620037cf565b1562001dbf5762001dbf8162003132565b60008062002a156033546001600160a01b031690565b9050806001600160a01b03163b60000362002a2f57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002a8c575060408051601f3d908101601f1916820190925262002a899181019062004c74565b60015b62000d2957919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002b19620030cf565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002b69576040516375e686b760e11b815260040160405180910390fd5b62001d3f6200395e565b610109805462002b839062004b1a565b80601f016020809104026020016040519081016040528092919081815260200182805462002bb19062004b1a565b801562002c025780601f1062002bd65761010080835404028352916020019162002c02565b820191906000526020600020905b81548152906001019060200180831162002be457829003601f168201915b505050505081565b62002c1462003485565b3362002c208162002fe5565b62002c2b81620037f7565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d9052918220909162002ca6919062004179565b60208101516101055462002cc8916001600160a01b039091169084906200353c565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162002cff92919062004a70565b60405180910390a1505062001d3f6001606555565b62002d23612710600a62004a20565b81565b600054610100900460ff1662002d505760405162461bcd60e51b8152600401620014c890620050f1565b62001128816200390c565b610108805462002b839062004b1a565b62002d768262001267565b62002d81816200332d565b620013dd838362003565565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002db85750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002e1657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002df7575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e4e908b9060200162005166565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e86979695949392919062005248565b6020604051808303816000875af115801562002ea6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ecc919062004a89565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002f07959493929190620052b9565b60405180910390a1505094509492505050565b600062000d29600080516020620058ad8339815191528362002a9a565b62002f41620030cf565b6001600160a01b03811662002d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620014c8565b62002fc3600080516020620058ad8339815191523362002a9a565b62001d3f573360405163fc4be72f60e01b8152600401620014c89190620042b3565b62002ff08162002ac5565b6200112857604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff1662001128576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b03811662001128576040516303988b8160e61b815260040160405180910390fd5b6200307c8162003049565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000d9a908390620042b3565b33620030da620029ff565b6001600160a01b03161462001d3f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620014c8565b6001600160a01b038116600090815261010a602052604090205460ff16156200316e576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000d9a908390620042b3565b806001600160a01b0316826001600160a01b03161462001dbf5760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200332757826001600160a01b03168282815481106200323b576200323b62004c94565b6000918252602090912001546001600160a01b031603620033125781548290620032689060019062004d84565b815481106200327b576200327b62004c94565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110620032ae57620032ae62004c94565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480620032ef57620032ef62004fa5565b600082815260209020810160001990810180546001600160a01b03191690550190555b806200331e8162004d68565b91505062003212565b50505050565b620011288133620039c2565b62003345828262002a9a565b62001dbf57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200337f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620033fc5760405162461bcd60e51b8152600401620014c890620050f1565b62001d3f62003a26565b600054610100900460ff1662001d3f5760405162461bcd60e51b8152600401620014c890620050f1565b60006200343d8362001267565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600260655403620034d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620014c8565b6002606555565b62003327846323b872dd60e01b858585604051602401620035049392919062004aa3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003a50565b620013dd8363a9059cbb60e01b84846040516024016200350492919062004a70565b6001606555565b62003571828262002a9a565b1562001dbf57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020620058ed833981519152546001600160a01b031690565b33620035f7620029ff565b6001600160a01b03161462001128573362003611620029ff565b60405163163678e960e01b8152600401620014c892919062004ac7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200366457620013dd8362003b2c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620036c1575060408051601f3d908101601f19168201909252620036be9181019062004a89565b60015b620037265760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620014c8565b600080516020620058ed8339815191528114620037985760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620014c8565b50620013dd83838362003bcb565b620037b13362002ac5565b62001d3f57604051636a5cfb6d60e01b815260040160405180910390fd5b6000620037dc8362003bf6565b8015620037f05750620037f0838362003c2e565b9392505050565b6001600160a01b038116600090815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200386457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003845575b5050505050905060005b8151811015620013dd578181815181106200388d576200388d62004c94565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b8152600401620038c29190620042b3565b600060405180830381600087803b158015620038dd57600080fd5b505af1158015620038f2573d6000803e3d6000fd5b505050508080620039039062004d68565b9150506200386e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290620039b890600090620042b3565b60405180910390a1565b620039ce828262002a9a565b62001dbf57620039de8162003cb9565b620039eb83602062003ccc565b604051602001620039fe929190620052f5565b60408051601f198184030181529082905262461bcd60e51b8252620014c89160040162004976565b600054610100900460ff166200355e5760405162461bcd60e51b8152600401620014c890620050f1565b600062003aa7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662003e859092919063ffffffff16565b905080516000148062003acb57508080602001905181019062003acb919062005368565b620013dd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620014c8565b62003b3781620033c3565b62003b9b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620014c8565b600080516020620058ed83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003bd68362003e9e565b60008251118062003be45750805b15620013dd5762003327838362003ee0565b600062003c0b826301ffc9a760e01b62003c2e565b801562000d29575062003c27826001600160e01b031962003c2e565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562003ca1575060208210155b801562003cae5750600081115b979650505050505050565b606062000d296001600160a01b03831660145b6060600062003cdd83600262004a20565b62003cea90600262004b04565b6001600160401b0381111562003d045762003d04620042ef565b6040519080825280601f01601f19166020018201604052801562003d2f576020820181803683370190505b509050600360fc1b8160008151811062003d4d5762003d4d62004c94565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062003d7f5762003d7f62004c94565b60200101906001600160f81b031916908160001a905350600062003da584600262004a20565b62003db290600162004b04565b90505b600181111562003e34576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062003dea5762003dea62004c94565b1a60f81b82828151811062003e035762003e0362004c94565b60200101906001600160f81b031916908160001a90535060049490941c9362003e2c8162005388565b905062003db5565b508315620037f05760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620014c8565b606062003e96848460008562003f08565b949350505050565b62003ea98162003b2c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620037f083836040518060600160405280602781526020016200590d6027913962003fe0565b60608247101562003f6b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620014c8565b600080866001600160a01b0316858760405162003f899190620053a2565b60006040518083038185875af1925050503d806000811462003fc8576040519150601f19603f3d011682016040523d82523d6000602084013e62003fcd565b606091505b509150915062003cae878383876200405e565b6060600080856001600160a01b03168560405162003fff9190620053a2565b600060405180830381855af49150503d80600081146200403c576040519150601f19603f3d011682016040523d82523d6000602084013e62004041565b606091505b509150915062004054868383876200405e565b9695505050505050565b60608315620040d2578251600003620040ca576200407c85620033c3565b620040ca5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620014c8565b508162003e96565b62003e968383815115620040e95781518083602001fd5b8060405162461bcd60e51b8152600401620014c8919062004976565b8280548282559060005260206000209081019282156200415d579160200282015b828111156200415d57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004126565b5062002a9692915062004194565b6104ec80620053c183390190565b50805460008255906000526020600020908101906200112891905b5b8082111562002a96576000815560010162004195565b600060208284031215620041be57600080fd5b81356001600160e01b031981168114620037f057600080fd5b600060208284031215620041ea57600080fd5b5035919050565b6001600160a01b03811681146200112857600080fd5b80356200421481620041f1565b919050565b600080604083850312156200422d57600080fd5b82356200423a81620041f1565b915060208301356200424c81620041f1565b809150509250929050565b6000602082840312156200426a57600080fd5b8135620037f081620041f1565b600080604083850312156200428b57600080fd5b82356200429881620041f1565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60008060408385031215620042db57600080fd5b8235915060208301356200424c81620041f1565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156200432a576200432a620042ef565b60405290565b60405161018081016001600160401b03811182821017156200432a576200432a620042ef565b60405160c081016001600160401b03811182821017156200432a576200432a620042ef565b60405160e081016001600160401b03811182821017156200432a576200432a620042ef565b604051608081016001600160401b03811182821017156200432a576200432a620042ef565b604051601f8201601f191681016001600160401b0381118282101715620043f057620043f0620042ef565b604052919050565b60006001600160401b03821115620044145762004414620042ef565b50601f01601f191660200190565b6000620044396200443384620043f8565b620043c5565b90508281528383830111156200444e57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126200447757600080fd5b620037f08383356020850162004422565b6000604082840312156200449b57600080fd5b620044a562004305565b82358152905060208201356001600160401b03811115620044c557600080fd5b620044d38482850162004465565b60208301525092915050565b80151581146200112857600080fd5b80356200421481620044df565b600080600080608085870312156200451257600080fd5b84356001600160401b03808211156200452a57600080fd5b9086019061018082890312156200454057600080fd5b6200454a62004330565b620045558362004207565b8152620045656020840162004207565b60208201526040830135604082015260608301356060820152608083013560808201526200459660a0840162004207565b60a0820152620045a960c0840162004207565b60c082015260e083013582811115620045c157600080fd5b620045cf8a82860162004488565b60e083015250610100620045e581850162004207565b908201526101208381013583811115620045fe57600080fd5b6200460c8b82870162004465565b82840152505061014062004622818501620044ee565b9082015261016083810135838111156200463b57600080fd5b620046498b82870162004465565b828401525050809650505050620046636020860162004207565b9250620046736040860162004207565b9150620046836060860162004207565b905092959194509250565b60008060408385031215620046a257600080fd5b8235620046af81620041f1565b915060208301356001600160401b03811115620046cb57600080fd5b8301601f81018513620046dd57600080fd5b620046ee8582356020840162004422565b9150509250929050565b8035600381106200421457600080fd5b600481106200112857600080fd5b8035620042148162004708565b6000602082840312156200473657600080fd5b604051602081016001600160401b03811182821017156200475b576200475b620042ef565b6040529135825250919050565b600060c082840312156200477b57600080fd5b6200478562004356565b905081356200479481620041f1565b81526020820135620047a681620041f1565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60008183036101e0811215620047f057600080fd5b620047fa6200437b565b915060808112156200480b57600080fd5b5062004816620043a0565b82358152602083013560208201526040830135604082015260608301356060820152808252506200484a60808301620046f8565b60208201526200485d60a0830162004716565b6040820152620048718360c0840162004723565b6060820152620048858360e0840162004768565b6080820152620048996101a0830162004207565b60a0820152620048ad6101c0830162004207565b60c082015292915050565b60008060006102208486031215620048cf57600080fd5b8335620048dc81620041f1565b9250620048ed8560208601620047db565b91506102008401356001600160401b038111156200490a57600080fd5b620049188682870162004488565b9150509250925092565b60005b838110156200493f57818101518382015260200162004925565b50506000910152565b600081518084526200496281602086016020860162004922565b601f01601f19169290920160200192915050565b602081526000620037f0602083018462004948565b6000806000806102408587031215620049a357600080fd5b8435620049b081620041f1565b93506020850135620049c281620041f1565b9250620049d38660408701620047db565b91506102208501356001600160401b03811115620049f057600080fd5b620049fe8782880162004488565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d295762000d2962004a0a565b634e487b7160e01b600052602160045260246000fd5b60006020828403121562004a6357600080fd5b8151620037f08162004708565b6001600160a01b03929092168252602082015260400190565b60006020828403121562004a9c57600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b60008262004aff57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d295762000d2962004a0a565b600181811c9082168062004b2f57607f821691505b60208210810362004b5057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620013dd57600081815260208120601f850160051c8101602086101562004b7f5750805b601f850160051c820191505b8181101562004ba05782815560010162004b8b565b505050505050565b81516001600160401b0381111562004bc45762004bc4620042ef565b62004bdc8162004bd5845462004b1a565b8462004b56565b602080601f83116001811462004c14576000841562004bfb5750858301515b600019600386901b1c1916600185901b17855562004ba0565b600085815260208120601f198616915b8281101562004c455788860151825594840194600190910190840162004c24565b508582101562004c645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562004c8757600080fd5b8151620037f081620041f1565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121562004cbe57600080fd5b82516001600160401b038082111562004cd657600080fd5b818501915085601f83011262004ceb57600080fd5b81518181111562004d005762004d00620042ef565b8060051b915062004d13848301620043c5565b818152918301840191848101908884111562004d2e57600080fd5b938501935b8385101562004d5c578451925062004d4b83620041f1565b828252938501939085019062004d33565b98975050505050505050565b60006001820162004d7d5762004d7d62004a0a565b5060010190565b8181038181111562000d295762000d2962004a0a565b6000815462004da98162004b1a565b80855260206001838116801562004dc9576001811462004de45762004e14565b60ff1985168884015283151560051b88018301955062004e14565b866000528260002060005b8581101562004e0c5781548a820186015290830190840162004def565b890184019650505b505050505092915050565b80518252600060208201516040602085015262003e96604085018262004948565b600081518084526020808501945080840160005b8381101562004e7b5781516001600160a01b03168752958201959082019060010162004e54565b509495945050505050565b85815260a06020820152600062004ea160a083018762004d9a565b828103604084015262004eb5818762004e1f565b6001600160a01b03861660608501528381036080850152905062004d5c818562004e40565b83815260606020820152600062004ef5606083018562004d9a565b828103604084015262004054818562004e1f565b6020808252602c90820152600080516020620058cd83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020620058cd83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b038316815260406020820181905260009062003e969083018462004948565b634e487b7160e01b600052603160045260246000fd5b6000602080838503121562004fcf57600080fd5b82516001600160401b038082111562004fe757600080fd5b9084019060c0828703121562004ffc57600080fd5b6200500662004356565b82518152838301516200501981620041f1565b8185015260408301516200502d81620041f1565b60408201526060830151828111156200504557600080fd5b8301604081890312156200505857600080fd5b6200506262004305565b8151815285820151848111156200507857600080fd5b82019350601f840189136200508c57600080fd5b835191506200509f6200443383620043f8565b8281528987848701011115620050b457600080fd5b620050c58388830189880162004922565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600381106200514f576200514f62004a3a565b9052565b600481106200514f576200514f62004a3a565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151620051a860808401826200513c565b506040830151620051bd60a084018262005153565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a0908101516101808401528301516200522b6101a0840182620042a6565b5060c0830151620052416101c0840182620042a6565b5092915050565b878152600060018060a01b03808916602084015260e060408401526200527260e084018962004948565b818816606085015286608085015283810360a085015262005294818762004e1f565b91505082810360c0840152620052ab818562004e40565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a06080820181905260009062003cae9083018462004e1f565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200532981601785016020880162004922565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200535c81602884016020880162004922565b01602801949350505050565b6000602082840312156200537b57600080fd5b8151620037f081620044df565b6000816200539a576200539a62004a0a565b506000190190565b60008251620053b681846020870162004922565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c65c829f8fdde34a02905ed1e083dd9758067fd2de18763efdf9654cd7213cd964736f6c6343000813003360a06040523060805234801561001457600080fd5b5060805161667a6200004d6000396000818161181f0152818161185f015281816118ef0152818161192f01526119a7015261667a6000f3fe6080604052600436106103425760003560e01c8063013cf08b1461034b57806301ffc9a71461038d578063059351cd146103bd578063062f9ece1461044a5780630a6f0ee91461046a5780630ba959091461048a5780630bece79c146104a95780630c0512e9146104d65780630f529ba2146104ec578063125fd1d91461050357806315cc481e14610519578063184b9559146105375780631aa91a9e146105575780631ddf1e23146105775780632506b8701461058c578063255ffb38146105cf5780632bbe0cae146105fc5780632dbd6fdd1461060f5780632ed04b2b1461063b578063311a6c561461065b578063339604591461067b578063346db8cb14610691578063351d9f96146106b15780633659cfe6146106d857806338fff2d0146106f8578063406244d81461070d57806341bb76051461072257806342fda9c71461077f5780634ab4ba42146107945780634d31d087146107a95780634f1ef286146107c957806352d1902d146107dc57806359a5db8b146107f15780635db64b99146108115780636003e4141461083e57806360d5dedc1461085e578063626c47e81461087e5780636453d9c414610893578063715018a6146108b3578063782aadff146108c8578063814516ad146108e8578063817b1cd2146108fd578063824ea8ed14610913578063868c57b8146109335780638da5cb5b14610953578063950559d7146109685780639a1c157c14610988578063a0cf0aea1461099d578063a28889e1146109c5578063a47ff7e5146109fd578063a574cea414610a14578063aba9ffee14610a41578063ac1ed7b914610a57578063b0d3713a14610a77578063b2b878d014610a97578063b41596ec14610ac4578063b5f620ce14610ad7578063b6c61f3114610af7578063bcc5b93b14610b17578063c329217114610b37578063c4d66de814610b54578063c7f758a814610b74578063d1e3623214610bab578063dc96ff2d14610bc0578063df868ed314610bf0578063e0a8f6f514610c05578063e0dd2c3814610c25578063eb11af9314610c45578063edd146cc14610c6d578063ef2920fc14610c8d578063f2fde38b14610ca0578063f5b0dfb714610cc0578063f5be3f7c14610ce0578063ffa1ad7414610cf657005b3661034957005b005b34801561035757600080fd5b5061036b61036636600461503b565b610d32565b6040516103849d9c9b9a999897969594939291906150f6565b60405180910390f35b34801561039957600080fd5b506103ad6103a8366004615198565b610e80565b6040519015158152602001610384565b3480156103c957600080fd5b50610412606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c001610384565b34801561045657600080fd5b506103496104653660046152cd565b610eb7565b34801561047657600080fd5b506103496104853660046154a2565b610ecd565b34801561049657600080fd5b506077545b604051908152602001610384565b3480156104b557600080fd5b506079546104c9906001600160a01b031681565b6040516103849190615519565b3480156104e257600080fd5b5061049b606e5481565b3480156104f857600080fd5b5061049b6298968081565b34801561050f57600080fd5b5061049b606f5481565b34801561052557600080fd5b506065546001600160a01b03166104c9565b34801561054357600080fd5b5061034961055236600461552d565b610eed565b34801561056357600080fd5b5061049b61057236600461503b565b61104d565b34801561058357600080fd5b50610349611097565b34801561059857600080fd5b506072546073546074546075546105af9392919084565b604080519485526020850193909352918301526060820152608001610384565b3480156105db57600080fd5b5061049b6105ea36600461503b565b607e6020526000908152604090205481565b6104c961060a36600461556d565b6110a2565b34801561061b57600080fd5b5060765461062e90610100900460ff1681565b60405161038491906155d2565b34801561064757600080fd5b5061049b6106563660046155e0565b6110c5565b34801561066757600080fd5b5061034961067636600461560c565b611189565b34801561068757600080fd5b5061049b606c5481565b34801561069d57600080fd5b5061049b6106ac36600461562e565b61177a565b3480156106bd57600080fd5b506076546106cb9060ff1681565b604051610384919061566a565b3480156106e457600080fd5b506103496106f3366004615678565b611815565b34801561070457600080fd5b5060685461049b565b34801561071957600080fd5b5061049b600a81565b34801561072e57600080fd5b5061041261073d36600461503b565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b34801561078b57600080fd5b5060665461049b565b3480156107a057600080fd5b5060695461049b565b3480156107b557600080fd5b506103ad6107c4366004615678565b6118dd565b6103496107d7366004615695565b6118e5565b3480156107e857600080fd5b5061049b61199a565b3480156107fd57600080fd5b5061049b61080c36600461503b565b611a48565b34801561081d57600080fd5b5061049b61082c366004615678565b607c6020526000908152604090205481565b34801561084a57600080fd5b506078546104c9906001600160a01b031681565b34801561086a57600080fd5b506103496108793660046156e4565b611b62565b34801561088a57600080fd5b5061049b600381565b34801561089f57600080fd5b506103496108ae366004615678565b611bde565b3480156108bf57600080fd5b50610349611bef565b3480156108d457600080fd5b5061049b6108e33660046155e0565b611c01565b3480156108f457600080fd5b50610349611d93565b34801561090957600080fd5b5061049b60705481565b34801561091f57600080fd5b506103ad61092e36600461503b565b611eaa565b34801561093f57600080fd5b5061049b61094e3660046155e0565b611f07565b34801561095f57600080fd5b506104c9611f38565b34801561097457600080fd5b5061049b61098336600461503b565b611fc9565b34801561099457600080fd5b5060745461049b565b3480156109a957600080fd5b506104c973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156109d157600080fd5b50606d546109e5906001600160401b031681565b6040516001600160401b039091168152602001610384565b348015610a0957600080fd5b5060775461049b9081565b348015610a2057600080fd5b50610a34610a2f36600461503b565b611ff3565b604051610384919061573f565b348015610a4d57600080fd5b5061049b60715481565b348015610a6357600080fd5b50610349610a72366004615678565b6120d2565b348015610a8357600080fd5b50610349610a92366004615678565b612105565b348015610aa357600080fd5b50610ab7610ab2366004615752565b61212f565b6040516103849190615826565b61049b610ad23660046158bf565b61214a565b348015610ae357600080fd5b50610349610af2366004615946565b61249c565b348015610b0357600080fd5b50607a546104c9906001600160a01b031681565b348015610b2357600080fd5b5061049b610b32366004615678565b6124a5565b348015610b4357600080fd5b50607654610100900460ff1661062e565b348015610b6057600080fd5b50610349610b6f366004615678565b6124c0565b348015610b8057600080fd5b50610b94610b8f36600461503b565b6124f0565b6040516103849b9a99989796959493929190615963565b348015610bb757600080fd5b5060715461049b565b348015610bcc57600080fd5b5061049b610bdb36600461503b565b6000908152607b602052604090206002015490565b348015610bfc57600080fd5b506103ad6125fc565b348015610c1157600080fd5b50610349610c2036600461503b565b61260f565b348015610c3157600080fd5b5061049b610c403660046159d2565b612794565b348015610c5157600080fd5b50610c606107c4366004615678565b60405161038491906159f7565b348015610c7957600080fd5b50610349610c88366004615a0a565b6127bf565b610349610c9b36600461556d565b612999565b348015610cac57600080fd5b50610349610cbb366004615678565b6129b3565b348015610ccc57600080fd5b50610349610cdb36600461503b565b612a20565b348015610cec57600080fd5b5061049b611c2081565b348015610d0257600080fd5b50610d25604051806040016040528060038152602001620302e360ec1b81525081565b6040516103849190615a3a565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610db990615a4d565b80601f0160208091040260200160405190810160405280929190818152602001828054610de590615a4d565b8015610e325780601f10610e0757610100808354040283529160200191610e32565b820191906000526020600020905b815481529060010190602001808311610e1557829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610eb157506301ffc9a760e01b6001600160e01b03198316145b92915050565b610ebf612a49565b610ec98282612af1565b5050565b610ed5612e66565b610edd612e91565b610ee8838383612eb4565b505050565b600054610100900460ff1615808015610f0d5750600054600160ff909116105b80610f2e5750610f1c306131be565b158015610f2e575060005460ff166001145b610f965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610fb9576000805461ff0019166101001790555b610fe6846040518060400160405280600a8152602001694356537472617465677960b01b81525084611b62565b606a80546001600160a01b0319166001600160a01b0385161790558015611047576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461107f5760405163c1d17bef60e01b815260048101849052602401610f8d565b61108d8182600201546131cd565b6003015492915050565b6110a033613208565b565b60006110ac612e66565b6110b4612e91565b6110be838361332d565b9392505050565b60006110cf61371b565b60006002607654610100900460ff1660038111156110ef576110ef615061565b148061111657506001607654610100900460ff16600381111561111457611114615061565b145b1561112257508161112f565b61112c8484613746565b90505b80607160008282546111419190615a97565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061117a90869086908590615aaa565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112295760405163c1d17bef60e01b815260048101849052602401610f8d565b6005600883015460ff16600681111561124457611244615061565b1461126557604051634b011ca960e11b815260048101849052602401610f8d565b60a0810151600d83015460009161127b91615acb565b42119050801581611296575081516001600160a01b03163314155b156112b457604051631777988560e11b815260040160405180910390fd5b80806112be575084155b156114075781608001516000036112e857604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113045760088301805460ff191660011790555b81608001516002036113915760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361135e938a939290911691600401615ade565b600060405180830381600087803b15801561137857600080fd5b505af115801561138c573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113d0938a939290911691600401615ade565b600060405180830381600087803b1580156113ea57600080fd5b505af11580156113fe573d6000803e3d6000fd5b505050506116e3565b846001036114c75760088301805460ff19166001179055607954600e84015460785460408051633629edcd60e11b815290516001600160a01b0394851694638969ab53948a9490821693911691636c53db9a916004808201926020929091908290030181865afa15801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a39190615afd565b86606001516040518563ffffffff1660e01b81526004016113d09493929190615b1a565b846002036116e35760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361151d938a939290911691600401615ade565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050607954600586015460785460408051633629edcd60e11b815290516001600160a01b039485169650638969ab5395508a949384169390921691636c53db9a916004808201926020929091908290030181865afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d59190615afd565b606f546000908152607f602052604090206002908101546115f69190615b55565b6040518563ffffffff1660e01b81526004016116159493929190615b1a565b600060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a9493841693909216916116919190615b55565b6040518563ffffffff1660e01b81526004016116b09493929190615b1a565b600060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006116fc83615b77565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161176a91815260200190565b60405180910390a3505050505050565b6074546000908490829061179f9061179990629896809060801b615b55565b8361394d565b905060806001607f1b607260020154629896806117bc9190615a97565b6117ca84600160801b615a97565b6117d76298968089615b9a565b6117e19190615b9a565b6117eb9190615b55565b6117f58885615b9a565b6117ff9190615acb565b6118099190615acb565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361185d5760405162461bcd60e51b8152600401610f8d90615bb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661188f6139f5565b6001600160a01b0316146118b55760405162461bcd60e51b8152600401610f8d90615beb565b6118be81613a11565b604080516000808252602082019092526118da91839190613a4c565b50565b600080610eb1565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361192d5760405162461bcd60e51b8152600401610f8d90615bb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661195f6139f5565b6001600160a01b0316146119855760405162461bcd60e51b8152600401610f8d90615beb565b61198e82613a11565b610ec982826001613a4c565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a355760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610f8d565b506000805160206165de83398151915290565b60008060695411611a6c5760405163ed4421ad60e01b815260040160405180910390fd5b611a7582613bb7565b15611a9357604051630efd728560e21b815260040160405180910390fd5b606954600090611aa784600160401b615b9a565b611ab19190615b55565b6072546298968090611ac790600160401b615b9a565b611ad19190615b55565b611adb9190615a97565b90506040611ae860715490565b607454611af89062989680615a97565b629896806040611b088680615b9a565b607354911c90611b1f90629896809060801b615b55565b611b299190615b55565b611b339190615b9a565b611b3d9190615b55565b611b479190615b9a565b607554911c92508211611b5c576075546110be565b50919050565b600054610100900460ff16611b895760405162461bcd60e51b8152600401610f8d90615c25565b611b92816124c0565b606580546001600160a01b0319166001600160a01b038516179055604051611bbe908390602001615a3a565b60408051601f198184030181529190528051602090910120606655505050565b611be661371b565b6118da81613208565b611bf7613bde565b6110a06000613c3d565b6000611c0b61371b565b611c1483613c8f565b611c3157604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611c5157611c51615061565b03611c5f57825b9050611cbc565b6001607654610100900460ff166003811115611c7d57611c7d615061565b03611c8c57611c588484613d1d565b6003607654610100900460ff166003811115611caa57611caa615061565b03611cbc57611cb98484613dc4565b90505b60785460405163011de97360e61b81526000916001600160a01b03169063477a5cc090611cef9088903090600401615c70565b602060405180830381865afa158015611d0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d309190615c8a565b90508015611d50578160716000828254611d4a9190615acb565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611d8393929190615aaa565b60405180910390a1509392505050565b33611d9d81613c8f565b611dba57604051630b72d6b160e31b815260040160405180910390fd5b607854604051630d4a8b4960e01b81526001600160a01b0390911690630d4a8b4990611dec9084903090600401615c70565b600060405180830381600087803b158015611e0657600080fd5b505af1158015611e1a573d6000803e3d6000fd5b5050607854604051637817ee4f60e01b81526001600160a01b039091169250637817ee4f9150611e509084903090600401615c70565b602060405180830381865afa158015611e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e919190615ca7565b60716000828254611ea29190615acb565b909155505050565b6000818152607b60205260408120600281015482908190611ecc908490613fc9565b91509150816000148015611ede575080155b15611eeb57826003015491505b6000611efa8460010154611a48565b9092101595945050505050565b607d6020528160005260406000208181548110611f2357600080fd5b90600052602060002001600091509150505481565b600080611f4d6033546001600160a01b031690565b9050806001600160a01b03163b600003611f6657919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611fc0575060408051601f3d908101601f19168201909252611fbd91810190615afd565b60015b610eb157919050565b607454600090611fdc9062989680615a97565b611fe96298968084615b9a565b610eb19190615b55565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461204890615a4d565b80601f016020809104026020016040519081016040528092919081815260200182805461207490615a4d565b80156120c15780601f10612096576101008083540402835291602001916120c1565b820191906000526020600020905b8154815290600101906020018083116120a457829003601f168201915b505050505081525050915050919050565b6120da612a49565b6120e381614021565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b61210d613bde565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916121d757604051636c291fd360e01b815260040160405180910390fd5b815488146121fb5760405163c1d17bef60e01b815260048101899052602401610f8d565b6001600883015460ff16600681111561221657612216615061565b14612237576040516344980d8f60e01b815260048101899052602401610f8d565b8060600151341015612263576060810151604051632c1f8ef160e21b8152610f8d913491600401615cd0565b600f82015415801590612286575042611c2083600f01546122849190615acb565b115b156122c4578742611c2084600f015461229f9190615acb565b6122a99190615a97565b604051638d2f6c3160e01b8152600401610f8d929190615cd0565b60008160600151346122d69190615a97565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a9190612311908d903390600401615cde565b6000604051808303818588803b15801561232a57600080fd5b505af115801561233e573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612379906003908b908b90600401615d1e565b60206040518083038185885af1158015612397573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123bc9190615ca7565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b03169161241d83615d41565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516124889796959493929190615d6f565b60405180910390a150505095945050505050565b6118da81614048565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166124e75760405162461bcd60e51b8152600401610f8d90615c25565b6118da81613c3d565b600080600080600080600080600080600080607b60008e815260200190815260200160002090508060010154600014612535576125308160010154611a48565b612538565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061260a60675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561263757612637615061565b14612658576040516344980d8f60e01b815260048101829052602401610f8d565b6000818152607b60205260409020600501546001600160a01b031633146126b1576000818152607b602052604090819020600501549051634544dc9160e11b8152610f8d916001600160a01b0316903390600401615c70565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361270e938793921691600401615ade565b600060405180830381600087803b15801561272857600080fd5b505af115801561273c573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b03851684526009019091528120546110be565b6127c7612e66565b6127d082614089565b606a54606c80546127f9926001600160a01b03169160006127f083615dbe565b919050556140d8565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561284f57600080fd5b505af1158015612863573d6000803e3d6000fd5b5050505060008180602001905181019061287d9190615ea2565b60a08101519091506001600160a01b03166128ab57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156128f0576128f0615061565b021790555060408101516076805461ff00191661010083600381111561291857612918615061565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815161295b9190612af1565b7fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b838260405161298c929190615f93565b60405180910390a1505050565b6129a1612e66565b6129a9612e91565b610ec98282614127565b6129bb613bde565b6001600160a01b0381166124e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f8d565b612a28612e66565b8060696000828254612a3a9190615acb565b909155506118da905081614216565b607860009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac09190615afd565b6001600160a01b0316336001600160a01b0316146110a057604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612b16575081516001600160a01b031615155b8015612bff5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612b725750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612b965750606f546000908152607f602052604090819020600201549083015114155b80612bb95750606f546000908152607f6020526040902060030154606083015114155b80612bdc5750606f546000908152607f6020526040902060040154608083015114155b80612bff5750606f546000908152607f602052604090206005015460a083015114155b15612e0e57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612c5957508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612d22578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612c9091600401615519565b600060405180830381600087803b158015612caa57600080fd5b505af1158015612cbe573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612d199350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612d3283615dbe565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612e5a908390616053565b60405180910390a15050565b6065546001600160a01b031633146110a05760405163075fd2b160e01b815260040160405180910390fd5b6068546000036110a057604051630f68fe6360e21b815260040160405180910390fd5b6000825111612ed657604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612eec9190615ca7565b905080600003612f0f5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff166002811115612f3657612f36615061565b036131b75780548214612f5f5760405163c1d17bef60e01b815260048101839052602401610f8d565b60695481600101541115612f9257818160010154606954604051632c31d85b60e11b8152600401610f8d93929190616061565b6001600882015460ff166006811115612fad57612fad615061565b14612fce576040516344980d8f60e01b815260048101839052602401610f8d565b6000612fd98361104d565b90506000612fea8360010154611a48565b90508082108015612fff575060008360010154115b1561301d5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561306b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130939190810190616104565b90508360010154606960008282546130ab9190615a97565b90915550506040810151600485015460018601546130d392916001600160a01b031690614246565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613133948c94911692909101615ade565b600060405180830381600087803b15801561314d57600080fd5b505af1158015613161573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506131ab9289926001600160a01b0390911691615ade565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806131da8484613fc9565b915091508160001480156131ec575080155b156131f75750505050565b600784015560039092019190915550565b607854604051637817ee4f60e01b81526001600160a01b0390911690637817ee4f9061323a9084903090600401615c70565b602060405180830381865afa158015613257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061327b9190615ca7565b6071600082825461328c9190615a97565b90915550506078546040516322bcf99960e01b81526001600160a01b03909116906322bcf999906132c39084903090600401615c70565b600060405180830381600087803b1580156132dd57600080fd5b505af11580156132f1573d6000803e3d6000fd5b505050506132fe81614280565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516127899190615519565b600061333882613c8f565b61335557604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061336b91906161b7565b80519091506000036133905760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156133a9576133a9615061565b0361352a576133bb8160200151614021565b60608101516001600160a01b03166133e65760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061344a9190615afd565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa158015613498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134c09190810190616104565b905080604001516001600160a01b031683606001516001600160a01b0316146134fc5760405163514e24c360e11b815260040160405180910390fd5b6135098360400151613bb7565b1561352757604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906135665750606f546000908152607f602052604090206002015434105b1561359c57606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152610f8d913491600401615cd0565b6000606e600081546135ad90615dbe565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061366190826162ab565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926136a59288921690600401615cde565b6000604051808303818588803b1580156136be57600080fd5b505af11580156136d2573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b6068548360405161370a929190615cd0565b60405180910390a150949350505050565b6078546001600160a01b031633146110a0576040516357848b5160e11b815260040160405180910390fd5b607854604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015613796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ba9190615afd565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613813575060408051601f3d908101601f191682019092526138109181019061636a565b60015b1561381e5760ff1690505b6078546040516316308e2560e11b815260009185916001600160a01b0390911690632c611c4a90613853908990600401615519565b602060405180830381865afa158015613870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138949190615ca7565b61389e9190615a97565b905060006138bf6138b084600a616471565b6138ba9084615b9a565b6143e1565b607854604051637817ee4f60e01b815291925060009183916001600160a01b031690637817ee4f906138f7908b903090600401615c70565b602060405180830381865afa158015613914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139389190615ca7565b6139429190615a97565b979650505050505050565b6000600160801b83106139a15760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f8d565b50600160801b82825b80156139ed57806001166000036139cf576139c582836144c9565b915060011c6139aa565b6139d983836144c9565b92506139e6600182615a97565b90506139aa565b505092915050565b6000805160206165de833981519152546001600160a01b031690565b33613a1a611f38565b6001600160a01b0316146118da5733613a31611f38565b60405163163678e960e01b8152600401610f8d929190615c70565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613a7f57610ee8836145a6565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613ad9575060408051601f3d908101601f19168201909252613ad691810190615ca7565b60015b613b3c5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610f8d565b6000805160206165de8339815191528114613bab5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610f8d565b50610ee8838383614640565b6000613bc66298968083615b9a565b606954607254613bd69190615b9a565b111592915050565b33613be7611f38565b6001600160a01b0316146110a05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f8d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b607a546000906001600160a01b0316613caa57506001919050565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a090613cdc9085903090600401615c70565b602060405180830381865afa158015613cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190615c8a565b607854604051637817ee4f60e01b8152600091839183916001600160a01b031690637817ee4f90613d549088903090600401615c70565b602060405180830381865afa158015613d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d959190615ca7565b607754909150613da58383615acb565b1115613dbc57607754613db9908290615a97565b91505b509392505050565b6078546040516316308e2560e11b8152600091829184916001600160a01b031690632c611c4a90613df9908890600401615519565b602060405180830381865afa158015613e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3a9190615ca7565b613e449190615acb565b607854604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb89190615afd565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613f11575060408051601f3d908101601f19168201909252613f0e9181019061636a565b60015b15613f1c5760ff1690505b6000613f36613f2c83600a616471565b6138ba9085615b9a565b607854604051637817ee4f60e01b81529192506000916001600160a01b0390911690637817ee4f90613f6e908a903090600401615c70565b602060405180830381865afa158015613f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613faf9190615ca7565b90506000613fbd8284615a97565b98975050505050505050565b6000804390508084600701541115613fe357613fe361647d565b80846007015403613ff95750600090508061401a565b61401784600701548261400c9190615a97565b85600301548561177a565b91505b9250929050565b6001600160a01b0381166118da576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612789565b614091612e66565b606854156140b25760405163439a74c960e01b815260040160405180910390fd5b806000036140d357604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b16602082015260348101829052600090819060540160405160208183030381529060405280519060200120905061411f8482614665565b949350505050565b614130816146fc565b61413981613c8f565b61415657604051630b72d6b160e31b815260040160405180910390fd5b60785460405163011de97360e61b81526000916001600160a01b03169063477a5cc0906141899085903090600401615c70565b602060405180830381865afa1580156141a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ca9190615c8a565b9050806141ea57604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906142009190616493565b905061420c83826147da565b611047838261496e565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612789565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161427557610ee88282614d46565b610ee8838383614d62565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156142e057602002820191906000526020600020905b8154815260200190600101908083116142cc575b5050505050905060005b8151811015610ee85760008282815181106143075761430761653d565b602002602001015190506000607b6000838152602001908152602001600020905061433182614da8565b156143cc576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261436b908490615a97565b9250508190555080607060008282546143849190615a97565b90915550614394905082826131cd565b6000805160206165fe83398151915286846000856002015486600301546040516143c2959493929190616553565b60405180910390a1505b505080806143d990615dbe565b9150506142ea565b6000816000036143f357506000919050565b6000600161440084614de1565b901c6001901b9050600181848161441957614419615b3f565b048201901c9050600181848161443157614431615b3f565b048201901c9050600181848161444957614449615b3f565b048201901c9050600181848161446157614461615b3f565b048201901c9050600181848161447957614479615b3f565b048201901c9050600181848161449157614491615b3f565b048201901c905060018184816144a9576144a9615b3f565b048201901c90506110be818285816144c3576144c3615b3f565b04614e75565b6000600160801b8311156145305760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f8d565b600160801b82106145825760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f8d565b60806001607f1b6145938486615b9a565b61459d9190615acb565b901c9392505050565b6145af816131be565b6146115760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610f8d565b6000805160206165de83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61464983614e8b565b6000825111806146565750805b15610ee8576110478383614ecb565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610eb15760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610f8d565b6001600160a01b03811661472357604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b031661474c57604051635df4b1ef60e01b815260040160405180910390fd5b60785460405163288c314960e21b81526001600160a01b039091169063a230c5249061477c908490600401615519565b602060405180830381865afa158015614799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bd9190615c8a565b6118da57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b8251811015614897578281815181106147f9576147f961653d565b602002602001015160000151600003156148855760008382815181106148215761482161653d565b602002602001015160000151905061483881614da8565b6148585760405163c1d17bef60e01b815260048101829052602401610f8d565b83828151811061486a5761486a61653d565b602002602001015160200151836148819190616581565b9250505b8061488f81615dbe565b9150506147de565b5060006148ac6148a6856124a5565b83614ef0565b607854604051637817ee4f60e01b81529192506000916001600160a01b0390911690637817ee4f906148e49088903090600401615c70565b602060405180830381865afa158015614901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149259190615ca7565b90508082111561494c578181604051636b20c17f60e11b8152600401610f8d929190615cd0565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110475760008382815181106149905761499061653d565b602002602001015160000151905082516000036149ec57604080516001808252818301909252906020808301908036833701905050925080836000815181106149db576149db61653d565b602002602001018181525050614b1f565b6000805b8451811015614a4c5782858281518110614a0c57614a0c61653d565b602002602001015103614a3a57600191508281604051632b7aec5560e21b8152600401610f8d929190615cd0565b80614a4481615dbe565b9150506149f0565b5080614b1d57600084516001614a629190615acb565b6001600160401b03811115614a7957614a796151c2565b604051908082528060200260200182016040528015614aa2578160200160208202803683370190505b50905060005b8551811015614afa57858181518110614ac357614ac361653d565b6020026020010151828281518110614add57614add61653d565b602090810291909101015280614af281615dbe565b915050614aa8565b508281865181518110614b0f57614b0f61653d565b602090810291909101015293505b505b6000848381518110614b3357614b3361653d565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b16835260098101909452812054919350614b738285614ef0565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d6020526040902054811015614c0c5784546001600160a01b038c166000908152607d60205260409020805483908110614be157614be161653d565b906000526020600020015403614bfa5760019150614c0c565b80614c0481615dbe565b915050614b95565b5080614c42576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311614c9257614c538383615a97565b60706000828254614c649190615acb565b90915550614c7490508383615a97565b846002016000828254614c879190615acb565b90915550614cd69050565b614c9c8284615a97565b60706000828254614cad9190615a97565b90915550614cbd90508284615a97565b846002016000828254614cd09190615a97565b90915550505b8360070154600003614ced57436007850155614d2d565b614cf784846131cd565b6000805160206165fe8339815191528a878487600201548860030154604051614d24959493929190616553565b60405180910390a15b5050505050508080614d3e90615dbe565b915050614973565b60008060008084865af1610ec95763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716614d9e576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610eb15750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c15614df657608092831c92015b604083901c15614e0857604092831c92015b602083901c15614e1a57602092831c92015b601083901c15614e2c57601092831c92015b600883901c15614e3e57600892831c92015b600483901c15614e5057600492831c92015b600283901c15614e6257600292831c92015b600183901c15610eb15760010192915050565b6000818310614e8457816110be565b5090919050565b614e94816145a6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110be838360405180606001604052806027815260200161661e60279139614f27565b600080614efd8385616581565b905060008112156110be57838382604051631dde38a160e11b8152600401610f8d93929190616061565b6060600080856001600160a01b031685604051614f4491906165a1565b600060405180830381855af49150503d8060008114614f7f576040519150601f19603f3d011682016040523d82523d6000602084013e614f84565b606091505b5091509150614f9586838387614f9f565b9695505050505050565b6060831561500c57825160000361500557614fb9856131be565b6150055760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f8d565b508161411f565b61411f83838151156150215781518083602001fd5b8060405162461bcd60e51b8152600401610f8d9190615a3a565b60006020828403121561504d57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b600781106118da576118da615061565b60005b838110156150a257818101518382015260200161508a565b50506000910152565b600081518084526150c3816020860160208601615087565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015261411f60408501826150ab565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e085015261513e89615077565b8861010085015281610120850152615158828501896150d7565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b6000602082840312156151aa57600080fd5b81356001600160e01b0319811681146110be57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156151fa576151fa6151c2565b60405290565b60405160c081016001600160401b03811182821017156151fa576151fa6151c2565b60405160e081016001600160401b03811182821017156151fa576151fa6151c2565b604080519081016001600160401b03811182821017156151fa576151fa6151c2565b60405160a081016001600160401b03811182821017156151fa576151fa6151c2565b604051601f8201601f191681016001600160401b03811182821017156152b0576152b06151c2565b604052919050565b6001600160a01b03811681146118da57600080fd5b6000808284036101408112156152e257600080fd5b60c08112156152f057600080fd5b6152f8615200565b8435615303816152b8565b81526020850135615313816152b8565b602082015260408581013590820152606080860135908201526080808601358183015260a0808701359083015290935060bf198201121561535357600080fd5b5061535c6151d8565b60c0840135815260e0840135602082015261010084013560408201526101209093013560608401525092909150565b60006001600160401b038211156153a4576153a46151c2565b5060051b60200190565b600082601f8301126153bf57600080fd5b813560206153d46153cf8361538b565b615288565b82815260059290921b840181019181810190868411156153f357600080fd5b8286015b8481101561541757803561540a816152b8565b83529183019183016153f7565b509695505050505050565b60006001600160401b0382111561543b5761543b6151c2565b50601f01601f191660200190565b60006154576153cf84615422565b905082815283838301111561546b57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261549357600080fd5b6110be83833560208501615449565b6000806000606084860312156154b757600080fd5b83356001600160401b03808211156154ce57600080fd5b6154da878388016153ae565b945060208601359150808211156154f057600080fd5b506154fd86828701615482565b925050604084013561550e816152b8565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060006060848603121561554257600080fd5b833561554d816152b8565b9250602084013561555d816152b8565b9150604084013561550e816152b8565b6000806040838503121561558057600080fd5b82356001600160401b0381111561559657600080fd5b6155a285828601615482565b92505060208301356155b3816152b8565b809150509250929050565b600481106155ce576155ce615061565b9052565b60208101610eb182846155be565b600080604083850312156155f357600080fd5b82356155fe816152b8565b946020939093013593505050565b6000806040838503121561561f57600080fd5b50508035926020909101359150565b60008060006060848603121561564357600080fd5b505081359360208301359350604090920135919050565b600381106155ce576155ce615061565b60208101610eb1828461565a565b60006020828403121561568a57600080fd5b81356110be816152b8565b600080604083850312156156a857600080fd5b82356156b3816152b8565b915060208301356001600160401b038111156156ce57600080fd5b6156da85828601615482565b9150509250929050565b6000806000606084860312156156f957600080fd5b8335615704816152b8565b925060208401356001600160401b0381111561571f57600080fd5b8401601f8101861361573057600080fd5b6154fd86823560208401615449565b6020815260006110be60208301846150d7565b6000806040838503121561576557600080fd5b82356001600160401b038082111561577c57600080fd5b615788868387016153ae565b935060209150818501358181111561579f57600080fd5b8501601f810187136157b057600080fd5b80356157be6153cf8261538b565b81815260059190911b820184019084810190898311156157dd57600080fd5b8584015b83811015615815578035868111156157f95760008081fd5b6158078c8983890101615482565b8452509186019186016157e1565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561587157815180516001600160a01b03168552860151868501529284019290850190600101615843565b5091979650505050505050565b60008083601f84011261589057600080fd5b5081356001600160401b038111156158a757600080fd5b60208301915083602082850101111561401a57600080fd5b6000806000806000606086880312156158d757600080fd5b8535945060208601356001600160401b03808211156158f557600080fd5b61590189838a0161587e565b9096509450604088013591508082111561591a57600080fd5b506159278882890161587e565b969995985093965092949392505050565b80151581146118da57600080fd5b60006020828403121561595857600080fd5b81356110be81615938565b6001600160a01b038c811682528b811660208301528a1660408201526060810189905260808101889052610160810161599b88615077565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b600080604083850312156159e557600080fd5b8235915060208301356155b3816152b8565b60208101615a0483615077565b91905290565b60008060408385031215615a1d57600080fd5b8235915060208301356001600160401b038111156156ce57600080fd5b6020815260006110be60208301846150ab565b600181811c90821680615a6157607f821691505b602082108103611b5c57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610eb157610eb1615a81565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610eb157610eb1615a81565b9283526001600160a01b03919091166020830152604082015260600190565b600060208284031215615b0f57600080fd5b81516110be816152b8565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082615b7257634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b03821680615b9057615b90615a81565b6000190192915050565b8082028115828204841417610eb157610eb1615a81565b6020808252602c908201526000805160206165be83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206165be83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b600060208284031215615c9c57600080fd5b81516110be81615938565b600060208284031215615cb957600080fd5b5051919050565b8051615ccb816152b8565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b838152604060208201526000615d38604083018486615cf5565b95945050505050565b60006001600160401b038281166002600160401b03198101615d6557615d65615a81565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090615daa9083018587615cf5565b90508260a083015298975050505050505050565b600060018201615dd057615dd0615a81565b5060010190565b805160038110615ccb57600080fd5b805160048110615ccb57600080fd5b600060208284031215615e0757600080fd5b604051602081016001600160401b0381118282101715615e2957615e296151c2565b6040529151825250919050565b600060c08284031215615e4857600080fd5b615e50615200565b90508151615e5d816152b8565b81526020820151615e6d816152b8565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036101e0811215615eb657600080fd5b615ebe615222565b6080821215615ecc57600080fd5b615ed46151d8565b915083518252602084015160208301526040840151604083015260608401516060830152818152615f0760808501615dd7565b6020820152615f1860a08501615de6565b6040820152615f2a8560c08601615df5565b6060820152615f3c8560e08601615e36565b6080820152615f4e6101a08501615cc0565b60a0820152615f606101c08501615cc0565b60c0820152949350505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600061020082019050838252615fad602083018451615f6d565b6020830151615fbf60a084018261565a565b506040830151615fd260c08401826155be565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a084015283015161603f6101c0840182615054565b5060c0830151613dbc6101e0840182615054565b60808101610eb18284615f6d565b9283526020830191909152604082015260600190565b60006040828403121561608957600080fd5b616091615244565b8251815260208301519091506001600160401b038111156160b157600080fd5b8201601f810184136160c257600080fd5b80516160d06153cf82615422565b8181528560208385010111156160e557600080fd5b6160f6826020830160208601615087565b602084015250909392505050565b60006020828403121561611657600080fd5b81516001600160401b038082111561612d57600080fd5b9083019060c0828603121561614157600080fd5b616149615200565b82518152602083015161615b816152b8565b6020820152604083015161616e816152b8565b604082015260608301518281111561618557600080fd5b61619187828601616077565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156161c957600080fd5b81516001600160401b03808211156161e057600080fd5b9083019060a082860312156161f457600080fd5b6161fc615266565b82518152602083015161620e816152b8565b602082015260408381015190820152606083015161622b816152b8565b606082015260808301518281111561624257600080fd5b61624e87828601616077565b60808301525095945050505050565b601f821115610ee857600081815260208120601f850160051c810160208610156162845750805b601f850160051c820191505b818110156162a357828155600101616290565b505050505050565b81516001600160401b038111156162c4576162c46151c2565b6162d8816162d28454615a4d565b8461625d565b602080601f83116001811461630d57600084156162f55750858301515b600019600386901b1c1916600185901b1785556162a3565b600085815260208120601f198616915b8281101561633c5788860151825594840194600190910190840161631d565b508582101561635a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561637c57600080fd5b815160ff811681146110be57600080fd5b600181815b808511156163c85781600019048211156163ae576163ae615a81565b808516156163bb57918102915b93841c9390800290616392565b509250929050565b6000826163df57506001610eb1565b816163ec57506000610eb1565b8160018114616402576002811461640c57616428565b6001915050610eb1565b60ff84111561641d5761641d615a81565b50506001821b610eb1565b5060208310610133831016604e8410600b841016171561644b575081810a610eb1565b616455838361638d565b806000190482111561646957616469615a81565b029392505050565b60006110be83836163d0565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156164a657600080fd5b82516001600160401b038111156164bc57600080fd5b8301601f810185136164cd57600080fd5b80516164db6153cf8261538b565b81815260069190911b820183019083810190878311156164fa57600080fd5b928401925b8284101561394257604084890312156165185760008081fd5b616520615244565b8451815285850151868201528252604090930192908401906164ff565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b80820182811260008312801582168215821617156139ed576139ed615a81565b600082516165b3818460208701615087565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122091895ede64bc5239687d796624eea2caff3ec47d6cc1571b7ce1d7e767facf5464736f6c6343000813003360a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122039ff772d87b25e9afa50cfc125b6f5f8b542aeb23868644834e3119a8946075664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da2646970667358221220af746d4d8dbcbf99fa35749aa30ac6f329bc568b49316f31e46fc01c2c4642da64736f6c63430008130033608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631688f0b9146100675780632500510e1461017657806353e5d9351461024357806361b69abd146102c6578063addacc0f146103cb578063d18af54d1461044e575b600080fd5b61014a6004803603606081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100ba57600080fd5b8201836020820111156100cc57600080fd5b803590602001918460018302840111640100000000831117156100ee57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061057d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102176004803603606081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460018302840111640100000000831117156101fd57600080fd5b909192939192939080359060200190929190505050610624565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024b610751565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039f600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184600183028401116401000000008311171561034d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061077c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d3610861565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104135780820151818401526020810190506103f8565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105516004803603608081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061058a848484610a3b565b90506000835111156105b25760008060008551602087016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a19392505050565b60006106758585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610a3b565b905080604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60606040518060200161076390610bde565b6020820181038252601f19601f82011660405250905090565b60008260405161078b90610bde565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156107c7573d6000803e3d6000fd5b5090506000825111156107f05760008060008451602086016000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a192915050565b60606040518060200161087390610beb565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060001c90506108e786868361057d565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a32578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156109ca5780820151818401526020810190506109af565b50505050905090810190601f1680156109f75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600060405180602001610a8890610bde565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b60208310610ae95780518252602082019150602081019050602083039250610ac6565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f437265617465322063616c6c206661696c65640000000000000000000000000081525060200191505060405180910390fd5b50509392505050565b6101e680610bf883390190565b60ab80610dde8339019056fe608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d608060405234801561001057600080fd5b5060016004819055506159ae80620000296000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212203d5b27a720bf0f8c10385e3e16b76aa984a698ef4df45d59ec8fe2dad565129864736f6c63430008130033","sourceMap":"342:2390:108:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:16;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;59688:179:137;;;;;;:::i;:::-;;:::i;:::-;;2429:119:16;;;:::i;718:28:137:-;;;;;-1:-1:-1;;;;;718:28:137;;;4045:101:16;;;:::i;56023:1145:137:-;;;;;;:::i;:::-;;:::i;1829:38:100:-;;;;;;;;;3144:25:139;;;3132:2;3117:18;1829:38:100;2998:177:139;226:92:16;306:4;226:92;;905:138;968:7;905:138;;889:167:137;;;;;;:::i;:::-;;:::i;3126:109:16:-;;;:::i;644:38:137:-;;681:1;644:38;;2554:113:16;;;:::i;2452:134:27:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;806:43:130:-;;841:8;806:43;;2384:71:100;;;;;-1:-1:-1;;;;;2384:71:100;;;2340:37;;;:::i;:::-;;;;;;;:::i;1204:437:130:-;;;;;;:::i;:::-;;:::i;2251:32:100:-;;;;;;668:109:130;;;:::i;:::-;;;;;;;;:::i;3221:133:27:-;;;:::i;855:50:130:-;;898:7;855:50;;2922:141:27;;;:::i;9170:46249:137:-;;;:::i;1331:118:16:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;828:25:137:-;;;;;;426:2304:108;;;;;;:::i;:::-;;:::i;1874:66:100:-;;;;;-1:-1:-1;;;;;1874:66:100;;;4152:99:16;;;:::i;2738:178:27:-;;;:::i;:::-;;;;;;;:::i;1876:107:16:-;;;:::i;689:23:137:-;;;;;;;;-1:-1:-1;;;;;689:23:137;;;59529:153;;;;;;:::i;:::-;;:::i;2792:241:16:-;;;:::i;4376:105::-;;;:::i;788:34:137:-;;;;;;1989:232:16;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;2061:33:100:-;;;;;-1:-1:-1;;;;;2061:33:100;;;1946:20;;;;;-1:-1:-1;;;;;1946:20:100;;;2592:140:27;;;:::i;:::-;;;;;;;:::i;4345:638:130:-;;;;;;:::i;:::-;;:::i;2213:31:100:-;;;;;-1:-1:-1;;;;;2213:31:100;;;753:29:137;;;;;-1:-1:-1;;;;;753:29:137;;;2653:103:100;;;:::i;3485:113:16:-;;;:::i;3069:146:27:-;;;:::i;3913:12489:100:-;;;;;;:::i;:::-;;:::i;2000:27::-;;;;;-1:-1:-1;;;;;2000:27:100;;;4412:75:9;;4445:42;4412:75;;3604:241:16;;;:::i;3938:101::-;;;:::i;2157:141:27:-;;;:::i;1243:204:23:-;;;:::i;:::-;;;14079:14:139;;14072:22;14054:41;;14042:2;14027:18;1243:204:23;13914:187:139;1170:7994:137;;;:::i;3681:151:100:-;;;:::i;59873:493:137:-;;;;;;:::i;:::-;;:::i;1647:1157:130:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;555:83:137:-;;596:42;555:83;;1644:113:16;;;:::i;2314:109::-;;;:::i;468:81:137:-;;507:42;468:81;;4571:105:16;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;57174:1547:137:-;;;:::i;2810:1529:130:-;;;;;;:::i;:::-;;:::i;2304:142:27:-;;;:::i;5837:380:130:-;;;;;;:::i;:::-;;:::i;3241:119:16:-;;;:::i;2290:44:100:-;;;:::i;55425:396:137:-;;;;;;:::i;:::-;;:::i;800:28:22:-;;;;;;;;;1016:26:34;;;;;;;;;;;;1763:107:16;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:16;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;59688:179:137:-;59803:57;59814:12;59828:16;59846:3;59851:5;59858:1;59803:10;:57::i;:::-;59688:179;;;;:::o;2429:119:16:-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:16;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:16;;;:8;:22::i;56023:1145:137:-;56255:16;;56122:4;;-1:-1:-1;;;;;56255:16:137;56243:886;;-1:-1:-1;;;;;56306:49:137;;56302:481;;56375:31;56417:13;:11;:13::i;:::-;56375:56;;56532:25;:23;:25::i;:::-;56616:88;;-1:-1:-1;;;56616:88:137;;-1:-1:-1;;;;;21153:32:139;;;56616:88:137;;;21135:51:139;21222:2;21202:18;;;21195:30;56575:10:137;21241:18:139;;;21234:29;;;681:1:137;21315:18:139;;;21308:34;56512:45:137;;-1:-1:-1;56616:38:137;;;;;21280:19:139;;56616:88:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;56723:16;:45;;-1:-1:-1;;;;;;56723:45:137;-1:-1:-1;;;;;56723:45:137;;;;;;;;;;-1:-1:-1;;56302:481:137;56814:16;;56797:54;;;-1:-1:-1;;;56797:54:137;;-1:-1:-1;;;;;56814:16:137;;;56797:54;;;21828:51:139;21895:18;;;21888:30;21954:2;21934:18;;;21927:30;-1:-1:-1;;;21973:18:139;;;21966:45;-1:-1:-1;;;;;;;;;;;56797:8:137;;;22028:19:139;;56797:54:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;56865:45:137;;;-1:-1:-1;;;56865:45:137;;-1:-1:-1;;;;;22288:32:139;;56865:45:137;;;22270:51:139;22337:18;;;22330:30;;;;22396:2;22376:18;;;22369:30;-1:-1:-1;;;22415:18:139;;;22408:46;-1:-1:-1;;;;;;;;;;;56865:8:137;-1:-1:-1;56865:8:137;;-1:-1:-1;22471:19:139;;56865:45:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;56924:23:137;;-1:-1:-1;56964:1:137;;-1:-1:-1;56950:16:137;;-1:-1:-1;56950:16:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;56950:16:137;;56924:42;;57000:6;56980;56987:1;56980:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;56980:27:137;;;:9;;;;;;;;;:27;57021:16;;:97;;-1:-1:-1;;;57021:97:137;;:16;;;:22;;:97;;57044:6;;57021:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56288:841;56243:886;-1:-1:-1;57145:16:137;;-1:-1:-1;;;;;57145:16:137;56023:1145;;;;;:::o;889:167::-;952:4;975:74;997:6;1022:25;:23;:25::i;3126:109:16:-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:16;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:16;;;:8;:28::i;2452:134:27:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:27;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;2340:37:100:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1204:437:130:-;1376:16;;1349:7;;1372:230;;1502:48;;;;;;;;1522:1;1502:48;;;;;;;;;;;;-1:-1:-1;;;1502:48:130;;;;;;;;;;;1441:150;;-1:-1:-1;;;1441:150:130;;-1:-1:-1;;;;;1441:22:130;;;;;:150;;1481:1;;1552:10;;1564:13;;1441:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1422:16;:169;1372:230;-1:-1:-1;1618:16:130;;1204:437;;;;;:::o;668:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:27:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:27;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:27;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;9170:46249:137:-;9209:4;9229:34;596:42;9229:18;:34::i;:::-;9225:92;;;-1:-1:-1;596:42:137;;9170:46249::o;9225:92::-;9351:46051;;;;;;;;;;;;;;;;;;:16;:46051::i;1331:118:16:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:16;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:16;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:16;;;:8;:28::i;426:2304:108:-;506:30;547:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;506:69;;585:30;626:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;585:62;;695:28;726:67;750:42;;;;;;;;;;;;;;-1:-1:-1;;;750:42:108;;;:13;:42::i;:::-;726:11;;:23;:67::i;:::-;695:98;;803:35;877:20;803:97;;1103:15;-1:-1:-1;;;;;1103:25:108;;1137;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1103:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1208:68:108;;-1:-1:-1;;;1208:68:108;;-1:-1:-1;;;;;1208:44:108;;;-1:-1:-1;1208:44:108;;-1:-1:-1;1208:68:108;;1253:22;;1208:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1286:59:108;;-1:-1:-1;;;1286:59:108;;-1:-1:-1;;;;;1286:35:108;;;-1:-1:-1;1286:35:108;;-1:-1:-1;1286:59:108;;1322:22;;1286:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1397:41;1453:76;1482:46;;;;;;;;;;;;;;;;;;:13;:46::i;:::-;1453:11;;:28;:76::i;:::-;1397:132;;1544:9;1539:637;1563:24;:31;1559:1;:35;1539:637;;;1615:39;1711:24;1736:1;1711:27;;;;;;;;:::i;:::-;;;;;;;1615:126;;2005:17;-1:-1:-1;;;;;2005:27:108;;2033:22;2005:51;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2104:61:108;;-1:-1:-1;;;2104:61:108;;-1:-1:-1;;;;;2104:37:108;;;-1:-1:-1;2104:37:108;;-1:-1:-1;2104:61:108;;2142:22;;2104:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1601:575;1596:3;;;;;:::i;:::-;;;;1539:637;;;;2220:34;2257:69;2286:39;;;;;;;;;;;;;;-1:-1:-1;;;2286:39:108;;;:13;:39::i;:::-;2257:11;;:28;:69::i;:::-;2220:106;;2341:9;2336:388;2360:17;:24;2356:1;:28;2336:388;;;2622:17;2640:1;2622:20;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;2591:64:108;;2656:22;2591:88;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2386:3;;;;;:::i;:::-;;;;2336:388;;;;496:2234;;;;;;426:2304;:::o;4152:99:16:-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:16;;;:8;:21::i;2738:178:27:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:16;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:16;;;:8;:25::i;59529:153:137:-;59626:11;;59639:15;;59615:60;;59626:11;;;-1:-1:-1;;;;;59626:11:137;;59656:3;59661:5;59668:6;59615:10;:60::i;:::-;59529:153;;;:::o;2792:241:16:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:16;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:16;;;-1:-1:-1;;;;;2926:32:16;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:16;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:16:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:16;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:16;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:16;;;-1:-1:-1;;;;;2120:29:16;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:16;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:16;;;:8;:22::i;2592:140:27:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4345:638:130;4681:14;4714:262;4738:4;4756:8;4778:17;4809:8;4831:5;4850:12;4876:11;4901:35;;;;;;;;4934:1;4901:35;;;4950:16;4714:10;:262::i;:::-;4707:269;4345:638;-1:-1:-1;;;;;;;;;4345:638:130:o;2653:103:100:-;2742:6;;-1:-1:-1;;;;;2742:6:100;;2653:103::o;3485:113:16:-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:16;;;:8;:28::i;3069:146:27:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3913:12489:100;-1:-1:-1;;;;;;;;;;;3974:17:100;3992:12;:10;:12::i;:::-;3974:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4026:7;4020:21;4045:1;4020:26;4016:82;;4062:15;:25;4080:7;4062:15;:25;:::i;:::-;;4016:82;4108:18;4129:16;:14;:16::i;:::-;4108:37;;4156:15;4174:40;4188:25;;;;;;;;;;;;;;-1:-1:-1;;;4188:25:100;;;:13;:25::i;:::-;4174:4;;:13;:40::i;:::-;4156:58;;4224:18;4245:39;4261:22;;;;;;;;;;;;;;-1:-1:-1;;;4261:22:100;;;:13;:22::i;:::-;4245:4;;:15;:39::i;:::-;4224:60;;4303:47;4320:29;;;;;;;;;;;;;;-1:-1:-1;;;4320:29:100;;;:13;:29::i;:::-;4303:4;;:16;:47::i;:::-;4294:6;:56;;-1:-1:-1;;;;;;4294:56:100;-1:-1:-1;;;;;4294:56:100;;;;;;;;;;4361:30;;;;;;;;;;;;-1:-1:-1;;;4361:30:100;;;;;;4386:4;4361:12;:30::i;:::-;4401:34;;;;;;;;;;;;-1:-1:-1;;;4401:34:100;;;;4428:6;;4401:34;;;-1:-1:-1;;;;;4428:6:100;4401:12;:34::i;:::-;4445:37;;;;;;;;;;;;;;-1:-1:-1;;;4445:37:100;;;4474:7;4445:12;:37::i;:::-;4493:23;4511:4;4493:17;:23::i;:::-;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;16377:16:100;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:16;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:16;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:16;;;-1:-1:-1;;;;;3738:32:16;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:16;;;:8;:22::i;2157:141:27:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:23;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:23;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:23;;-1:-1:-1;;;;;;;;;;;1377:39:23;;;27918:51:139;;;-1:-1:-1;;;27985:18:139;;;27978:34;1428:1:23;;1377:7;;27891:18:139;;1377:39:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1170:7994:137:-;1221:16;1253:32;507:42;1253:18;:32::i;:::-;1249:100;;;-1:-1:-1;507:42:137;;1170:7994::o;1249:100::-;1482:7665;;;;;;;;;;;;;;;;;;:16;:7665::i;3681:151:100:-;3785:22;;;;;;;;;:17;:22;;3817:8;3785:22;3817:3;:8::i;:::-;3711:121;3681:151::o;59873:493:137:-;60016:17;60064:56;60077:3;60082:5;60089:12;60103:16;60064:12;:56::i;:::-;60057:63;;60140:219;60164:12;-1:-1:-1;;;;;60164:28:137;;60210:3;60215:6;60223:5;60230:19;60251:1;60254;60257;60268;60288;60293:4;60164:147;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;60140:219;;;;;;;;;;;;;-1:-1:-1;;;60140:219:137;;;:10;:219::i;:::-;60006:360;59873:493;;;;;:::o;1647:1157:130:-;1952:45;;:::i;:::-;2084:30;2098:15;2084:13;:30::i;:::-;2060:15;;:21;;:54;2168:24;2182:9;2168:13;:24::i;:::-;2141:15;;:51;2246:26;2260:11;2246:13;:26::i;:::-;2221:15;;:22;;;;:51;;;;2303:15;;2340:9;2303:34;;;;:46;-1:-1:-1;;;;;2366:44:130;;:24;;;:44;2420:19;;2442:12;2420:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2464:18:130;;;2485:11;2464:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2511:21:130;;;:26;2507:197;;2679:14;841:8;2679:3;:14;:::i;:::-;2655:38;;2507:197;2713:18;;;:32;;;;2755:23;;;:42;2713:6;1647:1157;-1:-1:-1;;;1647:1157:130:o;1644:113:16:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:16;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:16;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:16;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:16;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:16;;;:8;:26::i;57174:1547:137:-;57360:15;;57352:24;;-1:-1:-1;;;;;;57352:24:137;;57214:4;;-1:-1:-1;;;;;;;;;;;57352:7:137;;;:24;;;;3144:25:139;;;3132:2;3117:18;;2998:177;57352:24:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57335:14;:41;;-1:-1:-1;;;;;;57335:41:137;-1:-1:-1;;;;;57335:41:137;;;;;;;;;57386:42;;;-1:-1:-1;;;57386:42:137;;;;;29952:51:139;;;;30019:18;;;30012:30;30078:2;30058:18;;;30051:30;-1:-1:-1;;;30097:18:139;;;30090:44;-1:-1:-1;;;;;;;;;;;57386:8:137;;;30151:19:139;;57386:42:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;57451:11:137;;;;;-1:-1:-1;;;;;57451:11:137;;-1:-1:-1;57439:1248:137;;-1:-1:-1;57439:1248:137;57493:20;57516:25;:23;:25::i;:::-;57493:48;;57581:13;:11;:13::i;:::-;57556:14;:39;;-1:-1:-1;;;;;;57556:39:137;-1:-1:-1;;;;;57556:39:137;;;;;;57609:42;;;-1:-1:-1;;;57609:42:137;;30411:32:139;;;57609:42:137;;;30393:51:139;30460:18;;;30453:30;30519:2;30499:18;;;30492:30;-1:-1:-1;;;30538:18:139;;;30531:46;-1:-1:-1;;;;;;;;;;;57609:8:137;;;30594:19:139;;57609:42:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;57860:14:137;;57877;;;;;;;;57860;57877;;57806:10;57877:14;;;;;;57827:77;;-1:-1:-1;;;57827:77:137;;57806:10;;-1:-1:-1;;;;;;57827:24:137;;;;-1:-1:-1;57827:24:137;;:77;;57860:14;;;57877;681:1;;57827:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57919:11;:40;;-1:-1:-1;;;;;;57919:40:137;;-1:-1:-1;;;;;57919:40:137;;;;;;;;;;;;;58122:45;;;-1:-1:-1;;;58122:45:137;;58139:11;;;;;;;58122:45;;;31227:51:139;31294:18;;;31287:30;;;;31353:2;31333:18;;;31326:30;-1:-1:-1;;;31372:18:139;;;31365:41;57919:40:137;;-1:-1:-1;;;;;;;;;;;;58122:8:137;;;31423:19:139;;58122:45:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;58217:23:137;;-1:-1:-1;58257:1:137;;-1:-1:-1;58243:16:137;;-1:-1:-1;58243:16:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;58243:16:137;-1:-1:-1;58329:14:137;;58309:9;;58217:42;;-1:-1:-1;;;;;;58329:14:137;;58217:42;;58329:14;;58309:9;;;;:::i;:::-;;;;;;:35;-1:-1:-1;;;;;58309:35:137;;;-1:-1:-1;;;;;58309:35:137;;;;;58378:42;58358:6;58365:1;58358:9;;;;;;;;:::i;:::-;;;;;;:63;-1:-1:-1;;;;;58358:63:137;;;-1:-1:-1;;;;;58358:63:137;;;;;58455:42;58435:6;58442:1;58435:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;58435:63:137;;;:9;;;;;;;;;:63;58548:11;;:92;;-1:-1:-1;;;58548:92:137;;:11;;;;;;;;:17;;:92;;58566:6;;58574:1;;58585;;;;;;;;;;58548:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;57479:1208;;;57439:1248;-1:-1:-1;58703:11:137;;;;;-1:-1:-1;;;;;58703:11:137;;57174:1547::o;2810:1529:130:-;3207:14;3284:45;3344:86;3354:17;3373:12;3387:11;3400;3413:16;3344:9;:86::i;:::-;3475:16;;;3489:1;3475:16;;;;;;;;3284:146;;-1:-1:-1;3441:31:130;;3475:16;;;;;;;;;;;;-1:-1:-1;3475:16:130;3441:50;;3529:4;3501:14;3516:1;3501:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3501:33:130;;;-1:-1:-1;;;;;3501:33:130;;;;;3572:10;3544:14;3559:1;3544:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3544:39:130;;;:17;;;;;;;;;:39;4445:42:9;;3870:19:130;;;3866:64;;-1:-1:-1;3914:5:130;3866:64;3948:4;-1:-1:-1;;;;;3948:33:130;;4036:55;4052:8;4062:12;:10;:12::i;:::-;4076:14;4036:15;:55::i;:::-;4113:8;4147:6;4136:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;4168:6;4188:1;4203:8;4225:14;3948:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3939:310;;4319:12;4267:64;;;;;;;;:::i;:::-;4290:8;-1:-1:-1;;;;;4267:46:130;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;;;;;:::i;:::-;;4260:72;;;;:::i;:::-;3223:1116;;;2810:1529;;;;;;;;;;;:::o;2304:142:27:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:27;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;5837:380:130:-;5987:7;6022:11;5987:7;6063:27;6068:18;1082:7;6078:3;6069:12;;;6068:18;:::i;:::-;6088:1;6063:4;:27::i;:::-;6043:47;-1:-1:-1;6207:3:130;-1:-1:-1;;;6180:9:130;6184:5;1082:7;6180:9;:::i;:::-;6155:19;6165:9;-1:-1:-1;;;6155:19:130;:::i;:::-;6137:14;1082:7;6137:10;:14;:::i;:::-;:38;;;;:::i;:::-;6136:54;;;;:::i;:::-;6110:21;6122:9;6110;:21;:::i;:::-;6109:82;;;;:::i;:::-;6108:94;;;;:::i;:::-;6107:103;;;5837:380;-1:-1:-1;;;;;;;5837:380:130:o;3241:119:16:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:16;;;:8;:31::i;2290:44:100:-;;;;;;;:::i;55425:396:137:-;55541:6;:8;;55490:17;;;;55541:8;55490:17;55541:8;;;:::i;:::-;;;;;;55650:11;55644:18;55633:8;55627:15;55620:4;55610:8;55606:19;55603:1;55595:68;55582:81;-1:-1:-1;;55685:22:137;;55734:8;55726:35;;;;-1:-1:-1;;;55726:35:137;;34561:2:139;55726:35:137;;;34543:21:139;34600:2;34580:18;;;34573:30;-1:-1:-1;;;34619:18:139;;;34612:44;34673:18;;55726:35:137;;;;;;;;;55509:312;55425:396;;;:::o;20439:125:25:-;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:25;20439:125;-1:-1:-1;;20439:125:25:o;1412:320:78:-;-1:-1:-1;;;;;1702:19:78;;:23;;;1412:320::o;3088:305:100:-;3153:13;3178:29;3210:15;3178:47;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3235:31;3309:15;3269:63;;;;;;;;:::i;:::-;;;;;;;;;;;;;3235:97;;3363:17;3382:3;3349:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3342:44;;;;3088:305;;;:::o;2141:146:28:-;2250:30;;-1:-1:-1;;;2250:30:28;;2224:7;;-1:-1:-1;;;;;;;;;;;2250:19:28;;;:30;;2270:4;;2276:3;;2250:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2243:37;2141:146;-1:-1:-1;;;2141:146:28:o;2293:165::-;2416:35;;-1:-1:-1;;;2416:35:28;;2381:16;;-1:-1:-1;;;;;;;;;;;2416:24:28;;;:35;;2441:4;;2447:3;;2416:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2416:35:28;;;;;;;;;;;;:::i;3399:276:100:-;3448:13;3473:18;-1:-1:-1;;;;;;;;;;;309:37:21;;-1:-1:-1;;;;;3494:14:100;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3494:16:100;;;;;;;;;;;;:::i;:::-;3473:37;;3520:18;3555:4;3541:58;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3541:58:100;;;;;;;;;;-1:-1:-1;;;3630:17:100;;3541:58;-1:-1:-1;3609:18:100;;-1:-1:-1;;;;;;;;;;;3630:11:100;;;:17;;3541:58;;3630:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3630:17:100;;;;;;;;;;;;:::i;:::-;3609:38;3399:276;-1:-1:-1;;;;3399:276:100:o;878:140:28:-;984:27;;-1:-1:-1;;;984:27:28;;958:7;;-1:-1:-1;;;;;;;;;;;984:16:28;;;:27;;1001:4;;1007:3;;984:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1817:150::-;1931:29;;-1:-1:-1;;;1931:29:28;;1899:13;;-1:-1:-1;;;;;;;;;;;1931:18:28;;;:29;;1950:4;;1956:3;;1931:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1931:29:28;;;;;;;;;;;;:::i;7846:150:37:-;7919:70;7981:2;7985;7935:53;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7935:53:37;;;;;;;;;;;;;;-1:-1:-1;;;;;7935:53:37;-1:-1:-1;;;7935:53:37;;;7919:15;:70::i;:::-;7846:150;;:::o;8147:145::-;8214:71;8277:2;8281;8230:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8230:54:37;;;;;;;;;;;;;;-1:-1:-1;;;;;8230:54:37;-1:-1:-1;;;8230:54:37;;;8214:15;:71::i;7546:145::-;7613:71;7676:2;7680;7629:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7629:54:37;;;;;;;;;;;;;;-1:-1:-1;;;;;7629:54:37;-1:-1:-1;;;7629:54:37;;;7613:15;:71::i;59028:495:137:-;59174:22;59375:7;;;-1:-1:-1;;;;;;;;;;;59408:7:137;59416:16;59434:33;59442:3;59447:5;59454:12;59434:7;:33::i;:::-;59408:60;;-1:-1:-1;;;;;;59408:60:137;;;;;;;;;;39128:25:139;;;;39169:18;;;39162:34;39101:18;;59408:60:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;59491:25;;;;;;39788:19:139;;;;39823:12;;;39816:28;;;;39900:3;39878:16;;;;-1:-1:-1;;;;;;39874:36:139;39860:12;;;39853:58;59491:25:137;;;;;;;;;39927:12:139;;;;59491:25:137;;;;59028:495;-1:-1:-1;;;;;;;;59028:495:137:o;1689:113:23:-;1771:24;;-1:-1:-1;;;1771:24:23;;-1:-1:-1;;;;;;;;;;;1771:13:23;;;:24;;1785:4;;1791:3;;1771:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4989:114:130;5052:7;5078:18;5088:8;5078:7;:18;:::i;5384:447::-;5445:15;-1:-1:-1;;;5480:2:130;:12;5472:53;;;;-1:-1:-1;;;5472:53:130;;40458:2:139;5472:53:130;;;40440:21:139;40497:2;40477:18;;;40470:30;-1:-1:-1;;;40516:18:139;;;40509:58;40584:18;;5472:53:130;40256:352:139;5472:53:130;-1:-1:-1;;;;5547:2:130;5571;5610:215;5617:5;;5610:215;;5642:1;5646;5642:5;5651:1;5642:10;5638:177;;5676:10;5681:1;5684;5676:4;:10::i;:::-;5672:14;-1:-1:-1;5710:1:130;5704:7;5610:215;;5638:177;5760:16;5765:7;5774:1;5760:4;:16::i;:::-;5750:26;-1:-1:-1;5794:6:130;5799:1;5794:6;;:::i;:::-;;;5610:215;;;5462:369;;5384:447;;;;:::o;20158:242:25:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:25;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:25;;;;;3144:25:139;;;20293:33:25;-1:-1:-1;;;;;;;;;;;;20344:7:25;;;3117:18:139;;20344:19:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:25;;20337:26;;-1:-1:-1;;;;;;;;;;;;20373:8:25;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;868:133:37:-;939:55;986:7;965:19;939:55::i;58727:295:137:-;58818:14;58853:12;-1:-1:-1;;;;;58853:31:137;;58906:3;58912:1;58915:5;58922:19;58943:1;58946;58949;58960;58980;58985:12;-1:-1:-1;;;;;58985:18:137;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;58853:162;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5109:269:130:-;5170:15;-1:-1:-1;;;5205:2:130;:13;;5197:66;;;;-1:-1:-1;;;5197:66:130;;42458:2:139;5197:66:130;;;42440:21:139;42497:2;42477:18;;;42470:30;42536:34;42516:18;;;42509:62;-1:-1:-1;;;42587:18:139;;;42580:38;42635:19;;5197:66:130;42256:404:139;5197:66:130;-1:-1:-1;;;5281:2:130;:12;5273:53;;;;-1:-1:-1;;;5273:53:130;;42867:2:139;5273:53:130;;;42849:21:139;42906:2;42886:18;;;42879:30;-1:-1:-1;;;42925:18:139;;;42918:58;42993:18;;5273:53:130;42665:352:139;5273:53:130;5368:3;-1:-1:-1;;;5345:7:130;5350:2;5345;:7;:::i;:::-;5344:19;;;;:::i;:::-;5343:28;;;5109:269;-1:-1:-1;;;5109:269:130:o;1007:380:37:-;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:104:139:-;-1:-1:-1;;;;;80:31:139;68:44;;14:104::o;123:203::-;-1:-1:-1;;;;;287:32:139;;;;269:51;;257:2;242:18;;123:203::o;331:138::-;-1:-1:-1;;;;;413:31:139;;403:42;;393:70;;459:1;456;449:12;474:127;535:10;530:3;526:20;523:1;516:31;566:4;563:1;556:15;590:4;587:1;580:15;606:275;677:2;671:9;742:2;723:13;;-1:-1:-1;;719:27:139;707:40;;-1:-1:-1;;;;;762:34:139;;798:22;;;759:62;756:88;;;824:18;;:::i;:::-;860:2;853:22;606:275;;-1:-1:-1;606:275:139:o;886:186::-;934:4;-1:-1:-1;;;;;956:30:139;;953:56;;;989:18;;:::i;:::-;-1:-1:-1;1055:2:139;1034:15;-1:-1:-1;;1030:29:139;1061:4;1026:40;;886:186::o;1077:336::-;1141:5;1170:52;1186:35;1214:6;1186:35;:::i;:::-;1170:52;:::i;:::-;1161:61;;1245:6;1238:5;1231:21;1285:3;1276:6;1271:3;1267:16;1264:25;1261:45;;;1302:1;1299;1292:12;1261:45;1351:6;1346:3;1339:4;1332:5;1328:16;1315:43;1405:1;1398:4;1389:6;1382:5;1378:18;1374:29;1367:40;1077:336;;;;;:::o;1418:220::-;1460:5;1513:3;1506:4;1498:6;1494:17;1490:27;1480:55;;1531:1;1528;1521:12;1480:55;1553:79;1628:3;1619:6;1606:20;1599:4;1591:6;1587:17;1553:79;:::i;1643:694::-;1753:6;1761;1769;1777;1830:3;1818:9;1809:7;1805:23;1801:33;1798:53;;;1847:1;1844;1837:12;1798:53;1886:9;1873:23;1905:38;1937:5;1905:38;:::i;:::-;1962:5;-1:-1:-1;2014:2:139;1999:18;;1986:32;;-1:-1:-1;2070:2:139;2055:18;;2042:32;2083:40;2042:32;2083:40;:::i;:::-;2142:7;-1:-1:-1;2200:2:139;2185:18;;2172:32;-1:-1:-1;;;;;2216:30:139;;2213:50;;;2259:1;2256;2249:12;2213:50;2282:49;2323:7;2314:6;2303:9;2299:22;2282:49;:::i;:::-;2272:59;;;1643:694;;;;;;;:::o;2565:428::-;2659:6;2667;2720:2;2708:9;2699:7;2695:23;2691:32;2688:52;;;2736:1;2733;2726:12;2688:52;2775:9;2762:23;2794:38;2826:5;2794:38;:::i;:::-;2851:5;-1:-1:-1;2908:2:139;2893:18;;2880:32;2921:40;2880:32;2921:40;:::i;:::-;2980:7;2970:17;;;2565:428;;;;;:::o;3180:254::-;3239:6;3292:2;3280:9;3271:7;3267:23;3263:32;3260:52;;;3308:1;3305;3298:12;3260:52;3347:9;3334:23;3366:38;3398:5;3366:38;:::i;3439:461::-;3492:3;3530:5;3524:12;3557:6;3552:3;3545:19;3583:4;3612:2;3607:3;3603:12;3596:19;;3649:2;3642:5;3638:14;3670:1;3680:195;3694:6;3691:1;3688:13;3680:195;;;3759:13;;-1:-1:-1;;;;;3755:39:139;3743:52;;3815:12;;;;3850:15;;;;3791:1;3709:9;3680:195;;;-1:-1:-1;3891:3:139;;3439:461;-1:-1:-1;;;;;3439:461:139:o;3905:261::-;4084:2;4073:9;4066:21;4047:4;4104:56;4156:2;4145:9;4141:18;4133:6;4104:56;:::i;4171:250::-;4256:1;4266:113;4280:6;4277:1;4274:13;4266:113;;;4356:11;;;4350:18;4337:11;;;4330:39;4302:2;4295:10;4266:113;;;-1:-1:-1;;4413:1:139;4395:16;;4388:27;4171:250::o;4426:271::-;4468:3;4506:5;4500:12;4533:6;4528:3;4521:19;4549:76;4618:6;4611:4;4606:3;4602:14;4595:4;4588:5;4584:16;4549:76;:::i;:::-;4679:2;4658:15;-1:-1:-1;;4654:29:139;4645:39;;;;4686:4;4641:50;;4426:271;-1:-1:-1;;4426:271:139:o;4702:616::-;4754:3;4792:5;4786:12;4819:6;4814:3;4807:19;4845:4;4886:2;4881:3;4877:12;4911:11;4938;4931:18;;4988:6;4985:1;4981:14;4974:5;4970:26;4958:38;;5030:2;5023:5;5019:14;5051:1;5061:231;5075:6;5072:1;5069:13;5061:231;;;5146:5;5140:4;5136:16;5131:3;5124:29;5174:38;5207:4;5198:6;5192:13;5174:38;:::i;:::-;5270:12;;;;5166:46;-1:-1:-1;5235:15:139;;;;5097:1;5090:9;5061:231;;;-1:-1:-1;5308:4:139;;4702:616;-1:-1:-1;;;;;;;4702:616:139:o;5323:1077::-;5529:4;5558:2;5598;5587:9;5583:18;5628:2;5617:9;5610:21;5651:6;5686;5680:13;5717:6;5709;5702:22;5743:2;5733:12;;5776:2;5765:9;5761:18;5754:25;;5838:2;5828:6;5825:1;5821:14;5810:9;5806:30;5802:39;5876:2;5868:6;5864:15;5897:1;5907:464;5921:6;5918:1;5915:13;5907:464;;;5986:22;;;-1:-1:-1;;5982:36:139;5970:49;;6042:13;;6087:9;;-1:-1:-1;;;;;6083:35:139;6068:51;;6158:11;;6152:18;6190:15;;;6183:27;;;6233:58;6275:15;;;6152:18;6233:58;:::i;:::-;6349:12;;;;6223:68;-1:-1:-1;;6314:15:139;;;;5943:1;5936:9;5907:464;;;-1:-1:-1;6388:6:139;;5323:1077;-1:-1:-1;;;;;;;;5323:1077:139:o;6405:220::-;6554:2;6543:9;6536:21;6517:4;6574:45;6615:2;6604:9;6600:18;6592:6;6574:45;:::i;6630:183::-;6690:4;-1:-1:-1;;;;;6712:30:139;;6709:56;;;6745:18;;:::i;:::-;-1:-1:-1;6790:1:139;6786:14;6802:4;6782:25;;6630:183::o;6818:1287::-;6938:6;6946;6954;7007:2;6995:9;6986:7;6982:23;6978:32;6975:52;;;7023:1;7020;7013:12;6975:52;7062:9;7049:23;7081:38;7113:5;7081:38;:::i;:::-;7138:5;-1:-1:-1;7162:2:139;7201:18;;;7188:32;7229:40;7188:32;7229:40;:::i;:::-;7288:7;-1:-1:-1;7346:2:139;7331:18;;7318:32;-1:-1:-1;;;;;7362:30:139;;7359:50;;;7405:1;7402;7395:12;7359:50;7428:22;;7481:4;7473:13;;7469:27;-1:-1:-1;7459:55:139;;7510:1;7507;7500:12;7459:55;7546:2;7533:16;7569:60;7585:43;7625:2;7585:43;:::i;7569:60::-;7663:15;;;7745:1;7741:10;;;;7733:19;;7729:28;;;7694:12;;;;7769:19;;;7766:39;;;7801:1;7798;7791:12;7766:39;7825:11;;;;7845:230;7861:6;7856:3;7853:15;7845:230;;;7943:3;7930:17;7960:40;7992:7;7960:40;:::i;:::-;8013:20;;7878:12;;;;8053;;;;7845:230;;;8094:5;8084:15;;;;;;;6818:1287;;;;;:::o;8292:291::-;8469:6;8458:9;8451:25;8512:2;8507;8496:9;8492:18;8485:30;8432:4;8532:45;8573:2;8562:9;8558:18;8550:6;8532:45;:::i;8588:450::-;8657:6;8710:2;8698:9;8689:7;8685:23;8681:32;8678:52;;;8726:1;8723;8716:12;8678:52;8753:23;;-1:-1:-1;;;;;8788:30:139;;8785:50;;;8831:1;8828;8821:12;8785:50;8854:22;;8907:4;8899:13;;8895:27;-1:-1:-1;8885:55:139;;8936:1;8933;8926:12;8885:55;8959:73;9024:7;9019:2;9006:16;9001:2;8997;8993:11;8959:73;:::i;9043:1569::-;9247:4;9276:2;9316;9305:9;9301:18;9346:2;9335:9;9328:21;9369:6;9404;9398:13;9435:6;9427;9420:22;9461:2;9451:12;;9494:2;9483:9;9479:18;9472:25;;9556:2;9546:6;9543:1;9539:14;9528:9;9524:30;9520:39;9594:2;9586:6;9582:15;9615:1;9636;9646:937;9662:6;9657:3;9654:15;9646:937;;;9731:22;;;-1:-1:-1;;9727:36:139;9715:49;;9787:13;;9874:9;;-1:-1:-1;;;;;9870:35:139;9855:51;;9945:11;;9939:18;9977:15;;;9970:27;;;10058:19;;9827:15;;;10090:24;;;10180:21;;;;10225:1;;10148:2;10136:15;;;10239:236;10255:8;10250:3;10247:17;10239:236;;;10336:15;;-1:-1:-1;;;;;;10332:42:139;10318:57;;10444:17;;;;10283:1;10274:11;;;;;10401:14;;;;10239:236;;;-1:-1:-1;10561:12:139;;;;10498:5;-1:-1:-1;;;10526:15:139;;;;9688:1;9679:11;9646:937;;;-1:-1:-1;10600:6:139;;9043:1569;-1:-1:-1;;;;;;;;;9043:1569:139:o;10617:530::-;10703:6;10711;10719;10772:2;10760:9;10751:7;10747:23;10743:32;10740:52;;;10788:1;10785;10778:12;10740:52;10827:9;10814:23;10846:38;10878:5;10846:38;:::i;:::-;10903:5;-1:-1:-1;10955:2:139;10940:18;;10927:32;;-1:-1:-1;11010:2:139;10995:18;;10982:32;-1:-1:-1;;;;;11026:30:139;;11023:50;;;11069:1;11066;11059:12;11023:50;11092:49;11133:7;11124:6;11113:9;11109:22;11092:49;:::i;:::-;11082:59;;;10617:530;;;;;:::o;11152:280::-;11351:2;11340:9;11333:21;11314:4;11371:55;11422:2;11411:9;11407:18;11399:6;11371:55;:::i;11437:111::-;11522:1;11515:5;11512:12;11502:40;;11538:1;11535;11528:12;11553:152;11630:20;;11679:1;11669:12;;11659:40;;11695:1;11692;11685:12;11659:40;11553:152;;;:::o;11710:909::-;11773:5;11821:4;11809:9;11804:3;11800:19;11796:30;11793:50;;;11839:1;11836;11829:12;11793:50;11872:2;11866:9;11914:4;11902:17;;-1:-1:-1;;;;;11934:34:139;;11970:22;;;11931:62;11928:88;;;11996:18;;:::i;:::-;12032:2;12025:22;12065:6;-1:-1:-1;12065:6:139;12095:23;;12127:40;12095:23;12127:40;:::i;:::-;12176:23;;12251:2;12236:18;;12223:32;12264:40;12223:32;12264:40;:::i;:::-;12337:7;12332:2;12324:6;12320:15;12313:32;;12406:2;12395:9;12391:18;12378:32;12373:2;12365:6;12361:15;12354:57;12472:2;12461:9;12457:18;12444:32;12439:2;12431:6;12427:15;12420:57;12539:3;12528:9;12524:19;12511:33;12505:3;12497:6;12493:16;12486:59;12607:3;12596:9;12592:19;12579:33;12573:3;12565:6;12561:16;12554:59;;11710:909;;;;:::o;12624:1285::-;12847:6;12855;12863;12871;12879;12887;12895;12903;12956:3;12944:9;12935:7;12931:23;12927:33;12924:53;;;12973:1;12970;12963:12;12924:53;13012:9;12999:23;13031:38;13063:5;13031:38;:::i;:::-;13088:5;-1:-1:-1;13145:2:139;13130:18;;13117:32;13158:40;13117:32;13158:40;:::i;:::-;13217:7;-1:-1:-1;13276:2:139;13261:18;;13248:32;13289:40;13248:32;13289:40;:::i;:::-;13348:7;-1:-1:-1;13407:2:139;13392:18;;13379:32;13420:40;13379:32;13420:40;:::i;:::-;13479:7;-1:-1:-1;13538:3:139;13523:19;;13510:33;13552:40;13510:33;13552:40;:::i;:::-;13611:7;-1:-1:-1;13670:3:139;13655:19;;13642:33;13684:43;13642:33;13684:43;:::i;:::-;13746:7;-1:-1:-1;13772:48:139;13815:3;13800:19;;13772:48;:::i;:::-;13762:58;;13839:64;13895:7;13889:3;13878:9;13874:19;13839:64;:::i;:::-;13829:74;;12624:1285;;;;;;;;;;;:::o;14340:763::-;14459:6;14467;14475;14483;14491;14544:3;14532:9;14523:7;14519:23;14515:33;14512:53;;;14561:1;14558;14551:12;14512:53;14600:9;14587:23;14619:38;14651:5;14619:38;:::i;:::-;14676:5;-1:-1:-1;14728:2:139;14713:18;;14700:32;;-1:-1:-1;14784:2:139;14769:18;;14756:32;14797:40;14756:32;14797:40;:::i;:::-;14856:7;-1:-1:-1;14914:2:139;14899:18;;14886:32;-1:-1:-1;;;;;14930:30:139;;14927:50;;;14973:1;14970;14963:12;14927:50;14996:49;15037:7;15028:6;15017:9;15013:22;14996:49;:::i;:::-;14340:763;;;;-1:-1:-1;14340:763:139;;15092:3;15077:19;15064:33;;14340:763;-1:-1:-1;;;14340:763:139:o;15108:416::-;15172:5;15220:4;15208:9;15203:3;15199:19;15195:30;15192:50;;;15238:1;15235;15228:12;15192:50;15271:2;15265:9;15313:4;15301:17;;-1:-1:-1;;;;;15333:34:139;;15369:22;;;15330:62;15327:88;;;15395:18;;:::i;:::-;15431:2;15424:22;15494:23;;15479:39;;-1:-1:-1;15464:6:139;15108:416;-1:-1:-1;15108:416:139:o;15529:795::-;15730:6;15738;15746;15754;15762;15815:3;15803:9;15794:7;15790:23;15786:33;15783:53;;;15832:1;15829;15822:12;15783:53;15871:9;15858:23;15890:38;15922:5;15890:38;:::i;:::-;15947:5;-1:-1:-1;16004:2:139;15989:18;;15976:32;16017:43;15976:32;16017:43;:::i;:::-;16079:7;-1:-1:-1;16105:47:139;16148:2;16133:18;;16105:47;:::i;:::-;16095:57;;16171:64;16227:7;16222:2;16211:9;16207:18;16171:64;:::i;:::-;16161:74;;16254:64;16310:7;16304:3;16293:9;16289:19;16254:64;:::i;:::-;16244:74;;15529:795;;;;;;;;:::o;16329:127::-;16390:10;16385:3;16381:20;16378:1;16371:31;16421:4;16418:1;16411:15;16445:4;16442:1;16435:15;16461:143;16545:1;16538:5;16535:12;16525:46;;16551:18;;:::i;:::-;16580;;16461:143::o;16609:142::-;16692:1;16685:5;16682:12;16672:46;;16698:18;;:::i;17293:1232::-;17455:4;17497:3;17486:9;17482:19;17474:27;;17526:6;17520:13;17566:2;17560:9;17549;17542:28;17622:4;17618:2;17614:13;17608:20;17601:4;17590:9;17586:20;17579:50;17681:4;17677:2;17673:13;17667:20;17660:4;17649:9;17645:20;17638:50;17740:4;17736:2;17732:13;17726:20;17719:4;17708:9;17704:20;17697:50;;17794:4;17786:6;17782:17;17776:24;17809:64;17867:4;17856:9;17852:20;17838:12;17809:64;:::i;:::-;;17922:4;17914:6;17910:17;17904:24;17937:65;17996:4;17985:9;17981:20;17965:14;17937:65;:::i;:::-;-1:-1:-1;18051:4:139;18039:17;;;18033:24;16831:12;18133:4;18118:20;;16819:25;18188:4;18176:17;;;18170:24;16975:12;;-1:-1:-1;;;;;16971:21:139;;;18269:4;18254:20;;16959:34;17046:4;17035:16;;17029:23;17025:32;17009:14;;;17002:56;17107:4;17096:16;;17090:23;17074:14;;;17067:47;17152:16;;;17146:23;17130:14;;;17123:47;17208:16;;17202:23;17186:14;;;17179:47;16939:3;17264:16;;;17258:23;17242:14;;;17235:47;18312:17;;18306:24;18339:58;18389:6;18374:22;;18306:24;18339:58;:::i;:::-;;18446:4;18438:6;18434:17;18428:24;18461:58;18511:6;18500:9;18496:22;18480:14;18461:58;:::i;18754:1422::-;19022:6;19030;19038;19046;19054;19062;19070;19078;19086;19139:3;19127:9;19118:7;19114:23;19110:33;19107:53;;;19156:1;19153;19146:12;19107:53;19195:9;19182:23;19214:38;19246:5;19214:38;:::i;:::-;19271:5;-1:-1:-1;19328:2:139;19313:18;;19300:32;19341:40;19300:32;19341:40;:::i;:::-;19400:7;-1:-1:-1;19459:2:139;19444:18;;19431:32;19472:40;19431:32;19472:40;:::i;:::-;19531:7;-1:-1:-1;19590:2:139;19575:18;;19562:32;19603:40;19562:32;19603:40;:::i;:::-;19662:7;-1:-1:-1;19721:3:139;19706:19;;19693:33;19735:40;19693:33;19735:40;:::i;:::-;19794:7;-1:-1:-1;19853:3:139;19838:19;;19825:33;19867:43;19825:33;19867:43;:::i;:::-;19929:7;-1:-1:-1;19955:48:139;19998:3;19983:19;;19955:48;:::i;:::-;19945:58;;20022:65;20079:7;20073:3;20062:9;20058:19;20022:65;:::i;:::-;20012:75;;20106:64;20162:7;20156:3;20145:9;20141:19;20106:64;:::i;:::-;20096:74;;18754:1422;;;;;;;;;;;:::o;20181:385::-;20267:6;20275;20283;20291;20344:3;20332:9;20323:7;20319:23;20315:33;20312:53;;;20361:1;20358;20351:12;20312:53;-1:-1:-1;;20384:23:139;;;20454:2;20439:18;;20426:32;;-1:-1:-1;20505:2:139;20490:18;;20477:32;;20556:2;20541:18;20528:32;;-1:-1:-1;20181:385:139;-1:-1:-1;20181:385:139:o;20571:320::-;20639:6;20692:2;20680:9;20671:7;20667:23;20663:32;20660:52;;;20708:1;20705;20698:12;20660:52;20735:23;;-1:-1:-1;;;;;20770:30:139;;20767:50;;;20813:1;20810;20803:12;20767:50;20836:49;20877:7;20868:6;20857:9;20853:22;20836:49;:::i;21353:258::-;21423:6;21476:2;21464:9;21455:7;21451:23;21447:32;21444:52;;;21492:1;21489;21482:12;21444:52;21524:9;21518:16;21543:38;21575:5;21543:38;:::i;22501:127::-;22562:10;22557:3;22553:20;22550:1;22543:31;22593:4;22590:1;22583:15;22617:4;22614:1;22607:15;22633:1042;23075:4;23104:3;23134:2;23123:9;23116:21;23160:56;23212:2;23201:9;23197:18;23189:6;23160:56;:::i;:::-;23247:2;23232:18;;;23225:34;;;;-1:-1:-1;;;;;23333:15:139;;;23328:2;23313:18;;23306:43;23385:22;;;23380:2;23365:18;;23358:50;-1:-1:-1;23417:17:139;;23503:15;;;23497:3;23482:19;;23475:44;-1:-1:-1;;23556:15:139;;;23286:3;23535:19;;23528:44;23603:3;23588:19;;23581:35;;;;23653:15;;;23647:3;23632:19;;;23625:44;;;;23451:15;;22633:1042;-1:-1:-1;22633:1042:139:o;23680:380::-;23759:1;23755:12;;;;23802;;;23823:61;;23877:4;23869:6;23865:17;23855:27;;23823:61;23930:2;23922:6;23919:14;23899:18;23896:38;23893:161;;23976:10;23971:3;23967:20;23964:1;23957:31;24011:4;24008:1;24001:15;24039:4;24036:1;24029:15;24065:1009;24489:6;24478:9;24471:25;24532:3;24527:2;24516:9;24512:18;24505:31;24573:2;24567:3;24556:9;24552:19;24545:31;-1:-1:-1;;;24607:3:139;24596:9;24592:19;24585:45;24666:3;24661:2;24650:9;24646:18;24639:31;24713:6;24707:13;24701:3;24690:9;24686:19;24679:42;24452:4;24768:2;24760:6;24756:15;24750:22;24809:2;24803:3;24792:9;24788:19;24781:31;24832:52;24879:3;24868:9;24864:19;24850:12;24832:52;:::i;:::-;-1:-1:-1;;;;;24920:32:139;;24915:2;24900:18;;24893:60;24990:19;;;24984:3;24969:19;;24962:48;24821:63;-1:-1:-1;25027:41:139;24821:63;25056:6;25027:41;:::i;:::-;25019:49;24065:1009;-1:-1:-1;;;;;;;24065:1009:139:o;25079:184::-;25149:6;25202:2;25190:9;25181:7;25177:23;25173:32;25170:52;;;25218:1;25215;25208:12;25170:52;-1:-1:-1;25241:16:139;;25079:184;-1:-1:-1;25079:184:139:o;25268:127::-;25329:10;25324:3;25320:20;25317:1;25310:31;25360:4;25357:1;25350:15;25384:4;25381:1;25374:15;25400:135;25439:3;25460:17;;;25457:43;;25480:18;;:::i;:::-;-1:-1:-1;25527:1:139;25516:13;;25400:135::o;25666:545::-;25768:2;25763:3;25760:11;25757:448;;;25804:1;25829:5;25825:2;25818:17;25874:4;25870:2;25860:19;25944:2;25932:10;25928:19;25925:1;25921:27;25915:4;25911:38;25980:4;25968:10;25965:20;25962:47;;;-1:-1:-1;26003:4:139;25962:47;26058:2;26053:3;26049:12;26046:1;26042:20;26036:4;26032:31;26022:41;;26113:82;26131:2;26124:5;26121:13;26113:82;;;26176:17;;;26157:1;26146:13;26113:82;;26387:1352;26507:10;;-1:-1:-1;;;;;26529:30:139;;26526:56;;;26562:18;;:::i;:::-;26591:97;26681:6;26641:38;26673:4;26667:11;26641:38;:::i;:::-;26635:4;26591:97;:::i;:::-;26743:4;;26807:2;26796:14;;26824:1;26819:663;;;;27526:1;27543:6;27540:89;;;-1:-1:-1;27595:19:139;;;27589:26;27540:89;-1:-1:-1;;26344:1:139;26340:11;;;26336:24;26332:29;26322:40;26368:1;26364:11;;;26319:57;27642:81;;26789:944;;26819:663;25613:1;25606:14;;;25650:4;25637:18;;-1:-1:-1;;26855:20:139;;;26973:236;26987:7;26984:1;26981:14;26973:236;;;27076:19;;;27070:26;27055:42;;27168:27;;;;27136:1;27124:14;;;;27003:19;;26973:236;;;26977:3;27237:6;27228:7;27225:19;27222:201;;;27298:19;;;27292:26;-1:-1:-1;;27381:1:139;27377:14;;;27393:3;27373:24;27369:37;27365:42;27350:58;27335:74;;27222:201;-1:-1:-1;;;;;27469:1:139;27453:14;;;27449:22;27436:36;;-1:-1:-1;26387:1352:139:o;28023:140::-;28104:1;28097:5;28094:12;28084:46;;28110:18;;:::i;28168:1112::-;-1:-1:-1;;;;;28698:15:139;;;28680:34;;28745:2;28730:18;;28723:34;;;28630:3;28788:2;28773:18;;28766:30;;;28601:4;;28819:45;28845:18;;;28837:6;28819:45;:::i;:::-;28805:59;;28873:53;28922:2;28911:9;28907:18;28899:6;28873:53;:::i;:::-;28963:6;28957:3;28946:9;28942:19;28935:35;29007:6;29001:3;28990:9;28986:19;28979:35;29051:6;29045:3;29034:9;29030:19;29023:35;29107:2;29099:6;29095:15;29089:3;29078:9;29074:19;29067:44;29160:2;29152:6;29148:15;29142:3;29131:9;29127:19;29120:44;;29213:9;29205:6;29201:22;29195:3;29184:9;29180:19;29173:51;29241:33;29267:6;29259;29241:33;:::i;:::-;29233:41;28168:1112;-1:-1:-1;;;;;;;;;;;;;28168:1112:139:o;29285:277::-;29352:6;29405:2;29393:9;29384:7;29380:23;29376:32;29373:52;;;29421:1;29418;29411:12;29373:52;29453:9;29447:16;29506:5;29499:13;29492:21;29485:5;29482:32;29472:60;;29528:1;29525;29518:12;29567:168;29640:9;;;29671;;29688:15;;;29682:22;;29668:37;29658:71;;29709:18;;:::i;30624:386::-;-1:-1:-1;;;;;30827:32:139;;30809:51;;30896:2;30891;30876:18;;30869:30;;;-1:-1:-1;;30916:45:139;;30942:18;;30934:6;30916:45;:::i;:::-;30908:53;;30997:6;30992:2;30981:9;30977:18;30970:34;30624:386;;;;;;:::o;31453:1811::-;31875:6;31864:9;31857:25;31838:4;31901:2;31939:1;31935;31930:3;31926:11;31922:19;31989:2;31981:6;31977:15;31972:2;31961:9;31957:18;31950:43;32029:3;32024:2;32013:9;32009:18;32002:31;32056:46;32097:3;32086:9;32082:19;32074:6;32056:46;:::i;:::-;32121:2;32171;32163:6;32159:15;32154:2;32143:9;32139:18;32132:43;32212:6;32206:3;32195:9;32191:19;32184:35;32268:9;32260:6;32256:22;32250:3;32239:9;32235:19;32228:51;32309:6;32303:13;32295:6;32288:29;32336:4;32326:14;;32381:2;32373:6;32369:15;32417:2;32412;32404:6;32400:15;32393:27;32440:1;32473:12;32467:19;32509:36;32535:9;32509:36;:::i;:::-;32578:6;32573:2;32565:6;32561:15;32554:31;32616:2;32605:9;32601:18;32633:1;32628:152;;;;32794:1;32789:354;;;;32594:549;;32628:152;-1:-1:-1;;32673:24:139;;32656:15;;;32649:49;32748:14;;32741:22;32738:1;32734:30;32722:43;;32718:52;;;-1:-1:-1;32628:152:139;;32789:354;32820:12;32817:1;32810:23;32874:2;32871:1;32861:16;32899:1;32913:177;32927:6;32924:1;32921:13;32913:177;;;33017:14;;32996;;;32992:23;;32985:47;33060:16;;;;32942:10;;32913:177;;;33114:14;;33110:23;;;-1:-1:-1;;32594:549:139;;;;33189:9;33184:3;33180:19;33174:3;33163:9;33159:19;33152:48;33217:41;33254:3;33246:6;33217:41;:::i;:::-;33209:49;31453:1811;-1:-1:-1;;;;;;;;;;;;;;;31453:1811:139:o;33458:279::-;33546:6;33599:2;33587:9;33578:7;33574:23;33570:32;33567:52;;;33615:1;33612;33605:12;33567:52;33647:9;33641:16;33666:41;33701:5;33666:41;:::i;33742:127::-;33803:10;33798:3;33794:20;33791:1;33784:31;33834:4;33831:1;33824:15;33858:4;33855:1;33848:15;33874:217;33914:1;33940;33930:132;;33984:10;33979:3;33975:20;33972:1;33965:31;34019:4;34016:1;34009:15;34047:4;34044:1;34037:15;33930:132;-1:-1:-1;34076:9:139;;33874:217::o;34096:128::-;34163:9;;;34184:11;;;34181:37;;;34198:18;;:::i;34229:125::-;34294:9;;;34315:10;;;34312:36;;;34328:18;;:::i;34702:590::-;-1:-1:-1;;;35039:3:139;35032:37;35014:3;35098:6;35092:13;35114:75;35182:6;35177:2;35172:3;35168:12;35161:4;35153:6;35149:17;35114:75;:::i;:::-;-1:-1:-1;;;35248:2:139;35208:16;;;;35240:11;;;35233:26;-1:-1:-1;35283:2:139;35275:11;;34702:590;-1:-1:-1;34702:590:139:o;35297:496::-;35476:3;35514:6;35508:13;35530:66;35589:6;35584:3;35577:4;35569:6;35565:17;35530:66;:::i;:::-;35659:13;;35618:16;;;;35681:70;35659:13;35618:16;35728:4;35716:17;;35681:70;:::i;:::-;35767:20;;35297:496;-1:-1:-1;;;;35297:496:139:o;35798:383::-;35995:2;35984:9;35977:21;35958:4;36021:45;36062:2;36051:9;36047:18;36039:6;36021:45;:::i;:::-;36114:9;36106:6;36102:22;36097:2;36086:9;36082:18;36075:50;36142:33;36168:6;36160;36142:33;:::i;:::-;36134:41;35798:383;-1:-1:-1;;;;;35798:383:139:o;36186:963::-;36281:6;36312:2;36355;36343:9;36334:7;36330:23;36326:32;36323:52;;;36371:1;36368;36361:12;36323:52;36398:16;;-1:-1:-1;;;;;36426:30:139;;36423:50;;;36469:1;36466;36459:12;36423:50;36492:22;;36545:4;36537:13;;36533:27;-1:-1:-1;36523:55:139;;36574:1;36571;36564:12;36523:55;36603:2;36597:9;36626:60;36642:43;36682:2;36642:43;:::i;36626:60::-;36720:15;;;36802:1;36798:10;;;;36790:19;;36786:28;;;36751:12;;;;36826:19;;;36823:39;;;36858:1;36855;36848:12;36823:39;36882:11;;;;36902:217;36918:6;36913:3;36910:15;36902:217;;;36991:3;36985:10;37008:38;37040:5;37008:38;:::i;:::-;37059:18;;36935:12;;;;37097;;;;36902:217;;37154:648;37234:6;37287:2;37275:9;37266:7;37262:23;37258:32;37255:52;;;37303:1;37300;37293:12;37255:52;37330:16;;-1:-1:-1;;;;;37358:30:139;;37355:50;;;37401:1;37398;37391:12;37355:50;37424:22;;37477:4;37469:13;;37465:27;-1:-1:-1;37455:55:139;;37506:1;37503;37496:12;37455:55;37535:2;37529:9;37560:48;37576:31;37604:2;37576:31;:::i;37560:48::-;37631:2;37624:5;37617:17;37671:7;37666:2;37661;37657;37653:11;37649:20;37646:33;37643:53;;;37692:1;37689;37682:12;37643:53;37705:67;37769:2;37764;37757:5;37753:14;37748:2;37744;37740:11;37705:67;:::i;37807:524::-;38039:3;38077:6;38071:13;38093:66;38152:6;38147:3;38140:4;38132:6;38128:17;38093:66;:::i;:::-;38220:34;38181:16;;38206:49;;;-1:-1:-1;;;;38282:4:139;38271:16;;38264:31;38322:2;38311:14;;37807:524;-1:-1:-1;37807:524:139:o;38336:317::-;38513:2;38502:9;38495:21;38476:4;38533:45;38574:2;38563:9;38559:18;38551:6;38533:45;:::i;:::-;38525:53;;38643:1;38639;38634:3;38630:11;38626:19;38618:6;38614:32;38609:2;38598:9;38594:18;38587:60;38336:317;;;;;:::o;38658:291::-;38835:2;38824:9;38817:21;38798:4;38855:45;38896:2;38885:9;38881:18;38873:6;38855:45;:::i;:::-;38847:53;;38936:6;38931:2;38920:9;38916:18;38909:34;38658:291;;;;;:::o;39207:395::-;39293:6;39301;39309;39362:2;39350:9;39341:7;39337:23;39333:32;39330:52;;;39378:1;39375;39368:12;39330:52;39410:9;39404:16;39460:4;39453:5;39449:16;39442:5;39439:27;39429:55;;39480:1;39477;39470:12;39429:55;39548:2;39533:18;;39527:25;39592:2;39577:18;;;39571:25;39503:5;;39527:25;;-1:-1:-1;39571:25:139;39207:395;-1:-1:-1;;;39207:395:139:o;39950:301::-;40135:6;40128:14;40121:22;40110:9;40103:41;40180:2;40175;40164:9;40160:18;40153:30;40084:4;40200:45;40241:2;40230:9;40226:18;40218:6;40200:45;:::i;40613:289::-;40744:3;40782:6;40776:13;40798:66;40857:6;40852:3;40845:4;40837:6;40833:17;40798:66;:::i;:::-;40880:16;;;;;40613:289;-1:-1:-1;;40613:289:139:o;40907:317::-;-1:-1:-1;;;;;41084:32:139;;41066:51;;41153:2;41148;41133:18;;41126:30;;;-1:-1:-1;;41173:45:139;;41199:18;;41191:6;41173:45;:::i;41229:1022::-;-1:-1:-1;;;;;41741:15:139;;;41723:34;;41788:2;41773:18;;41766:34;;;41673:3;41831:2;41816:18;;41809:30;;;41644:4;;41856:45;41882:18;;;41874:6;41856:45;:::i;:::-;41848:53;;41910;41959:2;41948:9;41944:18;41936:6;41910:53;:::i;:::-;41994:3;41979:19;;41972:35;;;;-1:-1:-1;42038:3:139;42023:19;;42016:35;;;;42082:3;42067:19;;42060:35;;;;42132:15;;;42126:3;42111:19;;42104:44;42185:15;;;42179:3;42164:19;;42157:44;42232:3;42217:19;42210:35;;;;41229:1022;;-1:-1:-1;;;;41229:1022:139:o","linkReferences":{}},"methodIdentifiers":{"BENEFICIARY()":"2f99c6cc","COUNCIL_SAFE()":"93892107","CURRENT_NETWORK()":"f4d914e6","DECIMALS()":"2e0f2625","ETH_SEPOLIA()":"352c94a7","IS_SCRIPT()":"f8ccbf47","IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","REGISTRY_FACTORY()":"861ceb69","SAFE_FACTORY()":"d23727ed","SAFE_NONCE()":"1d8fcc10","SAFE_PROXY_FACTORY()":"7f6a80df","SAFE_SINGLETON()":"caa12add","SENDER()":"6050f2f8","TOKEN()":"82bfefc8","WAIT_TIME()":"388aef5c","__createContract(bytes)":"f69d511f","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafe()":"dac770b3","_councilSafeWithOwner(address)":"1ae726d9","_councilSafeWithOwner(address,address)":"08c24f9f","_createSafe()":"49ef42c1","_createSafeProxyFactory()":"bb0504cd","_nonce()":"5d1222aa","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16","run()":"c0406226","run(string)":"9352fad2","runCurrentNetwork(string)":"5e2dd442","safeHelper(address,uint256,address,bytes)":"023a6f43","safeHelper(address,uint256,address,bytes,uint256)":"c1f2a641","safeHelper(address,uint256,bytes)":"6db52510","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BENEFICIARY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNCIL_SAFE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CURRENT_NETWORK\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ETH_SEPOLIA\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REGISTRY_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_NONCE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_PROXY_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_SINGLETON\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SENDER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WAIT_TIME\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"name\":\"__createContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"_safeProxyFactory\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafeProxyFactory\",\"outputs\":[{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"network\",\"type\":\"string\"}],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"networkJson\",\"type\":\"string\"}],\"name\":\"runCurrentNetwork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/UpgradeCVMultichain.s.sol\":\"UpgradeCVMultichain\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/script/BaseMultiChain.s.sol\":{\"keccak256\":\"0xb8249015db913f70227378a058abf4f51615ad5962e20eae8f2c618bcb820f1a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://1f321c5388b29084af62995f2e11247ae0910376efb2bac4a01fab22c0b1d2ca\",\"dweb:/ipfs/QmXK18g96GKY38vkxHZ998HcoiFz95McKBM7zY8KpfSRFf\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]},\"pkg/contracts/script/UpgradeCVMultichain.s.sol\":{\"keccak256\":\"0xba08944a398efd513d315220e8d0ddcd80e484bfaada74f5c925ad0af8065509\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ae73d33183749c0b31e1062c28a2096915c73088694a2848809b174678568383\",\"dweb:/ipfs/QmcafAinQnT9tppmgDtYSzDZ77hzQu6SfZvSf11M5V93Wf\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb\",\"dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c\",\"dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr\"]},\"pkg/contracts/src/CollateralVault.sol\":{\"keccak256\":\"0x2f1d86b6ccfcb72ccbc9b85c9b3a5723e23a0c06c31e581fe2f4d70c4cfdae99\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0534a8e50623170fbead6eedf933d0d0f5deb059b5de54c66dda3583e1c9826a\",\"dweb:/ipfs/QmeJXfZeuiwfbu1BtG2sCUFTJkUnSvChmT8ALYh2UCpANk\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf\",\"dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc\",\"dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d\",\"dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":{\"keccak256\":\"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3\",\"dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b\",\"dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BENEFICIARY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_SAFE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"CURRENT_NETWORK","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ETH_SEPOLIA","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REGISTRY_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_NONCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_PROXY_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_SINGLETON","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SENDER","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"WAIT_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"bytecode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"__createContract","outputs":[{"internalType":"address","name":"_contract","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract SafeProxyFactory","name":"_safeProxyFactory","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafeProxyFactory","outputs":[{"internalType":"contract SafeProxyFactory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"network","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[{"internalType":"string","name":"networkJson","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"runCurrentNetwork"},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"},{"internalType":"uint256","name":"value_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/UpgradeCVMultichain.s.sol":"UpgradeCVMultichain"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/script/BaseMultiChain.s.sol":{"keccak256":"0xb8249015db913f70227378a058abf4f51615ad5962e20eae8f2c618bcb820f1a","urls":["bzz-raw://1f321c5388b29084af62995f2e11247ae0910376efb2bac4a01fab22c0b1d2ca","dweb:/ipfs/QmXK18g96GKY38vkxHZ998HcoiFz95McKBM7zY8KpfSRFf"],"license":"UNLICENSED"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"},"pkg/contracts/script/UpgradeCVMultichain.s.sol":{"keccak256":"0xba08944a398efd513d315220e8d0ddcd80e484bfaada74f5c925ad0af8065509","urls":["bzz-raw://ae73d33183749c0b31e1062c28a2096915c73088694a2848809b174678568383","dweb:/ipfs/QmcafAinQnT9tppmgDtYSzDZ77hzQu6SfZvSf11M5V93Wf"],"license":"UNLICENSED"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xb2c634c8843dab5e648543160e3565fac8c6b41402ed841b830a9af83c914b38","urls":["bzz-raw://e9a99da8e24730f2718e71818bc98e878550ad096bc59b3320f0419325b479eb","dweb:/ipfs/QmRHPoi9Fx5SCcrEFPs35bD2Dgo34zVXtd7h9q8EjxHq1M"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x9a22b6f2951650e9d01c4677aa060da8614b130085ead113d67f84040d4011a6","urls":["bzz-raw://30a844cd8168c06cbfa06bd48c786288f677989451f8df202f07d0923848319c","dweb:/ipfs/QmfX9uWRQ3JetLHWLHFES5i7sosiL8eexzkNHwFyxVZJSr"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CollateralVault.sol":{"keccak256":"0x2f1d86b6ccfcb72ccbc9b85c9b3a5723e23a0c06c31e581fe2f4d70c4cfdae99","urls":["bzz-raw://0534a8e50623170fbead6eedf933d0d0f5deb059b5de54c66dda3583e1c9826a","dweb:/ipfs/QmeJXfZeuiwfbu1BtG2sCUFTJkUnSvChmT8ALYh2UCpANk"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x302a31c562b92f3279f8964d6129ff52c0a592585d7597d70e765ec07198641b","urls":["bzz-raw://f6bf9f4fff036e5696ec60d5003df939db1db9a06e5497ccee3b8f045fc5ddaf","dweb:/ipfs/QmXVR5t7KzrmBw52vsfZ7KnsALELsLEQyUnXVYgCWaBX6j"],"license":"AGPL-3.0-or-later"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xe5bba8fc672df367a0bbcc81eb2d403303f174c93fb94d244550d5f1467f2d9c","urls":["bzz-raw://05abb6a3915c2be95ca9dd8a054e089e2cca766cc8079fc263acc329e0ef40bc","dweb:/ipfs/QmTjLkMX6nABzouEDja7pMfy3fE7izyzWRUfGyQpon8Uh2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x8582472a9be99c30761760a09172bb3efcd31a1cb907aa27f9685c1176dc1d07","urls":["bzz-raw://83d3b37921270c65c07e46c4cfce6075ee94df800ebe87639587894e67f8488d","dweb:/ipfs/QmaVTKdBSjqcjvdcTTn13MSgQ3zV5ZZuP4M6PEJgfZ6C5d"],"license":"MIT"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpersV0_0.sol":{"keccak256":"0x2c375522623e8bf490397e15d5ad2d29ee56602ffa9584b19e4f2bdc5ae0729e","urls":["bzz-raw://1dfebfae0274d2f265eb2aa753e4d1a45120e250a5245c272135a554884d0bc3","dweb:/ipfs/QmVSy4L85tKv11KwUK6io8WqupWfCGVxU6JE3chmcTT6pT"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8","urls":["bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b","dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":5872,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13277_storage"},{"astId":6068,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8569,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8590,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)"},{"astId":8594,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8598,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8601,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9359,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11396,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13277_storage"},{"astId":82715,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"metadata","offset":0,"slot":"21","type":"t_struct(Metadata)3098_storage"},{"astId":82727,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_poolProfileId1_","offset":0,"slot":"23","type":"t_bytes32"},{"astId":12264,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_excludedContracts","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12267,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_excludedSenders","offset":0,"slot":"25","type":"t_array(t_address)dyn_storage"},{"astId":12270,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedContracts","offset":0,"slot":"26","type":"t_array(t_address)dyn_storage"},{"astId":12273,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedSenders","offset":0,"slot":"27","type":"t_array(t_address)dyn_storage"},{"astId":12276,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_excludedArtifacts","offset":0,"slot":"28","type":"t_array(t_string_storage)dyn_storage"},{"astId":12279,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedArtifacts","offset":0,"slot":"29","type":"t_array(t_string_storage)dyn_storage"},{"astId":12283,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedArtifactSelectors","offset":0,"slot":"30","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12287,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedSelectors","offset":0,"slot":"31","type":"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage"},{"astId":12291,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_targetedInterfaces","offset":0,"slot":"32","type":"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage"},{"astId":5923,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"IS_SCRIPT","offset":0,"slot":"33","type":"t_bool"},{"astId":17876,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"IS_TEST","offset":1,"slot":"33","type":"t_bool"},{"astId":100620,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilSafe","offset":2,"slot":"33","type":"t_contract(ISafe)79793"},{"astId":100623,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilSafeOwner","offset":0,"slot":"34","type":"t_contract(ISafe)79793"},{"astId":100625,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilMember1","offset":0,"slot":"35","type":"t_address"},{"astId":100628,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilMemberPK","offset":0,"slot":"36","type":"t_uint256"},{"astId":100631,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_nonce","offset":0,"slot":"37","type":"t_uint256"},{"astId":100633,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_safeSingleton","offset":0,"slot":"38","type":"t_address"},{"astId":65348,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"MINIMUM_STAKE","offset":0,"slot":"39","type":"t_uint256"},{"astId":65351,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"SENDER","offset":0,"slot":"40","type":"t_address"},{"astId":65353,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"TOKEN","offset":0,"slot":"41","type":"t_address"},{"astId":65355,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"COUNCIL_SAFE","offset":0,"slot":"42","type":"t_address"},{"astId":65357,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"SAFE_PROXY_FACTORY","offset":0,"slot":"43","type":"t_address"},{"astId":65359,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"REGISTRY_FACTORY","offset":0,"slot":"44","type":"t_address"},{"astId":65362,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"WAIT_TIME","offset":0,"slot":"45","type":"t_uint256"},{"astId":65365,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"CURRENT_NETWORK","offset":0,"slot":"46","type":"t_string_storage"},{"astId":65368,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"ETH_SEPOLIA","offset":0,"slot":"47","type":"t_string_storage"},{"astId":65371,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"BENEFICIARY","offset":0,"slot":"48","type":"t_address"},{"astId":65373,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"councilMemberPKEnv","offset":0,"slot":"49","type":"t_uint256"},{"astId":65375,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"allo_proxy","offset":0,"slot":"50","type":"t_address"},{"astId":65378,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"allo","offset":0,"slot":"51","type":"t_contract(Allo)1390"},{"astId":65381,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"token","offset":0,"slot":"52","type":"t_contract(GV2ERC20)70717"},{"astId":65384,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"registryFactory","offset":0,"slot":"53","type":"t_contract(RegistryFactoryV0_0)79079"},{"astId":65387,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"arbitrator","offset":0,"slot":"54","type":"t_contract(IArbitrator)79667"},{"astId":65390,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"sybilScorer","offset":0,"slot":"55","type":"t_contract(ISybilScorer)75791"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12261_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12261_storage"},"t_array(t_struct(FuzzSelector)12255_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12255_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Allo)1390":{"encoding":"inplace","label":"contract Allo","numberOfBytes":"20"},"t_contract(GV2ERC20)70717":{"encoding":"inplace","label":"contract GV2ERC20","numberOfBytes":"20"},"t_contract(IArbitrator)79667":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ISafe)79793":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_contract(ISybilScorer)75791":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_contract(RegistryFactoryV0_0)79079":{"encoding":"inplace","label":"contract RegistryFactoryV0_0","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13252_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13252_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13252_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8585_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8585_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8585_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8578,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8580,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8582,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8584,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13252_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13245,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13247,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13249,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13251,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12261_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12257,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12260,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12255_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12251,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12254,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13277_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13261,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13252_storage)))"},{"astId":13264,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13266,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13268,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13270,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13272,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13274,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13276,"contract":"pkg/contracts/script/UpgradeCVMultichain.s.sol:UpgradeCVMultichain","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/script/UpgradeCVMultichain.s.sol","id":70898,"exportedSymbols":{"Accounts":[5068],"Allo":[1390],"BaseMultiChain":[65664],"BaseStrategy":[3923],"BaseStrategyUpgradeable":[71686],"CVStrategyHelpersV0_0":[83221],"CVStrategyV0_0":[75423],"Clone":[3002],"CollateralVault":[75671],"ERC165":[57814],"ERC1967Proxy":[55102],"ERC20":[56531],"Enum":[79809],"GV2ERC20":[70717],"IAllo":[2610],"IArbitrable":[79563],"IArbitrator":[79667],"ICollateralVault":[79700],"IERC165":[58020],"IERC20":[56609],"IPointStrategy":[71749],"IRegistry":[2802],"ISybilScorer":[75791],"Math":[58886],"Metadata":[3098],"Native":[3106],"OwnableUpgradeable":[52984],"PassportData":[75709],"PassportScorer":[76287],"Registry":[2295],"RegistryCommunityV0_0":[78368],"RegistryFactoryV0_0":[79079],"Safe":[79793],"SafeArbitrator":[79485],"SafeProxyFactory":[79805],"SafeSetup":[101234],"Script":[5924],"ScriptBase":[5885],"SignedMath":[58991],"StdChains":[9327],"StdCheatsSafe":[11387],"StdStorage":[13277],"StdStyle":[16447],"StdUtils":[17825],"StrategyStruct":[71871],"Strings":[57790],"UUPSUpgradeable":[55753],"UpgradeCVMultichain":[70897],"Upgrades":[61265],"VmSafe":[20952],"console":[29591],"console2":[37716],"safeconsole":[52441],"stdJson":[13097],"stdMath":[13239],"stdStorageSafe":[14631]},"nodeType":"SourceUnit","src":"39:2694:108","nodes":[{"id":70719,"nodeType":"PragmaDirective","src":"39:24:108","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":70720,"nodeType":"ImportDirective","src":"65:32:108","nodes":[],"absolutePath":"pkg/contracts/script/BaseMultiChain.s.sol","file":"./BaseMultiChain.s.sol","nameLocation":"-1:-1:-1","scope":70898,"sourceUnit":65665,"symbolAliases":[],"unitAlias":""},{"id":70722,"nodeType":"ImportDirective","src":"98:68:108","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../src/CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":70898,"sourceUnit":75424,"symbolAliases":[{"foreign":{"id":70721,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75423,"src":"106:14:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70724,"nodeType":"ImportDirective","src":"167:89:108","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../src/RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":70898,"sourceUnit":78369,"symbolAliases":[{"foreign":{"id":70723,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78368,"src":"175:21:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70726,"nodeType":"ImportDirective","src":"257:83:108","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","file":"../src/RegistryFactory/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":70898,"sourceUnit":79080,"symbolAliases":[{"foreign":{"id":70725,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79079,"src":"265:19:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70897,"nodeType":"ContractDefinition","src":"342:2390:108","nodes":[{"id":70731,"nodeType":"UsingForDirective","src":"395:25:108","nodes":[],"global":false,"libraryName":{"id":70729,"name":"stdJson","nameLocations":["401:7:108"],"nodeType":"IdentifierPath","referencedDeclaration":13097,"src":"401:7:108"},"typeName":{"id":70730,"name":"string","nodeType":"ElementaryTypeName","src":"413:6:108","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},{"id":70896,"nodeType":"FunctionDefinition","src":"426:2304:108","nodes":[],"body":{"id":70895,"nodeType":"Block","src":"496:2234:108","nodes":[],"statements":[{"assignments":[70738],"declarations":[{"constant":false,"id":70738,"mutability":"mutable","name":"registryImplementation","nameLocation":"514:22:108","nodeType":"VariableDeclaration","scope":70895,"src":"506:30:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70737,"name":"address","nodeType":"ElementaryTypeName","src":"506:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":70746,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":70743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"547:25:108","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryCommunityV0_0_$78368_$","typeString":"function () returns (contract RegistryCommunityV0_0)"},"typeName":{"id":70742,"nodeType":"UserDefinedTypeName","pathNode":{"id":70741,"name":"RegistryCommunityV0_0","nameLocations":["551:21:108"],"nodeType":"IdentifierPath","referencedDeclaration":78368,"src":"551:21:108"},"referencedDeclaration":78368,"src":"551:21:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}}},"id":70744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"547:27:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}],"id":70740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"539:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70739,"name":"address","nodeType":"ElementaryTypeName","src":"539:7:108","typeDescriptions":{}}},"id":70745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"539:36:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"506:69:108"},{"assignments":[70748],"declarations":[{"constant":false,"id":70748,"mutability":"mutable","name":"strategyImplementation","nameLocation":"593:22:108","nodeType":"VariableDeclaration","scope":70895,"src":"585:30:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70747,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":70756,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":70753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"626:18:108","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CVStrategyV0_0_$75423_$","typeString":"function () returns (contract CVStrategyV0_0)"},"typeName":{"id":70752,"nodeType":"UserDefinedTypeName","pathNode":{"id":70751,"name":"CVStrategyV0_0","nameLocations":["630:14:108"],"nodeType":"IdentifierPath","referencedDeclaration":75423,"src":"630:14:108"},"referencedDeclaration":75423,"src":"630:14:108","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}},"id":70754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"626:20:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}],"id":70750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"618:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70749,"name":"address","nodeType":"ElementaryTypeName","src":"618:7:108","typeDescriptions":{}}},"id":70755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"618:29:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"585:62:108"},{"assignments":[70758],"declarations":[{"constant":false,"id":70758,"mutability":"mutable","name":"registryFactoryProxy","nameLocation":"703:20:108","nodeType":"VariableDeclaration","scope":70895,"src":"695:28:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70757,"name":"address","nodeType":"ElementaryTypeName","src":"695:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":70765,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e50524f584945532e52454749535452595f464143544f5259","id":70762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"764:27:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_63b323eb12c2a735941aea14fc49b66db7aa6a88e81051a15cf7adbde3e9534f","typeString":"literal_string \".PROXIES.REGISTRY_FACTORY\""},"value":".PROXIES.REGISTRY_FACTORY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63b323eb12c2a735941aea14fc49b66db7aa6a88e81051a15cf7adbde3e9534f","typeString":"literal_string \".PROXIES.REGISTRY_FACTORY\""}],"id":70761,"name":"getKeyNetwork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65483,"src":"750:13:108","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view returns (string memory)"}},"id":70763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"750:42:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":70759,"name":"networkJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70733,"src":"726:11:108","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":70760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"738:11:108","memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":12691,"src":"726:23:108","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":70764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"726:67:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"695:98:108"},{"assignments":[70768],"declarations":[{"constant":false,"id":70768,"mutability":"mutable","name":"registryFactory","nameLocation":"823:15:108","nodeType":"VariableDeclaration","scope":70895,"src":"803:35:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"},"typeName":{"id":70767,"nodeType":"UserDefinedTypeName","pathNode":{"id":70766,"name":"RegistryFactoryV0_0","nameLocations":["803:19:108"],"nodeType":"IdentifierPath","referencedDeclaration":79079,"src":"803:19:108"},"referencedDeclaration":79079,"src":"803:19:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}},"visibility":"internal"}],"id":70778,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":70774,"name":"registryFactoryProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70758,"src":"877:20:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"869:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70772,"name":"address","nodeType":"ElementaryTypeName","src":"869:7:108","typeDescriptions":{}}},"id":70775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"869:29:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"861:8:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":70770,"name":"address","nodeType":"ElementaryTypeName","src":"861:8:108","stateMutability":"payable","typeDescriptions":{}}},"id":70776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"861:38:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":70769,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79079,"src":"841:19:108","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactoryV0_0_$79079_$","typeString":"type(contract RegistryFactoryV0_0)"}},"id":70777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"841:59:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}},"nodeType":"VariableDeclarationStatement","src":"803:97:108"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":70786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1137:23:108","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactoryV0_0_$79079_$","typeString":"function () returns (contract RegistryFactoryV0_0)"},"typeName":{"id":70785,"nodeType":"UserDefinedTypeName","pathNode":{"id":70784,"name":"RegistryFactoryV0_0","nameLocations":["1141:19:108"],"nodeType":"IdentifierPath","referencedDeclaration":79079,"src":"1141:19:108"},"referencedDeclaration":79079,"src":"1141:19:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}}},"id":70787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1137:25:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}],"id":70783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1129:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70782,"name":"address","nodeType":"ElementaryTypeName","src":"1129:7:108","typeDescriptions":{}}},"id":70788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1129:34:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":70779,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70768,"src":"1103:15:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}},"id":70781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1119:9:108","memberName":"upgradeTo","nodeType":"MemberAccess","referencedDeclaration":55725,"src":"1103:25:108","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":70789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1103:61:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70790,"nodeType":"ExpressionStatement","src":"1103:61:108"},{"expression":{"arguments":[{"id":70794,"name":"registryImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70738,"src":"1253:22:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":70791,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70768,"src":"1208:15:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}},"id":70793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1224:28:108","memberName":"setRegistryCommunityTemplate","nodeType":"MemberAccess","referencedDeclaration":78800,"src":"1208:44:108","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":70795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1208:68:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70796,"nodeType":"ExpressionStatement","src":"1208:68:108"},{"expression":{"arguments":[{"id":70800,"name":"strategyImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70748,"src":"1322:22:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":70797,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70768,"src":"1286:15:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$79079","typeString":"contract RegistryFactoryV0_0"}},"id":70799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1302:19:108","memberName":"setStrategyTemplate","nodeType":"MemberAccess","referencedDeclaration":78812,"src":"1286:35:108","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":70801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1286:59:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70802,"nodeType":"ExpressionStatement","src":"1286:59:108"},{"assignments":[70807],"declarations":[{"constant":false,"id":70807,"mutability":"mutable","name":"registryCommunityProxies","nameLocation":"1414:24:108","nodeType":"VariableDeclaration","scope":70895,"src":"1397:41:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70805,"name":"address","nodeType":"ElementaryTypeName","src":"1397:7:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70806,"nodeType":"ArrayTypeName","src":"1397:9:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":70814,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e50524f584945532e52454749535452595f434f4d4d554e4954494553","id":70811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1496:31:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_c15edf8f23ff0780013ecbb49ba5823ffec965c18ca2d4139f6d0abb46d3fcf1","typeString":"literal_string \".PROXIES.REGISTRY_COMMUNITIES\""},"value":".PROXIES.REGISTRY_COMMUNITIES"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c15edf8f23ff0780013ecbb49ba5823ffec965c18ca2d4139f6d0abb46d3fcf1","typeString":"literal_string \".PROXIES.REGISTRY_COMMUNITIES\""}],"id":70810,"name":"getKeyNetwork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65483,"src":"1482:13:108","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view returns (string memory)"}},"id":70812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:46:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":70808,"name":"networkJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70733,"src":"1453:11:108","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":70809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1465:16:108","memberName":"readAddressArray","nodeType":"MemberAccess","referencedDeclaration":12708,"src":"1453:28:108","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":70813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1453:76:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1397:132:108"},{"body":{"id":70853,"nodeType":"Block","src":"1601:575:108","statements":[{"assignments":[70828],"declarations":[{"constant":false,"id":70828,"mutability":"mutable","name":"registryCommunity","nameLocation":"1637:17:108","nodeType":"VariableDeclaration","scope":70853,"src":"1615:39:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":70827,"nodeType":"UserDefinedTypeName","pathNode":{"id":70826,"name":"RegistryCommunityV0_0","nameLocations":["1615:21:108"],"nodeType":"IdentifierPath","referencedDeclaration":78368,"src":"1615:21:108"},"referencedDeclaration":78368,"src":"1615:21:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":70840,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"baseExpression":{"id":70834,"name":"registryCommunityProxies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70807,"src":"1711:24:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70836,"indexExpression":{"id":70835,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70816,"src":"1736:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1711:27:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1703:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70832,"name":"address","nodeType":"ElementaryTypeName","src":"1703:7:108","typeDescriptions":{}}},"id":70837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1703:36:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1695:8:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":70830,"name":"address","nodeType":"ElementaryTypeName","src":"1695:8:108","stateMutability":"payable","typeDescriptions":{}}},"id":70838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1695:45:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":70829,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78368,"src":"1673:21:108","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$78368_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":70839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1673:68:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"1615:126:108"},{"expression":{"arguments":[{"id":70844,"name":"registryImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70738,"src":"2033:22:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":70841,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70828,"src":"2005:17:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"id":70843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2023:9:108","memberName":"upgradeTo","nodeType":"MemberAccess","referencedDeclaration":55725,"src":"2005:27:108","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":70845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2005:51:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70846,"nodeType":"ExpressionStatement","src":"2005:51:108"},{"expression":{"arguments":[{"id":70850,"name":"strategyImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70748,"src":"2142:22:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":70847,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70828,"src":"2104:17:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$78368","typeString":"contract RegistryCommunityV0_0"}},"id":70849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2122:19:108","memberName":"setStrategyTemplate","nodeType":"MemberAccess","referencedDeclaration":76866,"src":"2104:37:108","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":70851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:61:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70852,"nodeType":"ExpressionStatement","src":"2104:61:108"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70819,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70816,"src":"1559:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":70820,"name":"registryCommunityProxies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70807,"src":"1563:24:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1588:6:108","memberName":"length","nodeType":"MemberAccess","src":"1563:31:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1559:35:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70854,"initializationExpression":{"assignments":[70816],"declarations":[{"constant":false,"id":70816,"mutability":"mutable","name":"i","nameLocation":"1552:1:108","nodeType":"VariableDeclaration","scope":70854,"src":"1544:9:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70815,"name":"uint256","nodeType":"ElementaryTypeName","src":"1544:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":70818,"initialValue":{"hexValue":"30","id":70817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1556:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1544:13:108"},"loopExpression":{"expression":{"id":70824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1596:3:108","subExpression":{"id":70823,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70816,"src":"1596:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70825,"nodeType":"ExpressionStatement","src":"1596:3:108"},"nodeType":"ForStatement","src":"1539:637:108"},{"assignments":[70859],"declarations":[{"constant":false,"id":70859,"mutability":"mutable","name":"cvStrategyProxies","nameLocation":"2237:17:108","nodeType":"VariableDeclaration","scope":70895,"src":"2220:34:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70857,"name":"address","nodeType":"ElementaryTypeName","src":"2220:7:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70858,"nodeType":"ArrayTypeName","src":"2220:9:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":70866,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e50524f584945532e43565f53545241544547494553","id":70863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2300:24:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f49e650d05092449f2ff43cab2d3725ca547dbaadc6944b838fa71eced282db","typeString":"literal_string \".PROXIES.CV_STRATEGIES\""},"value":".PROXIES.CV_STRATEGIES"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f49e650d05092449f2ff43cab2d3725ca547dbaadc6944b838fa71eced282db","typeString":"literal_string \".PROXIES.CV_STRATEGIES\""}],"id":70862,"name":"getKeyNetwork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65483,"src":"2286:13:108","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view returns (string memory)"}},"id":70864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2286:39:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":70860,"name":"networkJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70733,"src":"2257:11:108","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":70861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2269:16:108","memberName":"readAddressArray","nodeType":"MemberAccess","referencedDeclaration":12708,"src":"2257:28:108","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":70865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2257:69:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2220:106:108"},{"body":{"id":70893,"nodeType":"Block","src":"2391:333:108","statements":[{"expression":{"arguments":[{"id":70890,"name":"strategyImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70748,"src":"2656:22:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"arguments":[{"arguments":[{"baseExpression":{"id":70883,"name":"cvStrategyProxies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70859,"src":"2622:17:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70885,"indexExpression":{"id":70884,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"2640:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2622:20:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2614:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70881,"name":"address","nodeType":"ElementaryTypeName","src":"2614:7:108","typeDescriptions":{}}},"id":70886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2614:29:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2606:8:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":70879,"name":"address","nodeType":"ElementaryTypeName","src":"2606:8:108","stateMutability":"payable","typeDescriptions":{}}},"id":70887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2606:38:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":70878,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75423,"src":"2591:14:108","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$75423_$","typeString":"type(contract CVStrategyV0_0)"}},"id":70888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2591:54:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$75423","typeString":"contract CVStrategyV0_0"}},"id":70889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2646:9:108","memberName":"upgradeTo","nodeType":"MemberAccess","referencedDeclaration":55725,"src":"2591:64:108","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":70891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2591:88:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70892,"nodeType":"ExpressionStatement","src":"2591:88:108"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70871,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"2356:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":70872,"name":"cvStrategyProxies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70859,"src":"2360:17:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":70873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2378:6:108","memberName":"length","nodeType":"MemberAccess","src":"2360:24:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2356:28:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70894,"initializationExpression":{"assignments":[70868],"declarations":[{"constant":false,"id":70868,"mutability":"mutable","name":"i","nameLocation":"2349:1:108","nodeType":"VariableDeclaration","scope":70894,"src":"2341:9:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70867,"name":"uint256","nodeType":"ElementaryTypeName","src":"2341:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":70870,"initialValue":{"hexValue":"30","id":70869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2341:13:108"},"loopExpression":{"expression":{"id":70876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2386:3:108","subExpression":{"id":70875,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"2386:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70877,"nodeType":"ExpressionStatement","src":"2386:3:108"},"nodeType":"ForStatement","src":"2336:388:108"}]},"baseFunctions":[65530],"functionSelector":"5e2dd442","implemented":true,"kind":"function","modifiers":[],"name":"runCurrentNetwork","nameLocation":"435:17:108","overrides":{"id":70735,"nodeType":"OverrideSpecifier","overrides":[],"src":"487:8:108"},"parameters":{"id":70734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70733,"mutability":"mutable","name":"networkJson","nameLocation":"467:11:108","nodeType":"VariableDeclaration","scope":70896,"src":"453:25:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70732,"name":"string","nodeType":"ElementaryTypeName","src":"453:6:108","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"452:27:108"},"returnParameters":{"id":70736,"nodeType":"ParameterList","parameters":[],"src":"496:0:108"},"scope":70897,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":70727,"name":"BaseMultiChain","nameLocations":["374:14:108"],"nodeType":"IdentifierPath","referencedDeclaration":65664,"src":"374:14:108"},"id":70728,"nodeType":"InheritanceSpecifier","src":"374:14:108"}],"canonicalName":"UpgradeCVMultichain","contractDependencies":[75423,78368,79079],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[70897,65664,101234,17877,5924,17825,12505,83221,5068,12180,11387,9327,8545,5876,5885,5873,3106],"name":"UpgradeCVMultichain","nameLocation":"351:19:108","scope":70898,"usedErrors":[]}],"license":"UNLICENSED"},"id":108} \ No newline at end of file diff --git a/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol b/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol new file mode 100644 index 000000000..658a011a1 --- /dev/null +++ b/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol @@ -0,0 +1,360 @@ +// SPDX-License-Identifier: AGPL-3.0-only +pragma solidity ^0.8.19; + +import "./RegistryCommunityV0_0.sol"; +import "../interfaces/IArbitrable.sol"; +import {ICollateralVault} from "../interfaces/ICollateralVault.sol"; + +contract RegistryCommunityV0_1 is RegistryCommunityV0_0, IArbitrable { + error ChangeRequestNotInList(uint256 _requestId); + error ChangeRequestNotActive(uint256 _requestId); + error InsufficientCollateral(uint256 _sentAmount, uint256 _requiredAmount); + error ChangeAlreadyExecuted(uint256 _requestId); + error StillInDelayPeriod(uint256 _requestId); + error OnlyArbitratorCanRule(); + error UnknownParameter(string _parameterName); + + event TribunaSafeRegistered(address strategy, address arbitrator, address tribunalSafe); + event ArbitrableConfigUpdated( + uint256 currentArbitrableConfigVersion, + IArbitrator arbitrator, + address tribunalSafe, + uint256 submitterCollateralAmount, + uint256 challengerCollateralAmount, + uint256 defaultRuling, + uint256 defaultRulingTimeout + ); + event ParameterChangeRequested(uint256 indexed requestId, string parameter, uint256 version, uint256 timestamp); + event ParameterChangeFinalized(uint256 indexed requestId, string parameter, uint256 version); + event ChangeRequestDisputed( + IArbitrator arbitrator, + uint256 changeRequestId, + uint256 disputeId, + address challenger, + string context, + uint256 timestamp + ); + + enum ChangeRequestlStatus { + Active, + Cancelled, // need to implement the cancel function + Executed, + Disputed, + Rejected + } + + struct ArbitrableDispute { + IArbitrator arbitrator; + uint256 externalDisputeID; + uint256 templateId; + string templateUri; + } + + struct ArbitrableConfig { + IArbitrator arbitrator; + address tribunalSafe; + uint256 submitterCollateralAmount; + uint256 challengerCollateralAmount; + uint256 defaultRuling; + uint256 defaultRulingTimeout; + uint256 delay; + } + + struct ConfigParameters { + uint256 registerStakeAmount; + uint256 communityFee; + bool isKickEnabled; + address feeReceiver; + ISafe councilSafe; + string communityName; + string covenantIpfsHash; + } + + struct DisputeInfo { + uint256 disputeId; + uint256 disputeTimestamp; + address challenger; + } + + struct ConfigChangeRequest { + uint256 requestId; + string parameterName; + uint256 newUintValue; + address newAddressValue; + string newStringValue; + bool newBoolValue; + uint256 timestamp; + ChangeRequestlStatus status; + DisputeInfo disputeInfo; + uint256 arbitrableConfigVersion; + address submitter; + } + + struct InitializeV2Params { + ArbitrableConfig arbitrableConfig; + } + + uint256 public constant RULING_OPTIONS = 3; + + uint256 public currentArbitrableConfigVersion; + uint256 public currentConfigVersion; + uint256 public changeRequestCounter; + ICollateralVault public collateralVault; + + mapping(uint256 => ArbitrableConfig) public arbitrableConfigs; + mapping(uint256 => ConfigParameters) public configurations; + mapping(uint256 => ConfigChangeRequest) public configChangeRequests; + mapping(uint256 => uint256) public disputeIdToRequestId; + + mapping(uint256 => ArbitrableDispute) public disputes; + + uint256 public disputeCounter; + + /// @notice Initialize the new version (v2) of the contract. + function initializeV2(bytes memory _data) external reinitializer(2) { + InitializeV2Params memory ip = abi.decode(_data, (InitializeV2Params)); + + collateralVault = ICollateralVault(Clone.createClone(collateralVaultTemplate, cloneNonce++)); + collateralVault.initialize(); + + //Need to migrate the existing configs to the configurations[0] + + _setArbitrableParams(ip.arbitrableConfig); + } + + /// @notice Function to create a change request for a parameter + /// @param parameterName The name of the parameter to change + /// @param newUintValue New value if it's a uint type + /// @param newAddressValue New value if it's an address type + /// @param newStringValue New value if it's a string type + /// @param newBoolValue New value if it's a bool type + function createChangeRequest( + string memory parameterName, + uint256 newUintValue, + address newAddressValue, + string memory newStringValue, + bool newBoolValue + ) external payable { + onlyCouncilSafe(); + + if ( + address(arbitrableConfigs[currentArbitrableConfigVersion].arbitrator) != address(0) + && msg.value < arbitrableConfigs[currentArbitrableConfigVersion].submitterCollateralAmount + ) { + revert InsufficientCollateral( + msg.value, arbitrableConfigs[currentArbitrableConfigVersion].submitterCollateralAmount + ); + } + + changeRequestCounter++; + collateralVault.depositCollateral{value: msg.value}(changeRequestCounter, msg.sender); + + configChangeRequests[changeRequestCounter] = ConfigChangeRequest({ + requestId: changeRequestCounter, + parameterName: parameterName, + newUintValue: newUintValue, + newAddressValue: newAddressValue, + newStringValue: newStringValue, + newBoolValue: newBoolValue, + timestamp: block.timestamp, + status: ChangeRequestlStatus.Active, + disputeInfo: DisputeInfo({disputeId: 0, disputeTimestamp: 0, challenger: address(0)}), + arbitrableConfigVersion: currentArbitrableConfigVersion, + submitter: msg.sender + }); + + emit ParameterChangeRequested(changeRequestCounter, parameterName, currentConfigVersion, block.timestamp); + } + + /// @notice Finalize the parameter change after the delay period has passed + /// @param _requestId The ID of the change request + function finalizeChangeRequest(uint256 _requestId) external virtual { + if ( + block.timestamp + < configChangeRequests[_requestId].timestamp + + arbitrableConfigs[configChangeRequests[_requestId].arbitrableConfigVersion].delay + ) { + revert StillInDelayPeriod(_requestId); + } + + _finalizeChangeRequest(_requestId); + } + + function _finalizeChangeRequest(uint256 _requestId) internal virtual { + ConfigChangeRequest storage request = configChangeRequests[_requestId]; + if (request.status != ChangeRequestlStatus.Active || request.status != ChangeRequestlStatus.Disputed) { + revert ChangeAlreadyExecuted(_requestId); + } + + uint256 currentConfigId = currentConfigVersion; + currentConfigVersion++; + configurations[currentConfigVersion] = configurations[currentConfigId]; + + ConfigParameters storage newConfig = configurations[currentConfigVersion]; + + bytes32 parameterNameHash = keccak256(abi.encodePacked(request.parameterName)); + + // here we can add or remove the ones that we want to be able to change or not + // Every time that we change a parameter we need to override the functions that are using it to start using the configurations[currentConfigVersion] + if (parameterNameHash == keccak256("registerStakeAmount")) { + newConfig.registerStakeAmount = request.newUintValue; + } else if (parameterNameHash == keccak256("communityFee")) { + newConfig.communityFee = request.newUintValue; + } else if (parameterNameHash == keccak256("isKickEnabled")) { + newConfig.isKickEnabled = request.newBoolValue; + } else if (parameterNameHash == keccak256("feeReceiver")) { + newConfig.feeReceiver = request.newAddressValue; + } else if (parameterNameHash == keccak256("councilSafe")) { + newConfig.councilSafe = ISafe(request.newAddressValue); + } else if (parameterNameHash == keccak256("communityName")) { + newConfig.communityName = request.newStringValue; + } else if (parameterNameHash == keccak256("covenantIpfsHash")) { + newConfig.covenantIpfsHash = request.newStringValue; + } else { + revert UnknownParameter(request.parameterName); + } + + request.status = ChangeRequestlStatus.Executed; + + emit ParameterChangeFinalized(_requestId, request.parameterName, currentConfigVersion); + } + + /// @dev Allows a user to request a dispute with a specific arbitrator. + /// @param _changeRequestId The id of the change request. + /// @param _context The context for the dispute. + /// @param _extraData Extra data for the aribtrator. + function disputeChangeRequest(uint256 _changeRequestId, string calldata _context, bytes calldata _extraData) + external + payable + virtual + returns (uint256 disputeId) + { + ConfigChangeRequest storage changeRequest = configChangeRequests[_changeRequestId]; + ArbitrableConfig memory arbitrableConfig = arbitrableConfigs[changeRequest.arbitrableConfigVersion]; + + if (changeRequest.requestId != _changeRequestId) { + revert ChangeRequestNotInList(_changeRequestId); + } + if (changeRequest.status != ChangeRequestlStatus.Active) { + revert ChangeRequestNotActive(_changeRequestId); + } + if (msg.value < arbitrableConfig.challengerCollateralAmount) { + revert InsufficientCollateral(msg.value, arbitrableConfig.challengerCollateralAmount); + } + + uint256 arbitrationFee = msg.value - arbitrableConfig.challengerCollateralAmount; + collateralVault.depositCollateral{value: arbitrableConfig.challengerCollateralAmount}( + changeRequest.requestId, msg.sender + ); + + changeRequest.status = ChangeRequestlStatus.Disputed; + disputeId = arbitrableConfig.arbitrator.createDispute{value: arbitrationFee}(RULING_OPTIONS, _extraData); + + changeRequest.disputeInfo.disputeId = disputeId; + changeRequest.disputeInfo.disputeTimestamp = block.timestamp; + changeRequest.disputeInfo.challenger = msg.sender; + + disputeIdToRequestId[disputeId] = _changeRequestId; + + disputeCounter++; + + emit ChangeRequestDisputed( + arbitrableConfig.arbitrator, + _changeRequestId, + disputeId, + msg.sender, + _context, + changeRequest.disputeInfo.disputeTimestamp + ); + } + + /// @dev Function to give a ruling for a dispute. Only callable by the arbitrator. + /// @param _disputeID The identifier of the dispute in this contract. + /// @param _ruling The ruling given by the arbitrator. + function rule(uint256 _disputeID, uint256 _ruling) external virtual override { + uint256 changeRequestId = disputeIdToRequestId[_disputeID]; + + ConfigChangeRequest storage changeRequest = configChangeRequests[changeRequestId]; + if (msg.sender != address(arbitrableConfigs[changeRequest.arbitrableConfigVersion].arbitrator)) { + revert OnlyArbitratorCanRule(); + } + + if (_ruling == 0) { + changeRequest.status = ChangeRequestlStatus.Active; + collateralVault.withdrawCollateral( + changeRequestId, + changeRequest.disputeInfo.challenger, + arbitrableConfigs[changeRequest.arbitrableConfigVersion].challengerCollateralAmount + ); + } else if (_ruling == 1) { + _finalizeChangeRequest(changeRequestId); + collateralVault.withdrawCollateralFor( + changeRequestId, + changeRequest.disputeInfo.challenger, + changeRequest.submitter, + arbitrableConfigs[changeRequest.arbitrableConfigVersion].challengerCollateralAmount + ); + collateralVault.withdrawCollateral( + changeRequestId, + changeRequest.submitter, + arbitrableConfigs[changeRequest.arbitrableConfigVersion].submitterCollateralAmount + ); + } else if (_ruling == 2) { + changeRequest.status = ChangeRequestlStatus.Rejected; + collateralVault.withdrawCollateral( + changeRequestId, + changeRequest.disputeInfo.challenger, + arbitrableConfigs[changeRequest.arbitrableConfigVersion].challengerCollateralAmount + ); + collateralVault.withdrawCollateralFor( + changeRequestId, + changeRequest.submitter, + changeRequest.disputeInfo.challenger, + arbitrableConfigs[changeRequest.arbitrableConfigVersion].submitterCollateralAmount + ); + } + + emit Ruling(arbitrableConfigs[changeRequest.arbitrableConfigVersion].arbitrator, _disputeID, _ruling); + } + + function _setArbitrableParams(ArbitrableConfig memory _arbitrableConfig) internal virtual { + if ( + _arbitrableConfig.tribunalSafe != address(0) && address(_arbitrableConfig.arbitrator) != address(0) + && ( + _arbitrableConfig.tribunalSafe != arbitrableConfigs[currentArbitrableConfigVersion].tribunalSafe + || _arbitrableConfig.arbitrator != arbitrableConfigs[currentArbitrableConfigVersion].arbitrator + || _arbitrableConfig.submitterCollateralAmount + != arbitrableConfigs[currentArbitrableConfigVersion].submitterCollateralAmount + || _arbitrableConfig.challengerCollateralAmount + != arbitrableConfigs[currentArbitrableConfigVersion].challengerCollateralAmount + || _arbitrableConfig.defaultRuling != arbitrableConfigs[currentArbitrableConfigVersion].defaultRuling + || _arbitrableConfig.defaultRulingTimeout + != arbitrableConfigs[currentArbitrableConfigVersion].defaultRulingTimeout + || _arbitrableConfig.delay != arbitrableConfigs[currentArbitrableConfigVersion].delay + ) + ) { + if ( + arbitrableConfigs[currentArbitrableConfigVersion].tribunalSafe != _arbitrableConfig.tribunalSafe + || arbitrableConfigs[currentArbitrableConfigVersion].arbitrator != _arbitrableConfig.arbitrator + ) { + _arbitrableConfig.arbitrator.registerSafe(_arbitrableConfig.tribunalSafe); + emit TribunaSafeRegistered( + address(this), address(_arbitrableConfig.arbitrator), _arbitrableConfig.tribunalSafe + ); + } + + currentArbitrableConfigVersion++; + arbitrableConfigs[currentArbitrableConfigVersion] = _arbitrableConfig; + + emit ArbitrableConfigUpdated( + currentArbitrableConfigVersion, + _arbitrableConfig.arbitrator, + _arbitrableConfig.tribunalSafe, + _arbitrableConfig.submitterCollateralAmount, + _arbitrableConfig.challengerCollateralAmount, + _arbitrableConfig.defaultRuling, + _arbitrableConfig.defaultRulingTimeout + ); + } + } +}